DeSemaS7 / 11-microservices-04-scaling

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Задача 1: Кластеризация

Для создания среды по обеспечению развертывания, запуска и управления приложениями я бы предложил использовать Kubernetes в Google Cloud. Данный программный комплекс поддерживает контейнеры, имеет средства для автомасштабирования (Compute Engine Autoscaling). Так же имеется встроенный Role-Based Access Control (Google IAM), который обеспечивает безопасное хранение паролей/ключей и кастомный доступ к необходимым сервисам.

Для обоснования решения попробуем сравнить конкурентные продукты с K8S:

  • DokerSwarm не иммеет коробочного решения для автомасштабирования
  • DockerSwarm работает только с контейнерами docker
  • в DockerSwarm нельзя использовать json для конфигурации
  • Nomad больше заточен на работу с job-ами (управление кластером и планирование), в которых описано желаемое состояние рабочих нагрузок и текущее. (это могут быть виртуализированные, контейнерные и автономные, микросервисные и пакетные приложения, включая Docker, Java, Qemu и другие)
  • Nomad принимает описание конфигурации в своём формате, HCL.
  • Nomad и DockerSwarm не имеют шаблонизатора аналогично Helm у k8s.
  • в Nomad нет нативного автообнаружения сервисов, для этого требуется отдельый инструмент Consul.
  • Nomad и DockerSwarm не имеют разделения через пространства имён.
  • ApacheMesos предназначен для обработки различных типов рабочих нагрузок, которые могут быть как контейнерными, так и неконтейнерными. в то время как k8s заточен только на контейнерные приложения.

About