Amazon Web Services für Entwickler Dev-Tools und -Ressourcen in AWS

Autor / Redakteur: Thomas Joos / Stephan Augsten

Amazon stellt in AWS verschiedene Ressourcen zur Verfügung, die bei der Entwicklung und schnellen Bereitstellung von Cloud-Anwendungen helfen. Wir geben einen Überblick.

Firmen zum Thema

Amazon erleichtert den Einstieg in die Cloud-native Entwicklung mit etlichen Tools und Ressourcen.
Amazon erleichtert den Einstieg in die Cloud-native Entwicklung mit etlichen Tools und Ressourcen.
(© tomertu - stock.adobe.com)

Amazon unterstützt Entwickler mit verschiedenen Ressourcen und Tools dabei, Anwendungen in AWS zu entwickeln und bereitzustellen. Der DevOps-Ansatz kann in AWS mit Tools aus der Cloud umgesetzt werden. Auch komplette Toolketten für Continuous Delivery lassen sich damit umsetzen.

Die Entwicklung mit Teams ist auf diesem Weg problemlos möglich, da einzelne Entwickler über das Internet auf die Cloud zugreifen können. Die Sicherheit der Projekte lässt sich wiederum mit einem Rollenmodell herstellen, das Amazon IAM (Identity and Access Management) unterstützt.

CodeStar – Anwendungen entwickeln und bereitstellen

Projekte mit AWS CodeStar entwickeln.
Projekte mit AWS CodeStar entwickeln.
(Bild: Joos / AWS)

Mit AWS CodeStar ist es möglich, Anwendungen über eine zentrale Oberfläche zu entwickeln und bereitzustellen. Die Umgebung unterstützt nahezu alle relevanten Programmiersprachen, darunter C#, Python, Java, Ruby, PHP und viele andere.

Mit CodeStar können auch Projekt-Dashboards erstellt werden, die es ermöglichen, mehrere Projekte gleichzeitig zu verwalten. Das Dashboard hilft dabei, den Verlauf der Projekte zu überprüfen. Die Verwendung von CodeStar selbst ist kostenlos, da Amazon nur die Ressourcen verrechnet, die für die Entwicklung benötigt werden, zum Beispiel die verwendeten EC2-Instanzen.

Über CodeStar stehen auch Vorlagen zur Verfügung, zum Beispiel für EC2 oder Lambda. Dazu kommen zahlreiche Programmiersprachen, wie Java, JavaScript, PHP, Ruby, C# und Python. AWS CodeStar kann den Code mit AWS CodeCommit steuern, ermöglicht aber auch die Anbindung an GitHub.

Der Quellcode kann mit Umgebungen wie Visual Studio und Eclipse genauso bearbeitet werden wie mit AWS Cloud9. AWS CodeStar unterstützt die Integration der JIRA-Projektmanagement-Software von Atlassian. Das wiederum ermöglicht eine umfassende Projektverwaltung.

CodeCommit – Git-Repositorys und Quellcodekontrolle in AWS

Programme, die zum Beispiel mit CodeStar entwickelt werden, lassen sich auch in AWS CodeCommit einbinden. Damit ist es möglich, skalierbare und private Git-Repositories direkt in AWS bereitzustellen. Auch Git-Befehle und -Tools sind weitgehend mit CodeCommit kompatibel. Die Ressource bietet umfassende Quellcodekontrolle und arbeitet natürlich mit den anderen Ressourcen zur Entwicklung von Apps in AWS zusammen.

Der Vorteil beim Einsatz des Systems besteht darin, dass Entwickler keine eigene Plattform für die Quellcodeverwaltung erstellen müssen, sondern alle notwendigen Funktionen direkt in AWS über die Cloud zur Verfügung stehen. Genauso wie CodeStar, kann auch CodeCommit in eine bestehende Infrastruktur mit AWS Identity and Access Management (IAM) integriert werden.

CodeBuild, CodePipeline und CodeDeploy

Mit AWS CodeBuild kann der Quellcode in AWS erstellt und getestet werden. Anschließend wird der Code über CodeDeploy bereitgestellt. Die Vorgänge dabei lassen sich weitgehend automatisieren. CodeDeploy bietet dazu CI-, also Continuous-Integration-Funktionen. Hier kann CodeDeploy den Quellcode kompilieren, testen und danach Softwarepakete erstellen.

Auch das parallele Bearbeiten mehrerer Builds ist möglich. Der Einsatz von CodeBuild erspart den Einsatz eigener Server, wie auch der Einsatz von CodeCommit. Auch hier ist es wieder möglich, auf AWS Identity and Access Management zu setzen, sodass der komplette Zugriff auf Code und Anwendungen zentral über ein Berechtigungsmodell gesteuert werden können.

AWS CodeDeploy ermöglicht anschließend das automatisierte Bereitstellen von Anwendungen, auch in AWS. Neben der Bereitstellung von Anwendungen im lokalen Rechenzentrum kann CodeDeploy auch Ressourcen in EC2, Fargate, Lambda und in anderen Bereichen zur Verfügung stellen. Auch diese Vorgänge laufen automatisiert ab. Der Vorteil liegt auch hier, dass keine eigenen Server notwendig sind und zahlreiche Projekte zentral verwaltet werden können.

Für Continuous Delivery (CD) ist parallel der Einsatz von CodePipeline sinnvoll. Damit können automatisierte Software-Veröffentlichungs-Pipelines erstellt werden. Bei Code-Änderungen kann der Dienst automatisiert Erstellungsaktionen starten, Tests durchführen und Anwendungen sowie deren Updates bereitstellen.

Aus diesem Grund arbeiten CodeBuild, CodePipeline und CodeDeploy eng zusammen. Dennoch achtet Amazon darauf, dass die Dienste auch getrennt buchbar sind. CodePipeline kann auch an GitHub angebunden werden, wenn CodeBuild nicht zum Einsatz kommen soll.

AWS Cloud9 Online IDE – Cloud-Anwendungen entwickeln

Mit Cloud9 stellt Amazon in AWS auch eine IDE für die Entwicklung zur Verfügung. Cloud9 unterstützt selbstverständlich alle anderen Ressourcen zur Entwicklung in AWS. Die Umgebung basiert komplett auf der Verwendung im Webbrowser. Die komplette Entwicklung kann daher, ohne lokale Installation von Anwendungen, überall erfolgen.

Vor allem im Homeoffice oder bei mobilen Anwendern kann das ein deutlicher Vorteil sein, da Entwickler überall arbeiten können, ohne ihre Umgebung jedes Mal erneut einrichten zu müssen. Cloud9 unterstützt unter anderem Java, Python und PHP. Bei Entwickler-Teams ermöglicht die Umgebung auch das gemeinsame Arbeiten an Code.

AWS X-Ray – Anwendungen in Microservices-Umgebungen

Mit AWS X-Ray können auch Anwendungen in Microservices-Umgebungen über AWS entwickelt werden. Mit X-Ray können verteilte Anwendungen analysiert werden. Auch das Suchen nach Fehlern (Debugging) ist möglich. Dabei ist X-Ray für den Betrieb von Anwendungen in Microservices-Infrastrukturen optimiert.

AWS Fault Injection Simulator

AWS Fault Injection Simulator hilft dabei die Leistung und Ausfallsicherheit von Anwendungen zu berücksichtigen. Fault-Injection-Experimente kommen im Chaos-Engineering zum Einsatz. Dabei werden Anwendungen in Test- oder Produktionsumgebungen belastet, indem plötzliche Anstiege des CPU- oder Arbeitsspeicherverbrauchs verursacht werden. Das soll bei der Analyse helfen, wie Anwendungen in Stress-Situationen funktionieren.

(ID:47340440)

Über den Autor

 Thomas Joos

Thomas Joos

Freiberuflicher Autor und Journalist