Platform as a Service (PaaS) este un serviciu de cloud computing care foloseste tehnologii de virtualizare pentru a oferi dezvoltatorilor, programatorilor si organizatiilor o platforma de app development. Aceasta platforma contine puterea de procesare necesara, memoria, stocarea, interfata de retea, bazele de date si alte servicii necesare unui developer. O solutie de tip PaaS poate fi folosita pentru a dezvolta software care sa fie folosit “in house” de catre organizatie sau software care sa poata fi monetizat.
Programatorii vor sa se concentreze pe cod, si nu pe a construi si intretine infrastructura hardware si software necesara pentru acest obiectiv. Utilizatorii unui serviciu de tip PaaS acceseaza un mediu de dezvoltare pus la dispozitie de un furnizor de cloud, folosind un simplu browser web. Accesul facil la o suita de unelte de dezvoltare inseamna o productivitate mai mare pentru programator, si o rapiditate mai mare in deployment-ul aplicatiilor noi in organizatie.
Tehnologia de tip PaaS ofera o infrastructura virtuala de servere si un nivel intermediar de software care include unelte necesare pentru a dezvolta aplicatii, plus o interfata de utilizator usor de accesat si de folosit.
O organizatie poate face deployment unui mediu de tip PaaS intr-un:
- cloud privat – serviciile de infrastructura sunt provizionate in mod exclusiv pentru un singur client. Infrastructura astfel construita poate fi detinuta, gestionata si operata de catre organizatie, o entitate terta sau o combinatie intre acestea si poate fi localizata on sau off premises
- cloud public – serviciile de infrastructura sunt oferite in cadrul unui model de tip multi-tenant si pot fi folosite de mai multe organizatii. Aceste resurse sunt disponibile pentru orice doreste sa le foloseasca sau se la achizitioneze. Infrastructura construita astfel exista in data center-ul furnizorului de cloud
- cloud hybrid – o companie poate alege sa foloseasca atat cloud-ul privat (din motive de securitate si complianta), cat si cloud-ul public (din motive de cost). Cele doua modele de cloud raman separate, dar sunt interconectate pentru a facilita schimbul de date si posibilitatea de a muta aplicatii dintr-o parte in alta.
Serviciul PaaS
Serviciul PaaS poate fi contractat cu succes de catre companii de tip SMB (small to medium business) si startup-uri. Solutia PaaS este foarte eficienta din punct de vedere cost, permitand accesul la tehnologie de ultima ora fara a se plati sume mari de bani. Multe companii nu si-ar permite niciodata sa isi construiasca infrastructura necesara on premises. PaaS accelereaza ritmul in care software-ul este creat, testat si dat in productie. Neavand nicio infrastructura in mentenanta, compania se poate concentra pe ceea ce stie sa faca mai bine, accelerand si mai mult dezvoltarea de software.
Cateva dintre avantajele serviciului PaaS sunt:
- eficienta din punct de vedere cost fara investitii in hardware sau mentenanta
- agilitate si rapiditate in dezvoltarea aplicatiilor
- scalabilitate usoara: extra resurse pot fi adaugate in perioadele de varf si eliminate atunci cand nu mai sunt necesare
- model de plata de tip pay as you go/pay as you use
- flexibilitate pentru programator: acesta poate accesa mediu Dev de oriunde are o conexiune la Internet
Orice lucru are intotdeauna parti bune si parti mai putin bune 😊, iar PaaS nu face exceptie de la aceasta regula. Cateva provocari intalnite atunci cand se foloseste un mediu PaaS sunt:
- dependenta de vendor: platforma PaaS este direct dependenta de capabilitatile furnizorului
- probleme de compatibilitate cu alte platforme de dezvoltare software
- riscuri de securitate: desi furnizorul platformei este responsabil de securitatea acesteia si a infrastructurii de dedesubt, organizatia este cea care trebuie sa se ocupe de securitatea aplicatiei si a datelor consumate de aceasta
Cel mai popular uz al unei platforme PaaS este pentru a crea si testa aplicatii, fara a avea griji pentru administrarea, mentenanta si securitatea unei infrastructurii.
Limbajele de programare care pot fi folosite intr-un serviciu de tip PaaS sunt variate, acoperind preferintele avute de cei mai multi dezvoltatori. Aplicatiile pot fi scrise in Python, Go, PHP, Node.js, .NET, Ruby sau Java sau create in containere de tip Docker.
Cele mai importante solutii de tip PaaS sunt:
- Amazon AWS Beanstalk
- Microsoft Azure App Services
- Google App Engine
- IBM Cloud Continuous Delivery/Tekton
- Red Hat OpenShift
Serviciul PaaS, ca intreaga tehnologie de cloud computing, avanseaza pe zi ce trece. Furnizorii de cloud incep sa integreze algoritmi de inteligenta artificiala care pot fi folositi de organizatie ca atare sau care pot fi modificati si personalizati pentru a deservi o anumita aplicatie. Organizatiile din toate industriile si de toate dimensiunile pot folosi serviciile PaaS pentru a-si concentra timpul si energia pe obiectul lor de activitate, si nu pe administrarea unei platforme de dezvoltare.
Mihai Dumitrascu, Sr Systems Engineer