Эта модель зрелости берет вас на путь от базовой осведомленности о затратах до расширенной оптимизации.
Начиная с базовых методик, таких как прозрачность и подотчетность, вы постепенно создадите сложные возможности, включая систематический анализ, пользовательский анализ, производственные обучения и в конечном итоге расширенные методы эффективности. Прогрессия предназначена для преобразования вашего подхода от простого реагирования на сюрпризы затрат на упреждающее формирование финансовых результатов, которые соответствуют вашим бизнес-целям.
Модель структурирована на пяти отдельных уровнях зрелости, каждая из которых имеет основную цель и набор основных стратегий. Используйте приведенные ниже вкладки, чтобы изучить каждый уровень. Не забудьте также проверить выделенные компромиссы и связанные риски по ходу выполнения.
устанавливает подотчетность команды и базовые процессы для управления затратами на рабочую нагрузку на протяжении всего жизненного цикла.
Уровень 1 модели зрелости помогает командам рабочей нагрузки понять бюджет и настроить процессы и средства для управления затратами во время жизненного цикла рабочей нагрузки. Прежде чем настраивать более зрелые процессы, например создание модели затрат, следует сосредоточиться на основных рекомендациях по управлению затратами, чтобы начать рабочую нагрузку без возникновения проблем с бюджетом.
Следующие рекомендации помогут эффективно управлять затратами при эффективном создании рабочей нагрузки.
Ключевые стратегии
✓ Совместное использование финансовых целей, сведений о бюджете и расходов на рабочую нагрузку со всеми участниками команды, руководителями и лицами, принимающими решения
Предоставьте заинтересованным лицам подробные сведения о выделенном бюджете, разбивке затрат и финансовых целях для рабочей нагрузки. Поделитесь подробными сведениями о различных расходах, таких как расходы на инфраструктуру, лицензии на программное обеспечение и операционные расходы. Эта практика не часто рассматривается, но она важна. Он помогает создать доверие между командой рабочей нагрузки и командами руководства и показывает, что группа рабочей нагрузки думает заранее об управлении расходами. Эта совместная работа также помогает мотивировать команду по управлению нагрузкой оставаться прилежной в управлении затратами из-за своих обязательств перед командами руководства.
Используйте средства совместной работы, чтобы поощрять участников группы предоставлять общий доступ к идеям оптимизации затрат и аналитическим сведениям. Предоставляет механизмы для совместной работы команды над своими идеями и аналитическими сведениями. Этот подход позволяет членам команды вносить предложения по всем направлениям деятельности группы по рабочим задачам. Когда вы способствуете культуре сотрудничества в области оптимизации затрат, вы укрепляете убеждение, что управление затратами на рабочую нагрузку ложится на каждого члена команды в равной степени.
Чтобы мотивировать мышление по оптимизации затрат, рассмотрите возможность подтверждения отдельных лиц и команд, которые демонстрируют финансовую ответственность и способствуют оптимизации затрат. Вы можете использовать оценки производительности, стимулы или другие программы распознавания.
✓ Сбор подробных данных о затратах из всех источников, включая выставленные счета и измеренные данные
Данные выставленных счетов представляют фактические суммы счетов, а измеренные данные являются прогнозируемыми на основе планов выставления счетов. Чтобы получить полное представление о затратах рабочей нагрузки, изучите все доступные средства и методы, предоставляемые поставщиком услуг. Ежемесячный счет может не дать заинтересованным лицам достаточно подробных сведений о расходах. Скомпилируйте данные, чтобы сэкономить время, расследуя неясные обвинения и объясняя неясные термины. После сбора данных об использовании централизуйте их в единой системе.
Используйте панели мониторинга выставления счетов с фильтрами для разных представлений. Заинтересованные лица и участники группы рабочей нагрузки могут использовать фильтры, чтобы легко увидеть наиболее актуальную для них информацию.
✓ Определение драйверов затрат
Чтобы определить, как различные компоненты рабочей нагрузки способствуют общим затратам, используйте средства, которые вы использовали для сбора данных о выставлении счетов. Обратите особое внимание на затраты, связанные с процессами, такими как передача данных или транзакции, и как они способствуют общим затратам. Эти затраты часто игнорируются во время начальной оценки затрат на ресурсы перед развертыванием.
Вы также должны понять, как факторы, которые не связаны напрямую с облачными ресурсами, могут повлиять на бюджет. Эти факторы могут включать обучение участников команды и лицензирование программного обеспечения, которым ваш поставщик облачных служб не управляет.
✓ Решите, следует ли построить или купить
Одно из первых решений, которое должна принять команда по управлению рабочей нагрузкой, заключается в том, следует ли использовать готовые решения или самостоятельно разрабатывать их. Как правило, платформа Well-Architected framework предпочитает держать вещи простыми. Использование готовых решений следует этой философии. Хорошо поддерживаемые решения освобождают команду от операционного бремени и сокращают время, необходимое для разработки, чтобы разработчики могли сосредоточиться на основных функциональных возможностях приложения.
Компромисс: Учитывайте затраты при выборе того, следует ли создавать или покупать решение. Создание решений внутри компании обычно означает первоначальные инвестиции в затраты на разработку и любые ресурсы, необходимые для завершения разработки. Но у вас меньше повторяющихся затрат, потому что вам не нужно поддерживать контракты на поддержку или лицензирование.
Чтобы помочь вам принять правильное решение для вашей команды, оцените следующие моменты.
-
Требуемый уровень контроля: Определите, какой уровень управления над функциональностью решения вам необходим.
-
Необходимый объем настройки: Определите уровень настройки, подходящий для развивающейся рабочей нагрузки.
-
Ожидаемое время вывода на рынок: Узнайте ожидания заинтересованных сторон по выводу рабочей нагрузки на рынок и как лучше всего соответствовать этим срокам.
-
Необходимый технический опыт: Определите, сколько знаний необходимо сохранить для создания и эксплуатации решения.
-
Ожидаемое рабочее бремя: Оцените, сколько времени и усилий требуется для поддержки решения.
Эти оценки помогают понять общую стоимость каждого варианта, чтобы вы могли сравнивать их между собой. Общая стоимость может не быть единственным фактором принятия решений. Но если варианты имеют значительные различия, выберите вариант с более низкой стоимостью, чтобы ускорить разработку рабочей нагрузки.
✓ Инвестировать в навыки вашей команды
Инвестируйте в повышение квалификации в тех областях, где вашей команде не хватает знаний. Сильные облачные навыки упрощают долгосрочное принятие решений и оптимизируют ежедневную производительность. Рассмотрите возможность обучения или сертификации, предлагаемых поставщиком облачных услуг или другими партнерами. Повышение производительности команды, работающей с нагрузкой, и других лиц, принимающих решения, экономит вам время и деньги, минимизируя дорогостоящие ошибки.
Создавать систематический анализ затрат и отчеты, чтобы понять модели расходов.
После первоначального развертывания внимание сосредотачивается на разработке новых функций и увеличении продаж, при этом управление затратами часто упускается из виду. На уровне 2, как ожидается, увеличится расходы, поэтому необходимо принять структурированный подход. Оцените затраты на инструменты и технологии, создайте базовые показатели и определите ключевые факторы затрат.
Управление затратами может показаться подавляющим, но систематический анализ затрат на раннем этапе необходим для поддержания финансового контроля и поддержки роста.
Ключевые стратегии
✓ Разработка базовой модели затрат
Модель затрат — это оценка общей стоимости рабочей нагрузки. Затраты разбиваются на факторы, такие как службы платформы, хранилище данных, потоки пользователей и системных операций. Как минимум, следует проводить систематический анализ затрат и создавать базовую модель затрат. Это упражнение помогает принимать обоснованные решения о выделении ресурсов и оптимизации.
Создайте инвентаризацию всех ресурсов Azure и укажите, какие аспекты каждого ресурса приводят к более высоким затратам.
Задайте вопросы о выборе технологий и их выравнивании с такими целями, как масштабируемость и надежность в пределах ограничений затрат. Для каждого ресурса обратите внимание на затраты и определите, слишком ли высокая или слишком низкая стоимость. Измеряйте ожидаемые нагрузки, учитывая потенциальный рост.
Обратите внимание на стоимость потоков и различие критических и некритических потоков. Приоритет критически важных потоков, таких как взаимодействие с пользователем в приложении электронной коммерции, над некритичными потоками, такими как фоновые задания для целей аудита.
Вычислите стоимость хранилища данных и шаблонов доступа к данным.
✓ Создание отчетов о затратах
Создание базовых отчетов о затратах для финансовой видимости и анализа шаблонов затрат. Кроме того, настройте оповещения о затратах при превышении определенной суммы расходов.
Мы рекомендуем использовать microsoft Cost Management для анализа, мониторинга и контроля расходов на услуги. Если этот параметр недоступен, создайте систему для отслеживания потребления и создания ежемесячного отчета.
✓ Настройка подотчетности
Подотчетность является неизменяемой для управления затратами. На ранних этапах назначьте члена группы просматривать бюджеты и отчеты о затратах ежемесячно и информировать команду о непредвиденных пиках. Подотчетный человек должен оценивать расходы на рабочую нагрузку и управлять командой соответствующим образом.
Изначально подотчетность может быть гибкой. По мере того как стартап созревает, ужесточайте контроль.
✓ Оценка возможностей оптимизации
Модель затрат должна дать вам хорошее представление о ключевых драйверах затрат, а отчеты о затратах должны предоставлять доказательства. Оцените эти драйверы и изучите возможности оптимизации. Рассмотрим следующие стратегии.
Оцените модель выставления счетов для каждого ресурса Azure, который использует рабочая нагрузка. Определите, требуются ли вам все функции, которые включены в каждый план. Например, если вам требуются определенные функции, такие как частная конечная точка с Azure Front Door, может потребоваться план "Премиум". В противном случае рекомендуется выбрать более низкий план для экономии затрат.
Выберите между выставлением счетов на основе потребления и выставлением счетов на основе обязательств. Мы рекомендуем начать с выставления счетов на основе потребления, чтобы вы могли понять затраты. Если нагрузка согласована, вы можете изучить скидки, которые Azure предоставляет для согласованных нагрузок на более поздних этапах.
Оцените методики написания кода. Используйте инструментирование кода для выявления процессов, которые являются дорогостоящими для выполнения и предоставления аналитических сведений о проблемах с производительностью, что может повлечь за собой ненужные затраты. Соберите такие метрики, как длительность процесса и частоту сбоев, чтобы принимать решения на основе данных для будущей оптимизации.
✓ Определите начальную стратегию масштабирования
Горизонтальное масштабирование предпочтительнее, так как оно более экономично и проще в реализации по сравнению с вертикальным масштабированием. Увеличение масштаба приводит к простоям и увеличению затрат.
Рассмотрите возможность тестирования производительности и оценки метрик, а затем масштабируйте или расширьте ресурсы на основе вашей оценки.
включает отзывы пользователей и операционные сигналы для уточнения стратегий оптимизации затрат.
На ранних этапах разработки и эксплуатации рабочей нагрузки вы можете полагаться на цикл обратной связи внутренней разработки для оптимизации вашей рабочей нагрузки. На этом уровне зрелости важно расширить цикл отзывов, чтобы включить как внутренних, так и внешних пользователей, а также других заинтересованных лиц. При внесении изменений для оптимизации затрат в рабочую нагрузку необходимо также учитывать компромиссы с другими столпами, особенно с такими, как эффективность производительности и надежность.
Уровень 3 пилона оптимизации затрат фокусируется на подготовке рабочей нагрузки к эксплуатации путем интеграции внутренних и внешних отзывов в стратегию, обеспечивая достижение показателей по производительности и надежности.
Ключевые стратегии
✓ Инвестировать в влиятельные потоки и точно настроить другие потоки
Рассмотрим приоритеты, назначенные потокам приложений. Ставьте приоритет на разработку критических потоков, одновременно находя способы упростить и снизить затраты на некритические потоки. Некритичные потоки могут иметь менее строгие требования к надежности. В результате вы можете упростить свой дизайн.
Для каждого потока устраните ненужные элементы, выберите соответствующие уровни производительности, настройте параметры масштабирования для переменной спроса и настройте конфигурации для соответствия требованиям производительности и бюджета. Отслеживайте потоки для выявления неэффективности, таких как неиспользуемые вычислительные экземпляры, неиспользуемые данные и низкая пропускная способность сети. Используйте собственные средства ведения журнала и анализа, чтобы объединить и проанализировать эти метрики с целью выявления тенденций.
Обеспечение контроля затрат с помощью уведомлений
Создайте пороговые значения расходов и связанные оповещения, чтобы обеспечить защиту затрат. Такой подход гарантирует, что рабочая нагрузка остается в бюджете. Примеры оповещений включают следующие типы:
Оповещения о бюджете позволяют задавать пороговые значения расходов, отслеживать затраты и получать уведомления, помогающие контролировать расходы и оставаться в курсе.
Оповещения о аномалиях затрат уведомляют вас о непредвиденных вариантах затрат. Они позволяют исследовать и устранять неэффективность или ненормальные шаблоны расходов.
Оповещения об использовании плана на основе обязательств помогают отслеживать и оптимизировать использование ресурсов на основе обязательств, уведомляя заинтересованных лиц, когда использование снижается ниже требуемого порогового значения.
✓ Разработка стратегии оптимизации использования ресурсов
При создании непроизводственных и рабочих сред вы можете непреднамеренно развертывать избыточные ресурсы. Со временем можно накапливать ресурсы, которые были развернуты для подтверждения концепции (PoC) или для тестирования, которые больше не требуются. Разработка стратегии выявления неиспользуемых и неиспользуемых ресурсов является важной для непрерывного улучшения в поддержании оптимизированной облачной среды. Рассмотрите следующие рекомендации.
Используйте правильные типы ресурсов и номера SKU для каждой среды. Изучите параметры инфраструктуры, которые предоставляет облачная платформа, и выберите типы ресурсов и номера SKU, подходящие для каждого варианта использования. Часто существуют определенные типы ресурсов и номера SKU, предназначенные специально для сред PoC и разработки/тестирования. Эти типы ресурсов и номера SKU значительно менее дороги, чем стандартные или высокопроизводительные ресурсы, но их нельзя использовать для рабочих нагрузок.
Настройте и примените политики для ограничения типов ресурсов, номеров SKU, регионов и разрешений развертывания для пользователей. Автоматические политики помогают управлять изменениями среды. Этот процесс снижает риск несанкционированного развертывания.
Стандартизируйте, используя инфраструктуру как код для всех изменений среды. Этот подход помогает применять политики изменения среды и упрощает операции, чтобы снизить риск человеческой ошибки.
Отслеживайте метрики использования, такие как ЦП, память и хранилище, чтобы определить, не используются ли ресурсы и могут быть уменьшены.
Просмотрите тестовые и рабочие среды с целью поиска неиспользуемых ресурсов, которые можно безопасно завершить или удалить.
Воспользуйтесь инструментами, которые предоставляет облачная платформа, чтобы определить оптимизацию ресурсов. Например, Помощник по Azure предоставляет рекомендации по оптимизации затрат , которые определяют потенциальные неэффективности и предлагают действия по их устранению.
Компромисс: При настройке ресурсов учитывайте целевые показатели производительности и надежности. Взаимодействуйте с заинтересованными лицами, когда компромиссы могут помочь сбалансировать производительность, надежность и затраты, или когда ограничения бюджета препятствуют улучшению рабочей нагрузки.
✓ Оптимизация лицензий и других статических затрат
При развертывании облачных ресурсов следует использовать стратегический подход к приобретению лицензий и другим фиксированным ежемесячным затратам. К этим затратам относятся лицензирование сервера и базы данных, лицензирование программного обеспечения и предварительные резервирования. Рассмотрим следующие стратегии экономии затрат:
Варианты исследования, такие как преимущество гибридного использования Azure, для применения существующих лицензий к системам, которые вы переносите в облако или для новых развертываний в облаке. Изучите любые соглашения о лицензировании на объемные закупки или корпоративные соглашения, поддерживаемые вашей организацией, чтобы воспользоваться возможной экономией на облачных ресурсах или лицензировании программного обеспечения.
Используйте непроизводственные и тестовые лицензии для применимых систем, таких как лицензии разработки и тестирования из Visual Studio.
Предварительно приобретайте мощности облачных ресурсов, когда это целесообразно. Резервная емкость может значительно сократить ежемесячные затраты на использование и обеспечить более согласованные расходы.
Риск: При приобретении резервов убедитесь, что вы выбираете наиболее экономичную модель для вашего варианта использования. Например, если ресурс можно уменьшать по ночам или сезонно, это может быть более экономичным решением, если подходить к вопросу масштабирования с умом. Кроме того, определите правильный номер SKU для предварительной покупки с помощью базового тестирования и планирования емкости.
✓ Уточнение политик автомасштабирования
Начальные политики масштабирования могут основываться на цикле обратной связи по внутреннему развитию. Эти политики сосредоточены на настройке масштабирования в соответствии с потребностями разработки. По мере развития рабочей нагрузки включите как внутренние, так и внешние отзывы пользователей, чтобы гарантировать, что производительность остается в допустимом диапазоне.
Настройте пороговые значения масштабирования и введите периоды охлаждения, чтобы снизить временные пики нагрузки. Непрерывно отслеживайте и настраивайте систему для оптимизации затрат и удовлетворения требований. Определите единицы измерения шкалы для использования в будущем. Эти единицы зависят от таких факторов, как проектирование рабочей нагрузки, вариант использования, компоненты, потоки и бизнес-требования.
Например, для критически важных рабочих нагрузок единица масштабирования может быть всей меткой развертывания. Кроме того, для более простых рабочих нагрузок, имеющих некритичные потоки, единица масштабирования может быть основана на количестве вычислительных экземпляров определенного номера SKU, выделенного рабочей нагрузке. Выберите единицы масштабирования, позволяющие рабочей нагрузке обрабатывать ожидаемые увеличение нагрузки без потери емкости. Обновите модель затрат, чтобы включить прогнозируемые потребности масштабирования.
✓ Оптимизация инфраструктуры данных
Данные являются основным драйвером затрат на облако. Правильное управление данными может помочь обеспечить согласованность затрат и в рамках бюджета. Используйте следующие стратегии для управления хранилищем данных:
Классификация и метка данных для применения соответствующих элементов управления и определения соответствующих уровней надежности и производительности для различных типов данных и хранилищ.
Захватывайте только важные данные, сжимайте данные для более холодного хранилища и удаляйте ненужные данные с помощью соответствующих политик хранения. Дедупликация данных для устранения избыточных данных и обучения пользователей эффективным методам хранения данных.
Оптимизируйте резервные копии с помощью добавочных резервных копий, включения сжатия и перемещения старых резервных копий в холодное хранилище.
Оптимизируйте репликацию, применяя соответствующие модели репликации, будь то синхронные или асинхронные, для оптимизации репликации на основе ваших требований. Настройте частоту репликации в соответствии с конкретными потребностями. Непрерывно оцените требования и конфигурацию.
Включите внутренние и внешние отзывы, чтобы просмотреть шаблоны доступа к хранилищу и настроить стратегии управления жизненным циклом данных.
Используйте средства для оптимизации запросов.
Компромисс: Сравните политики резервного копирования и репликации с целевыми объектами восстановления. Менее частое репликация или разгрузка старых резервных копий в холодное хранилище может повлиять на время восстановления, поэтому следует учитывать реализацию этих оптимизаций.
✓ Оптимизация кода, методики разработки программного обеспечения и стратегии разработки функций
Неэффективный код может снизить производительность системы. Это неэффективность может привести к более высоким затратам на использование ресурсов. Оптимизация кода может повысить эффективность и позволить рабочей нагрузке обрабатывать больше нагрузки, не требуя увеличения масштаба ресурсов. Используйте следующие стратегии для оптимизации кода:
Анализ данных среды выполнения и измерение производительности с помощью средств профилирования.
Оцените бизнес-логику и ее влияние на взаимодействие с пользователем.
Ознакомьтесь с рекомендациями по производительности для конкретного языка.
Удалите ненужные вызовы функций, минимизируйте логирование и уточните циклы и условные конструкции.
Уменьшите обработку данных, уменьшите сетевые запросы и выделение памяти, а также оцените сквозные реализации.
Используйте следующие методы для оптимизации сетевых путей:
Свести к минимуму передачу данных между компонентами и между географически удаленными регионами путем анализа и устранения ненужных передач. Убедитесь, что отправляются только необходимые поля данных, а не все объекты или структуры данных. Такой подход уменьшает размер и частоту передачи данных.
Избегайте передачи избыточных данных, отправляя только необходимые сведения.
Рефакторинг кода, чтобы уменьшить повторяющиеся запросы и пакетировать их, когда это возможно.
Упрощение методик разработки повышает скорость сборки. Этот подход помогает командам рабочей нагрузки сэкономить ценное время и эффективно предоставлять улучшения в рабочей среде. Используйте следующие стратегии для оптимизации методик разработки:
Ускорение времени сборки путем оптимизации конфигурации, удаления ненужных шагов и процессов, параллелизации задач, использования кэширования и включения добавочных сборок для предотвращения избыточной компиляции.
Используйте имитацию производственной среды для оптимизации тестирования. Имитация производственной среды позволяет разработчикам сосредоточиться на тестировании имитированных сценариев, которые трудно воспроизвести в реальной рабочей среде.
Оптимизируйте методики планирования разработки, определяя четкие цели и метрики, используя средства мониторинга для отслеживания ключевых показателей производительности и приоритета практических аналитических сведений.
Используйте средства помощи по написанию кода искусственного интеллекта, такие как GitHub Copilot, чтобы сократить время разработки при практическом применении.
Оцените стратегию разработки функций, чтобы обеспечить приоритеты ценных функций. Включите отзывы как внутренних, так и внешних пользователей и заинтересованных лиц, чтобы определить функции, которые больше всего повышают удовлетворенность пользователей и повышают вовлеченность. В некоторых сценариях функции могут быть разработаны специально для оптимизации затрат. Сравните эти функции с функциональными приоритетами для оценки их относительного значения.
Осуществляйте целевые оптимизации затрат с использованием операционных данных из производственной среды.
Четвёртый этап модели зрелости предполагает, что вы развернули в промышленной среде и эксплуатировали рабочую нагрузку достаточно времени, чтобы собрать полезные сведения о его типичном выполнении. На этом уровне примените эти производственные данные к вашей среде.
Изменения в рабочей среде напрямую влияют на другие аспекты рабочей нагрузки. Например, усовершенствования, направленные на экономию затрат, могут повлиять на один или несколько других столпов структуры Well-Architected. По этой причине зрелые методики управления изменениями имеют решающее значение. При внесении корректировок для экономии затрат на рабочую нагрузку тщательно пересматривайте и тестируйте изменения, а также разрабатывайте планы отката для смягчения последствий на производительность, безопасность и надежность.
Ключевые стратегии
Уточнить модель затрат на основе полученных уроков производства
После развертывания и эксплуатации рабочей нагрузки в продуктивной среде в течение достаточно долгого времени, чтобы понять обычные шаблоны использования, пересмотрите свою модель расходов, чтобы спланировать будущее. Модель затрат должна проектировать будущие расходы, выделять средства и настраивать отклонения. В анализе сценариев модель затрат оценивает финансовое влияние различных бизнес-изменений и прогнозирует последствия для поведения клиентов. Для оптимизации ресурсов он определяет неиспользуемые облачные ресурсы, прогнозирует затраты на масштабирование и сравнивает модели выставления счетов поставщиков облачных служб, чтобы выбрать наиболее экономичный вариант.
В рамках этого упражнения определите, насколько ваши текущие затраты соответствуют ранее разработанной модели затрат и исследуйте причины несоответствий. Поиск непредвиденных затрат распространен и назначение вины для них обычно непродуктивно. Вместо этого оцените значение компонентов, которые управляют непредвиденными затратами. Совместная работа с заинтересованными лицами, чтобы решить, следует ли изменить структуру рабочей нагрузки для лучшего выравнивания с моделью затрат или изменить модель затрат.
Компромисс: Имейте в виду, что трудно точно проектировать переменные затрат, особенно при внедрении новых технологий. Возможно, вам придется искать компромиссы при планировании бюджета. Убедитесь, что заинтересованные лица понимают, как вы определяете оценку стоимости переменных и стратегию поддержания этих затрат под контролем.
Риск: Меры снижения затрат могут негативно повлиять на надежность, безопасность, производительность и эффективность работы. Тщательно проанализируйте влияние каждой запланированной меры сокращения затрат и определите, если изменение стоит возможных последствий.
✓ Оптимизируйте использование данных для сокращения затрат
Используйте рабочую аналитику для уточнения стратегий обработки данных. В частности, ищите возможности оптимизации для следующих факторов:
- Оптимизируйте решения для хранения с учетом простоты управления. Оцените, насколько текущие развернутые решения для хранения данных соответствуют вашим требованиям и может ли переход на другую технологию снизить операционное бремя или расходы на использование. Например, вы могли бы первоначально развернуть SQL Server на виртуальных машинах, чтобы легко перенести рабочую нагрузку или так как это была наиболее знакомая технология для вашей команды рабочей нагрузки. Переход на решение платформы как услуги (PaaS) может значительно сократить эксплуатационные накладные расходы и снизить затраты в зависимости от различных факторов.
✓ Увеличение плотности ресурсов
Когда это возможно, оптимизируйте затраты путем консолидации общих сервисов в разных рабочих нагрузках. Например, можно разместить несколько веб-приложений на одном сервере или экземпляре PaaS. Несколько рабочих нагрузок могут иметь общий доступ к базам данных, сетевым ресурсам, системам безопасности и другим службам. Выполните анализ затрат и выгод, чтобы определить, является ли консолидация ресурсов достаточно ценной для вашей команды. После определения кандидатов на консолидацию тщательно спланируйте реализацию и следуйте рекомендациям по управлению изменениями. Убедитесь, что заинтересованные лица понимают риски.
Риск. Консолидация ресурсов может сделать рабочую нагрузку менее надежной и менее безопасной. Критически важные рабочие нагрузки и нагрузки, важные для бизнеса, должны отдавать предпочтение надежности и безопасности, а не консолидации.
Риск: плохо выполненная консолидация может привести к будущим неэффективностям. Тщательно просмотрите план консолидации, чтобы избежать создания узких мест, которые могут повлиять на вас в будущем перед выполнением миграции. После миграции обратите особое внимание на мониторинг консолидированных ресурсов, чтобы убедиться, что они функционируют согласно ожиданиям.
✓ Оценка и оптимизация функций приложения
Отслеживайте шаблоны использования функций в рабочей среде, чтобы оценить их соответствие модели затрат. Определите, следует ли поддерживать, рефакторизовать или удалять функцию. В некоторых случаях монетизация функций может быть стратегическим бизнес-решением. Функции могут не оправдать текущие инвестиции, но по-прежнему могут обеспечить ценность для клиентов. Предложение этих функций как платных надстроек или подписок может помочь компенсировать инвестиционные затраты.
✓ Минимизация затрат на масштабирование путем регулирования спроса
Стратегия, которая помогает оптимизировать затраты на масштабирование ресурсов, регулирует спрос вместо добавления емкости. Этот подход может включать разгрузку спроса на другие ресурсы или сокращение его с помощью различных стратегий, таких как очереди приоритетов, буферизация, балансировка нагрузки и кэширование. При рассмотрении этой тактики оцените их влияние на другие основы платформы Well-Architected. Контроль поставок путем ограничения масштабирования и настройки бюджета помогает держать расходы в пределах определенных пороговых значений. Отслеживание использования и использование платформ управления затратами и оповещений бюджета для эффективного мониторинга и контроля расходов.
Компромисс: Выгрузка задач на другие ресурсы может снизить затраты на масштабирование, но может привести к проблемам с операционным и обслуживанием. Выполните тщательный анализ преимущества затрат, чтобы убедиться, что выбранный метод разгрузки является эффективным и приемлемым. Обязательно сбалансируйте экономию с потенциальными сложностями.
✓ Обеспечение подотчетности затрат путем владения
Назначение непосредственно ответственного за расходы (DRI) помогает команде, отвечающей за рабочую нагрузку, взять на себя ответственность за их затраты. ФУНКЦИЯ DRI отвечает за управление и оптимизацию затрат путем мониторинга использования, реализации стратегий снижения затрат и обеспечения того, чтобы расходы соответствовали бюджетным требованиям и бизнес-целям. DRI принимает решения, связанные с распределением облачных ресурсов, выявляет пути потенциального сокращения затрат и обеспечивает эффективное использование облачных сервисов, чтобы избежать ненужных расходов.
DRI также выступает в качестве передней линии защиты от более высоких, чем ожидалось затрат на рабочую нагрузку. Прямо ответственные лица могут помочь определить причину этих высоких затрат и упреждающе работать с командой, ответственной за рабочую нагрузку, чтобы уменьшить их до ожидаемого диапазона до того, как они станут чрезвычайно дорогими.
преобразовывает оптимизацию затрат в конкурентное преимущество с помощью непрерывных инноваций.
На уровне 5 модели зрелости у вас должно быть много механизмов оптимизации затрат и процессов. Уровень 5 фокусируется на максимизации прибыли на инвестиции (ROI), сохраняя согласованный и прогнозируемый бюджет рабочей нагрузки, создавая высоко точные прогнозы и применяя расширенные уточнения. Рассмотрите следующие рекомендации по достижению этих целей.
Ключевые стратегии
✓ Внедрение ограничений расходов в процессы разработки программного обеспечения
Используйте контрольные точки выпуска, чтобы служить в качестве ограничений по расходам, устанавливая критерии, связанные с затратами, которые должны быть выполнены для прохождения контрольной точки. Например, можно задать ограничения расходов, чтобы гарантировать, что выпуски не добавляют непредвиденные затраты в бюджет рабочей нагрузки. Включите эти шлюзы в конвейер непрерывной интеграции и непрерывной доставки, чтобы убедиться, что они включены в каждое развертывание.
✓ Инвестировать в создание знаний
Предоставьте команде, работающей с нагрузкой, возможность взять на себя инициативу по оптимизации затрат, разработав программу обучения навыкам. Поощряйте участников группы учиться у лидеров отраслевых идей, участвуя в конференциях, вебинаров и других соответствующих мероприятиях. Предоставьте внутреннее обучение для поддержки навыков перекрестной подготовки и создания песочниц для практического обучения. Выравнивайте обучение с инициативами оптимизации затрат, такими как оптимизация стратегий масштабирования. Высоко квалифицированные команды повышают эффективность и могут снизить зависимость от третьих сторон для будущих проектов.
Убедитесь, что ваша модель затрат включает запланированные учебные курсы для определенного финансового периода, например предстоящий квартал.
✓ Оптимизация затрат на высокий уровень доступности и аварийное восстановление
После проведения тренировок по аварийному восстановлению или возникновения реальных происшествий аварийного восстановления могут появиться возможности для оптимизации затрат. Возможно, вы обнаружите, что для определенных компонентов достаточно менее затратной стратегии аварийного восстановления, чтобы соответствовать вашим целям восстановления. Например, для некритических процессов может и не потребоваться резервная система. В этом сценарии рекомендуется внедрить метод развёртывания при восстановлении.
В рамках практик непрерывного улучшения регулярно пересматривайте целевые показатели восстановления, чтобы обеспечить соответствие требованиям к надежности и затратам.
✓ Уточнение структуры рабочей нагрузки
После длительного наблюдения за рабочей нагрузкой в производственной среде вы можете определить, что достигли предела целесообразных оптимизаций без необходимости рефакторинга частей. Рефакторинг может быть трудоемким и дорогостоящим. Однако рефакторинг может быть полезным вложением, если это приведет к долгосрочной экономии затрат. Кроме того, он может расширить жизненный цикл рабочей нагрузки, приняв более эффективные технологии и методики управления. Рассмотрим следующие стратегии.
Объединение аналогичных потоков. Сокращение избыточности или недостаточного использования ресурсов путем консолидации аналогичных потоков на общий ресурс или набор ресурсов. Например, можно разместить несколько веб-приложений в одном вычислительном экземпляре или разместить несколько баз данных на одном логическом сервере.
Отдельные разнородные потоки. Назначение задач с различными вычислительными потребностями для выделенных ресурсов повышает эффективность и снижает затраты. Этот подход повышает масштабируемость, отказоустойчивость и адаптируемость путем минимизации помех и оптимизации выделения ресурсов в соответствии с приоритетом каждой задачи.
Переархитировать рабочую нагрузку для повышения эффективности. Просмотрите всю архитектуру рабочей нагрузки, чтобы искать возможности для повышения эффективности. Предпочитайте проектирование микросервисов и исследуйте возможности использования бессерверных или управляемых служб, которые снижают операционную нагрузку и могут легко адаптироваться с помощью автоматического масштабирования. Конечной целью архитектуры может быть автоматическое развертывание непроизводственных сред только при необходимости для действий развертывания. Затем эти среды можно уничтожить, чтобы свести к минимуму ненужные затраты на использование.
Непрерывно отслеживайте и настраивайте размеры ресурсов на основе шаблонов использования для оптимизации затрат.
✓ Развитие операций вашей команды
Исследования и внедрение эффективных методологий разработки, таких как Scrum, Kanban и каскад. Регулярно проверяйте эффективность вашей команды, чтобы определить, подходит ли выбранная методология. Определите затраты на задачи для каждого сотрудника, известного как затраты на единицу, и ищите возможности для снижения этих затрат. Просмотрите самые дорогие задачи и оцените их рентабельность.
Оцените, можно ли выгрузить конкретные задачи другим командам. Например, централизованная облачная команда может управлять операционными задачами для других бизнес-единиц или рабочих нагрузок, а централизованная группа безопасности может обрабатывать мониторинг и тестирование. При передаче задач тщательно планируйте её, обеспечьте ясное взаимодействие между всеми участвующими командами и следуйте установленным процессам управления изменениями.