Однажды субботним утром, когда вы воссоединяетесь со своей семьей на бранче, вы выходите из кухни с двумя тарелками стейка в обеих руках и кричите во все горло: «Бессерверные для всех!»

Ваш супруг поглощает что угодно. Эмма, с другой стороны, не может не смотреть в пространство.

— Ты больше не ешь, Эмма.

«Что такое Serverless, мама? Почему мы едим его на завтрак?

AWS Lambda — это сервис вычислений на основе событий, предлагаемый Amazon Web Services, который позволяет вам запускать код без управления серверами или их предоставления. Он был создан для загрузки фотографий и объектов в Amazon S3, обновления таблиц DynamoDB, реагирования на клики на веб-сайте, а также реагирования на показания датчиков на смарт-устройстве. AWS Lambda — это, по сути, сервис, который запускает код в ответ на события, а также автоматически управляет вычислительными ресурсами, необходимыми для этого кода.

Serverless не подразумевает отсутствие серверов. Бессерверность означает, что если сервер выйдет из строя в 3:54 утра, это не ваша проблема.


Как работает лямбда

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

    AWS создает экземпляр, представляющий собой контейнер, созданный из AMI Amazon Linux (Amazon Machine Images) с настраиваемой продолжительностью выполнения от 1 до 900 секунд, диапазоном ОЗУ от 128 МБ до 10 240 МБ и временным хранилищем от 512 МБ до 10 ГБ.

Как работает AWS Lambda

  • Событие: Функция, которую вы пишете, должна быть настроена на запуск события. Это может быть простое SMS или звонок, пожарная тревога или и то, и другое, но они должны вызывать раздражение.

    У вас нет доступа к каким-либо ресурсам инфраструктуры, которые позволили бы вам контролировать облачную инфраструктуру, потому что бессерверные вычисления помогают абстрагировать ее.

  • В Операциях участвовали: Ваш код будет запущен только тогда, когда событие будет запущено, и только в течение времени выполнения будут производиться платежи. Эта особая функция удобна для пользователей Lambda, которые хотят использовать Lambda для предоставления внутренних служб, запрашиваемых HTTP-запросами (например), поскольку она сохраняет ресурсы, когда они не используются. В результате, поскольку вы платите только за фактически используемое вычислительное время при использовании Lambda, стоимость почти никогда не является проблемой.

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

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

В следующих Сообщение блога, Райан Кауфман показывает, как использовать Python, AWS IOT, AWS Lambda и TwilioWireless для спасения жизни малыша.

«Ты так и не объяснила, что такое бессерверность, мам».

«Хорошо, Эмма. Бессерверность — это концепция».

«Какая концепция?»

«Бессерверное обслуживание сравнимо с поездкой в ​​торговый центр. Топливо — это единственное, что вам нужно, чтобы добраться туда».

«Хорошо. Это начинает иметь некоторый смысл».

«Есть также такая цитата о бессерверности: «Бессерверность также означает, что это не ваша проблема, если сервер выйдет из строя в два часа ночи». Возьмем Бруно в качестве примера. Обязанность Бруно — присматривать за нами, когда мы спим по ночам. Поскольку именно Бруно должен отгонять воров, вы не несете ответственности, если однажды ночью проснетесь и заметите, что кто-то пытается проникнуть в эту собственность. Бруно — это Лямбда, потому что, пока мы спим, он заботится о нас».