Введение в AWS OpsWorks
Вам когда-нибудь приходилось вручную настраивать развертывание виртуальных машин? Тогда вы знаете, как это может занять много времени и утомительно. Представьте себе автоматический сервис, который занимается развертыванием инфраструктуры для различных приложений независимо от требований к ресурсам. Как здорово это будет? Итак, добро пожаловать в мир AWS OpsWorks.
Эта платформа облачных вычислений от Amazon Web Services представляет собой решение для автоматизации, обладающее огромной гибкостью, которое дает вам полный контроль над вашими приложениями и их базовой инфраструктурой. С OpsWorks вы можете управлять всем жизненным циклом своего приложения, от предоставления ресурсов до контроля доступа и всего, что между ними. Следовательно, вы можете разрабатывать, настраивать и развертывать приложения любой сложности, поскольку эта платформа не зависит от какой-либо конкретной архитектуры.
Для облачных администраторов и разработчиков OpsWorks упрощает настройку и развертывание задач в распределенных приложениях с выбранной конфигурацией ресурсов. Самое приятное в этой платформе то, что она предоставляется без дополнительной оплаты, поэтому вы платите только за те ресурсы, которые используете.
[tg_youtube video_id="TPc4zdFg12M"]
Прежде чем перейти к тому, как работает OpsWorks, давайте сначала разберемся, почему вам следует выбрать OpsWorks.
Почему AWS OpsWorks?
Если вы уже пользуетесь услугами таких провайдеров, как Heroku, вам может быть интересно, что такого особенного в OpsWorks.
Одним из недостатков многих провайдеров является то, что вы ограничены несколькими распространенными шаблонами и стандартными пакетами, предлагаемыми этими службами. Такие предопределенные шаблоны сильно ограничивают архитектуру и функциональность вашего приложения. Часто вам придется выбирать архитектуру, которая лучше всего подходит для вашего приложения, а не руководствоваться тем, что нужно приложению.
Однако с OpsWorks у вас больше гибкости, поскольку вы можете настраивать серверы, а также уровни или службы, которые нужны вашему приложению. Кроме того, он предлагает лучший контроль над инстансами и архитектурами EC2, а также другими сервисами AWS. Кроме того, он обеспечивает большую автоматизацию и более надежный набор инструментов для управления вашим приложением. На самом деле определяющей особенностью OpsWorks является то, что он упрощает управление приложениями независимо от их сложности и масштаба. Кроме того, он автоматизирует многие задачи развертывания, такие как поддержка, откат, управление исправлениями и многое другое. Эти уникальные аспекты делают OpsWorks популярной облачной платформой для создания приложений любого типа.
Теперь, когда мы знаем, почему OpsWorks лучше многих других облачных платформ, давайте немного углубимся в ее базовую архитектуру, чтобы лучше понять ее операции.
Компоненты AWS OpsWorks
OpsWorks состоит из следующих компонентов:
- Стек. На самом высоком уровне стек представляет собой контейнер для ресурсов AWS, таких как экземпляры баз данных EC2 и RDS. Он может иметь пользовательские конфигурации и любое количество приложений, работающих на нем.
- Уровень. Уровень представляет собой набор сервисов, которые работают вместе для достижения общей цели. Типичное приложение может иметь много слоев, каждый из которых выполняет определенную задачу. Эти уровни могут представлять любой из следующих сервисов Amazon: Amazon RDS, Amazon EC2 и эластичную балансировку нагрузки.
- Экземпляры. В широком смысле экземпляр можно определить как базовую конфигурацию одного вычислительного ресурса, такого как экземпляр Amazon EC2. Конфигурация обычно ограничивается операционной системой и размером, тогда как другие параметры, такие как эластичные IP-адреса, определяются уровнями экземпляра. OpsWorks поддерживает следующие экземпляры:
- На основе времени — эти экземпляры запускаются AWS по ежедневному и еженедельному расписанию. Он даже регулирует количество экземпляров в соответствии с вашими моделями использования.
- 24/7 — эти экземпляры запускаются вручную и работают до тех пор, пока вы их не остановите.
- На основе нагрузки — эти экземпляры запускаются AWS OpsWorks и работают до тех пор, пока экземпляры не достигнут определенной метрики нагрузки, например использования ЦП, после чего OpsWorks их останавливает. Этот тип экземпляра доступен только для стеков на базе Linux.
- Приложения. Приложения — это ваш код, который может поступать из репозитория или корзины S3. Вы можете объединить и настроить несколько приложений вместе.
- Chef — хотя Chef на самом деле не является компонентом OpsWorks, о нем стоит поговорить здесь, потому что это инструмент для автоматизации настройки сервера. Этот инструмент содержит шаблоны кода, называемые «рецептами», которые помогают настроить каждый слой, и «поваренные книги», содержащие один или несколько рецептов. Вы можете использовать уже существующие рецепты Chef для выполнения таких задач, как установка пакетов, запуск сценариев, перезапуск серверов, авторизация пользователей и многое другое. Кроме того, пять событий жизненного цикла OpsWorks — установка, настройка, развертывание, отмена развертывания и завершение работы — выполняются по заранее заданному набору рецептов.
Это разные компоненты AWS OpsWorks, и далее мы увидим, как они объединяются, чтобы предоставить вам желаемую функциональность.
Работа AWS OpsWorks
OpsWorks начинается с настройки стека, в котором определяются конфигурации системы, параметры балансировки нагрузки, параметры сервера и базы данных. Затем он организует уровни, которые представляют собой не что иное, как подсистемы, такие как веб-серверы и серверы баз данных. Кроме того, слои содержат разные экземпляры и ресурсы, необходимые для приложения. Вы можете использовать Chef для настройки стеков и слоев с помощью пользовательского кода или с помощью готовых шаблонов, называемых кулинарными книгами. Вы можете создать любое количество стеков и слоев. Ограничение вычислений по умолчанию — 20 стеков, содержащих по 20 слоев в каждом.
Когда стеки и слои готовы, OpsWorks берет код приложения из выбранного вами места и запускает его на разных экземплярах. Он также поддерживает AWS Identity and Access Management, поэтому вы можете лучше управлять доступом пользователей и авторизацией.
OpsWorks предоставляет множество функций для мониторинга стека и устранения неполадок при необходимости. Метрики CloudWatch для стеков Linux и Windows, журналы CloudTrail и журналы Chef могут помочь вам разобраться в проблеме и устранить ее.
AWS OpsWorks также поддерживает интерфейс командной строки (CLI) и SDK для многих языков, что дает вам более широкий выбор для создания различных приложений.
AWS OpsWorks — это мощная платформа, позволяющая управлять приложениями с полным контролем над всеми функциями и аспектами. Наряду с другими предложениями Amazon, такими как AWS CloudFormation и AWS Elastic Beanstalk, а также коммерческими решениями от партнеров AWS создание и развертывание приложений стало проще, чем когда-либо прежде.