Serverless Architecture

Serverless architecture este urmatorul pas natural dupa microservices, ideea de baza este ca numai ai nevoie de masini virtuale, costul fiind redus, daca ai o masina virtuala trebuie sa platesti cat timp ruleaza in cazul serverless architecture platesti doar cat timp ruleaza codul tau.

Probabil cel mai cunoscut serviciu de acest tip este Lambda Function din Amazon AWS: http://docs.aws.amazon.com/lambda/latest/dg/welcome.html

O prezentare a conceptului:

In Decembrie 2016 a fost introdus suport in Amazon AWS Lambda Function pentru C#(.NET Core), alaturi de limbajele exsitente Python, Java. Din cateva benchmark-uri de performanta am inteles ca Java a obtinut cele mai pune rezultate pe Amazon AWS Lambda Function.

3 Likes

Suporta si node.js. M-am jucat putin, e interesant de folosit impreuna cu Amazon API Gateway, insa nu folosesc conceptul la niciun proiect. :slight_smile:

E frumos ca idee. Sa luam de exemplu Firebase, care ofera de toate, auth, storage, database. Insa dupa cateva mici teste, iti dai seama ca este mult mai ieftin sa te ocupi de propria infrastructura. Bine, acum conteaza si deadline-ul, bugetul clientului etc.

Ieftin dacă nu socotești timpul tau si al programatorilor din echipa. De cele mai multe ori, costurile cele mari pentru o firmă de software sunt cu angajații, nu cu resursele. Mai ales că la o scara mai mare, ai reduceri semnificative de la orice provider.

1 Like

Ceea ce mă întreb eu e cât de mult rezistă 1 milion de request-uri și 3.2 milioane de secunde procesare (900 ore) lunar. Practic ai găzduire gratuită de la amazon cu 25GB nosql, 100gb storage și 1 milion de request-uri.

Acest plan e gratuit permanent, ceea ce sugerează că amazon vrea să treacă toată infrastructura sa pe lambda. Ceva gen DevForum sau un magazin mai mic ar putea rula lejer pe o asemenea infrastructură cu costuri 0 destul de mult și când devine profitabil deja e no-brainer să rămâi cu amazon. Toată treaba e să îți convertești baza de date și codul să ruleze pe amazon lambda.

Pentru node există ceva interesant :

Partea foarte proastă e documentația Amazon Lambda, înțeleg că există cursuri și workshop-uri amazon dar nu e ceva la care te bagi pe youtube și urmărești tutoriale cu echipa sau singur.

În fine ar fi super ciudat ca și server web cu API Endpoint.
Eu aș folosi Lambda pentru resize de imagini cu OpenCV sau https://aws.amazon.com/rekognition/pricing/ pentru imagini tip buletin sau thumbnail-uri. Practic dacă OpenCV nu detectează fața fac callback la rekognition și așa am un resizer inteligent perfect aproape gratuit.

Chiar îmi fac un mashup de genul pentru portofoliu. Recent trebuia să generăm 2000 de pass-uri pentru un eveniment în Cluj și ne-am chinuit cu o aplicație în processing, lambda cu un frontend react ar fi genial pentru așa ceva.

https://azure.microsoft.com/en-us/services/functions/ e și mai interesant ca lambda, poți procesa 400,000 GB de date gratuit.

Au 5 Tb de stocare efemeră și API-uri mai bune ca Amazon.

1 Like