Другое

Aws Lambda: что это такое, зачем оно используется и кому это нужно?

Lorem ipsum dolor

Те, кто пользуется веб-инструментами от компании Amazon, знают о существовании такого инструмента, как AWS Lambda, но не все знают, что это такое и как им можно пользоваться.

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

Что самое интересное вы платите только тогда, когда ваш код будет работать, а пока он находится в состоянии покоя, вы платить не будете. То есть фактически вы платите только за вычислительные процессы, которые выполняются с вашим кодом. Количество запросов к вашим скриптам может быть разное: от нескольких запросов в сутки до нескольких тысяч запросов в секунду.

 

Что такое AWS Lambda и как работает этот инструмент

Работу AWS Lambda можно описать в пяти этапах:

  1. На первом этапе вы активируете сервис AWS Lambda и загружаете скрипты, которые должны будут исполняться. AWS Lambda поддерживает несколько языков: Go, Python, C#, Java, Node.js.

  2. На втором этапе вы активируете сервис AWS, на котором будет исполняться Lambda. Это могут быть: Amazon S3, Amazon API Gateway, DynamoDB, Amazon SNS, CloudFront, Mobile App и др.

  3. Далее, как только происходит заданное событие на каком-либо сервисе AWS (а у AWS Lambda есть триггер на это событие), исполняется ваш код, который активируется триггером.

  4. Исполнение Lambda-кода по заданному сценарию.

  5. С вас снимается оплата за выполненные вычисления сервисом AWS Lambda.

Получается, что использование AWS Lambda:

  • экономит ваши деньги, потому что вы платите только за вычисления;

  • дает вам возможность быстро исполнить свой код, потому что взаимодействие между сервисами AWS очень быстрое;

  • это отличное взаимодействие со всеми службами и веб-инструментами от компании Amazon;

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

 

Практически AWS Lambda может работать в следующих примерных ситуациях:

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

  2. Если в DynamoDB происходит заданное изменение в таблице, то оповещение о таком событии отправляется в AWS Lambda, где запускается триггер и код-реакция на событие в базе данных.

  3. API Gateway запускают AWS Lambda при помощи методов Get или Post в момент заполнения и отправки формы, а AWS Lambda запускает процесс обработки формы и внесения данных из формы в AWS-базу данных.

  4. Сервис SNS информирует AWS Lambda о показанном push-уведомлении и что пользователь отреагировал на это пуш-уведомление положительно, а в ответ в AWS Lambda активируется скрипт отправки SMS-сообщения этому пользователю. 

  5. И др.

 

AWS Lambda: преимущества сервиса

Вот несколько основных преимуществ сервиса AWS Lambda:

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

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

  3. Плата за использование. Например, вы выставили время для выполнения какого-то кода в 400 мс, а AWS Lambda выполнит его за 200 мс — с вас возьмут оплату только за 200 мс, то есть сколько времени было фактически потрачено на работу с вашим кодом.

  4. Достаточное количество поддерживаемых языков. Уже сейчас AWS Lambda поддерживает Go, C#, Java, Python, Node.js. Список языков постоянно дополняется, к примеру, поддержка Go была добавлена совсем недавно.

  5. Простота написания скриптов. Вы можете написать свой скрипт прямо в онлайн-редакторе AWS.

  6. Бесплатность. Вы можете попробовать использовать AWS Lambda совершенно бесплатно, как и другие сервисы AWS.

 

Заключение

Теперь вы знаете, что такое AWS Lambda. По сути, Lambda выполняет функцию контролирующей прослойки и администрирования взаимодействия между всеми сервисами компании Amazon.

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

Схожие статьи

Что нужно знать, чтобы стать инженером QA: краткое руководство
Другое

Что нужно знать, чтобы стать инженером QA: краткое руководство

Сглаживание FXAA и SSAA: что это в играх и за что оно отвечает?
Другое

Сглаживание FXAA и SSAA: что это в играх и за что оно отвечает?

Теория вероятности простым языком: пособие для чайников
Другое

Теория вероятности простым языком: пособие для чайников

Как правильно общаться с людьми на работе: основные ошибки и советы
Другое

Как правильно общаться с людьми на работе: основные ошибки и советы

×