Когда следует использовать Kubernetes

Завершено

Решение об использовании платформы оркестрации контейнеров, такой как Kubernetes, зависит от бизнес-требований и потребностей разработки. Давайте в общих чертах рассмотрим архитектуру решения для отслеживания дронов.

Это решение создается как слабо связанные и работающие друг с другом микрослужбы. Для упрощения проектирования и обслуживания решения эти службы развертываются отдельно друг от друга. Вот как выглядит текущая конфигурация решения.

Diagram of the high-level architecture that describes the drone tracking solution.

  • Веб-интерфейс: отображает карты и сведения о отслеживаемых дронах.
  • Служба кэша: на веб-сайте хранятся часто запрашиваемые сведения.
  • API RESTful: используется отслеживаемыми дронами для отправки данных об их состоянии, таких как расположение GPS и уровни заряда батареи.
  • Очередь: содержит необработанные данные, собранные API RESTful.
  • Служба обработки данных: извлекает и обрабатывает данные из очереди.
  • База данных NoSQL: хранит обработанные данные отслеживания и данные пользователя, записанные с веб-сайта и службы обработки данных.

В вашей компании разрабатывают и владеют этими службами разные команды. Каждая команда использует контейнеры для создания и развертывания своей службы. Эта новая стратегия позволяет группам разработчиков учитывать требования к современной разработке программного обеспечения в сфере автоматизации, тестирования и общей стабильности и качества.

Изменение требований разработчика привело к нескольким процессам и бизнес-преимуществам для компании. Например, к более эффективному использованию размещенных вычислительных ресурсов, ускорению выпуска новых функций и расширению охвата клиентов.

Однако несколько проблем с управлением контейнерами привели вашей компании к изучению решений оркестрации контейнеров. Ваши команды обнаружили, что масштабировать приложение отслеживания до нескольких развертываний было относительно просто, но масштабирование множества экземпляров и управление ими оказалось сложной задачей.

Также нужно учесть и другие аспекты. Примеры включают работу с неудачными контейнерами, выделением хранилища, конфигурацией сети и управлением секретами приложений.

Как вы узнали ранее, Kubernetes обеспечивает поддержку всех этих проблем в качестве платформы оркестрации.

Вы хотите использовать Kubernetes, когда ваша компания:

  • разрабатывает приложения как микрослужбы;
  • разрабатывает приложения как облачные;
  • развертывает микрослужбы с помощью контейнеров;
  • обновляет контейнеры в большом масштабе;
  • требует централизованной сети контейнеров и управление хранилищем.

Когда не следует использовать Kubernetes

Не все приложения необходимо выполнять в Kubernetes. В результате Kubernetes может оказаться неподходящим решением для вашей компании.

Например, усилия по упаковке в контейнеры и развертыванию монолитного приложения могут перевесить преимущества выполнения приложения в Kubernetes. Монолитная архитектура не может с легкостью использовать такие функции, как масштабирование отдельных компонентов или обновление.

Kubernetes предлагает множество преимуществ для бизнеса при разработке, развертывании, управлении и упрощении процессов программного обеспечения. Однако Kubernetes требует длительного обучения. Модульная конструкция Kubernetes представляет потенциально новые концепции, влияющие на команды в вашей компании.

Команды разработчиков должны принимать современные концепции проектирования при разработке и разработке приложений. К этим понятиям относятся использование микрослужб и контейнеризация этих служб. Также им необходимо экспериментировать с контейнерами и средами оркестрации для оптимального использования всех доступных преимуществ.

Если ваша компания не готова к таким изменениям, Kubernetes, возможно, не ваш вариант.