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

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


PAC-Q4_House-Ads_Lambda_2up

Знакомство с функциями AWS Lambda

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

После загрузки кода в AWS Lambda можно связать функцию с теми или иными ресурсами AWS, например с корзиной Amazon S3, таблицей Amazon DynamoDB, потоком Amazon Kinesis или уведомлением Amazon SNS. При изменении состояния ресурса 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 не нужно осваивать новые языки, инструменты или инфраструктуру. Сервис работает с любыми сторонними библиотеками, даже встроенными. AWS Lambda поддерживает код, написанный на Java, Node.js, C# и Python. В будущем планируется поддержка и других языков программирования.

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

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

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

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

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

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

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

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

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

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

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

AWS Lambda обеспечивает безопасное взаимодействие кода с другими сервисами AWS посредством встроенного AWS SDK и интеграции с сервисом AWS Identity and Access Management (IAM). По умолчанию AWS Lambda запускает код в облаке VPC. Можно настроить сервис AWS Lambda так, чтобы он имел доступ к ресурсам в пределах другого облака VPC. В этом случае применяются пользовательские группы безопасности и списки контроля доступа к сети, чтобы предоставить функциям Lambda доступ к ресурсам в облаке VPC.

AWS Lambda соответствует требованиям SOC, HIPAA, PCI и ISO. Актуальную информацию о сертификациях Lambda и соответствии требованиям см. на странице Сервисы в программе соответствия требованиям.

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

Используя AWS Lambda, вы платите только за выполненные запросы и время вычислений, необходимое для запуска кода. Счет за использование AWS Lambda выставляется с точностью до 100 миллисекунд, благодаря чему автоматическое масштабирование от нескольких запросов в день до тысяч запросов в секунду становится простым и экономичным.

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

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

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

Перейти на страницу цен
Готовы начать?
Регистрация
Есть вопросы?
Свяжитесь с нами