На цьому курсі вивчають мікросервісну архітектуру з самого початку. Від базових понять до складних аспектів розробки та підтримки розподілених систем.
Курс починається з порівняння монолітної та мікросервісної архітектур. Слухачі дізнаються про переваги та недоліки кожного підходу, розглядають типові нефункціональні вимоги до систем. Потім переходять до моделювання мікросервісів - вивчають принципи доменно-орієнтованого дизайну, вчать відокремлювати компоненти та будувати C4-діаграми для візуалізації архітектури.
Наступний блок присвячений практичним аспектам переходу від моноліту. Розглядають стратегії декомпозиції, оцінюють ризики та будують алгоритм міграції. Потім детально вивчають способи взаємодії мікросервісів - від класичної моделі Request/Response до подійно-орієнтованої архітектури. Слухачі навчаються проєктувати синхронні та асинхронні комунікації, обирати брокерів повідомлень та працювати зі зворотно несумісними змінами.
Цей модуль охоплює складні аспекти роботи з даними в розподілених системах. Слухачі розбирають характеристики транзакцій, механізми синхронізації за допомогою локів, вивчають патерн Sagas для скасування транзакцій. Також розглядають інтеграцію з системами моніторингу через CDC. Окремо вивчають популярні патерни мікросервісів та розподіленого фронтенду.
Модуль поєднує технічні аспекти побудови стійких систем. Слухачі навчаються проєктувати API Gateway та service meshes, розробляти тести для окремих мікросервісів та їх інтеграції. Особливу увагу приділяють стійкості систем - вивчають типи мережевих помилок, BASE-модель, CAP-теорему, патерни Circuit Breaker і Bulkhead для підвищення доступності.
Практичний блок про експлуатацію мікросервісних систем. Розглядають специфіку DevOps для мікросервісів, проєктують CI/CD-пайплайни, вивчають інструменти оркестрації та реалізацію Zero downtime підходу. Також аналізують підходи до масштабування сервісів, виявлення вузьких місць системи та стратегії кешування для підвищення продуктивності.
Завершальні модулі охоплюють операційні та організаційні аспекти. Слухачі навчаються будувати систему моніторингу та логування для розподілених систем, здійснювати трасування, розраховувати SLA та SLO. Окремо розглядають безпеку - шифрування даних, механізми аутентифікації між сервісами. В кінці обговорюють організаційну структуру команд для ефективної роботи з мікросервісною архітектурою.
Курс побудований на принципі поступового нарощення знань - від простих концепцій до складних практичних кейсів. Це дозволяє систематизувати розуміння мікросервісної архітектури та підвищити професійні навички. Опанування матеріалу курсу відкриває нові кар'єрні можливості в розробці складних розподілених систем.