Хмарна архітектура побудови ІС
Метою вивчення дисципліни є формування та засвоєння комплексу теоретичних знань і практичних навичок з проєктування, розгортання та супроводу інформаційних систем у хмарному середовищі на основі сучасних архітектурних підходів.
Завдання вивчення дисципліни:
Набуття здатності обґрунтовано обирати моделі хмарних сервісів (IaaS/PaaS/SaaS), проєктувати хмарну інфраструктуру, застосовувати віртуалізацію та контейнеризацію, забезпечувати безпеку, надійність і масштабованість ІС, а також використовувати практики IaC та CI/CD при розгортанні.
Практичне значення та використання отриманих знань:
Знання з дисципліни дозволяють проєктувати та будувати хмарні рішення для корпоративних і високонавантажених систем: виконувати розгортання віртуальних машин і контейнерних середовищ, конфігурувати мережеві компоненти, сховища та керування доступом, організовувати моніторинг і журналювання, виконувати резервне копіювання та відновлення, оцінювати вартість (FinOps) і забезпечувати відповідність вимогам безпеки (Zero Trust, IAM, шифрування).
4 Тематика та види навчальних занять
Для денної форми здобуття освіти
Лекційні заняття
Лекція 1. «Вступ до хмарних обчислень. Поняття хмари. Моделі сервісів IaaS/PaaS/SaaS та моделі розгортання (Public/Private/Hybrid/Multi-cloud)».
Лекція 2. «Віртуалізація серверних систем: гіпервізори, віртуальні машини, образи, мережі та сховища. Практики виділення ресурсів».
Лекція 3. «Контейнеризація: Docker, образи, реєстри, мережі контейнерів. Порівняння VM та контейнерів».
Лекція 4. «Kubernetes як платформа оркестрації: Pod, Deployment, Service, Ingress. Основи роботи та типові сценарії».
Лекція 5. «Хмарні мережі: VPC/VNet, підмережі, маршрутизація, балансувальники, DNS, CDN. Базові патерни мережевої сегментації».
Лекція 6. «Сховища та дані в хмарі: об’єктні/блокові/файлові сховища, керовані БД. Резервне копіювання та відновлення».
Лекція 7. «Infrastructure as Code: принципи, Terraform, Helm, GitOps. Керування конфігураціями та секретами».
Лекція 8. «CI/CD для хмарних ІС: побудова артефактів, контейнерних образів, автоматизація деплою, середовища dev/stage/prod».
Лекція 9. «Спостережуваність (Observability): метрики, логи, трейси. SLI/SLO, алерти, кореляційні ідентифікатори».
Лекція 10. «Безпека хмарної архітектури: IAM, принцип найменших привілеїв, Zero Trust, шифрування, керування ключами».
Лекція 11. «Надійність і відмовостійкість: реплікація, авто масштабування, DR стратегії, RPO/RTO, chaos підхід».
Лекція 12. «Cloud native архітектура ІС: мікросервіси, API Gateway, service mesh, конфігурація, патерни resiliency».
Лекція 13. «Подієво орієнтовані та serverless підходи: черги, стріми, функції. Архітектура інтеграцій у хмарі».
Лекція 14. «FinOps: моделі витрат, оптимізація ресурсів, теги та бюджети. Проєктування з урахуванням вартості».
Лекція 15. «Архітектурне управління: стандарти, політики, відповідність, аудит. Підготовка архітектурного рішення та його захист».
Лабораторні заняття:
Лабораторна робота 1. «Розгортання віртуальної інфраструктури: створення та налаштування VM, мережі та сховища».
Мета заняття: набути практичних навичок роботи з віртуалізацією серверних систем, зокрема створення віртуальних машин, базового налаштування мережі та дискових ресурсів.
Лабораторна робота 2. «Контейнеризація застосунку: Dockerfile, побудова образу, запуск та публікація в реєстр».
Мета заняття: навчитися упаковувати застосунок у контейнер, керувати образами та реєстрами, розуміти різницю між середовищами виконання.
Лабораторна робота 3. «Основи Kubernetes: деплоймент, сервіс, ingress. Розгортання застосунку в кластері».
Мета заняття: навчитися розгортати застосунки в Kubernetes, працювати з базовими ресурсами та забезпечувати доступ до сервісу.
Лабораторна робота 4. «Конфігурація та секрети: ConfigMap/Secret, змінні середовища, томи та persistent storage».
Мета заняття: здобути навички керування конфігураціями й секретами та підключення постійного сховища для хмарних застосунків.
Лабораторна робота 5. «CI/CD для контейнерних застосунків: збірка образів, тести, деплой у Kubernetes».
Мета заняття: навчитися будувати пайплайн автоматизації розгортання (CI/CD) з використанням контейнерних образів та інфраструктурних маніфестів.
Лабораторна робота 6. «Моніторинг і логування: Prometheus/Grafana, збір логів, алерти. Аналіз інцидентів».
Мета заняття: сформувати практичні навички налаштування спостережуваності та базового incident response на основі метрик і логів.
Лабораторна робота 7. «Проєктування хмарної архітектури ІС: вибір сервісів, мережі, безпека, масштабування та оцінка вартості».
Мета заняття: навчитися проєктувати цілісну хмарну архітектуру інформаційної системи, аргументувати вибір компонентів і підготувати технічне обґрунтування.
Для заочної форми здобуття освіти
Лекційні заняття
Лекція 1. «Хмарні моделі та архітектурні принципи побудови ІС у хмарі».
Лекція 2. «Віртуалізація, контейнеризація та Kubernetes: базовий стек хмарної інфраструктури».
Лабораторні заняття
Лабораторне заняття 1. «Комплексне розгортання застосунку: VM → Docker → Kubernetes з базовим моніторингом».
Мета заняття: набути практичних навичок побудови мінімально життєздатної хмарної інфраструктури та розгортання застосунку з урахуванням безпеки і спостережуваності.
Консультації здійснюються впродовж семестру згідно встановленого розкладу.
6 Індивідуальна робота
Для денної форми здобуття освіти
Індивідуальна робота не планується.
Для заочної форми здобуття освіти
Контрольна робота
Завдання для виконання контрольної роботи здобувач отримує на установчій лекції. Контрольна робота містить теоретичний блок – 3 питання (відповідь у розгорнутій формі) та практичний блок – 1 завдання (проєктування хмарної архітектури ІС з обґрунтуванням вибору сервісів, безпеки та масштабування).
Лабораторне заняття 1. «Комплексне розгортання застосунку: VM → Docker → Kubernetes з базовим моніторингом».
Термін надання виконаної контрольної роботи на перевірку – не пізніше, ніж за місяць до початку сесії.
Форми контрольних заходів та оцінювання результатів навчання
Для денної форми здобуття освіти
Поточний контроль полягає у виконанні:
1) завдань на лабораторних роботах, які виконуються на 7 заняттях. За кожну лабораторну роботу здобувач може отримати максимальну оцінку у 5 балів (разом 35 балів);
2) 2-х модульних контрольних робіт. Модульні контрольні роботи складаються з теоретичної і практичної частин (архітектурні задачі з хмарних обчислень) та проводяться у формі письмового тестування на двох лекційних заняттях. Бездоганне виконання модульної контрольної роботи 1 становить 30 балів, а модульної контрольної роботи 2 становить 35 балів.
Підсумковий контроль – залік. Залік накопичувальний. Максимальна оцінка, яку може отримати студент – 100 балів. Мінімальна оцінка, яка дозволяє отримати «зараховано» – 60 балів.
Для заочної форми здобуття освіти
Виконання та захист лабораторної роботи оцінюється у 30 балів.
Захист контрольної роботи. Бездоганне виконання контрольної роботи оцінюється у 40 балів. При її захисті студент може отримати до 30 балів.
Підсумковий контроль – залік. Залік накопичувальний. Максимальна оцінка, яку може отримати студент – 100 балів. Мінімальна оцінка, яка дозволяє отримати «зараховано» – 60 балів.
К1. Здатність розробляти, описувати, аналізувати та оптимізувати хмарні архітектурні рішення при побудові інформаційних та комп’ютерних систем різного призначення.
Знання архітектур комп’ютерних мереж, розподілених систем та мікросервісів
РН1. Володіти навичками роботи із віртуалізацією серверних систем (побудова, налаштування та експлуатація віртуальної інфраструктури, мережевих і дискових ресурсів).
РН2. Розуміти принципи виконання основних видів хмарних обчислень та застосовувати їх при проєктуванні хмарної архітектури ІС (моделі сервісів і розгортання, масштабування, відмовостійкість, безпека, вартість).