Запись архитектурного решения: оркестрация контейнеров Kubernetes
Постановка проблемы
Нам нужно выбрать платформу оркестрации контейнеров для нашего растущего портфеля облачных приложений. Развёртывание на нашей текущей устаревшей платформе слишком медленное и недостаточно гибкое, чтобы поспевать за нашими растущими потребностями. Мы ищем систему, которая позволит масштабировать наши сервисы наиболее эффективным способом, не жертвуя гибкостью и простотой использования.
Рассмотренные альтернативы
Docker Swarm
Kubernetes
Apache Mesos
Принятое решение
После тщательного анализа каждой платформы оркестрации контейнеров мы решили принять Kubernetes как лучший вариант для наших корпоративных нужд. Наши причины выбора Kubernetes таковы:
Масштабируемость: уникальная конструкция Kubernetes идеальна для масштабирования приложений, и по мере изменения наших требований к масштабируемости со временем у Kubernetes есть встроенная способность отвечать на эти изменения без каких-либо проблем.
Децентрализованная архитектура: топология «мастер — рабочие узлы» Kubernetes обеспечивает децентрализованную архитектуру, гарантирующую отсутствие единой точки отказа.
Поддержка сообщества: у Kubernetes самое большое и активное сообщество с открытым исходным кодом, а значит, у него множество участников, разработчиков и поставщиков, что облегчает нам получение помощи и поиск ресурсов.
Поддержка экосистемы: у Kubernetes растущая экосистема с разнообразными сторонними инструментами, интеграцией с реестрами контейнеров, конвейерами CI/CD, хранилищами данных и многим другим.
Поэтому мы решили принять Kubernetes в качестве нашей платформы оркестрации контейнеров на настоящее и ближайшее будущее.