În luna decembrie 2020 s-a desfășurat Amazon Web Services (AWS) re:Invent 2020, cel mai mare eveniment la nivel mondial dedicat tehnologiilor cloud. Ce am aflat acolo?
Temele mari abordate, pe durata celor trei săptămâni cât a durat evenimentul, au fost: Inteligența Artificială, Tehnologii Cloud Hibride, Observabilitatea și Energie Regenerabilă. (Știați că Amazon are capacitatea de a genera energie - din surse regenerabile - suficientă pentru 1.7 milioane de locuitori timp de un an?) Din cele peste 140 de anunțuri, am selectat 10 pe care le considerăm importate pentru tema ediției și care, sperăm noi, vin în întâmpinarea cititorilor Today Software Magazine.
Vă mai amintiți prezentările lui Steve Jobs și lansările iPhone? Cam așa a debutat și re:Invent 2020 cu prezentarea lui Andy Jassy (AWS CEO) și cu un anunț legat de Apple și AWS EC2. Ca utilizatori AWS EC2 puteți rula sistemul de operare macOS direct în instanțe AWS EC2. Instanțele EC2 Mac au la bază AWS Nitro System și Apple Mac mini și suportă sistemele de operare macOS Mojave (10.14) și macOS Catalina (10.15). Suportul pentru macOS Big Sur (11.00) va fi adăugat în curând.
Funcțiile AWS Lambda se pot împacheta și distribui acum în containere Docker. Prin urmare, puteți gestiona funcții Lambda folosind produse standard de gestionare a containerelor Docker în AWS cloud sau în mediul vostru de dezvoltare local. Pentru această ultimă configurație, AWS pune la dispoziție un utilitar open-source numit AWS Lambda Runtime Interface Emulator, care oferă un mecanism similar cu motorul nativ de execuție AWS Lambda.
Noua opțiune de a împacheta funcții AWS Lambda în containere
Înainte de re:Invent 2020, atunci când ați fi rulat o funcție AWS Lambda care dura 10 ms, factura voastră de plată arăta 100 ms. Aceasta, pentru că granularitatea minimă pentru durata de execuție era de 100 ms, iar durata de execuție se rotunjea în sus cu o perioadă de 100 ms. Acum, factura va arăta 10 ms pentru durata de execuție a funcției Lambda. Reprezintă aceasta o reducere de 90% a costului total pentru o funcție AWS Lambda? Nu neapărat. Dacă luăm în considerare doar costul de execuție (duration charges) a unei funcții Lambda, atunci sigur - da. Dar costul total al unei funcții AWS Lambda conține și numărul de invocări (request charges) ale funcției, aspect care trebuie luat în considerare în calculul costului final.
Dacă trebuie să dezvoltați și să gestionați sute de containere și microservicii, știți că este o provocare serioasă în a ține pasul cu alinierea la un set comun de best practices, cu utilizarea unor microservicii comune sau cu utilizarea consistentă a sistemelor de CI/CD. AWS a lansat, în avanpremieră, serviciul AWS Proton, pentru a oferi o interfață simplificată pentru crearea și gestionarea containerelor din Amazon EKS, CloudFormation sau Lambda. De asemenea, folosind AWS Proton puteți dezvolta și refolosi șabloane și best practices pentru microserviciile voastre.
Redefinirea hybrid cloud a fost o temă importantă atinsă în keynote-ul lui Andy Jassy (AWS CEO). Dacă până în urmă cu câțiva ani era o linie destul de clară între private și public cloud, observăm acum, în discursul AWS, că private clouds sunt privite ca extensii pentru public cloud și, prin urmare, viitorul este reprezentat de tehnologii hybrid clouds. Pentru a susține această viziune, AWS a lansat mai multe componente și funcționalități, precum EKS Anywhere, menite să ruleze la fel de bine atât în private cloud, cât și în public cloud.
Amazon EKS Anywhere reprezintă o opțiune adăugată în serviciul Amazon EKS care vă permite să creați și să gestionați clustere Kubernetes în centrele voastre de date, pe mașinile virtuale sau pe servere fizice. În felul acesta, puteți folosi serviciul AWS EKS pentru gestionarea unitară a clusterelor Kubernetes, atât din public cloud, cât și din private clouds. Cum se realizează acest mecanism? Folosind noua distribuție open-source EKS (EKS-D)
Amazon EKS-D este o distribuție Kubernetes, bazată pe versiunea de Kubernetes folosită de serviciul Amazon EKS pentru gestionarea securizată a clusterelor Kubernetes în cloud. Codul sursă EKS-D este open-source, fiind disponibil pe GitHub și, în plus, echipa AWS promite să fie menținut în paralel cu serviciul Amazon EKS. Folosind EKS-D, puteți testa microserviciile gratuit, într-un mediu local, înainte de a încărca și rula aplicația în AWS EKS.
Sunteți fanii utilitarelor pentru linia de comandă? Acest anunț este pentru voi!
În general, fiecare serviciu AWS poate fi accesat din interfața utilizator, din API sau din linia de comandă (CLI). Interacțiunea din linia de comandă era posibilă folosind utilitarul AWS CLI. Acest utilitar trebuie descărcat, instalat, configurat local, iar pentru rulare trebuie să folosiți linia de comandă a sistemului de operare. Folosind noul serviciu AWS CloudShell, aceste acțiuni nu mai sunt necesare pentru că puteți interacționa cu serviciile AWS direct din browser. Nu mai este nevoie să descărcați și să configurați local nicio componentă. În plus, AWS CloudShell este un serviciu oferit gratuit.
Amazon DevOps Guru este un nou serviciu AWS lansat în avanpremieră care folosește Machine Learning (ML) pentru a îmbunătăți performanța și disponibilitatea aplicațiilor care rulează în cloud. DevOps Guru utilizează modele de învățare automată care sunt folosite intern în Amazon de mulți ani. Folosind acest modele de învățare automată, DevOps Guru poate detecta anomalii în funcționarea aplicațiilor precum un număr crescut de erori și de constrângeri în utilizarea anumitor resurse. Totodată, poate să trimită automat notificări și sugestii de remediere a problemelor.
Serviciul Amazon CodeGuru a fost lansat la re:Invent 2019 cu suport pentru limbajul de programare Java. Începând cu re:Invent 2020 CodeGuru suportă, în avanpremieră, și limbajul Python. La ce vă ajută și cum funcționează acest serviciu? Serviciul are două componente:
CodeGuru Reviewer. Acesta acționează ca un code-reviewer și poate detecta și recomanda soluții pentru probleme din codul sursă. În experimentele noastre, am reușit să descoperim probleme de cod precum utilizarea bunelor practici pentru securitatea codului sau gestionarea erorilor și a excepțiilor.
CodeGuru Profiler. Acesta detectează probleme de performanță a codului sursă precum zona din cod care are cel mai lung timp de execuție.
IoT EduKit reprezintă un mod facil de învățare pentru dezvoltarea aplicațiilor IoT folosind servicii AWS. IoT EduKit poate fi utilizat atât de studenți, cât și de programatori experimentați, pentru a dezvolta aplicații complete care combină atât resurse hardware, cât și software. Folosind AWS IoT EduKit, puteți să vă concepeți și să realizați, de exemplu, propriul sistem de casă inteligentă comandată prin sistemul Amazon Alexa, care învață automat folosind serviciul Amazon SageMaker.
Acestea sunt doar câteva din noutățile anunțate la AWS re:Invent 2020. Vă invităm să analizăm, să experimentăm și să discutăm în detaliu atât serviciile AWS, cât și tehnologiile cloud în general, ca parte a întâlnirilor Transylvania Cloud Meetups. Aceasta, pentru că tehnologiile cloud schimbă modul în care gândim și dezvoltăm software.
de Ovidiu Mățan
de Mircea Ifrim
de Ovidiu Mățan
de Alina Mihuț