Когда следует использовать Kubernetes
Решение об использовании платформы оркестрации контейнеров, такой как Kubernetes, зависит от бизнес-требований и потребностей разработки. Давайте в общих чертах рассмотрим архитектуру решения для отслеживания дронов.
Это решение создается как слабо связанные и работающие друг с другом микрослужбы. Для упрощения проектирования и обслуживания решения эти службы развертываются отдельно друг от друга. Вот как выглядит текущая конфигурация решения.
- Веб-интерфейс: отображает карты и сведения о отслеживаемых дронах.
- Служба кэша: на веб-сайте хранятся часто запрашиваемые сведения.
- API RESTful: используется отслеживаемыми дронами для отправки данных об их состоянии, таких как расположение GPS и уровни заряда батареи.
- Очередь: содержит необработанные данные, собранные API RESTful.
- Служба обработки данных: извлекает и обрабатывает данные из очереди.
- База данных NoSQL: хранит обработанные данные отслеживания и данные пользователя, записанные с веб-сайта и службы обработки данных.
В вашей компании разрабатывают и владеют этими службами разные команды. Каждая команда использует контейнеры для создания и развертывания своей службы. Эта новая стратегия позволяет группам разработчиков учитывать требования к современной разработке программного обеспечения в сфере автоматизации, тестирования и общей стабильности и качества.
Изменение требований разработчика привело к нескольким процессам и бизнес-преимуществам для компании. Например, к более эффективному использованию размещенных вычислительных ресурсов, ускорению выпуска новых функций и расширению охвата клиентов.
Однако несколько проблем с управлением контейнерами привели вашей компании к изучению решений оркестрации контейнеров. Ваши команды обнаружили, что масштабировать приложение отслеживания до нескольких развертываний было относительно просто, но масштабирование множества экземпляров и управление ими оказалось сложной задачей.
Также нужно учесть и другие аспекты. Примеры включают работу с неудачными контейнерами, выделением хранилища, конфигурацией сети и управлением секретами приложений.
Как вы узнали ранее, Kubernetes обеспечивает поддержку всех этих проблем в качестве платформы оркестрации.
Вы хотите использовать Kubernetes, когда ваша компания:
- разрабатывает приложения как микрослужбы;
- разрабатывает приложения как облачные;
- развертывает микрослужбы с помощью контейнеров;
- обновляет контейнеры в большом масштабе;
- требует централизованной сети контейнеров и управление хранилищем.
Когда не следует использовать Kubernetes
Не все приложения необходимо выполнять в Kubernetes. В результате Kubernetes может оказаться неподходящим решением для вашей компании.
Например, усилия по контейнеризации и развертыванию монолитного приложения могут быть больше, чем преимущества запуска приложения в Kubernetes. Монолитная архитектура не может с легкостью использовать такие функции, как масштабирование отдельных компонентов или обновление.
Kubernetes предлагает множество преимуществ для бизнеса при разработке, развертывании, управлении и упрощении процессов программного обеспечения. Однако Kubernetes требует длительного обучения. Модульная конструкция Kubernetes представляет потенциально новые концепции, влияющие на команды в вашей компании.
Команды разработчиков должны принимать современные концепции проектирования при разработке и разработке приложений. К этим понятиям относятся использование микрослужб и контейнеризация этих служб. Teams также необходимо поэкспериментировать с средами контейнера и оркестрации, чтобы лучше всего использовать все доступные варианты.
Если ваша компания не готова к таким изменениям, Kubernetes, возможно, не ваш вариант.