Миграция приложения из Docker Compose в Kubernetes. Проблемы, результат и опыт Рональда Рамазанова, DevOps Team Lead компании Smartex

migraciya-prilozheniya-iz-docker
migraciya-prilozheniya-iz-docker
migraciya-prilozheniya-iz-docker

Перед Smartex стояла задача: улучшить инфраструктуру и качество работы приложения, которое успело вырасти из MVP и стенда для одного клиента в популярный SaaS.

Не все приложения, у которых происходит значительный рост пользователей, оказываются готовы к росту. Требования к быстродействию и доступности растут, а инфраструктура и архитектура приложения не позволяют их обеспечить. Так случилось с сервисом Picvario, который превратился в популярный SaaS. Отсутствие отказоустойчивости и масштабируемости компонентов сервиса начало ощутимо мешать пользователям, и пришло время адаптировать приложение под кластерный режим. 

Приложение работало в контейнерах, а оркестрация осуществлялась с помощью Docker Compose. Компоненты приложения не задумывались готовыми к запуску в кластерном режиме, что является нормальной ситуацией для раннего этапа многих проектов. Бизнес требует быстрого ввода новых функций, и на преждевременную оптимизацию не всегда можно и нужно тратить время. Но наступает момент, когда именно стабильность и быстродействие становятся самыми важными функциями. 

Как мигрировать приложение с уже сформированным техническим стеком и базой пользователей? Какие есть варианты решения и подводные камни? Как оценить рентабельность подобных трудозатрат? В своей статье на площадке habr.com Рональд Рамазанов, руководитель DevOps компании Smartex, поделился своим опытом переноса приложения из Docker Compose в Kubernetes.


Внутри статьи: 
  • Как инфраструктура выглядела ранее и почему ее нужно было менять

  • Что из себя представляет приложение

  • Выбор платформы. Почему Kubernetes

  • Изменения в архитектуре приложения

  • Запуск Kubernetes кластера 

  • Деплой приложения в Kubernetes. Helm шаблонизация

  • Обеспечение внешнего доступа. Ingress

  • Настройка процесса CI/CD

  • Масштабируемость. Быстродействие проблемных компонентов

  • Итоги и польза миграции

Рональд Рамазанов, DevOps Team Lead компании Smartex

Читать статью

17 сентября 2022 г.