Infrastruktūra kaip kodas: kelias į DevOps (Infrastructure-as-Code: Path to DevOps)
Mokymų tikslas
Šiuose trijų dienų praktiniuose mokymuose susipažinsite su DevOps principais ir įrankiais, padedančiais automatizuoti infrastruktūros parengimą ir programinės įrangos pristatymo procesus. Nagrinėsite, kaip šiuos įrankius taikyti sprendžiant dažniausius iššūkius, su kuriais organizacijos susiduria diegdamos DevOps praktiką.
Teorija derinama su praktiniais Ansible, Docker, AWS, Terraform, Kubernetes, Serverless ir kitų įrankių naudojimo pavyzdžiais. Praktinės užduotys ir realūs pavyzdžiai padeda įgyti patirties taikant automatizavimo metodus organizacijoje.
Kam skirti mokymai
- Programuotojams.
- Programinės įrangos architektams.
- Techninių projektų vadovams.
- Sistemų administratoriams.
- DevOps inžinieriams.
- Debesijos inžinieriams.
- Infrastruktūros inžinieriams.
Baigę mokymus gebėsite
- Paaiškinti DevOps principus ir jų reikšmę šiuolaikiniam programinės įrangos kūrimui bei IT sistemų eksploatavimui.
- Apibūdinti DevOps praktikoje naudojamus įrankius ir technologijas, įskaitant Ansible, Docker, AWS, Terraform, Kubernetes, Serverless ir kitus, remdamiesi mokymuose įgytomis praktinėmis žiniomis.
- Paaiškinti, kaip mokymuose nagrinėjamais įrankiais visiškai automatizuoti infrastruktūros išteklių parengimą ir programinės įrangos pristatymo procesų grandines (angl. delivery pipelines).
- Taikyti automatizavimo metodus organizacijoje, remdamiesi praktinių užduočių ir realių pavyzdžių metu įgyta patirtimi.
- Paaiškinti nuolatinio integravimo (angl. continuous integration, CI) ir nuolatinio pristatymo (angl. continuous delivery, CD) svarbą siekiant DevOps tikslų ir automatizavimo įrankių vaidmenį šiuose procesuose.
- Apibūdinti gerąją automatizavimo sprendimų įgyvendinimo praktiką ir būdus įveikti dažniausius DevOps iniciatyvų iššūkius.
- Remtis mokymuose pateiktomis gairėmis integruojant automatizavimo įrankius į esamas darbo eigas ir procesus, kad jų diegimas ir integracija organizacijoje vyktų sklandžiai.
- Remtis įgytomis žiniomis ir įgūdžiais vykdant užduotis, susijusias su DevOps praktika, automatizavimo inžinerija ir infrastruktūros automatizavimu.
- Mokymuose nagrinėjami įrankiai, metodai ir geroji praktika, reikalingi aukštam automatizavimo lygiui pasiekti, procesams supaprastinti, veiklos efektyvumui didinti ir programinės įrangos pristatymui spartinti.
Reikalavimai dalyviams
- Suprasti programinės įrangos kūrimo gyvavimo ciklo (angl. software development lifecycle, SDLC) pagrindus ir jo etapus.
- Būti susipažinus su Linux komandų eilutės sąsaja (angl. command-line interface, CLI) ir pagrindinėmis sistemų administravimo užduotimis.
- Turėti pagrindinių žinių apie versijų valdymo sistemas, pavyzdžiui, Git, ir pagrindinius jų naudojimo būdus programiniam kodui valdyti.
- Suprasti pagrindines kompiuterių tinklų sąvokas: IP adresavimą, DNS ir maršrutizavimą.
- Turėti pagrindinių debesijos žinių ir būti susipažinus bent su viena pagrindinių debesijos platformų, pavyzdžiui, AWS, Azure ar Google Cloud Platform.
- Būti susipažinus su konteinerizacijos (angl. containerization) sąvokomis ir tokiomis technologijomis kaip Docker.
- Pagrindinės infrastruktūros kaip kodo (angl. infrastructure as code, IaC) principų ir tokių įrankių kaip Terraform žinios būtų naudingos, tačiau nėra privalomos.
Mokymų programa
1 diena
- Įvadas į DevOps, infrastruktūrą kaip kodą, nekeičiamąją infrastruktūrą (angl. immutable infrastructure), idempotentiškumo principą (angl. idempotence principle), pristatymo procesų grandines ir GitOps.
- Virtualiųjų ir debesijos išteklių valdymas taikant IaC, įrankių apžvalga ir pirmosios infrastruktūros konfigūravimo procesų grandinės kūrimas naudojant Terraform.
- Kelių debesijos platformų ir kelių duomenų centrų išteklių valdymas naudojant Terraform ir Terraform modulius.
- Integracija su įprastais serverių parengimo įrankiais, tokiais kaip Ansible.
- Dinaminiai valdomų sistemų sąrašai (angl. dynamic inventories), tinklo valdymas, sudėtingų infrastruktūros pristatymo procesų grandinių kūrimas ir komandinio darbo organizavimas.
2 diena
- Bazinių mašinų atvaizdų valdymas naudojant Packer
- Įvadas į konteinerius ir jų valdymą
- Konteinerių atvaizdų kūrimas ir publikavimas, konteinerių paleidimas naudojant Docker
- Sudėtingų naudojimo scenarijų įgyvendinimas naudojant Docker Compose
- Konteineriuose vykdomų darbo krūvių (angl. container workloads) paleidimas naudojant Kubernetes
- Helm diagramų ir Kubernetes operatorių naudojimas
- Paslaugų tinklo funkcijų naudojimas pasitelkiant Linkerd.
3 diena
- Įvadas į stebėseną: žurnalai, metrikos ir vykdymo pėdsakai (angl. traces)
- Prometheus metrikų rinkimo užduočių ir metrikų eksportavimo komponentų konfigūravimas, Grafana duomenų šaltinių ir rodiklių suvestinių (angl. dashboards) kūrimas
- DevSecOps integracija
- FaaS sprendimų naudojimas: OpenFaaS, Chalice, Serverless
- Slack pokalbių roboto kūrimas veiksmingam ChatOps darbui
- Įvadas į chaoso inžineriją.
Mokymų medžiaga
Dalyviai galės naudotis mokymų skaidrėmis ir programiniu kodu. Nuotolinių mokymų vaizdo įrašai bus prieinami vieną mėnesį po mokymų.
Sertifikavimo egzaminas
Sertifikavimo egzaminas nenumatytas.
Lektorius
Andrejs Adamovičs
Planuojami mokymai ir tvarkaraštis
Mokymai vyks nuotoliniu būdu.
Mokymai įgyvendinami LOGIN Academy partnerio Baltijas Datoru Akadēmija