Cilj i ishod predmeta
Osposobiti studente da brzo, pouzdano i skalabilno izgrade, testiraju i održavaju softverske proizvode. Studenti raumeju savremeni životni ciklus softvera kroz razvoj, kontinualnu interaciju i kontinualnu isporuku na softversko tržište. Koriste neophodne alate u projektovanju infastrukture za plasiranje, konfigurisanje, testiranje i praćenje softvera.
Teorijska nastava
Softver kao proizvod – integracija razvoja i operative (DevOps). DevOps procesi: dizajn, razvoj, izgradnja, testiranje, objavljivanje, instaliranje, operativa, praćenje i analiza. Automatizacija, merenja i koristi od pojedinih procesa. Organizacione promene, automatsko testiranje, ukidanje zasebnih QA timova i kreiranje novih timova za rukovanje incidentima. Životni ciklus incidenta i obezbeđivanje kvaliteta. Primeri obezbeđivanja kvaliteta: Amazon (You build it, you run it), Google (Site Reliability Engineering), Facebook (Production Engineering). Merenja i metrike. DORA (DevOps Research and Assessment). Osnovni DevOps alati. Infrastruktura kao kôd. Praćenje nedostataka i upravljanje konfiguracijom. Kontejneri i orkestracija. Kontinualna integracija i isporuka. Automatsko verzionisanje. Strategije instaliranja. Postprodukciono testiranje – skeniranje i Chaos Engineering. Service Level Agreement (SLA), Service Level Objective (SLO) i Service Level Indicator (SLI). Zaštita podataka i resursa. Softverski lanac snabdevanja (biblioteke, kod, hardver i alati koji transformišu kod u proizvod ili uslugu). Uvod u DevSecOps. Slabosti i ranjivosti. Autentifikacija, autorizacija i upravljanje kredencijalima. Oporavak od katastrofe. Plan oporavka. Definicija RPO (Recovery Point Objective) i RTO (Recovery Time Objective). Model oporavka u 4 sloja. Primarni i sekundardi data centar. Replikacija, učestalost rezervnih kopija i brzina oporavka. Automatski i ručni prelazak na drugi datacentar (Failover).
Praktična nastava
Virtuelizacija. Virtuelne mašine. Kontejneri i kontejnerski repozitorijumi. Serverless arhitekture. Rad sa DevOps alatima. Docker. Orkestracija kontejnera. Docker Swarm. Kubernetes. Podovi i servisne mreže (Istio, Open Service Mesh). Bezbednost kontejnera. Automatizacija izgradnje (Apache Ant, Maven). Praćenje i analitika sistema (Datadog). Infrastruktura kao kôd (SaltStack, Ansible). Praćenje nedostataka (Atlassian Jira, Apache Allura). Kontinualna integracija i kontinualna isporuka (Jenkins). Primer kompletne DevOps automatizacije upotrebom GitLab CI/CD pipeline.
1 thought on “DevOps”
Comments are closed.