Архітектура ІТ-рішень

Анотація: Створення складних програмних системах не обмежується тільки написанням коду чи розробкою алгоритмів. Зазвичай, це тривалий циклічний процес, в

якому залучені багато людей. Для того, щоб результат створення складної системи був максимально передбачуваним і якісним, існують багато підходів та практик. На жаль, з більшістю з цих практик інженери вперше знайомляться вже на роботі. Цей факт суттєво сповільнює їхній кар’єрний розвиток та погіршує якість роботи. Цю проблему можна вирішити знайомлячись з процесом побудови складних систем ще до початку роботи в індустрії. Цей курс ставить перед собою таке завдання – познайомити студентів з тим як створюються системи та відбувається рух від ідеї і до працюючого продукту.

Теми:

1. Що таке архітектура систем і хто такі архітектори
2. Культура DevOps. Хмарні обчислення
3. Функціональні та нефункціональні вимоги до систем.
4. Сервіси. Контейнери. Docker.
5. Архітектурні патерни: моноліт, мікросервіси (ч.1)
6. Архітектурні патерни: моноліт, мікросервіси (ч.2)
7. Компоненти: клієнт, сервер, взаємодія між ними
8. Комунікації між сервісами: RPC, REST, БД, черги повідомлень.
9. Компоненти: сховища даних, реляційні на нереляційні БД
10. Компоненти: in-memory БД, кешування
11. Компоненти: черги повідомлень
12. Компоненти: масова (batch) та потокова (streaming) обробка даних
13. Логування та моніторинг
14. CI/CD та інфраструктура як код (IaaS)

Викладачі:

Дмитро Приймак

Ключові факти:

Навчальний семестр: 6

Кількість кредитів: 6 ECTS

Освітня програма:  ІТ та Бізнес-аналітика