Cum să dezvolți relații de bună vecinătate între programatori și sysadmini cu ajutorul tehnologiei

(A.K.A. Performanța aplicațiilor și falia dintre programatori și sysadmini II)

Un subiect interesant pe care l-am mai dezbătut pe blog, doar că între timp au aparut  piese  noi pe tabla de șah și se simte prezența lor din ce în ce mai intensă și prin părțile noastre.
Dacă arbitrul dintre programatori și sysadmini era un așa-numit DevOps, omul răspunzator să înteleagă și yin-un și yang-ul ecosistemului, de ceva vreme de vorbește din ce în ce mai mult de containere și orchestrare.  Adică de Docker și Kubernetes (sau K8s – cum il alintă cei care evită pronunții complicate).

Nevând pretenția de a fi nici măcar puțin expert în acest fenomen (cunoștințele mele de programare se limitează la activitățile din liceu), încerc o explicație pentru persoanele care orbitează în jurul subiectului, însa nu vor să coboare neapărat pe planetă. Din categoria – cum se vede Marele Zid Chinezesc ăsta de pe Stația Spațială Internațională.
Cred că Docker e versiunea făcută pentru developeri a tehnologiei oferită de VMware în datacentere.

 

Evident, odată cu explozia adoptării VMware pentru mediile enterprise unde erau virtualizate (și încapsulate!) aplicații și sisteme mari și critice (ERP-uri, servere de email, CRM-uri, webservere, baze de date, etc.), au aparut și instrumentele tot mai sofisticate pentru asigurarea protecției, securității, monitorizării, a integrării cu ecosistemul de parteneri.

Această complexitate (necesară pentru mediile enteprise) nu era pe placul celor care doreau să codeze individual niște aplicații și să le testeze pe medii diferite, cu librării diferite.

Intră în scenă Docker, soluția care a rezolvat prin simplificarea soluției de containerizare și adăugarea unor mecanisme de scripting și automatizare (miere pentru developeri) necesarul de scalabilitate pentru aplicațiile dezvoltate. Dintr-o dată sistemul de operare nu mai era atât de relevant, cei care scriau cod se preocupau doar de librariile utilizate și nu-și mai băteau capul cu update-uri, drivere și alte constrângeri ale versiunii de Windows/Linux utilizate.

De asemenea, portabilitatea aplicațiilor scrise local în clouduri publice e mult simplificată cu Docker. Deh, fiecare programator visează că aplicația scrisă de el se viralizează în noul TikTok sau Clubhouse…

Pentru că vorbim de cloud și de scalabilitate, nu avem cum să evităm subiectul Kubernetes.

Această tehnologie a găsit modalitatea de a se strecura în lumea sysadmin-ilor, pe toate caile posibile.

Există integrare:

  • între hypervizoarele de virtualizare și K8s,
  • între solutiile de backup, replicare și resursele K8s,
  • firewall-urile de tip Next Generation pot securiza workload-uri K8s,
  • dispozitivele de stocare pot asigura parametrii de calitate individualizați la nivelul containerului K8s,
  • soluțiile de monitorizare și de urmarire a performanțelor aplicațiilor au librarii de integrare cu K8s.

Chiar sute de companii din toate zonele ecosistemului de IT au dezvoltat integrari și conectori pentru aceasta tehnologie!

Evident, trio-ul magic (nu ma refer la Van Basten, Gullit și Rijkaard, ci de AWS, Azure și GCP) au fost printre primii care au pregătit platformele lor pentru containere K8s.

Și sistemele de billing ?

Kubernetes uber alles!

Practic, majoritatea aplicațiilor migrate în cloud pentru a acomoda un numar foarte mare de utilizatori (ziare online, aplicații de streaming, platforme de rezervări și ticketing, etc.), și o scalabilitate cvasi instantanee pentru resursele utilizate și în situații extreme, au ales să dezvolte folosind microserviciile și mecanismele de orchestrare și automatizare oferite de Kubernetes!

Și vorba aia: unde sunt pești mari imediat apar și undițele, pescadoarele și restaurantele.

În urmatorul articol voi aborda diferentele arhitecturale între ERP-urile și CRM-urile tradiționale față de aplicațiile native cloud, bazate pe microservicii; adică ce am înteles eu din postura de ne-specialist.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *