Uvod
Cloud-native tehnologija i arhitektura je pristup razvoju aplikacija koji je dizajniran i konstruisan, tako da maksimalno iskoristi sve prednosti cloud tehnologije. Ovaj pristup nije nov, ali u zadnje vreme sve više postaje strategija mnogih digitalnih kompanija. Uglavnom ga definišu tri osnovna elementa: kontejneri, orkestracija kontejnera i mikroservisi. Pored odnosa prema tehologiju i infrastrukturi, važan aspekt zauzimaju i promene kulture, procesa i operacija unutar same organizacije.
Kontejneri
Kontejnerizacija je osnova za cloud-native pristup. Kontejneri omogućavaju da zajedno spakujete sve što je potrebno za pokretanje aplikacije u jedan izvršni paket. Ovo može uključivati stvari kao što su Java VM, neka vrsta server aplikacije i sam softver. Kontejner je veoma prenosiv i nezavisan od okruženja, u kojem ćete ga pokrenuti. Projekat Docker je najpopularniji kontejnerski proizvod i njegovo ime je skoro sinonim za kontejnere u ovom trenutku.
Orkestracija
Orkestracija kontejnera je važna za cloud-native pristup, jer vam omogućava da automatizujete upravljanje i primenu vaših kontejnera putem balansiranja opterećenja u realnom vremen. Ovo bi bilo praktično nemoguće uraditi ručno. Orkestracija kontejnera vam omogućava da nadgledate sistem, balansirate opterećenje između kontejnera, pokrećete i gasite kontejnere kao odgovor na određene događaje. Kubernetes je definitvno danas standard za orkestraciju. Na tržištu za poslovne korisnike najviše je zastupljen.
Mikroservisi
Cloud-native aplikacije su razvijene kao serija mikroservisa, od kojih svaki servis radi jednu stvar i povezan je samo sa onim servisom sa kojim je potrebno da razmeni podatke. Za razliku od velike tradicionalne aplikacije gde su servisi deo monolitne strukture. Ovo ih čini brzim za razvoj i prilagođavanje. Pored tiga,podržava tip horizontalnog skalpiranja potrebnog kada korisnički zahtevi nadmašuju kapacitet određenog mikroservisa. U cloud modelu, ovaj pristup je efikasan i može pomoći u smanjenju mesečnih troškova. Ako se uzme u obzir da je povećanje kapaciteta za jedan mikroservis mnogo jeftinije od plaćanja dodatnog hardverskog prostora za neiskorišćene delove velike aplikacije ii baze podataka.
Benefiti od cloud-native pristupa
Kompanije koje su u procesu digitalne transformaciju traže tehnička rešenja za poboljšanje korisničkog iskustva, operativne agilnosti, korporativne kulture i liderstva i integracije tehnologije u poslovanje.
Kombinacija digitalnih tehnologija može omogućiti promene na strateški i prioritetan način, u skladu sa korporativnim ciljevima. Ključni pokretači digitalne transformacije uključuju ponašanje korisnika, očekivanja pristupa informacijama bilo kada i bilo gde, sve veću upotrebu mobilnih uređaja, konkurenciju na tržištu i tehničke inovacije.
Time to market
Brzina kojom neka kompanija može da osmisli, izgradi i distribuira usluge svojim je postala od vitalnog značaja za rast poslovanja. Vreme za koje možete da izbacite novu uslugu na tržište je postala kritična razlika između inovativnih kompanija i onih koje to nisu. Tradicionalne aplikacije su oduzimale mnogo vremena za razvoj sa kompleksnim i dugotrajnim procesom izbacivanja novih verzija. Danas je jasno da aplikacije moraju biti portabilne, bezbedne, jednostavne za unapređenja i održavanje. U poslednjih nekoliko godina, kao najbrži i najefikasniji odgovor na ovaj izazov jesu kontejneri i orkestracija.
Povećanje produktivnosti
Spori procesi za pristup infrastrukturi utiču na vreme isporuke nove aplikacije. Brzim usvajanjem novih tehnologija, omogućujete Vašim razvojnim timovima da ne čekaju danima ili nedeljama na pristup svojim potrebnim resursima, već se to vreme skraćuje na minute.
Transparentni troškovi
Ne samo da spori procesi usporavaju isporuku aplikacija, već nose i veliki rizik za IT odeljenja, jer programeri mogu da pronađu druge i brže načine da dođu do svog cloud okruženja. Nije retkost da se iz tog razloga često samostalno odluče na zakup servisa kod public cloud provajdera. Ovaj pristup dovodi do većih i skrivenih troškova celokupnog IT-a. Osim nekontrolisanog troška, ti računi su potpuno ispod radara kompanijskih ulaganja i investicija.
Bolja skalabilnost
Automatizovani procesi skaliranja opterećenja donose prednosti u smislu dostupnosti Vaših aplikacija. Nasuprot tome, ručni rutinski procesi dodavanja novih resursa su skloni greškama i teško da se mogu kontrolisati ako nešto krene u pogrešnom smeru. Pored toga, oni uglavnom ne idu u korak sa rastućom potražnjom IT resursa, što dovodi do uskog grla i još dužeg perioda čekanja na isporuku aplikacija.
Atraktivnost poslodavca
U vreme nedostatka kadra i veština, biti atraktivan kao poslodavac igra važnu ulogu kada je u pitanju zapošljavanje IT talenata. Mladi programeri vole da su organizacioni procesi usmereni ka agilnosti, kako bi osećali da napreduju na dnevnom nivou. Ako kompanija nije progresivna u svojoj organizaciji, verovatno nije ni u svojim vizijama a ni u upotrebi tehnologije.