
Я думаю об использовании Puppet Enterprise для развертывания наборов серверов/сервисов в Amazon Web Services. Насколько я могу судить, лучший способ сделать это — черезCloudFormation.
На основе того, что я читал, CloudFormation определяет, как настраивать/создавать сервисы. В то время как вы используете Puppet для настройкииподдерживать конфигурацию сервера/сервиса.
Итак, два вопроса:
- Могу ли я использовать Puppet для создания эластичного бобового стебля?
- Можно ли поддерживать эластичный бобовый стебель и как это будет работать?
Фон
Моя организация использует Elastic Beanstalk для публикации своих существующих веб-приложений/сервисов, и я хотел бы либо сохранить этот рабочий процесс, либо перейти с Beanstalk на что-то другое, когда позволит время.
решение1
Могу ли я использовать Puppet для создания эластичного бобового стебля?
Короткий ответ - нет.
Как использовать Elastic Beanstalk?
Фактически вы не управляете своей инфраструктурой (или базовой технологией приложения) с помощью Elastic Beanstalk, вы просто загружаете свое приложение (например, используете git для отправки своего кода), а Beanstalk развертывает его за вас.
https://aws.amazon.com/elasticbeanstalk/details/
AWS Elastic Beanstalk — это простая в использовании служба управления приложениями для создания веб-приложений и веб-сервисов с использованием популярных контейнеров приложений, таких как Java, PHP, Python, Ruby и .NET.Клиенты загружают свой код, а Elastic Beanstalk автоматически делает все остальное..
Могу ли я использовать CloudFormation и Beanstalk вместе?
Да. CF может помочь вам управлять длинным списком ресурсов AWS.включаяБобовый стебель.
Документация CF — отличное место для началаhttp://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html
Вот ресурсы, которыми может управлять CF:
- AWS::ElasticBeanstalk::Приложение
- AWS::ElasticBeanstalk::Версия приложения
- AWS::ElasticBeanstalk::ConfigurationTemplate
- AWS::ElasticBeanstalk::Окружающая среда
Другие варианты
Если вам нужен больший контроль, вам стоит обратить внимание на OpsWorks.https://aws.amazon.com/opsworks/который позволяет вам управлять конфигурацией операционной системы через Chef (инструмент CM, похожий на Puppet).
Если вам нужно еще БОЛЬШЕ контроля, вы можете использовать CloudFormation напрямую, таким образом вы сможете управлять каждым аспектом вашей инфраструктуры (и тогда у вас будет полный контроль над EC2, чтобы управлять ими так, как вы считаете нужным, например, с помощью инструмента CM, такого как Puppet, Chef или Ansible).
Различия
https://aws.amazon.com/opsworks/faqs/
OpsWorks и Beanstalk — это службы управления приложениями.
AWS OpsWorks и AWS CloudFormation — это сервисы управления приложениями, которые поддерживают моделирование, развертывание, настройку, управление и связанные с этим действия. Оба поддерживают широкий спектр архитектурных шаблонов: от простых веб-приложений до очень сложных приложений. AWS OpsWorks и AWS CloudFormation различаются по уровню абстракции и областям фокусировки.
CF позволяет управлять практически любым ресурсом AWS
AWS CloudFormation — это модульный сервис, который позволяет клиентам предоставлять и управлять практически любым ресурсом AWS с помощью доменно-ориентированного языка на основе JSON.
OpsWorks позволяет вам делать больше, чем Beanstalk
AWS OpsWorks поддерживает более широкий спектр архитектурных шаблонов, чем Elastic Beanstalk. В то время как AWS Elastic Beanstalk специально оптимизирован для наиболее распространенных шаблонов веб-приложений и веб-сервисов, а также промежуточного программного обеспечения приложений, AWS OpsWorks поддерживает широкий спектр архитектурных шаблонов, от простых веб-приложений до очень сложных приложений.
Обзор вариантов
Мне нравится рассматривать эти варианты в виде шкалы (слева направо), где левый вариант проще в использовании, а правый дает больше контроля (но требует больше усилий для поддержания):
Бобовый стебель -> OpsWorks -> CloudFormation.