Шаблоны проектирования облака, поддерживающие оптимизацию затрат

При проектировании архитектур рабочих нагрузок следует использовать отраслевые шаблоны, которые отвечают на распространенные проблемы. Шаблоны могут помочь вам сделать преднамеренные компромиссы в рабочих нагрузках и оптимизировать для желаемого результата. Они также могут помочь снизить риски, связанные с конкретными проблемами, которые могут повлиять на надежность, безопасность, производительность и операции. Если они не будут устранены, риски в конечном итоге увеличат затраты. Эти шаблоны поддерживаются на основе реального опыта, предназначены для облачных и операционных моделей и по своей сути не зависят от поставщиков. Использование хорошо известных шаблонов для стандартизации структуры рабочей нагрузки является компонентом операционной эффективности.

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

Конструктивные шаблоны для оптимизации затрат

В следующей таблице перечислены шаблоны облачного проектирования, которые поддерживают цели оптимизации затрат.

Модель Сводка
Проверка утверждений Отделяет данные от потока обмена сообщениями, предоставляя способ отдельного извлечения данных, связанных с сообщением. Системы обмена сообщениями часто накладывают ограничения на размер сообщений, а увеличенные ограничения на размер часто являются премиум-функцией. Уменьшение размера текста сообщений может позволить вам использовать более дешевое решение для обмена сообщениями.
Конкурирующие потребители Применяет распределенную и параллельную обработку для эффективной обработки элементов в очереди. Этот шаблон может помочь оптимизировать затраты, включив масштабирование на основе глубины очереди до нуля, когда очередь пуста. Это также позволяет оптимизировать затраты, позволяя ограничить максимальное количество одновременных экземпляров-получателей.
Консолидация вычислительных ресурсов Оптимизирует и консолидирует вычислительные ресурсы за счет увеличения плотности. Этот шаблон объединяет несколько приложений или компонентов рабочей нагрузки в общей инфраструктуре. Это позволяет максимально эффективно использовать вычислительные ресурсы, избегая неиспользуемой подготовленной емкости за счет агрегирования компонентов или даже целых рабочих нагрузок в инфраструктуре в составе пула. Типичным примером являются оркестраторы контейнеров.
Перенесение в шлюз Разгружает обработку запросов на устройство шлюза до и после переадресации запроса на внутренний узел. Добавление шлюза разгрузки в процесс запроса позволяет перенаправлять в реализацию шлюза затраты из ресурсов, которые будут потрачены на каждый узел. Затраты в модели централизованной обработки часто ниже затрат на распределенную модель.
Мост обмена сообщениями Предоставляет посредника для обеспечения обмена данными между системами обмена сообщениями, которые в противном случае несовместимы из-за протокола или формата. Этот посредник может увеличить срок службы существующей системы, обеспечивая взаимодействие с системами, которые используют другую технологию обмена сообщениями или событиями.
Издатель/Подписчик Отделяет компоненты архитектуры, заменяя прямой обмен данными между клиентами и службами с помощью промежуточного брокера сообщений или шины событий. Такая схема может обеспечить в архитектуре подход на основе событий, который хорошо соответствует выставлению счетов на основе потребления, чтобы избежать чрезмерной подготовки.
Выравнивание нагрузки на основе очередей Управляет уровнем входящих запросов или задач, помещая их в очередь и позволяя обработчику очереди обрабатывать их в контролируемом темпе. Так как обработка нагрузки отделяется от запросов или задач, вы можете использовать этот подход, чтобы уменьшить потребность в чрезмерной подготовке ресурсов для обработки пиковой нагрузки.
Сегментирование Направляет загрузку в определенное логическое назначение для обработки конкретного запроса, обеспечивая совместное размещение для оптимизации. Система, реализующая сегменты, часто выигрывает от использования нескольких экземпляров менее ресурсоемких вычислительных ресурсов или ресурсов хранилища, а не одного более дорогого ресурса. Во многих случаях такая конфигурация может сэкономить деньги.
Размещение статического содержимого Оптимизирует доставку статического содержимого клиентам рабочей нагрузки с помощью платформы размещения, предназначенной для этой цели. Динамические узлы приложений обычно дороже статических узлов, так как динамические узлы могут выполнять закодированную бизнес-логику. Использование платформы приложений для доставки статического содержимого не является экономичным.
Подавление Предоставляет подход к систематической замене компонентов работающей системы новыми компонентами, часто во время миграции или модернизации системы. Цель этого подхода заключается в том, чтобы максимально использовать существующие инвестиции в текущую систему при постепенной модернизации. Это позволяет выполнять замену с высокой рентабельности инвестиций до замены с низкой рентабельности инвестиций.
Регулирование Накладывает ограничения на скорость или пропускную способность входящих запросов к ресурсу или компоненту. Ограничения могут быть связаны с моделью затрат и даже напрямую привязаны к бизнес-модели вашего приложения. Они также ставят четкие верхние границы использования, которые можно учитывать при определении размера ресурсов.
Ключ камердинера Предоставляет ограниченный доступ к ресурсу без использования промежуточного ресурса для прокси-сервера доступа. Такая схема разгружает обработку как монопольную связь между клиентом и ресурсом без добавления компонента для непосредственной обработки всех клиентских запросов. Преимущество наиболее заметно, когда клиентские запросы являются частыми или достаточно большими, чтобы требовать значительных ресурсов прокси-сервера.

Дальнейшие действия

Ознакомьтесь с шаблонами облачного проектирования, поддерживающими другие основные аспекты Azure Well-Architected Framework: