© Liashko/Shutterstock.com
Entwickler Magazin
Entwicklung und stetige Auslieferung einer Angular-App in der AWS Cloud

Angular-App via AWS Cloud

Lokal ein neues Angular-Projekt aufzusetzen funktioniert dank Angular CLI im Handumdrehen. Doch um eine App professionell zu entwickeln und zu warten, bedarf es neben einem guten Entwicklungsprozess auch einer guten Entwicklungsumgebung. Oft ist eine Webanwendung die Schnittstelle eines Systems mit dem Backend in einer Cloud - es ist also auch sinnvoll, die Webanwendung in der Cloud zu entwickeln und abzulegen.

Martin Maier


Wir wollen agil arbeiten, wollen also neue Anforderungen in kurzen Iterationen ausliefern, um möglichst schnell Feedback zu bekommen. Dazu ist es wichtig, dass wir auch innerhalb der Entwicklungszyklen schnell Feedback bekommen. Um das zu erreichen, muss der aktuelle Entwicklungsstand der App stetig integriert und zur Verfügung gestellt werden. Es ergeben sich einige Fragen: Wo verwalten wir unseren Code? Wie und wo können wir die Anwendung stetig integrieren und bauen? Wie bekommen wir zeitnah Feedback aus unseren Tests? Und wie können wir den derzeitigen Stand unserer App auf verschiedenen Stages automatisiert ausliefern, um auch fortlaufend fachliches Feedback zu bekommen? Für dieses Szenario gibt es etliche Lösungen mit verschiedenen Stärken und Schwächen. Meist stellt die Webanwendung die Schnittstelle eines mehr oder weniger komplexen Systems dar, dessen Backend immer häufiger in einer Cloud liegt. Dadurch macht es Sinn, auch die Webanwendung in der Cloud zu entwickeln und abzulegen. In diesem Tutorial realisieren wir dieses Szenario durch eine Angular SPA, die wir innerhalb der AWS Cloud (Abb. 1) entwickeln und auch dort hosten.

Abb. 1: Übersicht

Die Infrastruktur verwalten

Sobald wir einen AWS-Account angelegt haben [1], können wir uns in die AWS-Konsole einloggen. Die Konsole stellt die grafische Schnittstelle zur Verwaltung sämtlicher Ressourcen und Services der AWS Cloud dar. Je nach Vorlieben und Bedarf bietet Amazon ein mächtiges AWS CLI sowie diverse SDKs und Toolkits zur Verwaltung unserer Cloud. Hier verwenden wir die Konsole, für komplexere Systeme empfehle ich jedoch, die Infrastruktur als Code zu verwalten (Kasten „Infrastructure as Code“).

Infrastructure as CodeAls Infrastructure as Code (IaC) wird das Konzept bezeichnet, IT-Infrastrukturen in Form von Code zu definieren, zu verwalten und darüber automatisiert bereitstellen zu können. Amazon hat dieses Konzept im proprietären AWS CloudFormation umgesetzt. Es gibt jedoch auch sehr gute herstellerunabhängige Lösungen wie Terraform.

Zugriffssteuerung mit AWS IAM

IAM steht für Identity and Access Management, mit dessen Hilfe die Zugriffe auf die Ressourcen verwaltet werden. Wir erreichen den IAM Service in der Konsole über das Services-Menü. Er befindet sich in der Kategorie Security, Identity and Compliance. Es hat sich als gute Praxis herausgestellt, nicht mit dem Root-Account eines Systems zu arbeiten. Dementsprechend erstellen wir uns zuerst einen Admin-Account, mit dem wir zukünftig weite...

Entwickler Magazin
Entwicklung und stetige Auslieferung einer Angular-App in der AWS Cloud

Angular-App via AWS Cloud

Lokal ein neues Angular-Projekt aufzusetzen funktioniert dank Angular CLI im Handumdrehen. Doch um eine App professionell zu entwickeln und zu warten, bedarf es neben einem guten Entwicklungsprozess auch einer guten Entwicklungsumgebung. Oft ist eine Webanwendung die Schnittstelle eines Systems mit dem Backend in einer Cloud - es ist also auch sinnvoll, die Webanwendung in der Cloud zu entwickeln und abzulegen.

Martin Maier


Wir wollen agil arbeiten, wollen also neue Anforderungen in kurzen Iterationen ausliefern, um möglichst schnell Feedback zu bekommen. Dazu ist es wichtig, dass wir auch innerhalb der Entwicklungszyklen schnell Feedback bekommen. Um das zu erreichen, muss der aktuelle Entwicklungsstand der App stetig integriert und zur Verfügung gestellt werden. Es ergeben sich einige Fragen: Wo verwalten wir unseren Code? Wie und wo können wir die Anwendung stetig integrieren und bauen? Wie bekommen wir zeitnah Feedback aus unseren Tests? Und wie können wir den derzeitigen Stand unserer App auf verschiedenen Stages automatisiert ausliefern, um auch fortlaufend fachliches Feedback zu bekommen? Für dieses Szenario gibt es etliche Lösungen mit verschiedenen Stärken und Schwächen. Meist stellt die Webanwendung die Schnittstelle eines mehr oder weniger komplexen Systems dar, dessen Backend immer häufiger in einer Cloud liegt. Dadurch macht es Sinn, auch die Webanwendung in der Cloud zu entwickeln und abzulegen. In diesem Tutorial realisieren wir dieses Szenario durch eine Angular SPA, die wir innerhalb der AWS Cloud (Abb. 1) entwickeln und auch dort hosten.

Abb. 1: Übersicht

Die Infrastruktur verwalten

Sobald wir einen AWS-Account angelegt haben [1], können wir uns in die AWS-Konsole einloggen. Die Konsole stellt die grafische Schnittstelle zur Verwaltung sämtlicher Ressourcen und Services der AWS Cloud dar. Je nach Vorlieben und Bedarf bietet Amazon ein mächtiges AWS CLI sowie diverse SDKs und Toolkits zur Verwaltung unserer Cloud. Hier verwenden wir die Konsole, für komplexere Systeme empfehle ich jedoch, die Infrastruktur als Code zu verwalten (Kasten „Infrastructure as Code“).

Infrastructure as CodeAls Infrastructure as Code (IaC) wird das Konzept bezeichnet, IT-Infrastrukturen in Form von Code zu definieren, zu verwalten und darüber automatisiert bereitstellen zu können. Amazon hat dieses Konzept im proprietären AWS CloudFormation umgesetzt. Es gibt jedoch auch sehr gute herstellerunabhängige Lösungen wie Terraform.

Zugriffssteuerung mit AWS IAM

IAM steht für Identity and Access Management, mit dessen Hilfe die Zugriffe auf die Ressourcen verwaltet werden. Wir erreichen den IAM Service in der Konsole über das Services-Menü. Er befindet sich in der Kategorie Security, Identity and Compliance. Es hat sich als gute Praxis herausgestellt, nicht mit dem Root-Account eines Systems zu arbeiten. Dementsprechend erstellen wir uns zuerst einen Admin-Account, mit dem wir zukünftig weite...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang