AWS Lambda – это сервис бессерверных вычислений, который запускает программный код в ответ на определенные события и отвечает за автоматическое выделение необходимых вычислительных ресурсов. В перечень событий входят изменения в состоянии или обновление, например, когда пользователь помещает товар в корзину на веб-сайте интернет-коммерции. AWS Lambda можно использовать для расширения возможностей других сервисов AWS с помощью специальной логики или для создания собственных серверных сервисов с применением возможностей масштабирования, производительности и безопасности AWS. AWS Lambda автоматически запускает программный код в ответ на различные события, такие как HTTP‑запросы через Amazon API Gateway, изменение объектов в корзинах Amazon Simple Storage Service (Amazon S3), обновление таблиц в Amazon DynamoDB или смена состояний в AWS Step Functions.

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

Основные возможности продукта

Расширьте возможности сервисов AWS с помощью собственного программного кода

AWS Lambda позволяет добавлять свой код к ресурсам AWS, например к корзинам сервиса Amazon S3 и таблицам Amazon DynamoDB. В результате можно просто выполнять нужные операции с данными на этапе их вхождения или перемещения в рамках облака.

Начать работу с AWS Lambda совсем не сложно. Сначала требуется создать необходимые функции, загрузив свой код (или написав его непосредственно в консоли Lambda), а также задав объем памяти, период ожидания и роль AWS Identity and Access Management (IAM). Затем необходимо указать ресурс AWS, который будет триггером для функции: конкретную корзину сервиса Amazon S3, таблицу Amazon DynamoDB или поток Amazon Kinesis. Зафиксировав изменение ресурса, Lambda выполнит настроенную функцию, запустит вычислительные ресурсы, необходимые для обработки поступающих запросов, и будет управлять ими.

Создавайте собственные серверные сервисы

AWS Lambda можно использовать для создания новых сервисов приложений, которые будут активироваться по требованию с помощью интерфейса прикладного программирования (API) Lambda или специальных адресов API, созданных с использованием Amazon API Gateway. Специальные события обрабатываются с помощью Lambda, а не на устройстве клиента, позволяя не зависеть от пользовательских операционных систем, снижая энергопотребление на стороне клиента и упрощая установку обновлений.

Использование собственного кода

Для работы с AWS Lambda не нужно осваивать новые языки, инструменты или инфраструктуру. Сервис работает с любыми сторонними библиотеками, даже встроенными. Кроме того, можно упаковать любой код (платформу, SDK, библиотеку и т. д.) как уровень Lambda, чтобы использовать его с разными функциями и управлять им. Lambda имеет встроенную поддержку Java, Go, PowerShell, Node.js, C#, Python и Ruby, а также предоставляет API среды выполнения для создания функций с использованием любых других языков программирования.

Полностью автоматизированное администрирование

Благодаря тщательному управлению инфраструктурой AWS Lambda код исполняется в высокопроизводительной, отказоустойчивой среде, что позволяет сосредоточить свои усилия на разработке разнообразных серверных сервисов. Lambda избавляет от забот по обновлению серверной операционной системы (ОС), а также проблем, связанных с расширением существующих или вводом в эксплуатацию новых серверов по мере роста нагрузки. AWS Lambda обеспечивает эффективное развертывание кода, выполняет задачи администрирования, технического обслуживания, исправления уязвимостей системы и обеспечивает возможность мониторинга и ведения журналов средствами Amazon CloudWatch.

Встроенная отказоустойчивость

AWS Lambda поддерживает необходимые объемы вычислительных ресурсов в нескольких зонах доступности (AZ) в каждом из регионов AWS, защищая код от неисправностей отдельных единиц оборудования или сбоев в работе центров обработки данных (ЦОД). AWS Lambda и функции, работающие в рамках этого сервиса, обеспечивают предсказуемую и надежную операционную производительность. Сервис AWS Lambda разработан для обеспечения высокой доступности как самого сервиса, так и исполняемых им функций. Сервис работает без плановых простоев и перерывов на обслуживание.

Упаковывание и развертывание функций как образов контейнеров

AWS Lambda поддерживает упаковывание и развертывание функций в виде образов контейнеров, что упрощает для клиентов создание приложений на основе Lambda с помощью известных инструментов, рабочих процессов и зависимостей для образов контейнеров. К другим преимуществам работы с Lambda для клиентов относятся простота эксплуатации, автоматическое масштабирование со временем запуска менее секунды, высокая доступность, модель оплаты по мере использования и встроенная интеграция с более чем 200 сервисами AWS и приложениями «ПО как услуга» (SaaS). Корпоративные клиенты могут использовать согласованный набор инструментов как со своими приложениями Lambda, так и с контейнерными приложениями, упрощая необходимое централизованное управление, такое как сканирование безопасности и подпись образов.

Автоматическое масштабирование

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

Подключение к реляционным базам данных

Используйте Amazon RDS Proxy, чтобы воспользоваться полностью управляемыми пулами подключения для работы с реляционными базами данных. С помощью RDS Proxy можно эффективно управлять тысячами одновременных подключений к реляционным базам данных. Это позволяет легко разрабатывать высокомасштабируемые, безопасные и бессерверные приложения на основе Lambda, которые подключаются к реляционным базам данных. На данный момент RDS Proxy поддерживает базы данных MySQL и Aurora. RDS Proxy для бессерверных приложений можно настроить на консоли Amazon RDS или на консоли AWS Lambda.

Точный контроль за производительностью

Provisioned Concurrency позволяет лучше контролировать производительность бессерверных приложений. Когда эта возможность включена, функции находятся в инициализированном состоянии и готовы к быстрому реагированию в пределах ста миллисекунд. Provisioned Concurrency идеально подходит для работы с приложениями AWS Lambda, которым требуется больший контроль за временем запуска функций. С легкостью настраивайте требуемые для приложения параллельные операции. Увеличивайте или уменьшайте масштаб и даже отключайте операции при необходимости. Воспользуйтесь Provisioned Concurrency, чтобы обеспечить стабильную производительность приложений, которые должны работать с минимальными задержками, без необходимости менять код или управлять вычислительными ресурсами.

Подключение к общим файловым системам

Использование Amazon Elastic File System (EFS) для AWS Lambda позволяет безопасно считывать, записывать и сохранять большие объемы данных с низкой задержкой при работе в любом масштабе. Писать код и загружать данные во временное хранилище для их последующей обработки не требуется. Это экономит время и упрощает код приложений, позволяя сосредоточиться на бизнес‑логике. EFS для Lambda идеально подходит для целого ряда примеров использования, включая обработку или резервное копирование больших объемов данных, а также загрузку больших справочных файлов или моделей. Система также позволяет совершать обмен файлами между бессерверными инстансами или контейнерными приложениями и даже запускать вывод машинного обучения (ML) с помощью EFS для AWS Lambda.

Запуск кода в ответ на запросы Amazon CloudFront

С помощью возможности Lambda@Edge AWS Lambda может запускать соответствующий код в местоположениях AWS по всему миру в ответ на события Amazon CloudFront, например запросы контента от серверов источника или посетителей либо в обратном направлении. Это упрощает предоставление конечным клиентам более качественного, индивидуально настроенного контента с меньшей задержкой. 

Оркестрация множества функций

Создавайте рабочие процессы AWS Step Functions, чтобы координировать исполнение множества функций AWS Lambda для решения сложных и продолжительных задач. Сервис Step Functions позволяет определять рабочие процессы, которые активируют набор функций Lambda с помощью последовательных, параллельных, разветвленных списков операций, в том числе с возможностями обработки ошибок. С помощью Step Functions и Lambda можно создавать длительные структурированные процессы для приложений и серверов.

Интегрированная модель безопасности

Встроенный пакет средств разработки ПО (SDK) AWS Lambda интегрируется с AWS Identity and Access Management (IAM), чтобы обеспечить безопасный доступ других сервисов AWS к коду. AWS Lambda по умолчанию запускает ваш код в Amazon Virtual Private Cloud (VPC). При необходимости можно настроить доступ к ресурсам AWS Lambda за пределами собственного VPC, чтобы использовать пользовательские группы безопасности и сетевые списки контроля доступа. Благодаря этому функция Lambda получает безопасный доступ к ресурсам VPC. AWS Lambda соответствует требованиям SOC, HIPAA, PCI и ISO. Актуальную информацию о сертификации Lambda и соответствии требованиям см. на странице Сервисы в программе соответствия требованиям.

Средства контроля доверия и целостности

Подписание кода для AWS Lambda позволяет обеспечить развертывание в ваших функциях Lambda только неизменного кода от подтвержденных разработчиков. Просто создавайте артефакты кода с цифровой подписью и настраивайте функции Lambda для проверки подписей при развертывании. Благодаря этому можно повысить скорость и гибкость вашей разработки приложений даже в больших группах разработчиков, обеспечивая при этом высокие стандарты безопасности.

Оплата по факту использования

Оплата за использование AWS Lambda начисляется за стабильную пропускную способность или время исполнения, а не за количество используемых серверов. Используя функции Lambda, вы платите только за выполненные запросы и время вычислений, необходимое для запуска кода. Счет за использование выставляется с точностью до одной миллисекунды, благодаря чему автоматическое масштабирование от нескольких запросов в день до тысяч запросов в секунду становится простым и экономичным. При использовании Provisioned Concurrency вы оплачиваете указанное вами количество параллельных операций за выбранный период времени. Когда функция, для которой настроен сервис Provisioned Concurrency, включена и выполняется, вы также платите за запросы и время выполнения. Подробная информация о ценах доступна на странице цен на AWS Lambda.

Гибкая модель распределения ресурсов

Задайте для своих функций необходимый объем памяти, и AWS Lambda выделит пропорциональное количество ресурсов ЦПУ, пропускной способности сети и дисковых операций чтения / записи (I/O).

Интеграция Lambda с привычными рабочими инструментами

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

Обеспечьте до 34 % лучшую производительность благодаря функциям на базе Graviton2

Функции AWS Lambda, работающие на Graviton2 с архитектурой процессора Arm от AWS, обеспечивают производительность до 34 % лучше, чем у функций на процессорах x86. Это относится к различным бессерверным рабочим нагрузкам, таким как веб- и мобильные серверы, обработка данных и мультимедиа. Функции Graviton2 дают меньшую задержку, производительность на 19 % выше, сниженную на 20 % стоимость и наибольшую энергоэффективность, доступную в AWS. Благодаря этому их можно использовать для критически важных бессерверных приложений.

Подробнее о ценах на AWS Lambda

Перейти на страницу цен
Готовы начать?
Регистрация
Возникли дополнительные вопросы?
Связаться с нами