AWS Lambda
Запускайте программный код и не беспокойтесь о серверах или кластерах. Платите только за то, чем пользуетесь.
AWS Lambda – это бессерверный вычислительный сервис, который позволяет исполнять код без необходимости выделять серверы и управлять ими, создавать логику масштабирования кластера с учетом рабочих нагрузок, поддерживать интеграцию событий или управлять временем выполнения. Lambda позволяет выполнять код практически любого приложения или серверного сервиса без администрирования. Просто загрузите свой код в виде ZIP-файла или образа контейнера, и Lambda автоматически и точно выделит вычислительную мощность и запустит код на основе входящего запроса или события для любого масштаба трафика. Можно настроить автоматический запуск программного кода из более чем 200 сервисов AWS и приложений Saas или вызывать его непосредственно из любого мобильного или интернет‑приложения. Функции Lambda можно писать на своем любимом языке (Node.js, Python, Go, Java и др.) и использовать бессерверные и контейнерные инструменты, такие как AWS SAM или Docker CLI, для создания, тестирования и развертывания ваших функций.
1 миллион запросов бесплатно
в месяц на уровне бесплатного пользования AWS
Преимущества
Без управления серверами
AWS Lambda позволяет автоматически запускать программные коды без необходимости в предоставлении инфраструктуры или управлении ею. Просто напишите код и загрузите его в Lambda в виде ZIP-файла или образа контейнера.
Непрерывное масштабирование
AWS Lambda автоматически масштабирует приложение, запуская программный код в ответ на каждое событие. Все запущенные коды выполняются параллельно, при этом каждый триггер обрабатывается индивидуально, что обеспечивает масштабирование в соответствии с рабочей нагрузкой – от нескольких запросов в день до сотен тысяч запросов в секунду.
Оптимизация цены с точностью до миллисекунды
При работе с AWS Lambda вы платите только за потраченное время вычислений и никогда не платите за резервную инфраструктуру. Оплачивается каждая миллисекунда выполнения программного кода и количество его триггеров. С помощью плана Compute Savings Plan можно дополнительно сэкономить 17 %.
Стабильная производительность при любом масштабе
С AWS Lambda вы можете оптимизировать время выполнения кода, выбрав правильный объем памяти для вашей функции. Кроме того, можно включить Provisioned Concurrency, чтобы функции были инициализированы и готовы к быстрому реагированию в пределах ста миллисекунд.
Принцип работы
Примеры использования
В чем заключаются преимущества сервиса AWS Lambda? Подробнее о примерах использования см. ниже.
Обработка данных
AWS Lambda позволяет настроить выполнение программного кода в ответ на такие триггеры, как изменение в данных или состоянии системы, а также определенные действия пользователей. Функции Lambda можно непосредственно запускать из других сервисов AWS, например S3, DynamoDB, Kinesis, SNS и CloudWatch, подключать их к существующим файловым системам EFS или встраивать в рабочие процессы с помощью AWS Step Functions. Это позволяет создавать разнообразные бессерверные системы обработки данных, работающие в режиме реального времени.
Обработка файлов в режиме реального времени
Можно настроить обработку данных в AWS Lambda сразу после их загрузки в Amazon S3. Кроме того, можно подключиться непосредственно к существующей файловой системе Amazon EFS, что позволяет получить широкомасштабный параллельный общий доступ для крупномасштабной обработки файлов. Например, в Lambda можно создавать миниатюры изображений, изменять кодировку видео, индексировать файлы, обрабатывать журналы, проверять контент, а также агрегировать и фильтровать данные – и все это в режиме реального времени.
Эталонная архитектура: образец кода
The Seattle Times использует AWS Lambda для изменения размера изображений, чтобы они были доступны для просмотра на различных устройствах, таких как настольные компьютеры, планшеты и смартфоны. Ознакомиться с примером использования »
Потоковая обработка в режиме реального времени
Сервисы AWS Lambda и Amazon Kinesis позволяют обрабатывать потоковые данные для отслеживания активности приложений, обработки последовательностей операций, анализа посещаемости, очистки данных, создания метрик, фильтрации журналов, индексации, анализа социальных сетей, телеметрии и учета данных устройств Интернета вещей в режиме реального времени.
Эталонная архитектура: образец кода
Localytics использует Lambda для обработки миллиардов точек данных в режиме реального времени, а также для обработки ретроспективных и текущих данных, сохраненных в S3 или получаемых из Kinesis в потоковом режиме. Ознакомиться с примером использования »
Машинное обучение
С помощью AWS Lambda можно обрабатывать данные до их передачи в модель машинного обучения. Благодаря доступу Lambda к системе EFS можно также использовать модель для прогнозирования в нужном масштабе без необходимости выделения инфраструктуры или управления ею.
«Компания Aible стремится предоставлять наиболее эффективные технологии искусственного интеллекта при минимально возможных эксплуатационных расходах. Именно поэтому для машинного обучения и прогнозирования мы используем сервис AWS Lambda и бессерверные технологии. Бессерверные технологии позволяют нам запускать широкий спектр рабочих нагрузок машинного обучения без лишних затрат и при этом пользоваться преимуществами расширяемых вычислительных ресурсов, которые необходимы для выполнения быстрых итераций и масштабирования в процессе создания ИИ, оптимального с точки зрения пользы для бизнеса».
Род Баттерс, технический директор, Aible
Серверная часть
С помощью AWS Lambda можно создавать бессерверные внутренние системы для обработки запросов API, поступающих из Интернета, с мобильных устройств, устройств Интернета вещей (IoT), а также других сторонних запросов. Воспользуйтесь преимуществами последовательного контроля производительности Lambda, такого как множественные конфигурации памяти и Provisioned Concurrency, для создания чувствительных к задержкам приложений в любом масштабе.
Интернет-приложения
AWS Lambda в сочетании с другими сервисами AWS позволяет разработчикам создавать мощные веб-приложения с автоматическим масштабированием и высокой доступностью, охватывающие несколько центров обработки данных. При этом для обеспечения масштабируемости, резервирования и избыточности на основе нескольких центров обработки данных не требуются какие-либо административные действия.
Эталонная архитектура: образец кода
Серверные части для Интернета вещей
С помощью AWS Lambda можно создавать бессерверные внутренние системы для обработки запросов API, связанных с Интернетом, мобильными устройствами, Интернетом вещей (IoT), а также сторонних запросов API.
Эталонная архитектура: образец кода
Внутренние службы для мобильных устройств
Возможности AWS Lambda позволяют создавать многофункциональные приложения с высоким уровнем персонализации. Сервисы AWS Lambda и Amazon API Gateway позволяют создавать серверные части для аутентификации и обработки запросов API. Используйте AWS Amplify и легко интегрируйте свой бэкэнд с внешними интерфейсами iOS, Android, Web и React Native.
Эталонная архитектура: образец кода
Компания Bustle применяет бессерверные внутренние системы для своего приложения Bustle (iOS) и веб-сайтов, используя AWS Lambda и Amazon API Gateway. Бессерверные архитектуры позволяют Bustle никогда не заниматься управлением инфраструктурой, поэтому каждый технический специалист компании имеет возможность сосредоточиться на создании новых возможностей и внедрении инноваций. Ознакомиться с примером использования »
Примеры использования
Компания Coca-Cola, транснациональная корпорация по производству напитков из США, использовала AWS Lambda и AWS Step Functions для создания экономичного бессерверного решения.
iRobot, ведущий мировой производитель потребительской робототехники, разрабатывает подключаемые устройства нового поколения с бессерверной архитектурой для интеллектуального дома.
Benchling, компания по производству медико-биологического программного обеспечения, создала на базе бессерверной архитектуры технологию, позволяющую исследователям модифицировать части генома с предельной точностью.
Компания Thomson Reuters, ведущий поставщик информационных сервисов для бизнеса, использует AWS Lambda, чтобы обрабатывать до 4000 событий в секунду в своем сервисе аналитики использования, для развертывания рабочей версии которого потребовалось всего пять месяцев.
Начать работу с AWS Lambda
Обучение с помощью пошаговых учебных пособий
Подробнее об AWS Lambda