Sa okretanjem cloud-u napuštaju se ustaljene konvencije i kreiraju novi razvojni pravci. U sferi razvoja softvera novi trendovi donose uvodjenje agilnog pristupa, kratkih razvojnih ciklusa, mikroservisa i distribuiranog pristupa razvoju.

Sa usponom digitalnih tehnologija dolazi do promene dinamike tržišta, ponajviše zahvaljujući jednostavnom pristupu informacijama i olakšanom širenju ideja na globalnom nivou. Konstantna fluktuacija verovatno je jedna od najbitnijih karakteristika današnjeg tržišta, pa tako u oblasti modernog poslovanja fleksibilnost, odnosno osetljivost i brza reakcija na promene sve više dobijaju na značaju. Uticaj globalne cirkulacije informacija na stalne i ubrzane promene verovatno je najvidljiviji upravo u IT industriji, čija je povratna sprega sa tržišnim tendencijama više nego očigledna.

Neke nove paradigme

U okvirima IT-ja, razvoj softvera poslednjih decenija beleži verovatno najviše inovacija, kao oblast u kojoj je kreativnost, kao najbitniji faktor, ponajviše podstaknuta razmenom ideja. Sa sve većim okretanjem cloud-u napuštaju se ustaljene konvencije i kreiraju novi razvojni pravci. Baš kao što je pojava virtuelizacije narušila postojeće konvencije dedikovanog hardvera u IT-ju, tako i novi trendovi narušavaju postojeće konvencije u sferi razvoja softvera, kao što je uvođenje agilnog pristupa, kratkih razvojnih ciklusa, mikroservisa, pa i distribuiranog pristupa razvoju.

Pristup razvoju aplikacija kakav se do sada sretao u praksi opisuje se kao monolitan i najčešće se sastoji iz razvoja tri glavne komponente: klijentske, serverske strane aplikacije i baze podataka. Serverska strana sadrži kompletnu logiku aplikacije, prima i obradjuje zahteve komunicirajući sa bazom podataka i vraća rezultate klijentskoj strani. Aplikacija ovakve arhitekture skalira se dodavanjem identičnih serverskih komponenti, čije ravnomerno opterećenje kooridiniše load – balanser. Na ovaj način implementirano je dosta uspešnih aplikacija, koje su dale dobre rezultate. međutim, čak i najmanja promena u logici aplikacije zahteva promenu celokupne serverske strane i njeno ponovno puštanje u produkciju. Dodatno, ukoliko nam nije potrebno skaliranje celokupne strukture, već samo dela koji može obavljati jedan servis, završavamo sa resursima nepotrebno okupiranim glomaznim, većinu vremena nepotrebnim komponentama aplikacije.

Kao alternativa ovom monolitnom pristupu pojavljuje se mikroservisna arhitektura. Ovaj pristup podrazumeva razbijanje arhitekture aplikacije na više sitnijih nezavisnih servisa, koji medjusobno komuniciraju najčešće preko API-ja ili RPC-a. Ovakvim razdvajanjem, mikroservisi omogućavaju nezavisnost od same implementacije tih pojedinač- nih servisa, tj. daju mogućnost da različiti timovi razvijaju servise u različitim programskim jezicima.

Iako se može reći da je pojam mikroservisa samo još jedan od pojmova kojima je oblast razvoja softvera pretrpana, ovaj arhitekturalni pristup u direktnoj je vezi sa tehnologijom kontejnera. Uz pomoć kontejnera omogućeno nam je da mikroservise, kao posebne gradivne jedinice aplikacije, zapakujemo sa potrebnom konfiguracijom i izvršnim okruženjem, pa tako zapakovanu „selimo“, a da to ne utiče na njeno ispravno funkcionisanje.

Može se reći da kontejneri predstavljaju sledeći korak u pristupu virtuelizaciji infrastrukture, pružajući virtuelizovanu sredinu na nivou operativnog sistema, omogućavajući izvršavanje procesa sa zasebnim mrežnim i memorijskim resursima, uz korišćenje zajedničkog kernela operativnog sistema. Kao lider u ovoj oblasti, Docker sa svojom jednostavnošću i širokim spektrom alata predstavlja najbolji izbor za uvodjenje tehnologije kontejnera, pa sve više dobija na popularnosti.

Rast popularnosti kontejner tehnologija moguće je zapaziti posmatrajući politike velikih kompanija. Nakon upliva sa Windows kontejnerima, Microsoft ove godine uvodi podršku za Linux kontejnere korišćenjem HyperV izolacije kontejnera, dok je početkom avgusta sa objavom SQL Server 2017 RC2 došla i po- drška kontejnerima, koja podrazumeva povlačenje i izvršavanje slika SQL servera. Vmware, sa druge strane, sa Photon i vSphere Integrated Containers (VIC) platformama daje dvostruku podršku za ovu sve popularniju tehnologiju. Dok je projekat Photon sa zamenom tradicionalnog ESXi hipervizora značajno laganijim tzv. „mikrovizorom“ verovatno malo radikalnije rešenje, sa VIC platformom omogućava se paralelno korišćenje kontejnera zajedno sa postojećim virtuelnim mašinama unutar vSphere okruženja.

Devs, Ops ili DevOps i vSphere Integrated Containers

Sa povećanjem broja aplikacija „rođenih u oblaku“ ukazala se potreba za promenama u samom pristupu razvoju aplikacija, ali i u strukturama razvojnih timova. Još je mel Conway, sada već davne 1967, u jednom svom radu napisao: „Organizacije čiji je posao projektovanje sistema ’prirodno’ su ograničene na to da kreiraju sistem čija će struktura reflektovati komunikacionu strukturu same organizacije.“

Ova rečenica zadržala se u IT žargonu pod nazivom Konvejev zakon. I zaista, ako bi sagledali strukturu i politike pojedinih kompanija, podelu po razvojnim timovima, uvideli bismo vezu sa dizajnom njihovih proizvoda. Kompanije starijeg kova, sa tradicionalnom podelom timova, najčešće su kompanije koje koriste davno standardizovane alate za razvoj, ne oprobavaju se u novim tehnologijama, a produkti njihovog rada su aplikacije monolitne arhitekture, kod kojih nedovoljna skalabilnost isplivava kao mana u cloud okruženjima. Sa druge strane, kompanije čiji su zaposleni sa dobrodošlicom dočekali nove ideje i direktno ih primenili unutar svojih kompanijskih struktura beleže konstantan progres, okrećući se, izmedju ostalog, ka agilnom razvoju i mikroservisnoj arhitekturi.

Kada spominjemo agilnost, u novoj terminologiji u bliskoj vezi je termin DevOps. Ovaj termin raširio se kao pokret i podrazumeva spajanje timova programera (Devs), koji su se do sada bavili samo aplikativnim delom, sa timom operacionih inženjera, koji podrazumeva sistemske i mrežne inženjere, čija je oblast rada do sada obuhvatala isključivo bavljenje infrastrukturom na kojoj leži aplikacija (Ops). Na ovaj način nastaju krosfunkcionalni timovi čiji članovi intenzivnije saradjuju.

Ovaj trend se uklapa u rešenje koje je razvio Vmware, VIC. Kretanjem ka agilnijem razvoju, VIC platforma predstavlja dobru polaznu tačku, omogućavajući administratorima naviknutim na vSphere okruženje kreiranje i upravljanje kontejnerima na intuitivan način, preko već poznatog vSphere klijentskog interfejsa. Ovo rešenje podrazumeva realizaciju kontejnera kao izolovane virtuelne mašine, čime su korisnici unutar te virtuelne mašine zaštićeni od eventualnog kompromitovanja susednih kontejnera. Osnovna komponenta ovog rešenja, VIC engine, suštinski je Docker engine za vSphere okruženje i omogućava upravljanje vSphere infrastrukturom kroz Docker klijent, pa tako npr. komandom docker network ls dobijamo zapravo pregled vSphere mreže, sa docker volume create kreiramo vSphere disk na datastoru, a sa docker run dobijamo novu virtuelnu mašinu.

VIC uvodi registar Harbor, koji predstavlja unapredjenje funkcionalnosti projekta otvorenog koda Docker Distribution, tako da sa kontrolom pristupa kroz npr. LDAP integraciju i auditingom više odgovara korporativnim okruženjima. Harbor koncept podrazumeva organizaciju repozitorijuma po projektima, a uvodjenjem ove komponente u VIC okruženje, izmedju ostalog, ubrzava se i transfer slika. Pokretanje i upravljanje kontejnerima obavlja se kroz VIC portal, komponentu koja nosi ime Admiral.

VIC donosi izmene u ustaljenu praksu, pa sada developer, kada traži docker, umesto virtuelne mašine (ili fizičkog servera) dobija IP adresu i port za pristup Docker API-ju. U pozadini, vSphere administrator dedikovao je mrežne, procesorske resurse, datastorove na klasteru za svog kolegu. Sada Dev ne mora da brine o izolaciji, bekapu, patchovanju operativnog sistema, a sa strane infrastrukture moguće je nadgledanje i vmotion kontejnera, kao i svake druge virtuelne mašine od strane Ops-a. Na ovaj način omogućeno je postepeno inkorporiranje DevOps principa, zajedno sa mikroservisnom arhitekturom, u meri i tempom koji odgovaraju kompaniji i njenim zaposlenima.

Nevena Krunić

0 %s Comments

Prosledi komentar

Vaša adresa e-pošte neće biti objavljena.

Najnoviji

Novi-NetApp-proizvodi

Novi NetApp proizvodi

Da li su vam već poznati novi NetApp sistemi C-serije, sa QLC Flash tipom ...
Veštačka-inteligencija-u-našim-rukama

Veštačka inteligencija u

Broj oblasti u kojima se eksperimentiše sa različitim dostignućima veštačke ...
Azure-Active-Directory--postaje-Entra-ID

Azure Active Directory

Azure Active Directory je sada Entra ID. I premda većina korisnika ovu promenu ...
Transformacija-tehničkog-duga--pomoću-DevOps-tehnologija

Transformacija tehničkog duga

Najveću opasnost za organizacije ne predstavlja samo postojanje tehničkog duga, ...