AWS CodeDeploy ist ein Service, der Anwendungsbereitstellungen in vielerlei Serverservices, wie etwa Amazon EC2, AWS Fargate, AWS Lambda, sowie auf lokalen 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, wobei Ihre Bereitstellungen über die Befehlszeile, SDKs oder APIs gestartet, kontrolliert und überwacht werden können. Sie können den Fortschritt der Bereitstellung in Bezug auf individuelle Einrichtungsereignisse anzeigen. CodeDeploy verfolgt und speichert den neuesten Verlauf Ihrer Bereitstellungen, sodass Sie die Timeline und den Änderungsverlauf vergangener Bereitstellungen untersuchen können.
AWS 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 Instance-Bereitstellungen
Wiederholbare Bereitstellungen
Mit AWS CodeDeploy können Sie eine Anwendungsbereitstellung problemlos für verschiedene Gruppen von AWS CodeDeploy-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.
Automatisierte Skalierung
AWS 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 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 Elastic Load Balancing hinzugefügt wird.
Lokale Bereitstellungen
Sie können mit AWS 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). Auf diese Weise können Sie Anwendungen in Hybridarchitekturen mit einem einzelnen Service konsistent bereitstellen.
Ausfallzeit minimieren
Rollierende und Blue-Green-Updates
Anwendungen lassen sich mit AWS CodeDeploy ohne Ausfallzeit auf eine neue Revision aktualisieren. AWS CodeDeploy kann blaue/grüne Bereitstellungen für Amazon EC2-Instances, einen Amazon ECS-Service (EC2- und AWS Fargate-Launch-Typ) oder eine AWS Lambda-Funktion ausfü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.
Protokollierung des Bereitstellungszustands
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. AWS CodeDeploy überwacht Ihre Bereitstellung und hält eine Bereitstellung an, wenn zu viele fehlgeschlagene Updates vorhanden sind.
Beenden und Rollback
Sie können eine stattfindende Anwendungsbereitstellung jederzeit mit der AWS-Managementkonsole, 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
Überwachung und Kontrolle
Sie können die Bereitstellungen Ihrer Software direkt auf der AWS-Managementkonsole 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 zu überwachen.
Bereitstellungsgruppen
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.
Bereitstellungsverlauf
AWS 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
Sprach- und architekturunabhängig
AWS 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.
Integration von Toolketten
Es ist einfach, Anwendungsbereitstellungen mittels der AWS CodeDeploy-APIs in Ihre bestehende Softwarebereitstellungs-Toolkette zu integrieren. AWS CodePipeline, AWS CodeStar und einige AWS-Partner stellen zuvor erstellte CodeDeploy-Integrationen für durchgehende Integrations- und Bereitstellungsdienste bereit und vereinfachen so die automatische Bereitstellung Ihrer aktualisierten Anwendung.
Benachrichtigungen erhalten
Definierte Ereignisse prüfen
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 sowie einen Link zu den Ressourcen, deren Ereignis diese Benachrichtigung ausgelöst hat.
Weitere Informationen zur Preisgestaltung bei AWS CodeDeploy