В сегодняшней статье мы проведем вас через процесс развертывания нашей инфраструктуры, где (как указано в заголовке) мы увеличили время развертывания с 3 недель до 3 дней и 3 часов с использованием Каталог сервисов AWS. Наша платформа IoT to AIML как услуга закалена в боях для водных и оборонных проектов, закрепляя передовой опыт, поэтому специалисты по обработке и анализу данных могут быстро создавать преимущество в принятии решений.

Начало: 3 недели (2019)

В начале развертывание нашей эталонной архитектуры IoT для AIML было, мягко говоря, утомительным процессом. Несмотря на то, что мы разбили инфраструктуру на модули, это по-прежнему был ручной процесс щелчков, ввода команд и конфигураций, тестирования, и если служба или компонент не работали должным образом, мы возвращались к нашей внутренней среде и сравниваем конфигурации и т. д.

На этот процесс у нас ушло в среднем 3 недели, как и на сквозное тестирование.

Раунд №1: 3 дня (2021 г.)

Чуть больше года назад мы решили в определенной степени автоматизировать процесс развертывания. Это не был полноценный проект автоматизации, поскольку у нас не было ни времени, ни ресурсов, которые можно было бы выделить на такой проект. Мы смогли выделить только 5 дней и один ресурс и приступили к преобразованию развертывания инфраструктуры в скрипты (AWS CLI).

Процесс был прост (на высоком уровне), брал каждый сервис, реализованный в эталонной архитектуре, и

  • Преобразуйте развертывание в AWS CLI Script
  • Максимально параметризируйте, это позволит настроить деплоймент
  • Протестируйте его, исправьте любые проблемы, внесите улучшения
  • Преобразовать скрипт в пакетный файл

Документ

  • Контроль версий
  • Предпосылка
  • Ожидаемые входы и выходы
  • Любые ошибки, например убедитесь, что правильный профиль AWS и регион настроены локально перед выполнением скриптов и т. д.

После того, как несколько сервисов были преобразованы с использованием приведенного выше контрольного списка, процесс стал ясен. Нам удалось добиться значительной экономии времени, сократив время развертывания эталонной архитектуры с 3 недель до 3 дней.

Раунд № 2: 3 часа (2022 г.)

За последние 12 месяцев наша эталонная архитектура IoT to AIML претерпела несколько итераций обновлений (основные обновления скоро появятся), и, изучая потенциальные риски, мы выявили следующие

  • Наряду с увеличением количества сервисов усложнилась архитектура.
  • Увеличено количество шагов настройки
  • Требования к повышенной безопасности, мониторингу и управлению.
  • Несколько проектов, где каждому клиенту потребуется несколько сред

Пришло время еще раз попытаться улучшить наш процесс, на этот раз речь идет не только о сокращении времени развертывания, но и о возможности управлять исправлениями, изменениями и улучшениями в инфраструктуре. Мы рассмотрели инфраструктуру как код (IaaS) и доступные варианты и выбрали Каталог сервисов AWS в качестве решения. Он был доступен в течение нескольких лет и был в зрелом состоянии для наших требований.

  • Основы. Понимание основ поможет вам сэкономить часы или даже дни, бегая по кругу, пытаясь заставить все работать. В онлайн-контенте AWS есть множество каналов YouTube, на которых представлен отличный контент в каталоге сервисов AWS.
  • Каталог услуг – это служба, которая использует CloudFormation для развертывания инфраструктуры как кода (IaaS).
  • Продукт —стек CloudFormation, который может развертывать одну или несколько служб.
  • ЯзыкYAMLили JSON, мы рекомендуем YAML, помимо полной совместимости с JSON, он также поддерживает комментарии, а комментарии можно использовать для разбивки разделы и объясните, что делает каждый раздел. Это важно для дальнейшего использования
  • Версии. У каждого продукта может быть несколько версий, используемых для выпуска исправлений, улучшений и обновлений.
  • Информация о поддержке — используется для предоставления информации о продукте, электронной почты службы поддержки, ссылок и т. д.
  • Портфолио — набор продуктов.
  • Ограничения — применение ограничений, управление и контроль затрат.
  • Теги — можно использовать для хранения метаданных о каждой услуге, теги также можно использовать для расчета стоимости на уровне детализации.
  • Общий доступ — управляйте доступом, делясь портфолио с другими аккаунтами AWS, подразделениями, группами, ролями и пользователями.
  • Песочница. Очень важно иметь изолированную среду для проверки того, что вы узнали, настроив отдельный аккаунт AWS. После завершения тестирования отключите все услуги и, если необходимо, закройте учетную запись.
  • Заставьте это работать, быстро и грязно, некоторые могут сказать
  • Беспокойство об очистке кода, добавлении тегов и т. д. после того, как основной код заработает должным образом.
  • Попробуйте несколько тестовых сценариев
  • Завершите все и повторите попытку, пока не будете довольны результатом.
  • Не забывайте обновлять документацию по мере продвижения
  • Домашняя страница продукта — это среда, в которой продукт (в нашем случае эталонная архитектура) будет настроен, все обновления, исправления и улучшения будут тестироваться в тестовой среде, а затем внедряться в домашнюю страницу продукта до распространяется на другие внутренние или клиентские среды
  • Среда тестирования развертывания — здесь тестируется окончательное развертывание продукта. После того, как код очищен и настроен в среде Product Home, он передается в тестовую среду развертывания, где полностью развертывается вся архитектура. Это выявит любые проблемы с процессом развертывания, документацией и т. д. После завершения развертывания вы выполняете сквозной процесс тестирования, который завершает весь процесс.

Все это упражнение заняло у нас около 10–12 дней, и нам удалось сократить время развертывания с 3 дней до 3 часов.

Основные преимущества и выводы:

  • Быстрое развертывание (аналогично быстрому стартовому пакету) проверенной в реальных условиях инфраструктуры
  • Снижение затрат на профессиональные услуги, высвобождение большего количества времени/бюджета, чтобы сосредоточиться на решении задач науки о данных для наших клиентов.
  • Почти беспрепятственно получать обновления, исправления и улучшения
  • Будьте в курсе новейших технологий, вчерашние методы и инструменты могут быть уже недостаточно хороши.
  • Всегда есть лучший способ выполнить одну и ту же задачу, ключ в том, чтобы определить, когда начать использовать лучший метод.
  • Всегда сравнивайте усилия с преимуществами, а не только с техническими преимуществами, клиент также должен получить от этого выгоду.

Спасибо за прочтение. Следите за нашим следующим крупным обновлением нашей эталонной архитектуры IoT to AIML в ближайшее время!