Как я создал каскадную систему обработки данных на основе AWS (Часть 2)
Каскадная система обработки данных на основе AWS (Часть 2)
Автоматический, масштабируемый и мощный
Ранее я поделился своим опытом разработки конвейера данных с использованием технологии AWS CloudFormation. Однако это не оптимальный подход, поскольку остаются еще 3 проблемы, требующие решения:
- Развертывание должно быть осуществлено вручную, что может увеличить вероятность ошибок;
- Все ресурсы создаются в одном единственном стеке без должных границ и слоев; по мере развития цикла разработки стек ресурсов становится тяжелее, и его управление становится катастрофой;
- Многие ресурсы должны быть сохранены и использованы в других проектах.
Вкратце, мы собираемся увеличить управляемость и повторное использование этого проекта в гибком режиме.
Решение
AWS позволяет пользователям реализовывать 2 типа структурных шаблонов в CloudFormation: перекрестная ссылка (cross-stack reference) и вложенное стекирование (nested stacking). Перекрестная ссылка представляет собой стиль проектирования, при котором облако разрабатывается отдельно и обычно независимо, а ресурсы между всеми стеками могут быть связаны на основе отношений ссылки. Вложенное стекирование означает, что CloudFormation стек состоит из других стеков. Это достигается с помощью ресурса AWS::CloudFormation::Stack
.
Поскольку одна из наших целей – улучшение управления проектом, проект будет разбит на слоевое разделение, и вложенное стекирование поможет в этом. Однако, учитывая внутреннюю взаимосвязь между артефактами существующего стека, нам также понадобится использовать перекрестную ссылку.
- Организация генеративного искусственного интеллекта 5 уроков, извлеченных из команд по науке о данных
- 15 сообществ Subreddit, связанных с искусственным интеллектом (ИИ) и машинным обучением в 2023 году
- Введение и реализация сетей Siamese
Реализация
Мы создали 3 лямбда-функции, 3 таблицы DynamoDB, 1 роль IAM вместе с прикрепленными политиками, несколько очередей SQS и несколько тревог Cloudwatch. Из-за сложности самих функций, в этой версии они будут определены в отдельных шаблонах, в которых используются только собственные сервисы, включая тревоги и очереди с мертвыми письмами. Кроме того, ресурсы IAM будут…