Як повідомляє Dev, команда DMI (DevOps Micro Internship) завершила розгортання мікросервісного застосунку Spring Petclinic на платформі AWS. Проєкт передбачав створення складної екосистеми незалежних сервісів, які взаємодіють через централізовану конфігурацію, механізми пошуку сервісів та системи моніторингу.
Архітектурний стек та інструменти спостереження
Для забезпечення стабільної роботи мікросервісної структури було використано наступний набір компонентів:
- Config Server для централізованого керування конфігураціями;
- Discovery Server (Eureka) для реєстрації сервісів;
- API Gateway як єдина точка входу;
- Спеціалізовані сервіси: Customers, Visits, Vets та GenAI Service;
- Admin Server для адміністрування системи.
Окрім основного функціоналу, розробники інтегрували інструменти спостереження Prometheus, Grafana та Zipkin. Це дозволило відстежувати стан системи в реальному часі, аналізувати продуктивність застосунків та здійснювати розподілене трасування запитів між різними компонентами.
Процеси контейнеризації та розгортання
Один із ключових етапів роботи включав валідацію стека Docker Compose локально перед деплоєм. Це дозволило перевірити порядок запуску сервісів, статус їхнього здоров'я та коректність мережевої комунікації. Для забезпечення сумісності з хмарним середовищем AWS були зібрані образи контейнерів під архітектуру Linux/AMD64.
Для покращення відстежуваності версій розробники впровадили тегування образів за допомогою Git commit hashes. Такий підхід забезпечує чітку простежність змін та можливість швидкого відкату до попередніх стабільних конфігурацій у разі виникнення помилок. Фінальний етап включав автентифікацію Docker з Amazon Elastic Container Registry (ECR) та публікацію готових образів у репозиторії.
Головним технічним викликом стала складність управління залежностями між численними мікросервісами. Команда мала забезпечити синхронне розгортання всіх компонентів, що потребувало ретельного тестування взаємодії між ними та постійного вирішення проблем із конфігураціями мереж.
Використання комбінації Spring Boot, Docker та хмарних послуг AWS дозволило команді реалізувати повний DevOps-пайплайн: від розробки до моніторингу в продакшені.