Краткое руководство по пониманию AWS Lambda

Опубликовано: 6 Марта, 2023
Краткое руководство по пониманию AWS Lambda

Amazon Web Services на сегодняшний день является ведущим сервисом облачных вычислений, что во многом объясняется постоянно растущим количеством услуг и постоянно более низкими ценами. Одним из таких сервисов является AWS Lambda, сервис бессерверных вычислений, который позволяет запускать код без подготовки или управления серверами.

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

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

Изображение 685 Несколько вещей, которые предоставляет AWS Lambda, согласно их веб-сайту, — это «обслуживание сервера и операционной системы, выделение ресурсов и автоматическое масштабирование, мониторинг кода и ведение журнала».

Как видите, упрощенные преимущества AWS Lambda кажутся довольно очевидными, если вы пишете код на поддерживаемом им языке, а именно Node.js, Java, Python и, совсем недавно, C#. Они утверждают, что в будущем будет добавлено больше языков.

Каковы особенности?

Пользовательская логика

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

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

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

Изображение 686 Бэкэнд-сервисы

Если вы не хотите расширять другие сервисы AWS, чтобы они действовали в качестве серверных сервисов, AWS Lambda позволяет создавать собственные. Они будут активироваться только при использовании через Lambda API или пользовательские конечные точки API, которые можно создать с помощью Amazon API Gateway.

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

Администрация

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

Масштабирование

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

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

Основываясь на нескольких факторах, цены должны быть рассмотрены подробно. Оплата производится с шагом в 100 миллисекунд. Первый миллион запросов в месяц бесплатен, после этого за 1 миллион запросов взимается плата в размере 0,20 доллара США. AWS Lambda — это очень экономичный сервис, если вам необходимо регулярно масштабировать свое программное обеспечение.

Кроме того, у вас есть возможность выбрать объем памяти, который вы хотите выделить для функций. Затем AWS Lambda «распределяет пропорционально мощность ЦП, пропускную способность сети и дисковый ввод-вывод».

Безопасность

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

Весь код автоматически запускается в VPC, но у вас также есть возможность настроить AWS Lambda для «доступа к ресурсам за вашим собственным VPC, что позволит вам использовать настраиваемые группы безопасности и списки управления доступом к сети, чтобы предоставить вашим функциям Lambda доступ к вашим ресурсам внутри VPC».

Отказоустойчивость

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

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

Пограничные местоположения

Если это так, [email protected] позволит вам запускать код в «любом глобальном пограничном расположении AWS без подготовки или управления серверами, отвечая конечным пользователям с наименьшей сетевой задержкой». Если вы загрузите свой код в AWS Lambda и настроите свою функцию для запуска в ответ на запросы Amazon CloudFront, код будет готов к выполнению в любом периферийном расположении AWS.

Итак, вы должны использовать его?

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

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