Какво е AWS Lambda? Ламбда функция с примери

Съдържание:

Anonim

Преди функцията AWS Lambda, нека разберем:

Какво е без сървър?

Безсървърно е термин, който обикновено се отнася до безсървърни приложения. Безсървърните приложения са тези, които не се нуждаят от никакви сървърни услуги и не се нуждаят от управление на сървъри.

Какво е AWS Lambda?

AWS Lambda е управлявана от събития, безсървърна изчислителна платформа, предоставена от Amazon като част от Amazon Web Services. Следователно не е нужно да се притеснявате кои ресурси на AWS да стартирате или как ще ги управлявате. Вместо това трябва да поставите кода на Lambda и той работи.

В AWS Lambda кодът се изпълнява въз основа на отговора на събития в AWS услуги като добавяне / изтриване на файлове в S3 кофа, HTTP заявка от Amazon API шлюз и др. Въпреки това, Amazon Lambda може да се използва само за изпълнение на фонови задачи.

Функцията AWS Lambda ви помага да се съсредоточите върху основния си продукт и бизнес логика, вместо да управлявате контрола на достъпа на операционната система (OS), корекцията на ОС, правилното оразмеряване, осигуряването, мащабирането и др

В този урок за начинаещи AWS Lambda ще научите:

  • Как работи AWS Lambda?
  • Събития, които задействат AWS Lambda
  • AWS Lambda Concepts
  • AWS Lambda VS AWS EC2
  • AWS Lambda VS AWS Elastic Beanstalk
  • Използвайте случаи на AWS Lambda
  • Най-добри практики за функцията Lambda
  • Кога да не се използва AWS Lambda
  • Предимства на използването на AWS Lambda
  • Ограничения на AWS Lambda

Как работи AWS Lambda?

Следващият пример на AWS Lambda с блок-схема обяснява работата на AWS Lambda в няколко лесни стъпки:

Стъпка 1: Качете първо вашия AWS Lambda код на всеки език, поддържан от AWS Lambda. Java, Python, Go и C # са някои от езиците, които се поддържат от функцията AWS Lambda.

Стъпка 2: Това са някои AWS услуги, които ви позволяват да задействате AWS Lambda.

Стъпка 3: AWS Lambda ви помага да качите код и подробности за събитието, на които трябва да се задейства.

Стъпка 4: Изпълнява AWS Lambda Code, когато той се задейства от услуги на AWS:

Стъпка 5: AWS се таксува само когато AWS ламбда кодът се изпълнява, а не по друг начин.

Това ще се случи в следните сценарии:

  • Качвайте файлове в сегмент S3
  • Когато е ударен HTTP URL адрес за получаване / публикуване на крайна точка
  • За добавяне / модифициране и изтриване на таблици на Dynamo DB
  • В процеса на събиране на потоци от данни
  • Известие
  • Хостинг на уебсайт
  • Изпращане на имейл

Забележка: Трябва да помните, че ще таксувате за услугите на AWS само когато AWS Lambda кодът се изпълнява, в противен случай не е нужно да плащате нищо.

Събития, които задействат AWS Lambda

Ето събитията, които ще се задействат, когато използвате AWS Lambda.

  • Вмъкване, актуализиране и изтриване на данни Dynamo DB таблица
  • За включване на push известия в SNS
  • За търсене на история на регистрационните файлове в CloudTrail
  • Влизане в обект S3
  • DynamoDB може да задейства AWS Lambda, когато има данни, добавени, модифицирани и изтрити в таблицата.
  • Помага ви да планирате събитието, за да изпълнявате задачата по обичайния времеви модел.
  • Модификации на обекти в сегменти S3
  • Известия, изпратени от Amazon SNS.
  • AWS Lambda може да се използва за обработка на регистрите на CloudTrail
  • API шлюзът ви позволява да задействате AWS Lambda по GET / POST методи.

AWS Lambda Concepts

Функция:

Функцията е програма или скрипт, която работи в AWS Lambda. Lambda предава събития за извикване във вашата функция, която обработва събитие и връща отговора му.

Времетраене:

Времето за изпълнение позволява функции на различни езици, които се изпълняват в една и съща базова среда за изпълнение. Това ви помага да конфигурирате функцията си по време на изпълнение. Той също така съответства на избрания от вас език за програмиране.

Източник на събитието:

Източник на събитие е услуга AWS, като Amazon SNS, или персонализирана услуга. Тази функция за задействане ви помага да изпълнявате нейната логика.

Ламбда слоеве:

Ламбда слоевете са важен механизъм за разпространение на библиотеки, персонализирани времена на изпълнение и други важни функционални зависимости. Този компонент на AWS също ви помага да управлявате кода на вашата функция за разработка отделно от неизменния код и ресурси, които той използва.

Дневни потоци:

Дневният поток ви позволява да анотирате вашия функционален код с персонализирани протоколи за регистриране, което ви помага да анализирате потока на изпълнение и производителността на вашите AWS Lambda функции.

Как да използвам AWS Lambda

Сега ще научим как да използваме AWS Lambda с AWS Lambda пример:

Стъпка 1 ) Отидете на https://aws.amazon.com/lambda/ и започнете

Стъпка 2 ) Създайте акаунт или влезте със съществуващия си акаунт

Стъпка 3 ) В следващата ламбда страница

  1. Редактирайте кода
  2. Щракнете върху Run

Стъпка 4 ) Ще видите изход

AWS Lambda VS AWS EC2

Ето някои основни разлики между AWS Lambda и EC2.

Параметри AWS Ламбда AWS EC2
Определение AWS Lambda е платформа като услуга (PaaS). Помага ви да стартирате и изпълните вашия бекенд код. AWS EC2 е инфраструктура като услуга (laaS). Той осигурява виртуализирани изчислителни ресурси.
Гъвкавост Не предлага гъвкавост за влизане в изчислителни екземпляри. Тя ви позволява да изберете персонализирана операционна система или време за изпълнение на езика. Предлага гъвкавост за избор на разнообразие от екземпляри, системи за персонализиране, пачове за сигурност и мрежа и т.н.
Процес на инсталиране Трябва да изберете вашата среда, в която искате да изкодирате кода и да го натиснете в AWS Lambda. За първи път в EC2 трябва да изберете операционната система и да инсталирате целия необходим софтуер и след това да натиснете кода си в EC2.
Ограничения на околната среда То е ограничено до няколко езика. Без ограничения на околната среда.

AWS Lambda VS AWS Elastic Beanstalk

Ето някои основни разлики между AWS Lambda и Elastic Beanstalk.

Параметри AWS Elastic Beanstalk AWS Ламбда
Основна задача Внедрявайте и управлявайте приложенията в AWS Cloud, без да се притеснявате за инфраструктурата, която изпълнява тези приложения. AWS Lambda се използва за стартиране и изпълнение на вашия Back-end код. Не можете да го използвате за разполагане на приложение.
Избор на ресурси на AWS Дава ви свобода да избирате ресурси на AWS; Например можете да изберете екземпляр EC2, който е оптимален според вашето приложение. Не можете да изберете ресурсите на AWS, като тип екземпляр EC2, Lambda предлага ресурси въз основа на натоварването ви.
Тип система Това е държавна система. Това е система без гражданство.

Използвайте случаи на AWS Lambda

AWS Lambda се използва за широк спектър от приложения като:

  • Помага ви за ETL процес
  • Позволява ви да извършвате обработка на файлове в реално време и обработка на потоци в реално време
  • Използвайте за създаване на уеб приложения
  • Използвайте в продукти на Amazon като Alexa Chatbots и Amazon Echo / Alexa
  • Обработка на данни (поточна аналитика в реално време)
  • Автоматизирани архиви на ежедневни задачи
  • Мащабируеми задни краища (мобилни приложения, loT устройства)
  • Помага ви да изпълнявате сървърна бекенд логика
  • Позволява ви да филтрирате и трансформирате данни

Най-добри практики за функцията Lambda

Ето някои най-добри практики за функциите на AWS Lambda:

  • Използвайте правилния „таймаут“.
  • Използвайте функциите на локалното хранилище с размер 500MB в папката / temp
  • Минимизиране на използването на стартиращ код, който не е пряко свързан с обработката на текущото събитие.
  • Трябва да използвате вграден CloudWatch мониторинг на вашите Lambda функции, за да видите и оптимизирате латентността на заявките.

Кога да не се използва AWS Lambda

Следват ситуацията, при която Ламбда със сигурност не е идеален вариант:

  • Не е подходящо да се използват софтуерни пакети или приложения на AWS Lambda, които разчитат на извикване на основните RPC на Windows
  • Ако се използва за персонализирани софтуерни приложения с лицензионни споразумения като обработка на документи на MS-Office, бази данни на Oracle и др.
  • AWS Lambda не трябва да се използва за персонализиран хардуерен процес като ускорение на GPU, хардуерен афинитет.

Предимства на използването на AWS Lambda

Ето плюсовете / ползите от използването на AWS ламбда:

  • AWS Lambda е изключително гъвкав инструмент за използване
  • Той ви помага да предоставите достъп до ресурси, включително VPC
  • Автор директно с редактора WYSIWYG в конзолата.
  • Можете да го използвате като приставка за Eclipse и Visual Studio.
  • Тъй като това е безсървърна архитектура, не е нужно да се притеснявате за управление или осигуряване на сървъри.
  • Не е необходимо да настройвате виртуална машина.
  • Помага на разработчиците да изпълняват и изпълняват отговора на кода на събития, без да изграждат инфраструктура.
  • Просто трябва за времето за изчисляване, само когато вашият код работи.
  • Можете да наблюдавате ефективността на кода си в реално време чрез CloudWatch.
  • Тя ви позволява да стартирате кода си без осигуряване или да управлявате друг сървър
  • Помага ви да изпълнявате кода само когато е необходимо
  • Можете да го мащабирате автоматично, за да обработва няколко заявки на ден и дори да поддържате повече от хиляди заявки в секунда.
  • AWS Lambda може да бъде конфигуриран с помощта на външни таймери за събития за изпълнение на планирани задачи.
  • Ламбда функцията в AWS трябва да бъде конфигурирана с външно събитие и таймери; може да се използва за планиране.
  • Ламбда функциите са без гражданство, така че да могат да се мащабират бързо.
  • AWS Lambda е бърз, така че ще изпълни вашия код в рамките на милисекунди.

Ограничения на AWS Lambda

Ето минусите / недостатъците на използването на AWS Lambda:

  • Инструментът AWS Lambda не е подходящ за малки проекти.
  • AWS Lambda разчита изцяло на AWS за инфраструктурата, така че не можете да инсталирате допълнителен софтуер, ако вашият код го изисква.
  • Едновременното изпълнение е ограничено до 100
  • AWS Lambda напълно зависи от AWS за инфраструктурата; не можете да инсталирате нищо допълнителен софтуер, ако вашият код го изисква.
  • Обемът на паметта може да варира между 128 и 1536 MB.
  • Искането за събитие не трябва да надвишава 128 KB.
  • Ламбда функциите ви помагат да пишете техните дневници само в CloudWatch. Това е единственият инструмент, който ви позволява да наблюдавате или отстранявате вашите функции.
  • Времето за изпълнение на кода му е само 5 минути.

Обобщение

  • Безсървърно е термин, който обикновено се отнася до безсървърни приложения.
  • AWS Lambda е една такава безсървърна изчислителна услуга. Следователно не е нужно да се притеснявате кои ресурси на AWS да стартирате или как ще ги управляват.
  • Функцията е програма или скрипт, която работи в AWS безсървърна ламбда.
  • Времето за изпълнение позволява функции на различни езици, които се изпълняват в една и съща базова среда за изпълнение.
  • Източник на събитие е услуга AWS, като Amazon SNS, или персонализирана услуга.
  • Ламбда слоевете са важен механизъм за разпространение на библиотеки, персонализирани времена на изпълнение и други важни функционални зависимости.
  • Дневният поток ви позволява да анотирате вашия функционален код с персонализирани протоколи за регистриране, което ви помага да анализирате потока на изпълнение и изпълнението на вашите Lambda функции.
  • AWS Lambda е платформа като услуга (PaaS). Помага ви да стартирате и изпълните вашия бекенд код.
  • AWS EC2 е инфраструктура като услуга (laaS). Той осигурява виртуализирани изчислителни ресурси.
  • Внедрявайте и управлявайте приложенията в AWS Cloud, без да се притеснявате за инфраструктурата, която изпълнява тези приложения.
  • AWS Lambda се използва за стартиране и изпълнение на вашия Back-end код. Не можете да го използвате за разполагане на приложение.
  • AWS Lambda ви помага за ETL процеса.
  • Най-добрата практика на функцията Lambda в AWS е да се използва правилното „изчакване“.
  • Не е подходящо да се използват софтуерни пакети или приложения на AWS Lambda, които разчитат на извикване на основните RPC на Windows
  • AWS Lambda е изключително гъвкав инструмент.
  • Инструментът AWS Lambda не е подходящ за малки проекти.
  • Често срещано събитие, което ще се задейства, когато използвате AWS Lambda, е Вмъкване, актуализиране и изтриване на данни Dynamo DB таблица.