AWS hat im April viele Neue­run­gen vor­ge­stellt, die die Nutz­bar­keit der AWS Cloud ver­ein­fa­chen sol­len. Die meis­ten Ände­run­gen des Aprils bezie­hen sich auf ser­ver­less Ser­vices der AWS. Die­ser Blog­bei­trag stellt einen Aus­schnitt aus den Neue­run­gen und Ankün­di­gun­gen des Monats April dar, erhebt aber nicht den Anspruch auf Voll­stän­dig­keit. Das Haupt­au­gen­merk liegt hier­bei auf Ver­än­de­run­gen, bei denen wir von einem direk­ten Ein­fluss auf unsere Kun­den aus­ge­hen. In die­sem Bei­trag wer­den ins­be­son­dere Ände­run­gen und Ankün­di­gun­gen der  Ser­vices AWS Lambda, Ama­zon MSK und Ama­zon Aurora vorgestellt.

Com­pute

AWS Lambda

Der beliebte ser­ver­less-com­pute Ser­vice AWS Lambda hat im April einige Updates erhal­ten, die das auf­de­cken von Sicher­heits­schwach­stel­len und Fehl­kon­fi­gu­ra­tio­nen erleich­tern und Micro­ser­vices Archi­tek­tu­ren vereinfachen.

Func­tion URLs

Die Imple­men­tie­rung und Ver­wen­dung von Micro­ser­vices fin­det immer mehr Ein­zug in Unter­neh­men. In der AWS grei­fen Micro­ser­vice-basierte Archi­tek­tu­ren häu­fig auf AWS Lambda zurück. Für eine funk­tio­nie­rende Archi­tek­tur sind aller­dings noch wei­tere Ser­vices nötig, wie Ama­zon API Gate­way und ein Appli­ca­tion Load Balan­cer, um der Lambda-Funk­tion API-End­punkte und Metho­den zur Abfrage zur Ver­fü­gung zu stellen.

Das oben beschrie­bene Zusam­men­spiel ist zwar ein bewähr­tes Kon­zept, aller­dings durch die zusätz­li­chen Ser­vices – wie eben API Gate­way und der Appli­ca­tion Load Balan­cer – mit mehr Auf­wand und Kos­ten ver­bun­den, als es in eini­gen Fäl­len nötig wäre. Dies haben auch die Ent­wick­ler der AWS bemerkt und des­we­gen im ver­gan­ge­nen Monat die Ver­füg­bar­keit von URLs für Func­tions vor­ge­stellt. Die­ses neue Fea­ture ermög­licht es, HTTPS End­punkte zu jeder Lambda-Funk­tion hin­zu­zu­fü­gen und erlaubt sogar die Kon­fi­gu­ra­tion von CORS-Header.

Nut­zer kön­nen glo­bal ein­deu­tige URLs ein­fach in den Advan­ced Set­tings der Funk­tion erstel­len. Diese URLs wer­den ent­we­der mit einem Alias oder der ARN-Num­mer einer Lambda Funk­tion ver­knüpft.  Letz­te­res ruft immer auto­ma­tisch die letzte Ver­sion der Funk­tion auf, sodass Updates immer sofort zur Ver­fü­gung ste­hen. Dies scheint zunächst vor­teil­haft zu sein, aller­dings kön­nen sich so auch schnel­ler Feh­ler in den Code ein­schlei­chen. Aus die­sem Grund ist es bes­ser, die URLs mit dem Alias einer Funk­tion zu ver­knüp­fen, um ein siche­res Deploy­ment inklu­sive Inte­gra­ti­ons­tests zu ermöglichen.

Wie oben bereits beschrie­ben, kann die­ses neue Fea­ture an eini­gen Stel­len die Ver­wen­dung von API Gate­way als Durch­lauf­er­hit­zer obso­let machen. Sollte aller­dings mehr als nur ein End­punkt benö­tigt wer­den, ist die Ver­wen­dung von API Gate­way immer noch not­wen­dig. Die neuen Func­tion-URLs bie­ten im Gegen­satz zum API Gate­way keine Mög­lich­keit, Abfra­gen zu vali­die­ren, Thrott­ling zu imple­men­tie­ren oder Auto­ri­sie­run­gen zu überprüfen.

Func­tion URLs sind in allen kom­mer­zi­el­len AWS Regio­nen – außer China – ab sofort ver­füg­bar. Die Kos­ten sind in den Prei­sen für Requests und Lauf­zeit ein­kal­ku­liert. An die­ser Stelle ver­wei­sen wir gerne auf die neue Doku­men­ta­ti­ons­seite der AWS.

DevOps Guru

His­to­risch betrach­tet war AWS einer der ers­ten Anbie­ter, die ser­ver­less-com­pute Ser­vices ange­bo­ten haben. Einer der ers­ten und bekann­tes­ten Ser­vices die­ser Art ist AWS Lambda. Inzwi­schen kön­nen eine Viel­zahl an Para­me­tern in AWS Lambda ein­ge­stellt wer­den, wie zum Bei­spiel die Allo­ka­tion von RAM, Con­cur­rency oder Time­outs. Die Kon­fi­gu­ra­tion die­ser Para­me­ter – bezie­hungs­weise das Fin­den der rich­ti­gen Balance die­ser Para­me­ter – kann grade für Beg­in­ner kom­pli­ziert sein und eine Fehl­kon­fi­gu­ra­tion kann nega­tive Aus­wir­kung auf die Lauf­leis­tung der Funk­tion haben.

Mit Ama­zon DevOps Guru for Ser­ver­less hat Ama­zon im April eine Erwei­te­rung des bekann­ten Ser­vices Ama­zon DevOps Guru vor­ge­stellt. Die Erwei­te­rung soll Ent­wick­lern dabei hel­fen, unge­wöhn­li­ches Ver­hal­ten von Lambda Funk­tio­nen zu ent­de­cken und zu behe­ben. DevOps Guru for Ser­ver­less benutzt hier­für ML-Algo­rith­men, um Fehl­kon­fi­gu­ra­tio­nen auf­zu­de­cken, die sich nega­tiv auf die Per­for­mance und Ver­füg­bar­keit der Funk­tion aus­wir­ken. Bei­spiele hier­für sind die oben ange­spro­che­nen Para­me­ter zur Con­cur­rency und RAM Allokation.

DevOps Guru erlaubt aber nicht nur das Reagie­ren auf bereits auf­ge­tre­tene Feh­ler, son­dern ermög­licht auch ein pro­ak­ti­ves Han­deln. Die “pro­ak­ti­ven Feh­ler­mel­dun­gen” bezie­hen sich unter ande­rem auf Account Limits, die poten­ti­ell über­schrit­ten wer­den könn­ten, und inkom­pa­ti­ble Lambda Time­outs im Ver­hält­nis zu SQS Sicht­bar­keits­kon­fi­gu­ra­tio­nen. Sollte der Ser­vice eine Fehl­kon­fi­gu­ra­tion auf­de­cken, sen­det DevOps Guru eine Nach­richt via Event­Bridge oder SNS an den ent­spre­chen­den Entwickler.

DevOps Guru for Ser­ver­less ist in allen AWS Regio­nen, in denen DevOps Guru ver­füg­bar ist, ver­füg­bar. Dies sind in Europa die Regio­nen Frank­furt, Irland und Stockholm.

Sto­rage

Ama­zon Aurora Ser­ver­less v2

Im ver­gan­ge­nen April hat AWS die all­ge­meine Ver­füg­bar­keit von Ama­zon Aurora Ser­ver­less für Post­greSQL und MySQL bekannt gege­ben. Aurora Ser­ver­less ist eine on-demand Kon­fi­gu­ra­tion mit Aut­o­s­ca­ling von Ama­zon Aurora, die voll­stän­dig von AWS RDS ver­wal­tet wird.

Ähn­lich wie bei Snow­flake ist auch bei Ama­zon Aurora Sto­rage und Com­pute von­ein­an­der getrennt. Dies ermög­licht es, dass zumin­dest der Spei­cher unab­hän­gig von den Com­pu­teres­sour­cen hoch- bzw. run­ter­ska­liert wer­den kann. Ama­zon Aurora Ser­ver­less geht hier­bei noch einen Schritt wei­ter und erlaubt die fle­xi­ble Ska­lie­rung von Com­pute Res­sour­cen, sodass Aurora Ser­ver­less in der AWS Welt eine sinn­volle Alter­na­tive für die Ver­ar­bei­tung von unre­gel­mä­ßi­gen und unvor­her­sag­ba­ren Workloads ist.

Mit der zwei­ten Gene­ra­tion von Ama­zon Aurora Ser­ver­less stellt Ama­zon den Nach­fol­ger der ers­ten Gene­ra­tion nun zur freien Ver­fü­gung. Im Ver­gleich zur ers­ten Gene­ra­tion ver­fügt die zweite Gene­ra­tion über zusätz­li­chen Funk­tio­na­li­tä­ten wie Read-Repli­cas und Multi-AZ Deployments.

Ama­zon Aurora Ser­ver­less v2 ist seit April 2022 in Europa in Frank­furt, Irland, Lon­don, Paris und Stock­holm ver­füg­bar. Kos­ten­tech­nisch ori­en­tiert sich der Ser­vice am pay-as-you-go Modell. Für exak­tere Preis­in­for­ma­tio­nen ver­wei­sen wir auf die Pro­dukt­seite von Ama­zon, auf wel­cher auch ein Preis­rech­ner zu fin­den ist.

Strea­ming und Messaging

Ama­zon MSK Serverless

Seit April ist Ama­zon MSK Ser­ver­less für alle Nut­zer der AWS Cloud ver­füg­bar. Die Ser­ver­less Vari­ante von Ama­zon MSK redu­ziert den War­tungs­auf­wand, den das Moni­to­ring und die Ver­wal­tung von Kafka Clus­tern mit sich bringt.

Apa­che Kafka ist eine Open Source Tech­no­lo­gie, die das Strea­men von Daten wie Click­stream-Events, Trans­ak­tio­nen oder IoT-Events ermög­licht und ist eine weit ver­brei­tete Lösung zum Decou­pling von Applikationen.

Mit Ama­zon MSK kön­nen Kafka Clus­ter bin­nen weni­ger Minu­ten und mit weni­gen Klicks erstellt und ver­wal­tet wer­den. Ama­zon ver­teilt hier­bei die benö­tig­ten Res­sour­cen auto­ma­tisch auf meh­rere Avai­la­bi­lity Zones, um eine hohe Ver­füg­bar­keit zu gewähr­leis­ten. Ama­zon MSK Ser­ver­less geht aller­dings noch einen Schritt wei­ter und nimmt dem Nut­zer wei­tere Kon­fi­gu­ra­ti­ons­ar­beit ab: Wäh­rend Nut­zer von Ama­zon MSK die Anzahl an Bro­ker, die Größe der Instan­zen und die Menge an Spei­cher­ka­pa­zi­tä­ten sel­ber defi­nie­ren müs­sen, über­nimmt AWS dies bei der Ver­wen­dung von Ama­zon MSK Ser­ver­less. Dies kann Ama­zon MSK Ser­ver­less zur per­fek­ten Lösung machen, wenn man mit der Inte­gra­tion und Nut­zung von Kafka beginnt.

Ama­zon MSK Ser­ver­less ver­fügt zudem noch über wei­tere out-of-the-box Fea­tures. Bei­spiels­weise wird per default der ent­ste­hende Traf­fic über das AWS Back­bone gelei­tet und pas­siert nicht das öffent­li­che Inter­net. Wei­ter­hin sind die Daten auto­ma­tisch sowohl at-rest als auch in tran­sit ver­schlüs­selt und die Access Con­trol kann über das bekannte IAM Sys­tem von AWS gesteu­ert werden.

Ama­zon MSK Ser­ver­less ist in Europa in Frank­furt, Irland und Stock­holm ver­füg­bar. Die Nut­zung des Ser­vices kos­tet pro Clus­ter-Stunde circa 0,75 USD und 0,1 USD pro GB allo­kier­tem Spei­cher pro Monat. Ein­ge­hen­der und aus­ge­hende Daten kos­ten jeweils 0,1 USD pro GB bezie­hungs­wiese 0,05 USD pro GB.

Für wei­tere regel­mä­ßige Updates zum Thema AWS Cloud, fol­gen Sie unse­rer Prä­senz auf Xing und Insta­gram oder direkt unse­rem Blog.