AWS-CodeDeploy-Features

Warum CodeDeploy?

AWS CodeDeploy ist ein Service, der Anwendungsbereitstellungen in vielerlei Serverservices, wie etwa Amazon Elastic Compute Cloud (Amazon EC2), AWS Fargate, AWS Lambda, sowie auf On-Premises-Instances automatisiert. CodeDeploy führt vollständige Automatisierungen Ihrer Anwendungsbereitstellungen durch. Manuelle Bereitstellungen gehören damit der Vergangenheit an. CodeDeploy schützt Ihre Anwendung während Bereitstellungen durch rollierende Updates und Protokollierung des Bereitstellungszustands vor Ausfallzeiten. CodeDeploy bieten Ihnen zentrale Kontrolle Ihrer Bereitstellungen über die AWS-Managementkonsole, das AWS Command Line Interface (AWS CLI), SDKs oder APIs. Mit diesen können Ihre Bereitstellungen gestartet, kontrolliert und überwacht werden. Sie können den Fortschritt der Bereitstellung in Bezug auf individuelle Einrichtungsereignisse anzeigen. AWS CodeDeploy verfolgt und speichert den neuesten Verlauf Ihrer Bereitstellungen, sodass Sie die Timeline und den Änderungsverlauf vergangener Bereitstellungen untersuchen können.

CodeDeploy ist plattform- und sprachunabhängig und funktioniert mit jeder Anwendung. Sie können also Ihren vorhandenen Einrichtungscode wiederverwenden. Sie können Ihre Anwendungsbereitstellungen problemlos mithilfe der CodeDeploy-APIs in Ihren bestehenden Softwarebereitstellungsprozess oder die Continuous Delivery-Toolkette integrieren.

Automatisierte Bereitstellungen

Mit AWS CodeDeploy können Sie eine Anwendungsbereitstellung problemlos für verschiedene Gruppen von Instances wiederholen. CodeDeploy verwendet ein datei- und befehlsbasiertes Installationsmodell. So können Sie jede Anwendung bereitstellen und vorhandenen Einrichtungscode wiederverwenden. Der gleiche Einrichtungscode kann auch genutzt werden, um Updates für Ihre Bereitstellungs-, Test- und Produktionsfreigabestufen für Amazon EC2-Instances konsistent bereitzustellen und zu testen. Das Eliminieren manueller Arbeitsschritte aus der Bereitstellung steigert sowohl die Geschwindigkeit als auch die Zuverlässigkeit Ihres Softwarebereitstellungsprozesses.

CodeDeploy ermöglicht es Ihnen, Softwarebereitstellungs- und Skalierungsaktivitäten zu integrieren, damit Ihre Anwendung in einer dynamischen Produktionsumgebung immer aktuell ist. Für Amazon-EC2-Instances lässt sich CodeDeploy in Auto Scaling integrieren. Mit Auto Scaling können Sie Amazon-EC2-Kapazitäten entsprechend der von Ihnen festgelegten Bedingungen, wie etwa Spitzen im Datenverkehr, skalieren. CodeDeploy wird immer benachrichtigt, wenn eine neue Instance eine Auto Scaling-Gruppe startet, und führt automatisch eine Anwendungsbereitstellung für die neue Instance durch, bevor diese zu einem Load Balancer von Elastic Load Balancing (ELB) hinzugefügt wird.

Sie können mit CodeDeploy die Bereitstellung von Code für alle Instances in Ihrer gesamten Entwicklungs-, Test- und Produktionsumgebung automatisieren, einschließlich Instances in Ihren eigenen Rechenzentren (Ihre Instances müssen sich mit öffentlichen Endpunkten von AWS verbinden können). Dies erlaubt Ihnen, Ihre Anwendungen in Hybridarchitekturen mit einem einzelnen Service konsistent bereitzustellen.

Ausfallzeit minimieren

Anwendungen lassen sich mit CodeDeploy ohne Ausfallzeit auf eine neue Revision aktualisieren. AWS CodeDeploy kann Blau/Grün-Bereitstellungen für Amazon EC2-Instances, einen Service von Amazon Elastic Container Service (Amazon ECS) (sowohl Amazon-EC2- als auch Fargate-Starttypen) oder eine Lambda-Funktion durchführen. Mit einer blauen/grünen Bereitstellung wird die neue Version Ihrer Anwendung neben der alten Version angezeigt. Sobald die neue Version getestet und für betriebsbereit erklärt wurde, kann CodeDeploy den Datenverkehr auf Basis Ihrer Angaben von Ihrer alten Version auf die neue Version verschieben.

CodeDeploy kann außerdem eine rollierende Aktualisierung in einer Gruppe von Amazon EC2-Instances durchführen, bei der zu jedem Zeitpunkt nur ein Bruchteil der Instances vom Netz genommen wird. CodeDeploy arbeitet alle Instances der Reihe nach durch, sodass die Anwendungen verfügbar bleiben und weiterhin Anforderungserfassungen erfüllen können. Für AWS-Lambda-Funktionen wird eingehender Datenverkehr nach und nach von der alten zur neuen Version umgeleitet.

Die Protokollierung des Bereitstellungszustands hält in Kombination mit rollierenden Updates Anwendungen während der Bereitstellung hoch verfügbar. Zu unerwarteter Ausfallzeit kann es kommen, wenn fehlerhafte Updates bereitgestellt werden. CodeDeploy überwacht Ihre Bereitstellung und hält eine Bereitstellung an, wenn zu viele fehlgeschlagene Updates vorhanden sind.

Sie können eine stattfindende Anwendungsbereitstellung jederzeit mit der Konsole, der AWS-Befehlszeile und jedem beliebigen AWS SDK stoppen. Wenn Sie die gestoppte Bereitstellung zu einem späteren Zeitpunkt fortsetzen möchten, können Sie diese Revision einfach erneut bereitstellen. Sie können auch ein sofortiges Rollback durchführen, indem Sie die vorhergegangene Revision wieder bereitstellen.

Zentrale Kontrolle

Sie können die Bereitstellungen Ihrer Software direkt auf der Konsole oder mithilfe der AWS-Befehlszeilenschnittstelle, SDKs oder APIs starten, steuern und überwachen. Im Falle eines Fehlers können Sie das Skript, bei dem ein Fehler aufgetreten ist, genau bestimmen. Darüber hinaus können Sie Push-Benachrichtigungen festlegen, um den Status Ihrer Bereitstellungen per SMS oder E-Mail über den Amazon Simple Notification Service (Amazon SNS) zu überwachen.

Eine Anwendung kann für mehrere Bereitstellungsgruppen bereitgestellt werden. Bereitstellungsgruppen dienen dazu, Konfigurationen mit bestimmten Umgebungen, wie etwa Staging- oder Produktionsumgebungen, abzugleichen. Sie können eine Revision beim Staging testen und dann denselben Code mit den gleichen Bereitstellungsanweisungen für die Produktion bereitstellen, wenn Sie zufrieden sind.

CodeDeploy verfolgt und speichert den neuesten Verlauf Ihrer Bereitstellungen. Sie können prüfen, welche Anwendungsversionen derzeit für jede Ihrer Ziel-Bereitstellungsgruppen bereitgestellt sind. Sie können Einsicht in den Änderungsverlauf und die Erfolgsrate früherer Bereitstellungen für bestimmte Bereitstellungsgruppen nehmen. Außerdem ist es möglich, die Timeline früherer Bereitstellungen zu untersuchen und einen detaillierten Überblick über Ihre Bereitstellungserfolge und -fehler zu gewinnen.

Einfache Einführung

CodeDeploy verwendet ein datei- und befehlsbasiertes Installationsmodell. So können Sie jede Anwendung bereitstellen und vorhandenen Einrichtungscode wiederverwenden. CodeDeploy verwendet eine einzelne AppSpec-Konfigurationsdatei, die Sie verwenden können, um Aktionen, Tests oder Verifizierungen für jedes Lebenszyklusereignis (in der Bereitstellungsphase) durchzuführen. Bei den Befehlen kann es sich um jede Art von Code handeln, etwa ein Shell-Script, ein benutzerdefiniertes Programm oder sogar ein Konfigurationsmanagement-Tool.

Es ist einfach, Anwendungsbereitstellungen mittels der CodeDeploy-APIs in Ihre bestehende Softwarebereitstellungs-Toolkette zu integrieren. AWS CodePipeline und einige AWS-Partner stellen zuvor erstellte CodeDeploy-Integrationen für durchgehende Integrations- und Bereitstellungsdienste (CI/CD) bereit und vereinfachen so die automatische Bereitstellung Ihrer aktualisierten Anwendung.

Benachrichtigungen erhalten

Sie können Benachrichtigungen für Ereignisse erstellen, die sich auf Ihre Bereitstellungen auswirken. Benachrichtigungen erfolgen in Form von Amazon SNS-Benachrichtigungen. Jede Benachrichtigung enthält eine Statusmeldung und einen Link zu den Ressourcen, deren Ereignis diese Benachrichtigung ausgelöst hat.