Proiectarea modului de funcționare al unei aplicații s-a schimbat destul de mult în ultimele două decenii. De la aplicațiile monolitice, care erau privite ca un întreg, adică o aplicație care face cap-coadă un întreg proces, până la aplicațiile modulare din prezent, care ușurează foarte mult modul de deployment și mentenanță. Acest lucru a fost posibil datorită noilor tehnologii care au apărut de-a lungul timpului, în special Docker, care a introdus noțiunea de “container”.
Ce este un “container”? Mai exact este aplicația noastră “împachetată” cu toate dependințele ei (dll-uri, SDK-uri etc).
Toate acestea au fost posibile datorită tehnologiei numită Docker. Docker a fost o revoluție la momentul lansării, undeva prin 2013, contribuind semnificativ la modularizarea aplicațiilor. Astfel, avem garanția că dacă funcționează pe un PC cu Docker instalat, va funcționa în orice mediu care folosește această tehnologie.
Acum că puteai să “spargi” aplicația în module, apărea o noua problemă. Odată cu creșterea complexității aplicațiilor, creștea si numărul de containere pe care trebuia să le întreții. Bineînțeles că a apărut o soluție și pentru această problemă, și anume Kubernetes (prescurtat K8s), oferit de Google în parteneriat cu Linux Foundation. Acesta îți permitea să vezi într-un singur panou de control ce fac toate containerele tale, încărcarea lor, dar puteai să le și reconfigurezi. Singurul dezavantaj era că trebuia să configurezi inițial un cluster de Kubernetes, pe care trebuia să îl și întreții ulterior.
Cum bineînțeles tendința este de simplificare, providerii de cloud public au început să ofere Kubernetes ca serviciu, fără ca ție să îți mai pese de clusterul amintit anterior, acela venea deja configurat, actualizat, nici măcar nu mai aveai acces la el. Tu puteai să te concetrezi pe ce conta, și anume aplicația în sine.
Așa a luat naștere Azure Kubernetes Service (AKS), o soluție Microsoft pentru management-ul de containere. Detaliile sunt, bineînțeles mai complicate, dar este mult mai comod să faci deploy la un cluster de Kubernetes în două click-uri, și apoi să îți vezi de treabă optimizând aplicația.
O astfel de abordare a decis să urmărească și Bento, folosind un serviciu AKS pentru a servi diverse aplicații către clienți. Procesul în sine este destul de laborios, presupunând transformarea aplicațiilor existente în containere și apoi deploymentul lor pe AKS, dar a fost un pas necesar, deoarece simplifică modul de lucru și automatizează multe procese.
Dezvoltatorilor de aplicații le va fi mult mai ușor să își gestioneze aplicațiile într-un mediu tip kubernetes, datorită numeroaselor automatizări posibile ale proceselor specifice containerelor.
Datorită acestor avantaje costurile cu implementarea și serviciile postimplementare (suport), scad în mod considerabil acest lucru fiind datorat atât timpului mic alocat realizării unei astfel de implementări dar și a numarul mic de resurse umane alocate acestui proces.
În prezent, am început să trecem ușor, ușor aplicațiile unor clienți într-un astfel de mediu Microsoft Azure AKS, infrastructura lor IT fiind gestionată în totalitate de Bento, ne mai având bătăi de cap cu administrarea infrastructurii IT proprii și reușind astfel să își concentreze resursele interne pe alte activități care contribuie la dezvoltarea companiei.
Echipa noastră de specialiști IT deține numeroase competențe pe Microsoft Azure dar și AWS, iar în prezent ne-am extins competențele în zona Microsoft Azure Kubernetes Services.
Pentru mai multe informații vă invităm să accesați www.bento.ro sau să trimiteti un email office@bento.ro.