Professional Documents
Culture Documents
Seminarski rad
iz predmeta
Softversko inženjerstvo
Tema: DevOps
Profesor: Studenti:
Dr Marija Blagojević Danka Radmilac 253/2017
Asistent: Lazar Radaković 70/2017
Mr Mladen Janjić
1
Sadržaj
Uvod.........................................................................................................3
Definicija DevOps-a.................................................................................4
Poreklo DevOps-a.....................................................................................5
Problemi koji su doveli do razvoja DevOps-a..........................................6
Objasnjeni DevOps,Agil i SRE................................................................7
Kako DevOps funkcioniše........................................................................8
Kolaboracija..........................................................................................8
Automatizacija......................................................................................9
Kontinuirana integracija.......................................................................9
Kontinuirano testiranje.......................................................................10
Kontinuirana dostava..........................................................................11
Kontinuirano nadgledanja...................................................................12
Ciljevi DevOps-a....................................................................................13
Brzina..................................................................................................13
Pouzdanost..........................................................................................13
Brza dostava........................................................................................14
Prilagodljivost.....................................................................................14
Sigurnost.............................................................................................15
Saradnja..............................................................................................15
Ko je usvojio DevOps?...........................................................................16
Izvori:......................................................................................................17
2
Uvod
3
Definicija DevOps-a
Patrik Debios je realizovao pojam “DevOps” 2009. godine organizujući prve devops
dane. I on kasnije postaje jedan od njeovih vodećih vizionara. Pojam nastaje
kombinovanjem reči “development” (razvoj) i “operations” (operacija) što pruža osnovu
za njegovo početno razumevanje. DevOps nije proces,tehnologija ili standard. Vec novi
pojam koji nastaje sudarom dva uzajamno povezana koncepta. Prvi od njih se naziva
“agilna operacija”, nastao je primenom Agilnih I Leon pristupa u operatvinom radu.
Pojačanu saradnju izmedju razvojnog i operativnog tima omogućio je drugi trend tokom
svih faza razvoja softvera. DevOps nam naglašava važnost njegovh operacija u servisno
orjentisanom svetu. Objašnjava veći broj različitih tema za ljude jer pokriva više osnova.
Značenje DevOps-a se proširilo na termine i postupke, kulturu i način pristupa koji
koristimo za sužavanje zivotnog ciklusa softverskog razvoja,korišćenjem brze povratne
veze za učestalo isporučivanje funkcija, ažuriranja i promena. DevOps ne razlikuje
različite pod discipline administratora sistema. Izraz “DevOps pokret” koristimo kada
pricamo o njegovom usvajanju i budućim trendovima,a izraz “DevOps okruženje” da bi
definisali IT organizaciju koja koristi DevOps. “Ops” pokriva pojmove za inženjere
sistema,operativno osoblje, DBAs,administatore,inženjere mreže ,eksperte za bezbednost
i mnoge druge poddiscipline i poslove. DevOps ima jaku naklonost prema Agile i Lean
pristupu. U početku se kteralo prema dev strani i “stvaraocima”, dok se kasnije nisu
bazirali na “Ops” i ljude koji se bave stvaranjem nakon njegovog kreiranja.
Shvatanje stete koja je naneta dok su se ova dva termina gledala kao odvojeni pojmovi
dovodi do pojave DevOps-a. Može se tumačiti kao porast Agillog razvoja softvera koji
predstavlja kupca kao glavnog pokretača za upravljanje programerima i proizvodima.
DevOps proširuje Agilni pristup izvan granica koda. Tretita kod kao infrastrukturu i
poboljšava povezanost programera sa operacijama. Ima puno različitih objašnjenja za
različite vrste ljudi gde pokriva više osnova.
4
Poreklo DevOps-a
DevOps nije nastao u celini uprkos tome kako se govori u nekim pričama. Nastao je
davno i kontinualno razvijao tokom godina. Razvijen je od starne IT stručnjaka koji koji
su zaduzeni za različite kategorije.
Agilni razvoj
5
Problemi koji su doveli do razvoja DevOps-a
Korisnici zahtevaju promene i konstantan razvoj novih funkcija, bolje pružanje i nove usluge,
novo strujanje prihoda i sve to što je brže moguće. Ali u skladu sa tim i sistem koji je siguran i
neće imati neočekivane probleme pri korišćenju. Programeri i administratori sistema ne uočavaju
uvek sve, ali se svi slažu sa tim da ih korisnici rastržu sa više strana. Zbog ovakvog načina
pristupanja razvoju softvera kompanije su podeljene na dve strane. Da li da se baziraju na brzoj i
učestaloj isporuci gde može doći do neuravnoteženog proizvoda ili sporije isporuke gde ce
proizvodno okruženje biti stabilno. Ova dva načina na kraju neće zadovoljiti ni jednu ni drugu
stranu. Pružaoci usluga na kraju neće biti u stanju da svojim klijentima omoguće najbolje rešenje
i oba nisu prihvatljiva od strane rukovodioca preduzeća.
6
Objasnjeni DevOps,Agil i SRE
7
Kako DevOps funkcioniše
Kao I sve kulture, DevOps raspolaže mnoštvom varijacija
funkcionalnosti.
Ali gotovo svi se mogu složiti da su sledeće sposobnosti zajedničke
gotovo svim DevOps kulturama:
Kolaboracija
Automatizacija
Kontinuirana integracija
Kontinuirana isporuka
Kontinuirano testiranje
Kontinuirano nadgledanje
Brzo saniranje
Kolaboracija
Jedan od kritičnih apskata uspeha DevOps-a u bilo kom okruženju a
samim tim I uzajamni rad razvojnog tima i IT operacije jesu kolaboracija
i složnost u timu.
DevOps se proteže daleko izvan IT organizacije, jer se potreba za
saradnjom proširuje na sve koji imaju udela u isporuci softvera.
8
Automatizacija
Automatizacija je jedan od glavnih faktora uspesnosti DevOps-a.
DevOps se oslanja na lanac alatki za automatizaciju velikih delova
procesa i primene softera.
Kontinuirana integracija
Pošto je DevOps kultura nastala iz agilne kulture, obično nailazimo na
kontinuiranu integraciju koja je osnovni princip Agilnog pristupa.
9
Kontinuirano testiranje
Kontinuirano testiranje, kao tiha i pritajena sposobnost DevOps-a, pored
kontinuirane integracije i isporuke, pronalazi svoje mesto kao kritičan
deo njega.
Kontinuirano testiranje nije samo QA funkcija; u stvari, ono započinje u
razvojnom okruđenju.
Prolaze dani kada programeri mogu jednostavno baciti kod preko zida
na analizu i završiti sa njim.
U DevOps okruženju, kvalitet je svačiji posao. Programeri uključuju
kvalitet u kod i pružaju podatke vezane za testiranje.
QA inženjeri konfigurišu testne slučajeve automatizacije i okruženje za
testiranje.
10
Oni mogu učestvovati u funkcionalnim testovima, opterećenju, stresu i
propuštanju i ponuditi analizu na osnovu svog iskustva sa sličnim
aplikacijama koje se pokreću u proizvodnji.
Kontinuirana dostava
Tim Amazona definiše kontinuiranu isporuku kao DevOps praksu
razvoja softvera u kojoj se promene koda automatski ugrađuju, testiraju i
pripremaju za puštanje u proizvodnju. Proširuje se kontinuiranom
integracijom raspoređujući sve promene kodova u okruženje za
testiranje ili proizvodno okruženje nakon faze izrade.
11
kompanije. Organizacije sa visokim performansama koje koriste
DevOps postižu vižestruko raspoređivanje u toku dana u poređenju sa
srednjim performansama koji izbacuju proizvod jednom nedeljno ili
mesečno.
Kontinuirano nadgledanja
DevOps okruženje omogućava pronalaženje i uklanjanje kvarova u
stvarnom vremenu.
To se ostvaruje uz pomoć kontinuiranog nadgledanja.
Uz kontinuirano nadgledanje, timovi mere performanse i dostupnost
softvera radi poboljšanja stabilnosti. Kontinuirano nadgledanje pomaže
da se brzo pronadju osnovni uzroci problema kako bi se proaktivno
sprečili kvarovi i minimizirali problemi sa korisnicima.
Neki stručnjaci za praćenje čak govore da definicija usluge mora
uključivati i nadzor.
Kao i testiranje, praćenje počinje u razvoju.
Isti alati koji prate proizvodno okruženje se mogu koristiti u razvoju
kako bi se uočili problemi sa performansama pre nego što se to desi u
proizvodnji.
Za DevOps su potrebne dve vrste nadgledanja: nadzor servera i
nadgledanje performansi same aplikacije.
Efikasnog praćenja tj nadgledanja bez odgovarajućih alatki ne postoji,
time se diskusije i istom svode na same rasprave o alatima.
12
Ciljevi DevOps-a
Pošto se DevOps u velikoj meri može smatrati metodologijom razvoja
sofrvera, ne postoji krajnja definicija koja ga može opisati.
Umesto toga, Devops je apstraktan koncept koji je fokusiran na nekoliko
ključnih principa.
Brzina
Pouzdanost
Kontinuirana integracija i kontinuirana dostava poboljšavaju ukupnu
stabilnost vašeg softvera. Ovo vam garantuje da su krajnja iskustva što
se tiče produkta što je moguće optimalnija i da je vaša aplikacija robusna
u svakoj fazi njenog životnog ciklusa.
Integrisanje paketa za automatsko testiranja je veoma moćan alat koji
pomaže razvojnom timu da odmah identifikuje probleme, te su oni
odmah obavešteni o svim nepredvidljivim problemima.
13
Brza dostava
Jedna od važnih osobina DevOps-a je ta da želi povećati tempo novih
izdanja što omogućava vašem timu da vršite izmene na vašem softveru
što je češće moguće.
Prednosti ovog cilja su slične prednostima koje donosi povećanje same
brzine rada, a to je da objavljivanjem čestih i brzih izdanja vaše
aplikacije osigurava da vreme obrade bilo koje greške bude svedeno na
minimum.
Taj brzi tempo izbacivanja različitih verzija aplikacija takođe
omogućava razvojnom timu da smanji troškove razvoja i samog
testiranja.
Prilagodljivost
14
Sigurnost
Saradnja
15
Ko je usvojio DevOps?
DevOps, nebitno da li je u ranim fazama ili da li je već primenjen u
preduzećima starim preko 100 godina, uvek poseduje značajne IT
procese.
Stari primeri DevOps-a, kao što su Facebook, Amazon i Netflix, su često
citirani primeri vođa.
Danas se svaka vrsta posla vodi kao neka branža DevOps-a.
Glavna mediska kompanija Sony Pictures,finansiske usluge Barclays
Bank i proizvodjača gradjevinskih proizvoda
USG neke su od primera drugih uspesnih prica DevOps-a u
vestima.Iznenadjujuće, možda preduzeca uzimaju odgovornost da 81%
usvaja DevOps negde u svojoj organizaciji. Mala i srednja preduzeća
(SMBs) iskorišćavaju prednosti DevOps-a,a da 70% kaže da ih koristi.
Mora se naglasiti da postoji puno dokaza koji pokazuju da velicina
kompanije sama po sebi nije pokazatelj uspeha DevOps-a. Čak i neke
vladine organizacije prihvataju DevOpsAmericki ured za patente i
Trgovinski ured premestio se na DevOps i sada ima prosecno oko 1.000
automatizovanih gradjenja nedeljno. Ali čak i kada porast claud i
container tehnologija doprinese usvajanju DevOps-a širom sveta ,autor i
stručnjak Gene Kim navodi da DevOps ima još dosta prostora za razvoj.
16
Izvori:
the agile admin
https://theagileadmin.com/what-is-devops/
New Relic.
https://newrelic.com/devops/what-is-devops
17