Контейнерный сервис Amazons EC2 (ECS) с поддержкой Docker (часть 2)

Опубликовано: 7 Марта, 2023
Контейнерный сервис Amazons EC2 (ECS) с поддержкой Docker (часть 2)

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

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

Введение

Цель этой статьи, состоящей из двух частей, — дать обзор службы контейнеров AWS EC2 (ECS) и того, что это означает для пользователей Docker по мере того, как мы переходим от использования виртуальных машин к подходу, ориентированному на контейнеры.

В первой части серии мы рассмотрели контейнерную технологию, виртуальные машины и отношения между Docker и Amazon. В этой статье, часть вторая; мы рассмотрим Amazon EC2 Container Service более подробно.

Контейнеры — это осязаемый архитектурный метод администрирования облачных приложений и инфраструктуры, и по мере того, как время идет, и предприятия становятся более уверенными в этом подходе, в интересах поставщиков облачных услуг, таких как Amazon, иметь сильную позицию для поддержки этого Тип технологии, следовательно, предоставление контейнерного сервиса AWS EC2 (ECS).

Забегая вперед, можно предположить, что в облаке будет работать намного больше контейнеров Docker по сравнению с виртуальными машинами, кому-то нужно будет ими управлять, и отсюда растущий интерес со стороны крупных организаций, таких как Amazon.

Пользователи контейнеров Docker ценят гибкость, которую предоставляет служба контейнеров Amazon EC2, позволяющую расширять контейнеры до облака AWS и распространять преимущества AWS на Docker.

Контейнерный сервис AWS EC2 без упаковки

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

Некоторая терминология для лучшего понимания ECS

У Amazon и AWS есть набор терминов, уникальных для их сервисов. Ниже для понимания пояснено несколько терминов, связанных с компонентами службы контейнеров AWS EC2.

Кластер представляет собой набор экземпляров EC2 в определенном регионе AWS, которые управляются Amazon ECS и могут существовать более чем в одной зоне доступности. (Кластер — это совокупность вычислительных ресурсов, ресурсов хранения и сетевых ресурсов, которые служат хостом для приложений в контейнере.)

— это экземпляр Amazon EC2, на котором работает агент Amazon ECS и который зарегистрирован в кластере.

— планировщик связан с каждым кластером. Планировщик (по одному связанному с каждым кластером) облегчает управление использованием ресурсов в кластере таким образом, чтобы способствовать повышению производительности и доступности.

это описание приложения, которое содержит одно или несколько определений контейнера.

это экземпляр определения задачи, которая выполняется в экземпляре контейнера.

— компонент упакованного приложения Docker, созданный как часть задачи. Каждый экземпляр EC2 в кластере может служить хостом для одного или нескольких контейнеров.

Рекомендуемый рабочий процесс Amazon ECS

Следующие шаги должны упростить начало работы с сервисом контейнеров Amazon. Эти шаги о том, как начать работу, хорошо задокументированы и объяснены Amazon, чтобы вы могли начать работу как можно быстрее.

  1. Создание кластера (создать или использовать кластер по умолчанию)
  2. Запуск и экземпляр с Amazon ECS AMI
  3. Список экземпляров контейнера
  4. Опишите свой экземпляр контейнера
  5. Зарегистрируйте определение задачи
  6. Список определения задачи
  7. Выполнить задачу
  8. Список задач
  9. Опишите текущую задачу
  10. Изучите задачу с помощью Docker

К чему стремится ECS?

EC2 Container Service помогает пользователю/разработчику:

  • Упрощение запуска распределенных приложений в управляемом кластере инстансов Amazon EC2.
  • Управляйте запуском и завершением приложений с поддержкой контейнеров с помощью простых вызовов API.
  • Используйте централизованную службу для запроса состояния кластера
  • Разрешить доступ к функциям EC2 для помощи в процедурах безопасности (группы безопасности, тома EBS и роли IAM).
  • Упростите планирование (назначение задач экземплярам) контейнеров с помощью службы контейнеров EC2 в соответствии с требованиями и ресурсами, ожидаемыми в определенное время, оптимизируя производительность.
  • Перевозка контейнеров с платформы AWS в локальную инфраструктуру (наоборот)
  • Используйте интеграцию с AWS и пользуйтесь преимуществами ресурсов/функций AWS
  • Упростите управление кластерами и конфигурациями, не используя собственные
  • Включите масштабирование, не беспокоясь о масштабировании собственной инфраструктуры управления.
  • Работайте в безопасной и эффективной среде AWS

Amazon приписывает следующие преимущества своей службе контейнеров EC2:

Высокая производительность и улучшенная масштабируемость

Тысячи контейнеров можно инициировать, завершать и управлять ими за считанные секунды.

Гибкое расписание

Служба контейнеров EC2 включает планировщик, помогающий сбалансировать потребность/использование ресурсов и их доступность в вашем кластере. Это может быть автоматизировано, выполнено вручную или настроено в соответствии с конкретными требованиями.

Упрощает управление кластерами

Служба контейнеров настраивает и управляет кластером (коллективными ресурсами), состоящим из контейнеров Docker. Позволяет инициировать, завершать и легко масштабируется в нескольких зонах доступности. Нет необходимости самостоятельно управлять или настраивать систему управления для управления кластером.

Эффективно использовать и управлять ресурсами

Использование контейнерных технологий позволяет эффективно использовать ресурсы. Сервис позволяет запускать множество контейнеров; они не должны быть связаны каким-либо образом в одном и том же экземпляре EC2 для эффективного использования ресурсов.

Безопасность

Контейнеры еще не так безопасны, как виртуальные машины, но с сервисом контейнеров Amazon экземпляры EC2 работают в виртуальном частном облаке Amazon (VPC), и вы можете воспользоваться всеми связанными функциями безопасности (ролями IAM, группами безопасности и т. д.). В VPC у вас повышенная безопасность, надежность и полный контроль. Некоторые будут утверждать, что это не весь след ОС и что они более безопасны в качестве незаметных приложений, но это все еще разрабатывается как концепция из-за дополнительных функций, которые ОС предлагает помимо стандартных элементов управления безопасностью.

Улучшенная переносимость

Сервис EC2 Container предлагает простую интеграцию и обеспечивает полный контроль и прозрачность ресурсов AWS, чтобы вы могли быстро переключаться между облачными и локальными рабочими нагрузками AWS.

Интеграция с AWS

Ваши приложения могут использовать другие функции AWS

Вывод

Совместно Docker и Amazon объединяют лучшее из обоих миров, чтобы предоставить технологию и услугу, которые охватывают все характеристики, которые ищет пользователь, производительность, масштабируемость, гибкость, контроль, безопасность и быстрое удобство. Преимущества подчеркиваются технологией контейнеров и возможностью расширения в облачную среду AWS и расширения ее ресурсов и возможностей контейнерами Docker.

У Amazon и Docker есть планы на будущее по дальнейшей интеграции и постоянному сотрудничеству между контейнерным сервисом EC2/AWS и сервисами Docker для дальнейшего повышения удобства использования и предоставляемого сервиса для достижения всестороннего преимущества контейнерных приложений, развертывания и управления.

Будущее Docker, Amazon и разработчика сулит большие надежды.