Neues Jahr, neue Nachrichten in der Welt von AWS. Dieser Blogbeitrag stellt einen Ausschnitt aus den Neuerungen und Ankündigungen des Monats Dezember dar, erhebt aber nicht den Anspruch auf Vollständigkeit. Das Hauptaugenmerk liegt hierbei auf Veränderungen, bei denen wir von einem direkten Einfluss auf unsere Kunden ausgehen. In diesem Beitrag werden insbesondere Änderungen und Ankündigungen der Services AWS Step Functions, Amazon CodeCatalyst sowie AWS S3 vorgestellt.
Development
Mit AWS Step Functions stellt Amazon einen der praktischsten Services aller Hyperscaler zur Verfügung, denn die Orchestrierung von Programmen und Prozessschritten ist auch in der Cloud relevant. Weiterhin stellt Amazon mit CodeCatalyst einen neuen Software Development Service zur Verfügung, welcher die (Software-) Entwicklung in der AWS beschleunigen soll.
AWS Step Functions
AWS Step Functions ist ein vielseitiger Service, welcher die Erstellung von Workflows – wie dem Verarbeiten von S3-Objekten – vereinfacht. In den letzten Jahren sind viele sinnvolle Veränderungen des Services veröffentlich worden, allen voran das grafische Interface zur Erstellung von Workflows. Nichtsdestoweniger fühlte sich die Nutzung des Servics nicht optimal an, wenn man viele Events auf einmal verarbeiten wollte. Dies liegt unter anderem daran, dass die alte Implementierung der Step Functions auf 40 parallele Iterationen beschränkt war. Durch den neuen sogenannten „Distributed Map Flow“ soll sich dies nun allerdings ändern.
Der neue Distributed Map Flow erlaubt es, über mehrere Millionen Objekt, die in S3 gespeichert sind, zu iterieren und anstatt 40 paralleler Workflows sind nun bis zu 10.000 gleichzeitige Ausführungen möglich. Bei der Arbeit mit anderen Services gilt es aber ein paar Dinge zu beachten. Dies ist zum einen der Grad an Parallelität den der jeweilige Service unterstützt und zum anderen wie schnell dieser maximale Grad an Parallelität erreicht wird.
Obige Einschränkung wird deutlich, wenn man das Zusammenspiel von AWS Lambda mit den neuen Step Functions betrachtet. Das Kontingent paralleler Ausführungen einer Lambda Funktion liegt per default lediglich bei 1000 pro Region und somit deutlich unter dem Maximum der Step Functions.
Die „Distributed Map Flows“ sind in Europa lediglich in Frankfurt, Irland und Stockholm verfügbar. Preislich verändern sich bestehende Inline-Maps nicht. Für die Distributed Map Flows berechnet Amazon wie zuvor auch schon State-Changes pro Iteration. Die Kosten sind allerdings mit 0,025$ pro 1000 State-Changes als überschaubar einzuschätzen.
AWS CodeCatalyst
Als Entwickler sowie als Berater ist es oftmals reizvoll in ein neues Projekt zu stoßen, neue Aufgaben kennenzulernen und diese zu bewältigen. Die Vorfreude kann allerdings manchmal gebremst werden, denn die Anfänge eines Projekts können zäh sein. Es müssen zunächst Grundlagen geschaffen werden, wie beispielsweise das erstellen von Confluence-Seiten zur Dokumenation, Jira Boards, Pipelines, Testumgebungen und so weiter und so können einige Tage und Wochen vergehen, bis die eigentlichen Entwicklungsprozesse wirklich beginnen.
Auch für die Entwicklern bei Amazon scheint dieses Phänomen zu gelten und so entschied man sich mit CodeCatalyst ein Format zu schaffen, dass diese Startphase beschleunigen soll. CodeCatalyst bietet schlussendlich seinen Nutzern ein vereinheitlichtes Framework zur Softwareentwicklung innerhalb der Strukturen der AWS. Dies beinhaltet neben Blueprints, Issue-Managements und Dashboards auch CICD-Pipelines basierend auf eben jenen Blueprints, um die entwickelten Resultate schnell und einfach zu deployen.
Da der Service erst in der Preview ist, ergibt es noch keinen Sinn auf alle Aspekte von CodeCatalyst detailliert einzugehen und diese vorzustellen, da sicher noch einige Features hinzukommen beziehungsweise erweitert werden. Allgemein lässt sich aber jetzt schon absehen, dass CodeCatalyst das Software-Development in der AWS beschleunigen und durch die Standardisierung auch den Wechsel zwischen Teams vereinfachen kann. Amazon CodeCatalyst ist seit Dezember im Free Tier verfügbar und kann somit, zumindest nahezu, ohne Kosten verprobt werden.
Storage
Es schien ruhig um den Objektdatenspeicher, doch im Dezember veröffentlichte AWS noch einmal eine Änderung.
Amazon S3: Encryption by Default
Sicherheit ist der wichtigste Baustein einer Cloudarchitektur und die Verschlüsselung von Daten ist ein elementarer Bestandteil. Aus diesem Grund verschlüsselt AWS nun alle Dateien by Default, sofern es nicht anders definiert wird, serverseitig. Mit Amazon SSE-S3 erstellt Amazon für jedes Objekt einen eigenen, eindeutigen Schlüssel zum Verschlüsseln der Daten und verschlüsselt den Schlüssel selbst mit einem sogenannten „Root-Key“.
Das Vorgehen, serverseitig zu verschlüsseln, war immer schon eine Best Practice. Nun ist es aber die Default Einstellung und wird automatisch auf alle neu angelegten Buckets angewendet. Alte Buckets, die die frühere S3-Default-Verschlüsselung nutzen, werden nicht geändert.
Die Änderung ist im Dezember in allen AWS Regionen in Kraft getreten inklusive der GovCloud und den Regionen in China. Es fallen keine neuen Kosten bei der Nutzung von S3 an.
Messaging
Ein wichtiger Bestandteil von pay-as-you-go ist es, auf Events reagieren zu können und Ressourcen dementsprechend zu skalieren. In der AWS kann dies über EventBridge erreicht werden und so ist der Service elementar in nahezu jeder event-driven Architektur.
Amazon EventBridge
Mit den neuen Amazon EventBridge Pipes möchte Amazon die Kommunikation zwischen Services vereinfachen. Event Driven Pipes sollen eine kosteneffiziente Möglichkeit darstellen, Punkt-zu-Punkt Verbindungen zwischen Produzenten und Konsumenten von Nachrichten zu erstellen. Eine Pipe kann im einfachsten Fall lediglich aus einem Konsumenten und einem Produzenten bestehen. Es können allerdings auch Nachrichten gefiltert oder mittels Lambdas, Step Functions oder anderer AWS Services angereichert werden.
Derzeit unterstützt EventBrdige Pipes nur eine überschaubare Anzahl von Quellen und Zielen, jedoch werden die wichtigsten Services bereits unterstützt. Potentielle Produzenten sind beispielsweise DynamoDB, SQS oder Kinesis Data Streams und potentielle Konsumenten Lambda, Kinesis oder Step Functions. EventBridge unterstützt außerdem sogenanntes Event Ordering. Das bedeutet, dass EventBridge die Reihenfolge, in der die Nachrichten empfangen werden, beibehält.
Amazon EventBridge Pipes sind in allen AWS Regionen verfügbar mit Ausnahme einer Region in Asien sowie der Region in Zürich.
Für weitere regelmäßige Updates zum Thema AWS Cloud, folgen Sie unserer Präsenz auf Xing und Instagram oder direkt unserem Blog.