Ключ к ускорению и раскрытию новых инноваций заключается в том, чтобы рабочие нагрузки выполнялись на аппаратном обеспечении, оптимально соответствующем требованиям пользователя по соотношению цена/производительность, пишет на портале The New Stack Шерил Хунг, старший директор по развитию экосистемы инфраструктурного направления компании Arm.
После нескольких лет стабильного снижения стоимость эксплуатации облачного ЦОДа резко возросла, что связано с такими факторами, как старение инфраструктуры, рост цен на электроэнергию и проблемы с цепочками поставок.
Опрос, проведенный Uptime Institute, показал, что владельцев корпоративных ЦОДов больше всего беспокоит рост цен на электроэнергию и ИТ-оборудование. В качестве примера можно привести недавний случай, когда компания Google объявила о повышении цен на некоторые из своих облачных систем хранения данных и выгрузку данных из сети, которые ранее были бесплатными для пользователей.
Одним словом, «облакофляция» — это новая реальность, и разработчики расплачиваются за это тем, что вынуждены делать больше с меньшими затратами. Организациям необходимо постоянно понимать и измерять влияние своих вычислений, чтобы сбалансировать производительность, эффективность и гибкость дизайна в соответствии с бюджетом и бизнес-целями.
Какие шаги могут предпринять разработчики для снижения затрат?
Существует несколько вариантов:
- Оптимизировать распределение облачных ресурсов путем анализа моделей использования и корректировки размеров экземпляров, хранилищ и баз данных в соответствии с требованиями рабочих нагрузок.
- Внедрить механизмы автоматического масштабирования, которые динамически регулируют число экземпляров в зависимости от спроса. Это позволяет выделять ресурсы по мере необходимости, предотвращая перерасход ресурсов в периоды низкой нагрузки и снижая затраты.
- Оценить потребности в хранении данных и базах данных и выбрать наиболее экономически эффективные варианты. Использовать многоуровневые системы хранения для перемещения редко используемых данных на более дешевые уровни хранения.
Многие компании перешли на мониторинг и отчетность по затратам, создавая оповещения, уведомляющие сотрудников о внезапных скачках или аномалиях. Одним из значительных движений в этом направлении является FinOps (сочетание слов «финансы» и «операции»). Эта новая дисциплина позволяет организациям лучше управлять расходами на облако.
Принятие новой парадигмы
Однако, возможно, самое важное, что необходимо сделать, — это по-другому взглянуть на вычисления. И это легче сказать, чем сделать.
Дата-центры и облака выросли на монолитном подходе к вычислениям — «один размер подходит всем». Это работало в те времена, когда рабочих нагрузок было относительно немного и они были очень простыми. Но с ростом популярности облачных вычислений увеличились и объемы, и разнообразие типов рабочих нагрузок, которые требуются пользователям. Универсальная среда просто не может быть достаточно гибкой для того, чтобы пользователи могли наиболее эффективно и экономично выполнять те типы рабочих нагрузок, которые им нужны.
Сегодня появились технологии, позволяющие отказаться от старой парадигмы и дать разработчикам и поставщикам облачных услуг то, что им нужно: гибкость и выбор. Одним из таких проявлений является мультиархитектурность — способность облачной платформы или сервиса поддерживать более одной унаследованной архитектуры и предоставлять разработчикам возможность выбора.
Свобода гибкости и выбора
Возможность запуска рабочих нагрузок на выбранной архитектуре важна для организаций по двум причинам: лучшее соотношение цена/производительность и — причина, которая находится далеко за пределами дата-центров, но тем не менее важна — ноутбуки и мобильные устройства.
Лучшее соотношение цена/производительность часто связано с пониманием организациями, что выполнение рабочих нагрузок, таких как веб-серверы или базы данных, может быть экономически эффективным на сравнительно недорогих энергоэффективных вычислительные платформах, таких как Arm. Именно поэтому гибкость в выборе правильных вычислений для правильных рабочих нагрузок — как своих, так и клиентских — имеет решающее значение.
Вторая мотивация связана с ноутбуками, в которых все чаще используются энергоэффективные процессоры Arm. Разработчики, использующие эти машины, стали стремиться к разработке на Arm на всем пути от ноутбука до облака. Они переходят на Arm64 для своих производственных сред и сред разработки, поскольку это облегчает локальное устранение и воспроизведение ошибок на более ранних этапах разработки. А поскольку Arm-процессоры теперь доступны во всех крупных облачных средах, разработчикам, использующим эту архитектуру, необходима инструментальная цепочка с поддержкой нескольких архитектур для безопасного развертывания своего кода.
Внедрения многоархитектурной инфраструктуры
Мы видим три основных этапа внедрения многоархитектурной инфраструктуры: информирование, оптимизация и задействование:
- Информирование предполагает инвентаризацию всего стека ПО, включая поиск операционных систем, образов, библиотек, фреймворков, средств развертывания и тестирования, решений для мониторинга, мер безопасности и других компонентов, на которые вы полагаетесь. Составьте полный список и проверьте каждый элемент на предмет поддержки Arm. Кроме того, определите наиболее ресурсоемкие компоненты с точки зрения вычислений, поскольку именно они будут являться «горячими точками» для оптимизации.
- Оптимизация позволяет легко создать тестовую среду Arm. Ее можно развернуть в публичном облаке и приступить к выполнению необходимых обновлений и изменений для обеспечения совместимости с различными архитектурами. Очень важно определить ключевые показатели, которые вас интересуют, и провести соответствующее тестирование производительности. Одновременно следует рассмотреть возможность модернизации процессов CI/CD для работы с несколькими архитектурами. Следует помнить, что этот этап может потребовать много итераций и что к миграции рабочих нагрузок можно приступать до завершения всех работ по модернизации инфраструктуры.
- Задействуйте выбранную среду. Например, в Kubernetes необходимо решить, как будет строиться кластер. Подумайте, что будет приоритетнее — перенос управляющих или рабочих узлов, или сочетание обоих вариантов. Это решение будет зависеть от стека ПО, доступности и первоначального выбора рабочей нагрузки. Соответствующим образом измените сценарии создания кластера.
После создания инфраструктуры можно приступать к развертыванию рабочих нагрузок.
Заключение
Несколько лет назад переход на Arm означал поиск специальных версий ПО и библиотек, поддерживающих эту архитектуру. Эта поддержка была ограниченной и неравномерной. Но экосистема быстро развилась, что облегчило переход и обеспечило «просто работу» ПО на Arm. В последние годы поддержку Arm обеспечили некоторые известные поставщики, такие как Redis, MongoDB и Nginx. Эта улучшенная экосистемная поддержка способствует облегчению перехода.
Преимущества высокой производительности и энергоэффективности при переходе от использования только унаследованных архитектур настолько велики, что на это готовы идти некоторые крупные компании, например Airbnb, хотя они знают, что этот путь займет у них не один год. У них сложившаяся сложная инфраструктура, которая предполагает, что все системы работают на архитектуре x86, поэтому им необходимо настроить и протестировать все свои системы, чтобы обеспечить совместимость как с архитектурой x86, так и с архитектурой Arm. Но долгосрочные преимущества стоят первоначальных затрат и времени.
Инженер-программист Airbnb Мелани Себула на KubeCon-CloudNativeCon в 2022 г. сказала следующее: «Итак, Arm64 уже в облаке. Эта архитектура есть во всех облаках, она дешевле, и именно поэтому мы выполняем эту работу». В подтверждение этих слов в исследовании Forrester «Total Economic Impact of Arm Neoverse» было показано, что экономия затрат на облачную инфраструктуру достигает 80%, при этом первоначальные затраты на инфраструктуру снижаются на
Ключ к ускорению и раскрытию новых инноваций в современном мире заключается в том, чтобы рабочие нагрузки выполнялись на аппаратном обеспечении, оптимальном по соотношению цена/производительность. Новые технологии, включая Arm, продолжают расширять границы баланса между производительностью и эффективностью, при этом разработчики не должны беспокоиться о совместимости своего ПО.