Развертывание и управление WebApp с помощью сервисов AWS

Я новичок в сервисах AWS, я занимаюсь разработкой веб-приложений на Ruby on Rails, поэтому мне хотелось бы узнать, что может быть лучшим или правильным способом развертывания и управления веб-приложением с помощью AWS.

В настоящее время существует множество сервисов AWS для обработки веб-приложений, но я не уверен, какой сервис использовать, OpsWork, EC2 (настройка всего сервера), Elastic Beanstalk или контейнеры EC2 и так далее…

Ну, у меня есть 3 небольших приложения от разных клиентов, и я ищу правильный путь, чтобы они были на одном экземпляре или парах экземпляров, точно знаю, что я с OpsWorks, у меня есть 3 стека, по одному для каждого веб-приложения, я хочу узнать, могу ли я развернуть и управлять этими приложениями в одном стеке и двух экземплярах OpsWorks, или есть ли лучший способ или другие службы, такие как решения IaaS или PaaS?. Поэтому я ищу совет или ориентацию для использования сервиса AWS для подобных вещей.

1 ответ

Этот вопрос довольно расплывчатый, и ответ зависит от потребностей вашего приложения, но я дам свои 2 цента независимо. У меня есть несколько приложений rails, размещенных на экземплярах EC2 под управлением Ubuntu, NGINX и Phusion Passenger. Приложения, которые получают приличный объем трафика и требуют постоянной производительности / доступности, клонируются в нескольких экземплярах EC2 (в нескольких зонах) и управляют трафиком с помощью Elastic Load Balancers (ELB). Базы данных приложений обслуживаются через сервисы Amazon RDS. Регистрация домена и серверов имен настраиваются через AWS Route 53. Статические ресурсы обслуживаются из AWS S3.

Этот тип архитектуры, безусловно, имеет свою цену, и это не единственный способ сделать это. Мой опыт показывает, что все мои старые приложения на Rails выжили в течение года со 100% безотказной работой и редко бывали моментами медлительности по вине AWS, в отличие от моего собственного кода или стороннего программного обеспечения.

Надеюсь это поможет; Не стесняйтесь задавать вопросы.