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