Résumé de section

    • Курс присвячений теоретичним засадам і практичним методам впровадження підходу DevOps у процесі розроблення, тестування та експлуатації програмного забезпечення. Розглядаються принципи безперервної інтеграції та доставки (CI/CD), автоматизація інфраструктури, контейнеризація, оркестрація сервісів, а також інструменти моніторингу, логування та управління конфігураціями. Особливу увагу приділено взаємодії між командами розробників і системних адміністраторів, побудові надійних і масштабованих систем, забезпеченню безперервності бізнес-процесів і якості програмних продуктів.
      Компетентності, отримані під час вивчення дисципліни «DevOps», необхідні для виконання завдань виробничої практики, участі у командних проєктах, а також для розроблення та супроводу сучасних веб- і хмарних застосунків.

      Метою вивчення навчальної дисципліни «DevOps» є формування у студентів знань і навичок щодо побудови автоматизованих процесів розробки, тестування, розгортання та моніторингу програмних систем, опанування сучасних інструментів DevOps, а також розуміння принципів культурної взаємодії в DevOps-командах.

      У результаті вивчення навчальної дисципліни «DevOps» студент зможе:

      • пояснювати основні принципи DevOps-культури та життєвого циклу розробки програмного забезпечення;
      • застосовувати сучасні інструменти автоматизації (Ansible, Terraform, Jenkins, GitLab CI/CD);
      • створювати, розгортати та керувати контейнеризованими застосунками (Docker, Kubernetes);
      • налаштовувати процеси моніторингу, логування та безпеки систем;
      • проектувати та реалізовувати повноцінні CI/CD-конвеєри для веб-застосунків;
      • використовувати хмарні платформи (AWS, GCP, Azure) для побудови масштабованої інфраструктури.

      Викладач

      Добровольський Геннадій Анатолійович, кандидат технічних наук, доцент кафедри комп'ютерних наук, І корпус, ауд.39. Telegram: https://t.me/gen_dobr

      CV: https://docs.google.com/document/d/1d7ptNpOYMEwrzfNrO1Zdp64SqCLx0msqUQya1W0vQT0/edit?usp=sharing    

    • 1. Вступ до DevOps: принципи, культура та життєвий цикл
      2. Інструменти DevOps та порівняння з традиційними підходами
      3. Ознайомлення з Git і GitHub.
      4. Контроль версій, GitOps та командна взаємодія    
      5. Використання GitLab CI для автоматизації тестування    
      6. Linux для DevOps: системне адміністрування, CLI, скрипти    
      7. Автоматизація розгортання застосунку за допомогою Bash    
      8. Infrastructure as Code: принципи та інструменти    
      9. Налаштування серверів за допомогою Ansible    
      10. Контейнеризація застосунків з Docker    
      11. Робота з Docker Compose: запуск кількох сервісів    
      12. Оркестрація контейнерів у Kubernetes    
      13. CI/CD – безперервна інтеграція та доставка.    
      14. Моніторинг і спостережуваність у DevOps
      15. Моніторинг контейнерів з Prometheus та Grafana    
      16. Логування та аналіз подій    
      17. Використання ELK Stack для збору логів    
      18. Хмарні сервіси та Terraform    
      19. Автоматичне розгортання інфраструктури у AWS через Terraform    
      20. DevSecOps: безпека в процесі розробки    
      21. Сканування вразливостей контейнерів за допомогою Trivy    
      22. Огляд політик безпеки Kubernetes і Vault    
      23. Інцидент-менеджмент та SRE    
      24. Налаштування алертів і тестування SLA    
      25. Аналіз прикладів постмортемів та SLO    

    • Процедура виконання та оцінювання практичних завдань
      ЛР1. Ознайомлення з Git і GitHub. Створення першого репозиторію
      ЛР2. Робота з Git: commit, branch, merge, resolving conflicts
      ЛР3. Основи Linux: навігація, файлові операції, права доступу
      ЛР4. Bash-скрипти для автоматизації розгортання застосунку
      ЛР5. Командна робота з Git: pull request та code review
      ЛР6. Налаштування GitLab CI/CD для простого проєкту
      ЛР7. Infrastructure as Code: створення Ansible playbook
      ЛР8. Автоматизоване налаштування серверів за допомогою Ansible
      ЛР9. Створення Docker-образу веб-застосунку
      ЛР10. Docker Compose: запуск багатоконтейнерного середовища
      ЛР11. Розгортання застосунку у Kubernetes-кластері
      ЛР12. Масштабування та оновлення застосунків у Kubernetes
      ЛР13. Побудова повного CI/CD-конвеєра для веб-застосунку
      ЛР14. Моніторинг контейнерного середовища з Prometheus і Grafana
      ЛР15. Terraform + DevSecOps: розгортання інфраструктури та сканування безпеки