Лучшее введение в AWS Lambda
23 марта 2022 г.Через Amazon Web Services (AWS) доступно более 200 сервисов. С другой стороны, AWS Lambda продолжает выделяться по целому ряду причин. С помощью этого урока AWS Lambda вы сможете лучше понять сервис и определить, будет ли он соответствовать вашим вычислительным требованиям.
Во время этого занятия мы рассмотрим, что такое AWS Lambda на самом деле, как она работает, чем она отличается от EC2, варианты использования, преимущества, ограничения и другие детали.
Что такое AWS Lambda?
AWS Lambda — это управляемое событиями решение для бессерверных вычислений платформы AWS. Управляемые событиями функции — это те, которые автоматически выполняют вычисления в ответ на триггеры, которые представляют собой различные входные данные. Однако экосистема AWS Lambda выходит далеко за рамки того, что обычно называют «функциями как услугой» (FaaS). Позже мы подробнее поговорим о функциях, управляемых событиями.
Бессерверные вычисления Lambda позволяют программистам сосредоточиться на написании и выполнении кода, а не на администрировании.
Эти действия включают, например, заказ серверных ресурсов у облачного провайдера, поддержание серверов в идеальном состоянии, ручную настройку ОЗУ, ЦП и ресурсов памяти, а также устранение брешей в безопасности.
С AWS вашим разработчикам не нужно ни о чем беспокоиться. В результате они смогут сосредоточиться на создании кода, обеспечивающего беспрепятственное предоставление услуг вашим клиентам. Единственное, что нужно сделать вашим программистам, — это отправить свой код в Amazon Web Services (AWS) и развернуть его для указанных вами вариантов использования.
В целях быстрой и экономичной разработки и запуска облачных операций AWS Lambda можно рассматривать как полностью управляемый сервис, который устраняет необходимость в покупке, обслуживании или замене какого-либо оборудования. Или деньги и время, которые потребуются для найма квалифицированного персонала для выполнения всех необходимых задач по техническому обслуживанию.
Низкая стоимость Lambda во многом связана с тем, что в ней используется бессерверная архитектура, позволяющая сократить ненужные расходы на облачные вычисления.
Является ли AWS Lambda бессерверной вычислительной платформой?
Нет. Для клиентов AWS Lambda является важной частью бессерверной технологии. Вот как это делается:
Для реализации бессерверной архитектуры вам потребуется сложный стек компонентов. Стек LAMP является популярной архитектурой, поскольку он требует следующих вещей:
ОС Linux
- HTTP-сервер Apache
- Управление реляционными базами данных с помощью MySQL
- PHP
Ниже приведен более подробный стек для веб-приложения:
- Сервис для хранения и извлечения данных из базы данных
- Служба, которая действует как HTTP-шлюз
- Сервис для вычислений
Поскольку Lambda создана на базе AWS, она доступна всем. Несмотря на то, что бессерверные вычисления являются экономичным методом выполнения операций в облаке, это не так. Бессерверная архитектура имеет два ключевых преимущества:
- Оплата зависит от количества запросов, которые Lambda обслужила, а также от количества времени, которое требуется AWS для обслуживания этих запросов. Вам не нужно ничего платить заранее, в отличие от большинства других архитектур, которые взимают плату за работу в фоновом режиме, ничего не делая для пользователя.
- Автомасштабирование — сервис масштабируется вверх и вниз автоматически. Во времена повышенного спроса он увеличивает вычислительные ресурсы, такие как ЦП, ОЗУ и память. Однако, когда на серверах мало активности, некоторые из этих служб отключаются. Когда ваша машина простаивает, она может автоматически масштабироваться от 0 до почти бесконечности, а затем возвращаться к 0.
AWS Lambda: как это работает?
Lambda, бессерверная вычислительная платформа AWS, предоставляет разработчикам мощный инструмент для создания и запуска облачных приложений любой сложности.
Он также легко взаимодействует с другими веб-сервисами AWS, поэтому у вас есть все инструменты, необходимые для создания крупномасштабных облачных приложений, а также обеспечение их безопасности и адаптируемости одновременно.
Другие сервисы AWS, которые могут вам понадобиться:
- управление базами данных
- Создание приложения
- Сделайте копию всего, а затем восстановите его
- Размещение веб-сайта.
- Электронная коммерция
- Аналитика больших данных
- Чат-боты
- Вещание
В настоящее время доступно более 200 сервисов AWS, и в ближайшем будущем будет добавлено больше.
В отличие от других сервисов на AWS, Lambda автоматически запускает ваш код в ответ на различные события, происходящие как внутри, так и за пределами экосистемы AWS. Причина этого в том, что функции Lambda вызываются именно так, и эти функции выполняют именно то, что вы от них хотите, независимо от того, насколько они велики.
Поддержка языков и среды выполнения AWS
- Питон
- js
- Рубин
- Джава
- Идти
- C# — ядро .NET
- PowerShell
Помимо создания функций с помощью пользовательского интерфейса AWS, Lambda позволяет создавать их локально, а затем публиковать в AWS. Для создания лямбда-функций AWS предоставляет шаблон схемы по умолчанию.
Преимущества AWS Lambda
Плата за использование
Плата за AWS Lambda зависит от того, как часто вы ее используете. Он зависит от вычислительной мощности вашей функции и количества генерируемого ею сетевого трафика.
Масштабируемость
Как вы и просили, AWS Lambda генерирует экземпляр вашей функции. Это также довольно масштабируемо. В результате вы можете изменить его, когда захотите.
Бессерверная технология
Вам не нужно беспокоиться о сервере после запуска функции на AWS Lambda. AWS управляет всем за вас.
Интеграция продуктов AWS
AWS Lambda предлагает взаимодействие с другими сервисами AWS, такими как S3, API Gateway, DynamoDB и другими, которые вы можете использовать со своей лямбда-функцией.
CloudWatch для мониторинга
Журналы можно легко добавить в функцию AWS Lambda и отфильтровать в Cloud Watch. На облачных часах вы также можете отслеживать производительность в режиме реального времени.
Быстрый рост
Вам нужно только разработать свою логику и развернуть ее для запуска и выполнения, потому что она бессерверна. На некоторых языках вы даже можете создать/отредактировать свою функцию прямо в браузере и быстро развернуть ее в случае ошибки.
Управляемый событиями
Поскольку AWS Lambda управляется событиями, ваш код будет выполняться только тогда, когда это необходимо. Когда кто-то загружает файл в корзину S3 и это событие запускается, например, или когда что-то обрабатывается, и вы хотите отправить оповещение или электронное письмо.
Ограничения AWS Lambda
Размеры упаковки
Сжатый пакет ограничен 50 МБ, а несжатый пакет ограничен 250 МБ.
Время ожидания
Любая функция может иметь максимальное время ожидания 900 секунд или 15 минут. В результате он будет неэффективен в длительных процессах.
Лимит выполнения
На уровне учетной записи лимит одновременного выполнения составляет 1000.
Начать с холодного пуска
Обработка первого вызова AWS Lambda занимает некоторое время.
Память
Он позволяет вам выбрать от 128 МБ до 3008 МБ ОЗУ для ваших целей с шагом 64 МБ.
Расходы
Это рентабельно для простых действий, выполняемых нечасто. Однако, если вы хотите использовать его для приложения с большими объемами, он может стоить дороже, чем AWS EC2.
Заключение
Каждая технология, как мы все знаем, имеет свои преимущества и недостатки. Полезность приложения для клиента определяет его важность и ценность. Это выгодно и рентабельно для небольших приложений, но может быть чрезмерно дорогим для приложений большого объема из-за его бессерверной природы. AWS Lambda позволяет ускорить разработку и развертывание.
Первоначально опубликовано [здесь] (https://www.aeliusventure.com/aws-lambda-brief-guide/)
Оставаться на связи!
Оригинал