Fallstudie

Verbesserung der Verfügbarkeit der IT-Infrastruktur mit Amazon ECS

Bild des ITGix-Teams
ITGix-Team
Passionierte DevOps- und Cloud-Ingenieure
20.03.2023
Lesezeit: 4 Minuten.
Zuletzt aktualisiert am: 17.09.2025

Inhaltsübersicht

Ein Unternehmen aus der Marketing- und Werbebranche möchte die Verfügbarkeit seiner Infrastruktur verbessern, sie zuverlässiger machen und Ausfälle und Leistungsprobleme mit Amazon ECS reduzieren.

Die Hauptanliegen des Unternehmens sind hohe Verfügbarkeit und automatische Skalierung: Die Fähigkeit zur schnellen und konsistenten Erstellung, Konfiguration und Bereitstellung ermöglicht zwei äußerst wichtige Muster: Hochverfügbarkeit und Autoskalierung.

- Hochverfügbarkeit (HA) bedeutet, dass eine Anwendung so betrieben wird, dass sie schweren Bedingungen standhalten kann, die eine Anwendung, die nicht mit Blick auf HA entwickelt wurde, zum Absturz bringen könnten.

- Bei der automatischen Skalierung geht es um Effizienz. Autoscaling ist ein Mechanismus, mit dem eine Reihe von Anwendungsknoten als Reaktion auf einen bestimmten Stimulus in Echtzeit horizontal nach oben und unten skaliert werden kann.

Die HA- und Autoscaling-Muster verbessern die Anwendungserfahrung der Endbenutzer erheblich, indem sie die Anwendungen zuverlässiger machen, die Betreiber, indem sie Ausfälle und Leistungsprobleme reduzieren, und die Anwendungseigentümer, indem sie die Kosten erheblich senken.

DIE HERAUSFORDERUNG

- Cron-Jobs:

Das Software-Dienstprogramm cron ist ein zeitbasierter Job-Scheduler in Unix-ähnlichen Computer-Betriebssystemen. Benutzer, die Software-Umgebungen einrichten und pflegen, verwenden cron, um Aufträge zu planen, die regelmäßig zu festen Zeiten, Daten oder Intervallen ausgeführt werden. Es ist ein Dienstprogramm, das einen Befehl oder ein Skript auf Ihrem Server so plant, dass es automatisch zu einer bestimmten Uhrzeit und einem bestimmten Datum ausgeführt wird. Ein Cron-Job ist die geplante Aufgabe selbst. Cron-Jobs können sehr nützlich sein, um sich wiederholende Aufgaben zu automatisieren.

Das Unternehmen benötigte Berichte über Statistiken, die per E-Mail zugestellt werden sollten. Im Grunde handelt es sich dabei um eine einfache SQL-Abfrage, die die Details aus einer Datenbank sammelt und per E-Mail an den Kunden sendet. Zu diesem Zweck werden CloudWatch-Cron-Jobs verwendet, die als Cron-Job-Zeitpläne in bestimmten Zeiträumen laufen und eine Elastic Cloud Storage (ECS)-Aufgabe starten. Es ist geplant, sie durch Lambda-Funktionen zu ersetzen, die durch eine Nachricht im Simple Notification Service (SNS)-Thema ausgelöst werden. Alle Protokolle der Cronjobs werden an den zentralen Graylog-Host gesendet, wo sie gespeichert werden, falls etwas überprüft werden muss.

- Dynamische mehrere Standorte:

Da sich die Kunden ändern, muss das Unternehmen schnell mehrere verschiedene Websites erstellen, die im Grunde genommen das gleiche Basis-Image mit verschiedenen Codes oben drauf haben. Über eine separate Jenkins-Pipeline und Terraform lässt sich dies leicht bewerkstelligen. Ein einziger Klick reicht aus, um eine neue Website für einen Kunden zu erstellen.

- Überwachung:

 Die Icinga-Überwachung ist implementiert, um den ECS-Cluster dynamisch zu überwachen. Selbst wenn der Cluster vergrößert oder verkleinert wird, wird Icinga entsprechend mit den neuen Hosts oder der Entfernung von Hosts aktualisiert. Zusätzlich ist eine URL-Überwachung für die kritischsten Sites vorhanden.

DIE LÖSUNG

- ECS, Terraform, Jenkins

ECS ist ein vollständig verwalteter Container-Orchestrierungsdienst. Er ist aufgrund seiner Sicherheit, Zuverlässigkeit und Skalierbarkeit eine gute Wahl. Darüber hinaus kann er nativ in andere Dienste wie Amazon Route 53, Secrets Manager, AWS Identity and Access Management (IAM) und Amazon CloudWatch integriert werden und bietet eine vertraute Erfahrung bei der Bereitstellung und Skalierung von Containern.

ECS-Cluster werden für alle Umgebungen des Unternehmens verwendet, ein Cluster für Tests und einer für die Produktion.

Alles wird über Terraform-Skripte erstellt/aktualisiert. Theoretisch könnte jede Infrastrukturumgebung mit nur einer Jenkins-Pipeline neu erstellt werden. Das Tool für Continuous Integration und Continuous Deployment (CI/CD) ist Jenkins, jeder Entwickler ist dafür verantwortlich, das Image mit dem Code zu bauen, an dem er arbeitet. Für ECS nutzen die entscheidenden Aufgaben die Autoskalierung, außerdem ist die Autoskalierung auch auf den EC2-Instanzen aktiviert, so dass es immer einen Ort gibt, an dem diese Aufgaben in EC2 erstellt werden können.

- PoC für Lambda

 AWS Lambda ist ein serverloser Berechnungsservice, der Ihren Code als Reaktion auf Ereignisse ausführt und die zugrunde liegenden Berechnungsressourcen automatisch für Sie verwaltet. Sie können AWS Lambda verwenden, um andere AWS-Services mit benutzerdefinierter Logik zu erweitern oder Ihre eigenen Back-End-Services zu erstellen, die mit AWS-Skalierung, Leistung und Sicherheit arbeiten.

Die Idee ist, dass die CloudWatch-Crons bei einem Ereignis ausgelöst werden und andere benutzerdefinierte Aufgaben ausgeführt werden. Die erste Phase eines Proof of Concept wurde erfolgreich bestanden. Der allgemeine Aufbau ist wie folgt: Eine Nachricht wird in einem SNS-Topic gepostet -> SQS lauscht auf Nachrichten in diesem Topic und löst die Lambda-Funktion aus, für den Fall, dass etwas fehlschlägt, steht ein Retry-Topic zur Verfügung, das überwacht werden kann, falls sich dort Nachrichten anhäufen. Die Verwendung von PHP-Code in einer Lambda-Funktion ist eine kleine Herausforderung, da er nicht nativ unterstützt wird, aber mit benutzerdefinierten Bibliotheken ist es machbar. Mit Lambda-Funktionen sollen die monatlichen Kosten zusätzlich gesenkt werden.

DIE SCHLUSSFOLGERUNG

Dank der gewählten Kombination von Technologien werden die Kundenanforderungen erfüllt. ECS bietet Hochverfügbarkeit und automatische Skalierung. Und mit Jenkins und Terraform einfache Bereitstellung von neuen Einstellungen bei Bedarf.

Erfahren Sie, wie wir AWS nutzen, um Kosten zu senken und die Leistung zu verbessern!

Schaffen Sie mit AWS erstklassige Agilität, Skalierbarkeit und Sicherheit für Ihr Unternehmen.

Äußerst sachkundig in der AWS-Technologie. Das Team, mit dem ich zusammenarbeite, ist bei seinen Projektschätzungen sehr ehrlich und realistisch. Sie haben sich als sehr reaktionsschnell bei der Überwachung von Alarmen erwiesen und sind schnell bei der Lösung von Problemen. Die Zusammenarbeit und Transparenz in Bezug auf Projekthürden war ebenfalls eine sehr positive Erfahrung. Ich hatte nie das Gefühl, dass eine Entscheidung aufgrund persönlicher Voreingenommenheit getroffen wurde, sondern was für unser Unternehmen am besten ist. Ich habe mit mehreren Outsourcing-Unternehmen zusammengearbeitet und würde ITGIX an die Spitze meiner Liste setzen!

Entdecken Sie die Dienstleistungen von ITGix und erfahren Sie mehr über unser Know-how.

Weitere Fallstudien

Ein Unternehmen aus dem Bereich Streaming & Media benötigte ein neues Monitoring-System für seine Oracle-Datenbank. VORAUSSETZUNGEN DIE HERAUSFORDERUNG Wir alle wissen, was ein Prometheus-Operator ist, und mehr...
Lesen
Ein Unternehmen aus dem Bereich Streaming & Media benötigte einen neuen NFS Network File System-Server, der von seinen Streaming-Servern zur Übertragung großer Aufzeichnungsdateien für die...
Lesen

Blog-Beiträge

Es wurden keine Daten gefunden
Kontakt aufnehmen
ITGix bietet Ihnen fachkundige Beratung und maßgeschneiderte DevOps-Services, um Ihr Unternehmenswachstum zu beschleunigen.
Newsletter für
Technik-Experten
Schließen Sie sich 12.000+ Geschäftsführern, Designer und Entwickler, die Blogs, e-Books und Fallstudien Fallstudien über neue Technologie erhalten.