​Am putea spune că vorbim de cloud încă de la începutul internetului. În ultimul deceniu și-a dovedit capacitatea, iar în următorul deceniu va fi susținut din plin de 5G, adică acces la internet de mare viteză fără să depinzi de un internet fix.

Viitorul e în cloudFoto: freepik.com

Dacă vrei să ironizezi industria cloud poți spune doar atât: „nu e lumea fără PC, ci e lumea în care folosești computerul altcuiva”. Și, în esență, nu-i o frază greșită, dar subestimează prea mult calitățile acestei abordări. Prin cloud poți înțelege orice aplicație care duce „greul” procesării pe un server la care tu ai acces printr-o conexiune mai bună sau mai slabă la internet.

Miza despre care vorbesc cei mai mulți e cloud gaming, cu servicii ca Nvidia GeForce Now, Google Stadia sau xCloud de la Microsoft deja funcționale. Acestea sunt dezvoltări firești ale deja puternicei industrii a gamingului digital care se întinde deja pe câteva decenii bune. Doar că jocurile au devenit consumatoare tot mai mari de resurse. Ca gamer entuziast, dacă ai vrea să ții pasul, costurile sunt și ele mai mari. E suficient să te uiți pe prețurile plăcilor video. Astfel, tehnologia cloud vine cu o soluție la această problemă.

O estimare din august 2020 arăta că, până în 2025, industria cloud computing va depăși valoarea de 832 miliarde dolari (față de peste 371 miliarde dolari în 2020). Și miza e aceasta: cloud computing, cu mutarea sarcinii mai mari către server, iar userul să aibă doar ce-i este lui necesar și util.

Mai sus am menționat industria de gaming, dar, de fapt, numărul domeniilor a căror infrastructură va fi determinată de cloud computing e imens. Recent, Microsoft și Bosch au anunțat că vor colabora pentru dezvoltarea de software dedicat industriei auto, astfel încât, prin cloud computing, să discutăm într-o bună zi de mașini autonome. În primă fază, miza oricărui producător din auto și oricărui dezvoltator de hardware și software din zona asta e să verifice mai repede și mai eficient starea autoturismului, iar șoferul să aibă acces mai rapid la actualizări, funcționalități noi și servicii suplimentare.

Momentul e perfect pentru cloud computing acum, deoarece e și în plin avânt tehnologia 5G. Cu lățime de bandă mai mare și latență mai mică, internetul cu adevărat wireless poate extinde funcționalitățile care până acum depindeau de internetul fix sau routere wireless performante. O estimare pentru 5G arată că, până în 2026, va ajunge la aproape 668 miliarde dolari. În egală măsură vorbim de Wi-Fi 6, 6E și viitoarele sale dezvoltări. Practic, internetul a devenit mai bun, așa că și aplicațiile pot deveni așa cum erau preconizate în urmă cu 10 ani sau cum sunt folosite, deocamdată, în scenarii limitate.

Soluțiile furnizorilor mari de cloud și ce e dincolo de programarea propriu-zisă

Chiar dacă din partea unor companii mari, globale, ca Nvidia, Microsoft sau Amazon, vorbim de tot felul de proiecte inovatoare bazate pe cloud computing și internet de mare viteză, nu toate companiile vor ajunge să joace în aceeași ligă. Totuși, astfel de proiecte, și confirmarea capabilităților, va genera cerere din partea altor jucători din industrie. Vorbim, într-adevăr, de transformare digitală, iar aceasta va avea impact atât în mediul privat, cât și public.

Sorin Cosmescu, CEO, EXE Software, companie specializată în dezvoltarea programelor Enterprise Software, mi-a spus, pe scurt, că atunci când vine vorba de migrarea în cloud trebuie luate în considerare următoarele zone: replicarea datelor, migrarea conturilor de login, refacerea conexiunilor la terțe aplicații și migrarea aplicațiilor în sine. Se lucrează mai întâi într-un mediu pilot, cu un număr redus de utilizatori, pentru a valida funcționarea corectă a aplicațiilor. Ulterior, se trece la un mediu real, în care se poate crește etapizat numărul utilizatorilor, pentru a testa răspunsul aplicațiilor la stres.

Sursa foto: Pexels.com

În cazul limbajelor de programare, Sorin a pornit de la cele necesare pentru cei mai importanți trei furnizori de servicii cloud, adică Amazon Web Services, Microsoft Azure și Google Cloud Platform. Și avem: Java, .NET, JavaScript, Python și PHP. „Mai importante decât limbajul în sine sunt însă framework-urile și tehnologiile care permit o dezvoltare eficientă, standardizată, portabilă și sustenabilă. În acest sens, câteva exemple ar fi platforma ASP.NET Core, bazele de date key value sau cele de tip document, framework-urile ORM, conceptul REST, comunicarea real-time, microserviciile, conceptele de caching și load balancing”, a adăugat acesta.

În ceea ce privește furnizorul serviciilor de cloud computing, Sorin a detaliat că au trecut de la soluții on-premise la soluții gestionate integral în platforma Microsoft Azure. „Ne bazăm acum pe o multitudine de servicii, cum ar fi găzduire de aplicații web pentru frontend și web API pentru backend, baze de date SQL pentru stocarea datelor, microservicii și joburi planificate pentru importul de date, notificări push pentru clienții mobili, Active Directory pentru autentificarea utilizatorilor, Application Insights pentru monitorizarea modului de utilizare și performanței aplicațiilor, dar și Computer Vision pentru procesarea imaginilor culese pe teren.”

Tot legat de alegerea unui furnizor pentru infrastructura cloud, Alexandru Mălureanu, cofondator și CMO, Ascendia, companie locală specializată în dezvoltare de software educațional, a tras o linie importantă în ceea ce privește punctul de maturizare în care a ajuns tehnologia. „Cu siguranță sunt de ales soluțiile oferite de jucătorii mari, pentru că ei îți garantează siguranța în acele pachete”, a spus acesta. „Nu merită consumul mental pentru servicii cloud proprii, asta dacă business-ul tău nu este de servicii cloud. Este important ca un business să se focalizeze pe ce știe el să facă mai bine și să externalizeze către furnizori serviciile pe care nu știe să le facă ca un profesionist”.

În urmă cu un an și jumătate, compania a lansat LIVRESQ, un produs care permite dezvoltarea și publicarea de materiale educaționale în format digital interactiv. Utilizatorul final nu are nevoie de cunoștințe de programare ca să-l folosească, dar ce se întâmplă în spate e fix infrastructură susținută de cloud.

Alexandru mi-a explicat că au folosit mașini Azure Cloud pentru hostingul platformei și Azure Cloud Storage pentru a stoca și permite managementul fișierelor media aferente platformei. „Datorită serviciilor cloud, nu avem probleme de hardware care să se defecteze, ceea ce era posibil să se întâmple în trecut. Mai mult decât atât, partea de software are un grad ridicat de întreținere”, a adăugat acesta.

Cât despre software, Alexandru susține că „un programator care vrea să învețe sau să aprofundeze zona aceasta este foarte important să acorde atenție pentru Node.js. Apoi, urmează clasicele Javascript, Python, Java și PHP”.

Miză mai importantă ca niciodată pentru software

Alexandru estimează că în 15 ani majoritatea companiilor vor avea, în principal, operațiunile în cloud, ceea ce ar duce și la moduri de lucru mai productive. Și pe lângă cloud computing un alt domeniu care va deveni un pilon pentru această transformare este și edge computing, astfel încât userul final (că-i corporate sau de altă natură) să aibă resursele și puterea de calcul mai aproape de locația în care e. „Hardware-ul nu va însemna o problemă mare, însă va conta foarte mult software-ul. Accentul va fi pe integrările pe care le pot face aceste aplicații între ele, iar apoi cu mediul înconjurător”, a mai spus acesta.

De edge computing este interesat și Cristian Dinu, CTO și cofondator Learn Forward. Cel mai recent proiect în care s-a implicat a fost Hypersay Events, o platformă pentru evenimente online. „Urmăresc cu interes tranziția înspre funcții «ușoare» care rulează la «marginea norului», via Web Assembly, cu latență de sub o singură cifră în milisecunde. Sunt sigur că vor deveni în curând foarte populare. Totodată, cred că trendul de a dezvolta software în browser și a instala direct, cu o apăsare de buton, va crește și va deveni dominant”, a adăugat acesta.

Sursa foto: Pexels.com

Dacă în prezent vorbim de-o piață care pare dominată de jucători mari furnizori de servicii cloud, de la Cristian am vrut să aflu când ar fi important că platformele folosite să fie open source. „Depinde de platformă. Dacă platforma (sau biblioteca sau limbajul de programare) este ingredient principal în software-ul pe care în dezvoltăm, atunci este esențial să fie open source. Alfel e posibil să fim mult prea dependenți de un furnizor anume”, a spus acesta. „Din fericire din ce în ce mai multe platforme, biblioteci, tehnologii în general se nasc open source, pentru că modelul de făcut bani nu mai este acela de a vinde software, ci de a furniza servicii (și soluții). În câțiva ani, estimez că majoritatea software-ului va fi într-un fel sau altul liber și vom plăti abonamente pentru conținut și putere de procesare”.

Pentru tot acest software care va fi altfel monetizat, și în proporție tot mai mare bazat pe cloud, am vrut să aflu de la Cristian ce limbaj de programare ar recomanda. „Un limbaj de programare se învață repede, mai ales dacă ai ceva de făcut cu el. E ca jocul de șah: înveți regulile în câteva minute, dar te perfecționezi într-o viață. Când aleg un limbaj de programare mă uit la problema pe care o am de rezolvat și care este ecosistemul care mă poate ajuta. Ecosistemul din jurul unui limbaj de programare este mai important decât limbajul de programare în sine. De exemplu, Python are un ecosistem genial pentru calcule științifice. Dacă am de procesat numere, nu ezit să folosesc Python, dar nu pentru că îmi place limbajul, ci pentru că există bibliotecile NumPy și Pandas care mă ajută”.

El a recomandat, totuși, câțiva furnizori de nișă pentru aplicații bazate pe cloud care excelează la unele dintre servicii. Aici intră Netlify, pentru găzduire facilă și super performantă de site-uri, Vonage pentru servicii de comunicație, Mongo și FaunaDB pentru baze de date, Vercel pentru lansare rapidă de aplicații serverless, Digital Ocean pentru servere foarte ieftine și Heroku pentru găzduire rapidă de containere și aplicații de cam orice fel.

Într-o anumită măsură, fenomenul cloud a ajuns să se confunde cu internetul. Internetul a oferit cadrul în care conceptul acesta de colaborare de la distanță, pe resurse similare, pe proiecte salvate în timp real, să se poată dezvolta, iar în prezent e în viețile tuturor într-o formă sau alta. Gamingul e cel mai vizibil domeniu și cel care are priză la cei mai mulți oameni. Netflix și toate platformele de streaming sunt alt exponent, asemenea și backup-ul de fișiere, magazinele cu aplicații, actualizările de sistem și chiar securitatea cibernetică.

Am spus la început că ai putea caracteriza cloudul drept „folosirea computerului altcuiva”. Doar că nu este un simplu „computer”, ci este unul adaptat nevoilor. În acest context merită amintit că, în 2020, proiectul Folding@home a adus la un loc 1 milion de voluntari și-a atins capacitatea de 2,5 exaFLOPS (2.500 petaFLOPS) pentru putere de calcul. Tot în 2020, supercomputerul Fugaku a uimit lumea și-a stabilit un record: 415,5 petaFLOPS.

Se poate spune că, în prezent, suntem într-o furtună perfectă: resursele pentru servicii cloud sunt mai accesibile, dispozitivele pe care le folosesc pot accesa internetul la viteze mai mari ca niciodată, iar infrastructura de internet în sine a devenit mai bună. Totodată, e o nevoie mai mare ca niciodată de soluții pentru nevoi și probleme pe care oamenii le au deja. În ultimul an am văzut cu toții, la prima mână, necesitatea serviciilor de colaborare, comunicare și work remote. Apoi, a venit pătura de divertisment. Următorii pași vor fi către integrarea și consolidarea tehnologiilor de mixed reality, real time check (de orice natură) și algoritmilor de machine learning și deep learning pentru a face un pic mai multă lumină între atâtea informații.