Cloud computing, dáta a DevOps – skriptá
Kapitola 1: Úvod do cloud computingu a Azure
Cloud computing predstavuje model poskytovania IT služieb formou prenájmu výpočtových a úložných zdrojov cez internet. Namiesto vlastnenia fyzickej infraštruktúry si organizácie tieto zdroje prenajímajú od poskytovateľov cloudových služieb.
Výhody cloudových služieb
Cloud výrazne znižuje celkové náklady na vlastníctvo infraštruktúry. Nie je potrebné investovať do hardvéru, serverovní ani personálu. Zároveň prináša:
- jednoduchšiu konfiguráciu,
- automatické zálohovanie a redundanciu,
- rýchle nasadenie aplikácií,
- flexibilitu a škálovanie,
- vyššiu bezpečnosť.
Nevýhody cloudových riešení
Medzi nevýhody patria:
- komplikované sledovanie nákladov,
- závislosť od poskytovateľa,
- menšia kontrola nad dátami,
- potreba odborného personálu.
Modely nasadenia
- Verejný cloud – zdieľané prostredie
- Privátny cloud – dedikovaná infraštruktúra
- Hybridný cloud – kombinácia oboch
Modely služieb
- IaaS – infraštruktúra (VM, siete, disky)
- PaaS – platforma pre vývoj
- SaaS – hotové aplikácie
Dôležitý je aj serverless model, kde sa infraštruktúra spravuje automaticky.
Microsoft Azure
Azure je cloudová platforma Microsoftu s globálnou infraštruktúrou dátových centier.
Základné služby:
- Virtual Machines
- Storage
- Web Apps
- Databases
- Load Balancer
Zodpovednostný model
- poskytovateľ: infraštruktúra
- používateľ: dáta, prístupy, konfigurácia
Kapitola 2: Dáta a úložiská v cloude
Správa dát je kľúčovou súčasťou cloud computingu.
Politika správy dát
Je potrebné riešiť:
- zálohovanie a archiváciu,
- obnovu po havárii,
- životný cyklus dát.
Náklady na úložisko
- fixné: hardvér, serverovňa
- pohyblivé: energia, údržba
Cloud umožňuje:
- platiť len za využitie,
- škálovať hore aj dole,
- eliminovať fixné náklady.
Typy úložísk
Blokové úložisko
- správa ako disk vo VM
- napr. iSCSI, Ceph
Súborové úložisko
- prístup cez NFS, SMB
- vhodné pre zdieľané dáta
Objektové úložisko
- prístup cez API
- používa sa pre aplikácie a veľké dáta
Databázy v cloude
- SQL (PostgreSQL, MySQL, SQL Server)
- NoSQL (Cosmos DB, Redis)
Azure Storage
- Managed Disks
- Blob Storage
- Azure Files
- Tables a Queues
Kapitola 3: DevOps, CI/CD a automatizácia
DevOps je prístup, ktorý spája vývoj a prevádzku softvéru s cieľom automatizácie a zrýchlenia vývoja.
Hlavné princípy DevOps
- automatizácia procesov
- rýchle nasadzovanie
- spolupráca tímov
- nepretržitá spätná väzba
Continuous Integration (CI)
CI znamená pravidelné integrácie kódu do repozitára s automatickým buildom a testovaním.
Ciele:
- skoré odhalenie chýb
- stabilný kód
- pripravenosť na nasadenie
Proces:
- commit do Git
- build
- test
- vytvorenie artefaktu
Continuous Delivery (CD)
CD zabezpečuje, že aplikácia je vždy pripravená na nasadenie.
Ciele:
- rýchle release
- spoľahlivé nasadenie
- minimálne riziko chýb
Delivery vs Deployment
- Delivery – manuálne schválenie
- Deployment – plná automatizácia
DevOps v Azure
Azure DevOps
- správa projektov
- CI/CD pipeline
- testovanie
Azure Pipelines
- automatizácia buildov a deployu
- podpora viacerých jazykov
Azure Functions
- serverless výpočty
- event-driven architektúra
Nástroje DevOps
CI/CD
- Jenkins
- GitLab CI/CD
- Travis CI
- CircleCI
- Tekton
Spolupráca
- GitLab
- Jira
Monitoring
- Prometheus
- Grafana
- Elastic Stack
Význam DevOps
DevOps umožňuje:
- rýchlejšie dodanie softvéru,
- vyššiu kvalitu,
- menšie riziko chýb,
- lepšiu spoluprácu tímov.