Контейнерный сервис 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, чтобы вы могли начать работу как можно быстрее.
- Создание кластера (создать или использовать кластер по умолчанию)
- Запуск и экземпляр с Amazon ECS AMI
- Список экземпляров контейнера
- Опишите свой экземпляр контейнера
- Зарегистрируйте определение задачи
- Список определения задачи
- Выполнить задачу
- Список задач
- Опишите текущую задачу
- Изучите задачу с помощью 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 и разработчика сулит большие надежды.