В сегодняшней статье мы проведем вас через процесс развертывания нашей инфраструктуры, где (как указано в заголовке) мы увеличили время развертывания с 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 в ближайшее время!