Управление AWS Beanstalks с помощью Puppet
Я думаю об использовании Puppet Enterprise для развертывания наборов серверов / сервисов в Amazon Web Services. Насколько я могу судить, лучший способ сделать это - через CloudFormation.
На основании того, что я прочитал, CloudFormation определяет, как настраивать / создавать сервисы. Принимая во внимание, что вы используете Puppet для настройки и поддержки конфигурации сервера / сервиса.
Итак, два вопроса:
- Могу ли я использовать Puppet для создания Elastic Beanstalk?
- Можно ли поддерживать эластичный бобовый стебель и как это будет работать?
Фон
Моя организация использует Elastic Beanstalk для публикации своих существующих веб-приложений / сервисов, и я хотел бы сохранить этот рабочий процесс или перейти от Beanstalk к чему-то другому, если позволит время.
1 ответ
Могу ли я использовать Puppet для создания Elastic Beanstalk?
Краткий ответ: нет.
Как мне использовать 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, включая Beanstalk.
Документация по CF - отличное место для начала http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html
Вот ресурсы, которыми может управлять CF:
- AWS:: ElasticBeanstalk:: Применение
- AWS:: ElasticBeanstalk:: ApplicationVersion
- AWS:: ElasticBeanstalk:: ConfigurationTemplate
- AWS:: ElasticBeanstalk:: Окружающая среда
Другие опции
Если вам нужен более полный контроль, вы можете посмотреть на https://aws.amazon.com/opsworks/ 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 поддерживает широкий спектр архитектурных шаблонов, от простых веб-приложений до очень сложных приложений.
Обзор настроек
Мне нравится рассматривать эти параметры в виде шкалы (слева направо), причем левая часть проще в использовании, а правая дает вам больше контроля (но требует больше усилий для поддержки):
Beanstalk -> OpsWorks -> CloudFormation.