Эта статья является частью серии статей о Guardian, инструменте для аудита бессерверных архитектур AWS с открытым исходным кодом, с высокой степенью конфигурации и автоматизированной проверкой лучших практик.
Когда я только начал работать над Guardian, я понял, что AWS выпускает суперкрутые функции с невероятной скоростью, но значительная часть из них остается незамеченной разработчиками. Особенно это касается новых опций, которые не могут быть установлены по умолчанию, чтобы не нарушать изменения в API AWS. Одна из них — внедрение в 2021 году новой процессорной архитектуры Graviton2 в эфемерный вычислительный сервис AWS: Lambda. Если вы не хотите упустить производительность, устойчивость и экономию средств, продолжайте читать!
- Используйте новейшие инфраструктуры для своих Lambdas: Процессоры Graviton
- Повышение производительности с технологией на базе ARM
- Впечатляющая производительность
- Думайте об устойчивости
- Подумайте о расходах
- Определите свою архитектуру
- Легко отслеживать архитектуру Lambda Functions с помощью Guardian 🛡️.
- Как пользоваться Guardian
- Смотрите также
Используйте новейшие инфраструктуры для своих Lambdas: Процессоры Graviton
Архитектура X86 широко распространена в компьютерной сфере и является основным выбором, когда речь идет об аппаратном обеспечении компьютеров и серверов. Тем не менее, за последние пару лет ARM соблазнили не одного. AWS — один из первых последователей архитектуры ARM в своем предложении облачных вычислений по требованию. В 2018 году они представили свои процессоры Graviton на 64-битных чипах ARM для своего потока вычислительных предложений (AWS EC2). В 2021 году за ним последовал AWS Lambda, функции которого также могут работать на процессоре AWS Graviton2. Теперь процессоры AWS Graviton3 являются последними в семействе AWS Graviton и готовы к использованию на EC2.
Повышение производительности с технологией на базе ARM
Это семейство процессоров произвело революцию в аппаратном обеспечении, поскольку оно предлагает снижение затрат и задержек при одновременном увеличении производительности и масштабируемости.
Впечатляющая производительность
Graviton2 продемонстрировал впечатляющий прирост производительности по сравнению с процессорами семейства X86, особенно при более высоких нагрузках и параллелизмах. Хотя трудно назвать общий процент улучшения, несомненно, использование процессоров ARM повысит производительность вашего приложения. Согласно предварительным данным AWS, Graviton3 обеспечит 25% прирост производительности по сравнению с предыдущим graviton2. ARM также обеспечивает более предсказуемую производительность с меньшими задержками и сбоями.
Думайте об устойчивости
Ваши программные проекты — бессерверные или нет — в конечном итоге работают на аппаратном обеспечении, и по мере того, как ваши проекты продолжают расти, растет и зависимость от аппаратного обеспечения и его использование. 64-разрядное ядро ARM выполняет операции быстрее, чем x86_64: задача выполняется быстрее, а затем чип выключается. Используя архитектуру ARM, вы гарантированно сократите выбросы углекислого газа.
Подумайте о расходах
Более быстрое время работы рифмуется с экономией затрат. RedPanda, потоковая платформа для критически важных рабочих нагрузок, измерила ключевые показатели производительности, используя в качестве целевого приложения платформу для интенсивных рабочих нагрузок хранения данных. Результаты показали 20% преимущество в соотношении цены и производительности при использовании Graviton2 по сравнению с x86.
Определите свою архитектуру
Сервис AWS Lambda предлагает возможность использования процессора AWS Graviton2. По умолчанию архитектура установлена на x86_64, чтобы избежать ломающих изменений, поскольку до года назад это был единственный доступный вариант. Поэтому вы должны указать архитектуру в вашей лямбде.
Переключение всех функций на процессор AWS Graviton2 легко осуществляется путем указания архитектуры на уровне провайдера, независимо от того, используете ли вы serverless-framework, cdk, san, sst или любой другой. Например, при использовании serverless-framework вам придется изменить файл serverless.ts следующим образом:
// serverless.ts
provider:
...
architecture: arm64
Всего одна строка кода, которую нужно добавить, и огромные преимущества.
Вы (почти) всегда сможете перенести свой проект с предыдущего x86_64 на ARM64. Вот ссылка на документацию AWS с инструкциями по миграции для Lambda Functions.
Легко отслеживать архитектуру Lambda Functions с помощью Guardian 🛡️.
Guardian теперь предлагает новое правило, позволяющее указать архитектуру ваших лямбда-функций.
Guardian также поставляется со многими другими правилами, которые помогут вам принять наилучшие решения для вашего проекта Serverless. Он поможет вам определить, где развернутые ресурсы могут быть оптимизированы для достижения лучшей производительности при меньших затратах.
Как пользоваться Guardian
npm install @kumo-by-theodo/guardian
npx guardian -p <your_aws_profile> -c <your_stack_name>
Guardian доступен на NPM. Вы найдете инструкции по использованию Guardian в вашем CI.
Смотрите также
Переход архитектуры ваших приложений на ARM64 — это отличный шаг к тому, чтобы сделать serverless устойчивым. Вы можете найти больше действий, чтобы сделать ваши приложения еще более экологичными в этой статье Чарльза для Kumo. Конечно, guardian следит за вами, так что откройте вопрос или оставьте комментарий ниже, если вы вспомните какое-нибудь новое правило, которое нужно отслеживать!