{"id":50567,"date":"2021-11-18T12:06:20","date_gmt":"2021-11-18T11:06:20","guid":{"rendered":"https:\/\/fotc.com\/?p=50567"},"modified":"2021-11-19T12:34:47","modified_gmt":"2021-11-19T11:34:47","slug":"cloud-run-implementare-aplicatiilor-cloud-google","status":"publish","type":"post","link":"https:\/\/dev.fotc.com\/ro\/blog\/cloud-run-implementare-aplicatiilor-cloud-google\/","title":{"rendered":"Cloud Run \u2013 Implementare instantanee a aplica\u021biilor \u00een cloudul Google"},"content":{"rendered":"\n

Cloudul preia o parte semnificativ\u0103 din \u00eenc\u0103rcarea echipelor tehnice \u00een cadrul unei companii. Mult mai scalabil dec\u00e2t o infrastructur\u0103 tradi\u021bional\u0103 de IT, arhitecturile cloud sunt create pentru a fluidiza performan\u021ba \u00eentr-o companie, sus\u021bin\u00e2nd dezvoltarea \u0219i cre\u0219terea. Printre cele mai populare astfel de servicii \u2013 \u00een r\u00e2ndul companiilor, dar \u0219i al speciali\u0219tilor freelance \u2013 se num\u0103r\u0103 cele din gama Compute & Serverless, puterea ma\u0219inilor virtuale \u0219i serviciile de tip \u201ccontainer\u201d.<\/p>\n\n\n\n

Ce este Cloud Run? <\/h2>\n\n\n\n

Google Cloud Run<\/a> este o solu\u021bie nou\u0103 pentru crearea \u0219i rularea aplica\u021biilor f\u0103r\u0103 server, bazate pe containere Docker. Platforma vine ca o alternativ\u0103 la platforma open source de orchestrare a containerelor Kubernetes. Practic, Google Cloud Run este o platform\u0103 care preia o imagine de container Docker \u0219i o ruleaz\u0103 ca un serviciu HTTP cu scalare automat\u0103. Un mare plus al Cloud Run \u00een fa\u021ba platformelor originale f\u0103r\u0103 server (serverless) este op\u021biunea de a rula aplica\u021bii arbitrare \u00een cloud care deservesc mai multe puncte finale.<\/p>\n\n\n\n

Cloud Run este, altfel spus, o platform\u0103 cloud bazat\u0103 pe Knative, care v\u0103 permite s\u0103 construi\u021bi \u0219i s\u0103 implementa\u021bi rapid aplica\u021bii containerizate. Este f\u0103r\u0103 server, ceea ce \u00eenseamn\u0103 c\u0103 utilizatorul nu trebuie s\u0103 supravegheze nicio component\u0103 a infrastructurii – \u00eentre\u021binerea fizic\u0103 a ma\u0219inii, actualiz\u0103rile software, echilibrarea sarcinii sau scalarea. Se concentreaz\u0103 doar pe scrierea codului \u00een orice limbaj de programare cunoa\u0219te, folosind \u201dlibr\u0103riile\u201d preferate sau propriile fi\u0219iere binare.<\/p>\n\n\n\n

Ce sunt serviciile serverless?<\/h2>\n\n\n\n

Sunt un model de arhitectur\u0103 \u00een cloud care permite developerilor s\u0103 construiasc\u0103 \u0219i s\u0103 ruleze aplica\u021bii f\u0103r\u0103 server. Mai departe, un provider de cloud preia serviciile de rutin\u0103 precum provizionare, men\u021binere \u0219i scalarea infrastructurii de server. Astfel, developerii se ocup\u0103 doar de construirea efectiv\u0103 a aplica\u021biilor.<\/p>\n\n\n\n

Serverless ofer\u0103 o serie de avantaje companiilor fa\u021b\u0103 de infrastructura tradi\u021bional\u0103 bazat\u0103 pe cloud sau pe servere. Pentru dezvoltatori, serverless se traduce \u00een scalabilitate mai mare, mai mult\u0103 flexbilitate, un timp mai rapid pentru lans\u0103rile de aplica\u021bii \u0219i actualiz\u0103rile acestora, toate aceste beneficii \u00een timp ce costurile sunt \u021binute sub control. Se elimin\u0103 astfel grijile cu privire la func\u021bionarea, furnizarea \u0219i gestionarea serverelor. Totu\u0219i, infrastructura serverless nu este o op\u021biune magic\u0103 pentru to\u021bi dezvoltatorii de aplica\u021bii web.<\/p>\n\n\n\n

Cloud Run din perspectiva programatorilor<\/h2>\n\n\n\n

Programatorii familiariza\u021bi deja cu Docker sau solu\u021bii tradi\u021bionale PaaS se vor acomoda rapid cu Cloud Run. Misiunea unui programator este de a livra rapid aplica\u021bii lucrate \u00een cloud (aplica\u021bii web, API-uri de mobil etc.). \u00cens\u0103 alegerea unei solu\u021bii cloud potrivite vine adesea cu provoc\u0103ri.<\/p>\n\n\n\n

Pe de-o parte, pute\u021bi alege s\u0103 gestiona\u021bi personal serverele. Dar aceast\u0103 rut\u0103 presupune \u0219i provizionarea \u0219i configurarea acestora, pe l\u00e2ng\u0103 preocup\u0103rile legate de scalare pe m\u0103sur\u0103 ce tiparurile de trafic se schimb\u0103. \u00cen plus, odat\u0103 cu supra-provizionarea resurselor, se pot ivi probleme de costuri ridicate. <\/p>\n\n\n\n

Pe de alt\u0103 parte, exist\u0103 solu\u021bii serverless care pot \u0219i ele limita limbajele de programare \u0219i libr\u0103riile pe care le pute\u021bi folosi sau pot pretinde schimb\u0103ri de cod \u0219i pot \u00eengreuna mutarea aplica\u021biilor \u00een sine.<\/p>\n\n\n\n

Cloud Run vine ca o solu\u021bie de mijloc care acoper\u0103 punctele forte ale celor dou\u0103 tipuri de infrastructur\u0103. Pute\u021bi folosi Cloud Run pentru a lansa orice container HTTP. V\u0103 permite astfel s\u0103 scrie\u021bi cod \u00een limbajul preferat, cu framework-ul sau libr\u0103ria binar\u0103 potrivit\u0103 nevoilor voastre. Pute\u021bi mai departe specifica limbajul, dependen\u021bele \u0219i scriptul \u00eentr-un Dockerfile \u0219i, cu o singur\u0103 comand\u0103, s\u0103 le urca\u021bi \u00eentr-un container \u0219i s\u0103 finaliza\u021bi procesul. Aplica\u021bia este gata lansat\u0103 \u0219i ruleaz\u0103 exclusiv din cloud.<\/p>\n\n\n\n

Limbaje de programare disponibile \u00een Cloud Run<\/h3>\n\n\n\n

Optarea pentru un anumit limbaj de programare nu va face nicio diferen\u021b\u0103 \u00een crearea \u0219i rularea aplica\u021biilor companiei cu Cloud Run. Platforma accept\u0103 toate limbajele de programare care pot fi rulate \u00eentr-un container. \u00cen aceste condi\u021bii, recomandarea este s\u0103 opta\u021bi pentru un framework cu care echipa este deja familiarizat.<\/p>\n\n\n\n

Cloud Run din perspectiva managementului<\/h2>\n\n\n\n

Unul dintre punctele forte ale Google Cloud Run este arhitectura focusat\u0103 pe containere, al\u0103turi de dezvoltarea \u0219i lansarea de aplica\u021bii. \u00cempreun\u0103 cu caracteristica serverless, produsul Google devine o alegere c\u00e2\u0219tig\u0103toare pentru orice project manager.<\/p>\n\n\n\n

\u00cen plus, Cloud Run u\u0219ureaz\u0103 munca developerilor care construiesc servere web statless \u0219i container-based, facilit\u00e2ndu-le tranzi\u021bia c\u0103tre o tehnologie serverless flexibil\u0103. F\u0103r\u0103 a fi nevoie s\u0103 dimensiona\u021bi serverele container, Cloud Run v\u0103 va oferi \u0219i o rat\u0103 de recuperare a investi\u021biei mai bun\u0103.<\/p>\n\n\n\n

Func\u021bionalit\u0103\u021bi Cloud Run<\/h2>\n\n\n\n
  • Include orice tehnologie<\/strong>. Deoarece serviciul func\u021bioneaz\u0103 pe baz\u0103 de containere, v\u0103 permite s\u0103 crea\u021bi coduri de aplica\u021bie folosind orice limbaj de programare (inclusiv Go, Python, Java, Ruby sau Node.js), libr\u0103rii sau fi\u0219iere binare.<\/li>
  • Folosirea tuturor posibilit\u0103\u021bilor containerelor<\/strong>. Cloud Run poate desc\u0103rca orice imagini de container \u0219i se integreaz\u0103 u\u0219or cu tehnologii precum Cloud Build, Artifact Registry \u0219i Docker.<\/li>
  • Integrare cu alte servicii cloud<\/strong>. Deoarece Cloud Run este un element al Google Cloud Platform, este relativ u\u0219or s\u0103 crea\u021bi un mediu integrat folosind mai multe servicii GCP.<\/li>
  • Nu se limiteaz\u0103 la un singur serviciu cloud<\/strong>. Serviciul se bazeaz\u0103 pe tehnologia open source Knative \u0219i pe containere, datorit\u0103 c\u0103rora resursele sunt portabile. Astfel, se evit\u0103 dependen\u021ba de un singur furnizor de cloud (cloud lock-in).<\/li>
  • Serviciu integrat<\/strong>. Odat\u0103 configurat, nu necesit\u0103 actualiz\u0103ri repetate pentru a gestiona corect mediul aplica\u021biei.<\/li>
  • Scalare automat\u0103 instantanee<\/strong>. \u00cen situa\u021bii de trafic crescut, serviciul este scalat automat pentru a asigura o disponibilitate ridicat\u0103, iar c\u00e2nd traficul scade, se reduce num\u0103rul de interog\u0103ri de func\u021bionare, asigur\u00e2nd astfel costuri propor\u021bionale consumului.<\/li>
  • Stabilitate datorit\u0103 redundan\u021bei<\/strong>. Resursele care ruleaz\u0103 \u00een Cloud Run \u00een modelul regional sunt transferate constant \u00eentre coresponden\u021bi pentru a asigura c\u0103 datele nu se vor pierde chiar \u0219i \u00een cazul unei e\u0219ecuri a camerei serverului Google Cloud. <\/li>
  • Securitate<\/strong>. Doar imaginile containerului autorizat pot fi implementate cu autorizare binar\u0103. Resursele ruleaz\u0103 \u00een medii izolate, cu identit\u0103\u021bi \u0219i niveluri de acces specifice. Pute\u021bi utiliza propria cheie criptat\u0103 pentru securitate \u0219i pute\u021bi gestiona datele de acces prin serviciul Secret Manager.<\/li>
  • Control si monitorizare.<\/strong> Serviciul este integrat cu instrumentele Cloud Monitoring, Cloud Logging, Cloud Trace \u0219i Error Reporting pentru a asigura rularea aplica\u021biei. Nivelul de utilizare a serviciului poate fi monitorizat \u00een GUI Metrics, \u00eempreun\u0103 cu jurnalele din containere. \u00cen plus, Cloud Run are o func\u021bionalitate \u00eencorporat\u0103 care v\u0103 permite s\u0103 restaura\u021bi rapid versiunea anterioar\u0103 a containerului (rollback).<\/li><\/ul>\n\n\n\n
    \n