Я довольно новичок во всем стеке Netflix OSS и развертываниях в целом. В качестве фона для моего текущего уровня знаний, моя основная роль заключается в качестве инженера внешнего интерфейса. Тем не менее, мне нравится эксплуатационная сторона, поэтому я пытаюсь настроить новую стратегию развертывания и инструменты для нового проекта.
Наши цели
- Супер легкое развертывание (мы хотим нажать кнопку, чтобы обновить производство)
- Автоматическое развертывание в тестовых средах (с использованием Jenkins)
- Простота обслуживания (у нас есть приложение для написания, мы не хотим тратить время на решение производственных проблем)
- Способность обрабатывать сервис-ориентированную архитектуру (множество небольших приложений, различные языки и хранилища данных)
- Достаточная гибкость, чтобы гарантировать, что нам не придется менять стратегии в ближайшее время (мы уже пытаемся уйти от RightScale)
У нас все в порядке с небольшим временем начальной настройки, если в будущем это избавит нас от головной боли.
Итак, в соответствии с этим, я слушал подкасты, смотрел доклады Ops и читал тонны постов в блоге, и исходя из наших целей и того, что я принял за формирование лучших практик, мы начали формировать план, используя Асгард, закатывая нашу посылку в банку и превращая ее в АМИ.
Мы все спланировали и нам понравились преимущества процесса по сравнению с использованием сервера Chef и конвергенции экземпляров на лету (мы чувствовали, что это может привести к ошибкам, учитывая нашу ограниченную временную шкалу и отсутствие понимания рабочего процесса сервера Chef). Тем не менее, коллега сам немного осмотрелся и почувствовал, что Elastic Beanstalk удовлетворил наши потребности.
Я изучил его и ускорил тестовую среду с помощью файла WAR и прикрепленной базы данных RDS. Кажется, все работает, и я считаю, что мы можем автоматизировать развертывание в среде тестирования с помощью Jenkins через AWS API. Кажется достаточно простым ... возможно, слишком простым.
Что мне интересно, в чем подвох? Если Elastic Beanstalk настолько прост и эффективен, почему о нем не говорится больше? Мне трудно найти достаточно объективных мнений и фактов о двух разных стратегиях развертывания, поэтому я решил спросить.
Вы используете Elastic Beanstalk? Если да, то почему и какие факторы приводят к такому решению? Что тебе нравится и не нравится?
Если вы не используете Elastic Beanstalk, но рассматриваете его, что вы используете и почему вы не использовали Elastic Beanstalk?
Каковы преимущества и недостатки стратегии развертывания на основе Elastic Beanstalk для SOA? То есть, будет ли Elastic Beanstalk хорошо работать со многими небольшими приложениями, которые полагаются на работу друг друга?