Serveranforderungen und -bereitstellung / Subdomain
Wir freuen uns, dass wir euch eine unserer Softwarelösungen per On-Premise-Bereitstellung innerhalb eures Rechenzentrums einrichten dürfen.
Eine On-Premise-Bereitstellung vereint aus unserer Perspektive optimal den Schutz personenbezogener Daten (die Daten sind auf euren Servern gespeichert) mit einem wartungsarmen Produktivbetrieb (wir managen die Server und installierten Anwendungen).
Das vorgestellte Setup ist bei Versicherungen, Universitäten, Fußball-Bundesligaclubs und großen Unternehmen im Einsatz und wird regelmäßig durch externe Penetrationstests gezielt auf konzeptionelle Schwachstellen geprüft.
Wir haben ein einheitliches und standardisiertes Konfigurationsmanagement auf Basis von Ansible, das uns ein schnelles und konsistentes Deployment ermöglicht und auch Maßnahmen wie SSH-Schlüssel-Rotationen bei Bedarf innerhalb von weniger Minuten durchführt.
Ansible: Alles per SSH
In der Regel provisionieren wir virtuelle Maschinen initial und führen dann wöchentlich Softwareupgrade über den Paketmanager des Betriebssystems aus.
Was wir benötigen: SSH-Root Zugriff für initiales Setup
A) per root + RSA-Public-Key/Passwort oder
B) Unix-User wie adminext + RSA-Public-Key/Passwort
Unser Konfigurationsmanagement wird nach der Einrichtung unseres operativen Users zb_ansible den root Zugriff per SSH automatisch deaktivieren.
Der öffentliche SSH Key von Tim Brandes kann ebenso hinterlegt werden:
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAwi1YZpHF2czScSy/bn0jET7XxI+RuA35LZ8696VYk9BTF/hcw70DGEj7TJZxnOpf6uOhrLEt8lUNheOtKtCIPwb7O2+Eb9MXfu0Klc5MJHR3kPTJYf5vWVnwDVea+D0QLcbypS7eOLIuH+pqKIJwsp/WLUImRxb5+iAaqJclfg9VHbQXxFb3S2G0g0DBVjPVYD3tBTLWomezQlfLNA0eSwxminpI2df5Tg/mgiAnlDtwYktRJuvVBu12o2mH3FkjkAke4tLzOm0k1bEqAFjJ+JXBwEgSBCGAxs1z/BFzxs69c+vMPy7NWIfrWPG5DhHkaNmo5ncSF0jQoDnCCuvZOw== tb@zinklerbrandes.com
Linux-Server: Debian 12
Um eine einheitliche und verlässlich wartbare Infrastruktur managen zu können, limitieren wir uns ausschließlich im Staging- und Produktivbetrieb auf das Linux-Betriebssystem Debian.
Fullstack-Webserver oder einzelne VMs für unterschiedliche Aufgaben?
Die überwiegende Anzahl unserer virtuellen Maschinen sind Fullstack-Server, auf denen wir folgende Dienste installieren und konfigurieren:
- Webserver: nginx
- Datenbankserver: PostgreSQL
- Key-Value-Server für Background-Jobs: Redis
- Anwendungsserver für Ruby-on-Rails-Anwendungen: Puma
- Jobserver für Background-Job-Processing: Sidekiq
- Health- und Loadmonitoring: Netdata
Wir können natürlich auch bestehende externe PostgreSQL als Datenbankserver verwenden. Das oben aufgeführte Setup ermöglicht uns allerdings für den Start eine kontrollierte und einheitliche Umgebung, ohne neue Verteilungsprobleme (Microservices) einzuführen. Dort, wo es sinnvoll und notwendig ist, trennen wir Web- und Datenbankserver und konzeptionieren ein Loadmanagement.
Kapazitäten der VM
Die webbasierte Software wird auf einem eigenen dedizierten Server oder einer virtuellen Maschine (VM) installiert. Der Server sollte nicht geteilt sein und nur für diesen Anwendungsfall bereitgestellt werden.
Bei unserer Software handelt es sich um eine Enterprise-Webanwendung, die eine Reihe an Anforderungen an das Server-Setup stellt. Dadurch werden auch komplexere Operationen wie bspw. die Verarbeitung von Hintergrundjobs und Parallelverarbeitung möglich.
Mit der aufgeführten Server-Konfiguration betreiben wir zahlreiche Kundenprojekte und haben aus diesem Grund den Einrichtungsprozess für uns teilautomatisiert. Hierzu zählt auch das Signieren von SSL-Zertifikaten über Let's Encrypt sowie die regelmäßige automatische Erneuerung der Zertifikate und Einrichtung verschlüsselter Datensicherungen.
Produktivsystem
Für den Server empfehlen wir eine Hardware-Konfiguration innerhalb des folgenden Spektrums:
Betriebssystem: Debian 12 Linux mit root-Zugriff Arbeitsspeicher (RAM): min. 4 GB Festplattenkapazität (SSD): 60-200 GB Prozessoren (CPUs): min. 2-4 Kerne
Die Anforderungen richten sich natürlich auch immer nach dem erwarteten Nutzungsvolumen. Sprecht uns gerne an, wenn ihr weitere Fragen habt oder der Anbieter eurer Wahl die vorgeschlagenen Konfigurationen nicht 1:1 anbietet und ihr euch unsicher seid. Wir helfen gerne weiter!
Subdomain / A-Record
FSC läuft üblicherweise auf einer Subdomain im Schema
Um die Subdomain einzurichten, kontaktiert bitte euren Hostmaster/Domainverwalter. Die IP-Adresse des Servers wird als sog. A-Record in das DNS eingetragen.
Weitere geläufige Subdomains für FSC sind:
Das TLS Zertifikat erneuern wird standardmäßig automatisiert über Let's Encrypt. Alternativ können wir auch ein Wildcard-Zertifikat über unser Konfigurationsmanagement hinterlegen, diese müssen jedoch 1 x pro Jahr manuell zur Erneuerung ausgetauscht werden.