Termin “DevOps” je definiran kot nabor praks, postopkov in orodij, namenjenih skrajšanju časa med kreiranjem spremembe kode in njeno namestitvijo v produkciji ob zagotavljanju visoke kakovosti. DevSecOps je nadgradnja DevOps, ki omogoča integracijo varnostnih praks v pristop DevOps. V nasprotju s tradicionalnim centraliziranim modelom specializirane varnostne skupine/vloge vsaka razvojna skupina sama vključi in namesti pravilne varnostne komponente in kontrole.
- Uvod v Razvoj in operacije - DevOps, osnovni pojmi, definicije, zgodovina, prakse, orodja/ogrodja/platforme.
DevSecOps: Varnost kot ključna komponenta v DevOps praksah.
- Načrtovanje zanesljivosti lokacije (SRE), primerjava, razlike.
- Platformno inženirstvo - primerjava, razlike.
- Arhitektura brez privzetega zaupanja (t.i. Zero Trust Architecture).
- Tehnični gradniki oblačnih namestitev (temeljne oblačne aplikacije), nespremenljiva infrastuktura, porazdeljevanje bremen, skalabilnost, visoka razpoložljivost.
- Cevovodi s zvezno integracijo / dostavo in namestitvijo (CI/CD).
- GitOps (operacije z uporabo Gita).
- Fundacija CNCF in priporočila pri ocenjevanju odprtokodnih projektov.
- Varnost v virtualizaciji, hipernadzornikih, kontejnerjih; razlike, primeri uporabe.
- Izbor prave/optimalne tehnologije za različne problemske domene.
- Primerjalni pregled kontejnerskih strojev (ang. container runtimes), razlike med kontejnerji v HPC okoljih (superračunalniki) in oblakih (ang. cloud-native systems).
- Nadgradnje aplikacij brez izpada storitve: postopno nadgrajevanje, modro-zeleno nadgrajevanje, nadgrajevanje s kanarčkom, AB testiranje, senčne namestitve.
- Dobre prakse pri grajenju, nameščanju in upravljanju kontejneriziranih aplikacij.
Module contents:
The term "DevOps" is defined as a set of practices, procedures and tools designed to reduce the time between creating a code change and installing it in production while ensuring high quality. DevSecOps is an upgrade of DevOps that enables the integration of security practices early into the DevOps approach. Contrary to the traditional centralized model of the specialized security team/role, each development team is authorized to include the correct security controls in its software delivery.
- Introduction to Development and Operations - DevOps, basic notions,
definitions, history, practices, tools/frameworks/platforms.
- DevSecOps: Security as a key component in DevOps practices.
- SRE (Site Reliability Engineering): comparison, differences.
- Platform Engineering: comparison, differences..
- Technical building blocks of cloud native apps, immutable infrastructure, load balancing, scalability, high availability.
- CI/CD (Continuous Integration/Continuous Delivery/Continuous Deployment) pipelines.
- GitOps.
- CNCF (Cloud Native Computing Foundation), CNCF landscape, evaluating open source projects.
- Security in virtualization, hypervisors, containers; differences, typical use cases.
- Choosing the right/optimal technology for different problem domains.
- Container runtimes, differences between container runtimes in HPC environments/supercomputers and clouds (cloud-native systems).
- Zero-downtime deployment patterns: rolling upgrade, blue-green deployment, canary deployment, AB testing, shadow deployment.
- Best practices in building, securing, operating, running, and orchestrating containers.
- nosilec: David Modic
- nosilec: Matjaž Pančur