Auf der re:Invent 2022 kündigte Werner Vogels die Verfügbarkeit der Vorschau des AWS Application Composer an. Ich bin ein großer Fan von Scratch, einer visuellen Programmiersprache, mit der man kleinen Kindern das Programmieren beibringt. Daher war ich sehr gespannt, wie diese neue Funktion aussehen würde.
Warum
Nach Aussage der Referenten haben viele Leute Schwierigkeiten, CloudFormation und Infrastructure as Code-Frameworks im Allgemeinen zu erlernen. Dieses neue Tool soll Anfängern den Einstieg in die Cloud erleichtern.
Was
Der AWS Application Composer ist im Grunde eine intelligente Designer-Leinwand, auf der Ressourcen abgelegt und verbunden werden können. Während des Entwurfs hält Composer eine CloudFormation-Vorlage mit Ihrer lokalen Entwicklungseinrichtung synchron und nutzt dabei die Fähigkeit Ihres Browsers, Dateien zu verwalten.
Wenn Sie eine Ressource auf der Leinwand ablegen, wird sie automatisch mit "vernünftigen" Einstellungen konfiguriert. In einigen Fällen wird auch mehr als eine Ressource unter der Haube erstellt. Die Benutzeroberfläche verbirgt einige kompliziertere Konfigurationsoptionen, um die Dinge nicht zu sehr zu verkomplizieren. Sie können jedoch auch mit Ihrem bevorzugten Code-Editor in die Vorlage gehen und kompliziertere Dinge hinzufügen oder ändern. Composer wird die Änderungen bemerken und die Vorlage entsprechend aktualisieren.
Die Verbindungen zwischen den Ressourcen sorgen für mehrere Dinge:
- IAM-Standardrichtlinien festlegen
- Umgebungsvariablen setzen (für Lambna)
- Ereignis-Abonnements verwalten
Die erzeugte CloudFormation verwendet das SAM-Format (Serverless Application Model). Ryan Coleman, der auch der Produktmanager für SAM ist. Die intelligenten parametrisierbaren Richtlinien von SAM werden verwendet, um auch die generierte CloudFormation lesbar zu halten.
Die Philosophie scheint zu sein, dass CloudFormation während des Entwurfs einsatzfähig bleibt. Das ist auch der Grund, warum die Lambdas bereits mit etwas Vorlagencode erstellt werden. SAM kümmert sich um das Verpacken und Bereitstellen des Codes.
Demo Unglaublichkeit
Während der Demo auf der re:Invent hatte Ryan SAM so eingerichtet, dass es die Vorlage, an der er arbeitete, "überwachte". Während des Ziehens und Ablegens und Entwerfens validierte SAM im Hintergrund bereits das Design und stellte es mithilfe der generierten CloudFormation bereit. Das ist wirklich großartig für diese Art von Demos, wenn Sie schnell zeigen wollen, wie die Dinge funktionieren, ohne alle Konsolen aufzurufen, die für die Konfiguration der notwendigen Ressourcen erforderlich sind.
Aktuelle Merkmale
- vorhandene CloudFormation-Vorlagen importieren
- Gruppierung von Ressourcen in benannte Gruppen (gespeichert in Metadaten)
- Lambda-Gerüst
- Verwaltung von Ereignisabonnements
Zukunft
Die folgenden Funktionen sind noch nicht im Produkt enthalten, aber auf Nachfrage sagte Ryan, dass sie auf der Grundlage des Kundenfeedbacks priorisiert werden könnten:
- Unterstützung für andere Sprachen als CloudFormation (CDK, Terraform)
- die Arbeit mit mehreren Stacks und die gegenseitigen Abhängigkeiten
- Importieren von SSM-Parametern und anderen "Nachschlagewerken
- Verfügbarkeit als Plugin für VSCode (und andere)
- Kopieren/Einfügen in den Designer
- Unterstützung für mehr Ressourcen
Fazit
Dieses Tool ist in seiner jetzigen Form eine großartige Möglichkeit, um mit CloudFormation zu beginnen. Für die schnelle Demonstration oder das Prototyping einer serverlosen Architektur ist das Tool wirklich großartig.
Wahrscheinlich ist das Produkt für die Wartung von produktiven CloudFormation-Stapeln derzeit zu begrenzt.
Ich war jedoch sehr beeindruckt, wie sorgfältig dieses Produkt eingerichtet wurde. Die Handhabung jeder Vorlage, einschließlich solcher mit noch nicht unterstützten Ressourcentypen (diese werden als schreibgeschützte Ressourcen angezeigt) und die Beibehaltung aller manuellen CloudFormation-Bearbeitungen im Design scheinen ein Versprechen zu sein, dass dies eines Tages ausgereift genug sein wird, um alle Ihre CloudFormation-Stacks damit zu verwalten.
Verfasst von

Jacco Kulman
Jacco is a Cloud Consultant at Binx.io. As an experienced development team lead he coded for the banking- and hospitality- and media-industries. He is a big fan of serverless architectures. In his free time he reads science fiction, contributes to open source projects and enjoys being a life-long-learner.
Unsere Ideen
Weitere Blogs
Contact




