Loading...

02. Oktober 2023

Cloud-Infrastruktur und deren Management: ein unverzichtbares Merkmal moderner digitaler Produkte

Hosting:Azure / Hetzner / VMware

Typ:Server / Mobile Apps / Web Apps

SCM:SVN / Bitbucket / GitLab

Stack:

Server:Docker / Ansible / Terraform / Harbor / Nexus / AKS / Kubespray / MySQL / Jenkins / Tomcat

Mobile_v1(iOS/Android):Python / Ansible / Jenkins / OTA

Mobile_v2(iOS/Android):Ansible / GitLabCI / OTA

Web Apps:Nginx / Ansible / Docker / AKS

Zeitraum:2017 - heute

Zusammenfassung

Über einen langen Zeitraum hat Silk Data mit LookUp! am Projekt der Cloud-Infrastrukturimplementierung und -verwaltung zusammengearbeitet. LookUP! ist eine plattformübergreifende Lösung, die Verlagen und Autoren hilft, ihre Bücher und Artikel zu veröffentlichen. Es gab drei Hauptrichtungen: 1) Server-Seite, 2) Web-Teil und 3) Mobile Applikation.

Die Zusammenarbeit ermöglichte es, die Flexibilität und Skalierbarkeit des Unternehmens sowie die Verwaltungsübersicht zu steigern.

Warum benötigen Sie Cloud-Infrastruktur-Implementierung & -Management?

Cloud-Infrastruktur-Implementierung & -Management ist der Prozess des Aufbaus und der Verwaltung von Computerressourcen wie virtuellen Servern und Data Warehouses in speziellen Remote-Servern, sogenannten "Clouds".

Es gibt mehrere Gründe, warum dieser Prozess für Unternehmen entscheidend ist:

  • Skalierbarkeit: Cloud-Ressourcen können bei Bedarf hoch- oder herunterskaliert werden. Dies ermöglicht es Unternehmen, schnell auf sich ändernde Workloads und Anforderungen zu reagieren.

  • Flexibilität und Anpassungsfähigkeit: Cloud-Infrastruktur ermöglicht es Unternehmen, schnell neue Anwendungen und Dienste zu entwickeln und zu testen, ohne neue Hardware kaufen und konfigurieren zu müssen.

  • Ressourceneinsparungen: Die Cloud ermöglicht eine optimierte Ressourcennutzung, was Geld bei Hardware- und Energiekosten sparen kann.

  • Verfügbarkeit und Resilienz: Cloud-Anbieter bieten in der Regel hohe Verfügbarkeit und Daten-Backup, was die Ausfallsicherheit von Websites und Anwendungen gewährleistet.

  • Sicherheitsmanagement: Cloud-Anbieter investieren in die Sicherheit von Daten und Infrastruktur, was Informationen vor Cyber-Bedrohungen und Datenverlust schützt.

  • Vereinfachung der Administration: Cloud-Plattformen bieten Tools zur Automatisierung und Verwaltung von Ressourcen, was die Managementprozesse effizienter macht.

Alle diese Merkmale sind besonders wichtig in der modernen Welt der digitalen Transformation, da die Nutzung effizienter und aktueller IT-Ressourcen zum entscheidenden Faktor geworden ist.

Lösung 1. Server-Seite

Es wurde eine große Menge an Arbeit geleistet, verbunden mit Verbesserungen und positiven Veränderungen. Werfen wir einen genaueren Blick darauf:

Umsetzung:

  1. Abstimmung der anstehenden Arbeit mit dem Kunden: Auswahl eines Cloud-Anbieters, grobe Kostenschätzung, Migrationsstrategie, Schritt-für-Schritt-Migrationsplan.

  2. Das Projekt wurde auf Lift-and-Shift-Migration vorbereitet, einschließlich vollständiger Containerisierung jedes Dienstes. Das bedeutet, dass alle Informationen über alle Serverteile im Rechenzentrum gesammelt und für die Übertragung vorbereitet wurden.

  3. Das Projekt wurde auf Basis virtueller Maschinen gestartet mit schrittweiser Migration einiger Dienste zum Azure Kubernetes Service-Cluster und Nutzung des Azure Database for MySQL-Dienstes.

  4. Übergang zu einem neuen Speichertyp - Azure BLOB-Storage. Es handelt sich um einen skalierbaren und sicheren Objektspeicher für Cloud-Workloads, Archive, Data Lakes, High Performance Computing und maschinelles Lernen.

  5. Implementierung von Auto-Scaling für einige Dienste zur Kostenoptimierung. Das Prinzip eines solchen Systems ist, dass alle Höchstlasten automatisch verfolgt werden, wodurch sich das Unternehmen von Überzahlungen für unnötige Serverkapazitäten befreite.

  6. Implementierung von Ansible, Terraform, Grafana, Prometheus, Sentry als unverzichtbare DevOps-Tools zur Automatisierung, Überwachung und Absicherung der Infrastruktur.

  7. Dynamische Dev-Umgebung basierend auf Kubespray.

  8. Jenkins-Pipeline-Vorbereitung und Feinabstimmung. Ein spezieller Satz von Plugins, der die Definition des Lebenszyklus von Produkt-Building und -Auslieferung ermöglicht.

  9. Migration des Codes mit Historienerhalt von SVN zu GitLab. Dies war notwendig, um den Entwicklungsprozess zu verbessern, da GitLab mehr Möglichkeiten für Code-Zusammenarbeit und Projektmanagement bietet.

  10. Wartung, Support und Überwachung der AKS-Client-Cluster.

Pläne:

  1. Migration zu Helm-Charts, um die Auslieferung neuer Versionen zu vereinfachen.

  2. Migration der gesamten Dev-Umgebung (VMware - Kubespray) zu Azure Cloud.

  3. Anbindung eines Logging-Systems, um die Fehlerverfolgung zu erleichtern.

  4. Anbindung eines Antivirenprogramms, um das Herunterladen von Benutzerinhalten sicherer zu machen.

  5. On-Demand Jenkins Agents / GitLab Runner zur Optimierung der CI/CD-Kosten.

Lösung 2. Web-Teil

Die Arbeit an der zweiten Richtung führte ebenfalls zu beeindruckenden Ergebnissen:

Umsetzung:

  1. Ansible wurde implementiert.

  2. Containerisierte Webanwendungen für einige Kunden zur Ausführung in K8s-Clustern.

  3. Migration einiger Kunden zu Let's Encrypt-Zertifikaten zur Kostenoptimierung. Let's Encrypt ist eine kostenlose, automatisierte und offene Zertifizierungsstelle, die kostenlose SSL/TLS-Zertifikate zur Verschlüsselung von Server-zu-Server- und Client-zu-Client-Verkehr bereitstellt. Durch die Migration von Kunden zu Let's Encrypt-Zertifikaten können die Kosten für den Kauf bezahlter Zertifikate gesenkt werden.

Pläne:

  1. Abkehr von der Jenkins-Pipeline zugunsten von GitLabCI. Wir glauben, dass dies den CI/CD-Prozess verbessern wird, da GitLabCI möglicherweise mehr Funktionen oder eine bessere Integration mit anderen Tools bietet.

  2. Vereinfachung des Managements von Kundenanpassungen.

Lösung 3. Mobile Applikation

Mobile Apps sind heutzutage ein Muss, daher benötigte LookUp! auch Verbesserungen in diesem Bereich. Hier ist unser Bericht:

Umsetzung:

  1. Ansible wurde für eine einfachere Verwaltung von Kundenanpassungen (100+) übernommen;

  2. Übergang von manuellen lokalen Builds zu automatisierten Builds mit Jenkins-Pipeline(v1) / GitLabCI(v2) und Ansible;

  3. Automatische Artefaktauslieferung an Kundenserver über OTA (Over-The-Air), was bedeutet, dass Anwendungs- oder Geräteupdates automatisch auf Kundenserver hochgeladen werden zur weiteren Verteilung.

Pläne:

  1. Automatisches Hochladen von Apps in Google Play / App Store;

  2. Vereinfachte Migration von CI/CD-Servern auf neue Android-SDK-Versionen, was bedeutet, dass der Prozess der Aktualisierung von Entwicklungstools auf Continuous-Integration-Servern einfacher wird.

Allgemeine Ergebnisse

Silk Data stellte alle seine Ressourcen und Expertise zur Verfügung, um alle Wünsche von LookUP! zu erfüllen und das Projekt und alle seine Hauptrichtungen erfolgreich abzuschließen. Alle Anforderungen wurden erfüllt und die Unternehmenserwartungen sogar übertroffen.

Unsere Zusammenarbeit ist noch nicht beendet, da wir bereits eine große Anzahl zukünftiger Pläne erwähnt haben, die auf weitere Systemverbesserungen abzielen. Wir freuen uns, bekannt geben zu können, dass LookUP! einer unserer vertrauenswürdigsten und wertvollsten Partner mit vielversprechenden Perspektiven für zukünftige Projekte bleibt.

SilkData.tech