Подтвердить что ты не робот

AWS OpsWorks против AWS Beanstalk против AWS CloudFormation?

Я хотел бы знать, каковы преимущества и недостатки использования AWS OpsWorks vs AWS Beanstalk и AWS CloudFormation?

Меня интересует система, которая может быть автоматически масштабирована для обработки большого количества одновременных веб-запросов (от 1000 запросов в минуту до 10 миллионов оборотов в минуту), включая уровень базы данных, который также может быть автоматически масштабируемым.

Вместо того, чтобы иметь отдельный экземпляр для каждого приложения, в идеале я хотел бы эффективно использовать некоторые аппаратные ресурсы. В прошлом я использовал в основном экземпляр EC2 + RDS + Cloudfront + S3

В системе стека будет размещен некоторый высокий трафик ruby ​​на приложениях rails, которые мы переносим из Heroku, а также некоторые приложения python/django и некоторые приложения PHP.

Спасибо заранее.

4b9b3361

Ответ 1

Я хотел бы знать, каковы преимущества и недостатки использования AWS OpsWorks vs AWS Beanstalk и AWS CLoudFormation?

Ответ: это зависит.

AWS OpsWorks и AWS Beanstalk (мне сказали) просто разные способы управления вашей инфраструктурой, в зависимости от того, как вы думаете об этом. CloudFormation - это просто способ шаблонизации вашей инфраструктуры.

Лично я больше знаком с Elastic Beanstalk, но каждому свой. Я предпочитаю это, потому что он может выполнять развертывания через Git. Публичная информация о том, что Elastic Beanstalk использует CloudFormation под капотом для запуска своих сред.

Для моих проектов я использую оба в тандеме. Я использую CloudFormation для создания настраиваемой среды VPC, кодов S3 и таблиц DynamoDB, которые я использую для своего приложения. Затем я запускаю среду Elastic Beanstalk внутри пользовательского VPC, который знает, как говорить с ресурсами S3/DynamoDB.

Меня интересует система, которая может быть автоматически масштабирована для обработки большого количества одновременных веб-запросов (от 1000 запросов в минуту до 10 миллионов оборотов в минуту), включая уровень базы данных, который также может быть автоматически масштабируемым.

Под капотом OpsWorks и Elastic Beanstalk используют EC2 + CloudWatch + Auto Scaling, который способен обрабатывать нагрузки, о которых вы говорите. RDS обеспечивает поддержку масштабируемых баз данных на базе SQL.

Вместо того, чтобы иметь отдельный экземпляр для каждого приложения, в идеале я хотел бы эффективно использовать некоторые аппаратные ресурсы. В прошлом я использовал в основном экземпляр EC2 + RDS + Cloudfront + S3

В зависимости от того, что вы подразумеваете под "некоторыми аппаратными ресурсами", вы всегда можете запускать автономные экземпляры EC2 вместе со средами OpsWorks или Elastic Beanstalk. В настоящее время Elastic Beanstalk поддерживает один webapp для среды. Я не помню, что поддерживает OpsWorks.

В системе стека будет размещен некоторый высокий трафик ruby ​​на приложениях rails, которые мы переносим из Heroku, а также некоторые приложения python/django и некоторые приложения PHP.

Все это полностью поддерживается AWS. OpsWorks и Elastic Beanstalk оптимизировали себя для множества сред разработки (Ruby, Python и PHP находятся в списке), в то время как EC2 предоставляет необработанные серверы, где вы можете установить все, что хотите.

Ответ 2

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

CloudFormation - это json-шаблон (**), который определяет состояние ресурсов (ресурсов), которые вы хотите развернуть, то есть вы хотите развернуть экземпляр micro t2 AWS EC2 в us-east-1 как часть VPC 192.168. 1.0/24. В случае экземпляра EC2 вы можете указать, что должно запускаться на этом ресурсе через пользовательский bash script в разделе пользовательских данных ресурса EC2. CloudFormation - это всего лишь шаблон. Шаблон получает flehed ourt в качестве работающего ресурса, только если вы запускаете его либо через консоль управления AWS для CloudFormation, либо если вы запустите команду aws cli для облачной информации, то есть aws cloudformation...

ElasticBeanstalk - это PAAS - вы можете загружать приложения Ruby/Rails, node.js или Python/django или Python/Flask. Если вы используете что-либо еще, например, Scala, Haskell или что-то еще, создайте для него изображение Docker и загрузите изображение Docker в Elastic Beanstalk (*).

Вы можете выполнить загрузку своего приложения в Elastic Beanstalk, либо запустив aws cli для CloudFormation, либо создав рецепт для Opsworks, чтобы загрузить приложение в Elastic Beanstalk. Вы также можете запустить aws cli для Cloudformation через Opsworks.

(*) Фактически, документация AWS на примере приложения Ruby была настолько плоха, что я потерял терпение и включил пример приложения в изображение Docker и загрузил изображение Docker в Elastic Beanstalk.

(**) По состоянию на сентябрь 2016, Cloudformation также поддерживает шаблоны YAML.

Ответ 3

В Opsworks вы можете делиться "ролями" слоев в стеке, чтобы использовать меньше ресурсов, комбинируя конкретные задания, которые может выполняться в качестве базового экземпляра.

Список совместимости слоев (при условии, что группы безопасности установлены правильно):

HA Proxy : custom, db-master, and memcached.
MySQL :  custom, lb, memcached, monitoring-master, nodejs-app, php-app, rails-app, and web.
Java : custom, db-master, and memcached.
Node.js : custom, db-master, memcached, and monitoring-master
PHP : custom, db-master, memcached, monitoring-master, and rails-app.
Rails :  custom, db-master, memcached, monitoring-master, php-app.
Static :  custom, db-master, memcached.
Custom : custom, db-master, lb, memcached, monitoring-master, nodejs-app, php-app, rails-app, and web 
Ganglia :  custom, db-master, memcached, php-app, rails-app. 
Memcached :  custom, db-master, lb, monitoring-master, nodejs-app, php-app, rails-app, and web. 

ссылка: http://docs.aws.amazon.com/opsworks/latest/userguide/layers.html

Ответ 4

AWS Beanstalk: Это развертывание и управление приложениями в облаке AWS, не беспокоясь об инфраструктуре, которая запускает веб-приложения с помощью Elastic Beanstalk. Не нужно беспокоиться об установках EC2 и других.

AWS OpsWorks AWS OpsWorks - это не что иное, как служба управления приложениями, которая облегчает пользователям новых пользователей DevOps моделирование и управление всем их приложением.

Ответ 5

CloudFormation: AWS CloudFormation - это сервис, который помогает вам моделировать и настраивать ресурсы Amazon Web Services, чтобы вы могли тратить меньше времени на управление этими ресурсами и больше времени на ваши приложения, которые запускаются в AWS.it, шаблон описывает ресурсы, которые вы хотите, и их настройки. введите описание изображения здесь

Эластичный бобовый шток

С Elastic Beanstalk вы можете быстро развертывать и управлять приложениями в облаке AWS, не беспокоясь о инфраструктуре, в которой работают эти приложения. В этом отношении он похож на CloudFormation. По сути, на самом деле он использует шаблоны и скрипты CloudFormation для...

  • Создайте балансировку нагрузки и группу автоматического масштабирования.
  • Копировать код на S3.
  • Загрузите экземпляр EC2, чтобы загрузить код с S3 и развернуть его.

OpsWorks

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

Теперь какая-то большая картина

введите описание изображения здесь введите описание изображения здесь введите описание изображения здесь

Ответ 6

AWS CloudFormation - создание и обновление среды.

AWS Opsworks - управляйте своими системами в таких средах, как мы с шеф-поваром или кукольным

AWS Beanstalk - создание, управление и развертывание.

Но лично я люблю CloudFormation и OpsWorks, используя всю свою силу для того, для чего они предназначены.

Используйте CloudFormation для создания вашей среды, после чего вы можете вызвать Opsworks из сценариев формирования облаков для запуска вашей машины. Тогда у вас будет стек Opsworks, чтобы управлять им. Например, добавьте пользователя в окно linux с помощью Opsworks или сделайте исправление своих ящиков, используя рецепты шеф-повара. Вы также можете записать рецепты шеф-повара для развертывания. В противном случае вы можете использовать CodeDeploy специально для развертывания.

Ответ 7

AWS OpsWorks. Это часть службы управления AWS. Это помогает настроить приложение с помощью сценариев. Он использует шеф-повар в качестве платформы devops для этого управления приложениями и работы. Существуют шаблоны, которые можно использовать для настройки сервера, базы данных, хранилища. Шаблоны также могут быть настроены для выполнения любой другой задачи. Инженеры DevOps имеют контроль над зависимостями приложений и инфраструктурой.

AWS Beanstalk. Он предоставляет среду для языка, такого как Java, Node Js, Python, Ruby Go. Эластичный Bean стебель предоставляет ресурс для запуска приложения. Разработчикам не нужно беспокоиться об инфраструктуре, и у них нет контроля над инфраструктурой.

AWS CloudFormation. CloudFormation имеет образцы шаблонов для управления ресурсами AWS по порядку.

Ответ 8

Как многие другие комментируют AWS Beanstalk, AWS OpsWorks и AWS Cloud Formation предлагают различные решения для различных задач.

Чтобы успеть с

I am interested in a system that can be auto scaled to handle any high number of simultaneous web requests (From 1000 requests per minute to 10 million rpm.), including a database layer that can be auto scalable as well.

И принимая во внимание, что вы находитесь в процессе миграции, я настоятельно рекомендую вам взглянуть на решение AWS Lambda и AWS DynamoDB (или гибридное).

Оба оба предназначены для масштабирования auto простым способом и могут быть очень дешевым решением.