Въведение в AWS Lambda

AWS Lambda е отзивчива облачна услуга, която инспектира действията на приложението и реагира чрез разполагане на дефинирани от потребителя кодове, известни като функции. Преди да научим задълбочено темата, нека първо разберем AWS Lambda от два различни сценария.

проблем

Имате предвид проект. Формулирате алгоритъма в ума си. Вие оценявате възможностите за технологичен стек, които можете да използвате за изграждането на вашия проект. Всичко върви много добре, докато не осъзнаете, че трябва да изтеглите необходимия софтуер, IDE, инструменти и да осигурите сървърно пространство, за да обслужвате вашия код. Добре, ще трябва да настроите основната инфраструктура, преди да започнете действителното кодиране на вашия проект. О, но ти трябва приложението ти да работи безпроблемно на компютри, както и на мобилни интерфейси. Това означава повече инфраструктура, която да настроите, преди да натиснете наземното кодиране.

Твърде голяма част от режийните разходи за начални етапи на развитие? Прекалено голяма част от разходите за управление на инфраструктурата, дори когато проектът ви се увеличава? Вашият проект ли е превишаване на оценките на разходите? Фокусът ви разделен ли е на всички неща освен кодирането?

Решение - това са проблемите, но AWS Lambda е решението.

AWS Lambda - Изчисляване без сървър

AWS Lambda ви позволява да стартирате вашия код, без да предвиждате сървърите и друга поддържаща инфраструктура. Можете да кодирате във всеки тип приложение или резервна услуга, без да се притеснявате за сървъра или поддържащия DLL / софтуер. Трябва само да се съсредоточите върху кода си. Останалото всичко се грижи от AWS, като се започне с обслужването на вашия код, чрез задействане на кода при конкретни събития, до управление на повече сървърно пространство, когато вашият код се увеличава.

  • AWS ви таксува на базата на времето, което кодът ви изпълнява, в множество от 100 милисекундни кадри. Няма такса за времето, в което кодът ви седи на празен ход на сървъра. Каква по-добра мотивация за писане на ефективен код!
  • Терминът „без сървър“ често обозначава преминаването към облака. С облака можете да делегирате оперативните си отговорности на AWS и да се съсредоточите повече върху осигуряването на по-добро потребителско изживяване чрез приложението си.
  • Докато го правите, AWS се справя със задачи като управление на инфраструктурата, клъстериране, кръпка, защита, поддръжка на операционна система и т.н.

Защо AWS Lambda?

Както е човешката природа, винаги е добре да се прецени дали технологията / инструментът си струва ползата. Нека видим някои от характеристиките на AWS Lambda, което улеснява живота на разработчиците.

1) Донесете свой собствен код

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

2) Домакин на други AWS услуги

AWS е обслужване на едно гише за цялата необходима инфраструктура. Има лесна интеграция в рамките на различни услуги като съхранение (S3), бази данни (RDS, DynamoDB), сървъри (EC2), управление на сигурността (IAM), работа в мрежа (Route53, CloudFront) и още много други.

3) Персонализиран код

Трябва да напишете персонализирана бек-енд логика, пригодена за един клиент? Вместо да пишете логиката от страна на клиента, използвайте AWS Lambda, за да пишете персонализирани услуги и да направите своя код без актуализации на клиентската платформа.

4) Плащане за употреба

Не е необходимо да раздавате долари за времето, когато кодът ви седи бездействащ. Ако услугата ви получава хитове само през деня, плащайте само за времето, в което кодът ви се изпълнява. Това се изчислява във времеви рамки от 100 милисекунди.

5) Автоматично мащабиране

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

6) Възстановяване при бедствия на Amazon

С вашия код и данни, репликирани в множество зони за достъпност, всяка повреда на съоръжението не се отразява на приложението ви. Заявките се пренасочват автоматично към друга зона.

Нека започнем с урока за ламбда AWS

Развълнуван? Да започнем с AWS Lambda. Тъй като това е обичай в целия програмен свят, ние ще започнем с една проста програма "Hello World".

Предварителни стъпки

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

Създайте AWS акаунт

  • Отворете конзолата AWS. Кликнете върху Създаване на нов AWS акаунт.

  • Попълнете вашата информация и актуализирайте данните на вашата карта. Amazon няма да ви таксува нищо, освен ако не надвишите лимита за използване на безплатен достъп. Ограничението за използване на безплатни нива е изобилно за разработка на един потребител.
  • След като приключите процеса на регистрация, посетете връзката в стъпка 1 отново. Този път влезте в конзолата с вашето потребителско име и парола.

Влезте в конзолата Lambda

След като влезете в конзолата за управление на AWS, в екрана на заглавката ще видите връзка към Услуги. Кликнете върху него и ще намерите Lambda вътре в подраздела Compute .

Ето как на пръв поглед изглежда ламбда конзолата:

Можете също да прегледате таблото за управление на Lambda и да видите статистиката на вашия код. Той ви дава представа за броя на извикванията, продължителността на изпълнението, съотношението на успеха и грешките и др. Примерно табло изглежда нещо като по-долу.

Добре, така че следващата стъпка е да създадете функция. Всички кодове в Lambda се обозначават като функции, защото, добре, те изпълняват конкретна задача. Забележете бутон за създаване на функция в горния десен ъгъл на конзолата Lambda. Този бутон ще ни отведе до екрана по-долу:

Създаване на AWS лямбда функция

Нека да видим как да създадем функция AWS Lambda, като следваме стъпките по-долу.

Етап 1

Сега имаме три възможности, за начало:

  • Автор от Scratch - Ще ви бъде предоставен празен шаблон и можете да напишете кода си от нулата.
  • Използвайте план - шаблон с включени някои библиотеки, за да отговарят на вашите нужди. Трябва само да работите върху логиката на вашия код.
  • Разгледайте хранилище за приложения без сървър - Готов за използване на вградени кодове, изпълняващи различни функции. Те могат лесно да се използват и във вашия код.

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

Сега кликнете върху Използване на чертежа и потърсете думата здравей. Следните резултати се появяват. Нека създадем нашето здравно приложение с помощта на NodeJS.

Стъпка 2

Сега стигаме до екрана за конфигурация за нашата функция. Въведете име по ваш избор и изберете „Създаване на нова роля от шаблони на политики за AWS“ от падащото меню за ролята на изпълнение. Дайте име на ролята като „lambda_basic_execution“.

Забележка - Role Execution определя разрешенията, които AWS Lambda може да приеме, докато изпълнява вашия код. Основно изпълнение означава, че lambda просто ще изпълни кода там, където няма библиотека на трети страни. В случай, че кодът ви трябва да взаимодейства с Amazon S3 или RDS или EC2 или други услуги, трябва да се дадат подходящи разрешения за достъп до тези услуги на вашата AWS лямбда функция.

Кликнете върху бутона Създаване на функция в долната част на екрана. Следният екран се появява при успешното създаване на вашата функция.

Забележка - Името на ARN или Amazon Resource е уникално име на вашата функция. Това може да се използва като крайна точка за задействане на вашата функция. Задействанията в секцията на дизайнера са мястото, където добавяте услуги, които могат да задействат вашата функция. Във всяка услуга, която може да задейства вашата функция, ARN на вашата функция трябва да бъде конфигуриран. Това е като двупосочно обвързване на услугите. Услугата за задействане ще знае, че тя трябва да засегне вашата функция и вашата функция ще бъде конфигурирана да получава заявки от услугите за задействане, които добавяте. Добавянето на тригери е следващото ниво на уроци по ламбда и е извън обхвата на тази статия.

Стъпка 3

Под подраздела дизайнер е подразделът „Код на функцията“. Това е вашият вграден IDE, улеснен от Amazon. Изглежда така:

  • Под падащото меню Тип за въвеждане на код можете да изберете дали искате да редактирате вграден код или да качите zip файл от вашата система или да качите ZIP файл от Amazon S3. Опциите за качване могат да се използват за сложни кодове, които лесно могат да се редактират в някои по-добре представени IDE в вашата локална система.
  • Времето за изпълнение е езикът / рамката, която поддържа кода ви.
  • Handler е функция за извикване във вашата AWS lambda функция. Вашата AWS ламбда функция може да има множество обработващи и можете да определите с кой манипулатор да започнете изпълнението. Обработващи картини като методи, предназначени за изпълнение на конкретни задачи.

Стъпка 4

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

Конфигурирайте първото си пробно събитие като това по-долу:

Запазете тестовото събитие и кликнете върху Тест. Ще видите резултатите от изпълнението на вашата функция.

  • Отговор - Крайният резултат, върнат от вашата функция. Забележете, че функцията ни върна ключ1.
  • ID на заявката - Всяка заявка към вашата функция има уникален идентификационен номер за заявка. Те се използват от Amazon за проследяване на заявки и генериране на вашата платежна информация.
  • Функционални дневници - най-проницателната част на AWS Lambda. Това са подробни дневници, които определят началото и края на изпълнението на вашата функция. За разлика от отстраняването на грешки в обичайните IDE, AWS Lambda разчита до голяма степен на регистрационни файлове с цел отстраняване на грешки. Те се съхраняват в CloudWatch за бъдещи справки.

Честито! Успешно сте създали функция Lambda. Но изчакайте, още не сме го извикали. Просто го изпробвахме от собствената си среда. Нека го извикаме от външния свят.

Извикване на AWS функцията ламбда

Бихме създавали API за REST, за да се позовем на функцията Lambda.

Етап 1

Отворете шлюза на API на Amazon. Той може да бъде намерен и в Услуги -> Мрежи и доставка на съдържание. Кликнете върху Създаване на API.

Стъпка 2

Конфигурирайте основните подробности за вашия API както е посочено по-долу и щракнете върху Създаване на API.

Стъпка 3

Сега вашият API е създаден, но в API няма дефиниран HTTP метод. Кликнете върху падащото меню Действия и създайте метод. В левия прозорец ще забележите по-малко падащо меню. Кликнете върху GET от това падащо меню. Така че по същество ние създаваме метод на HTTP GET за нашия API.

Стъпка 4

Конфигурирайте метода си GET, за да извикате ламбда функция, както е показано по-долу. Трябва да посочите ARN на функцията на лямбда в полето за функция Ламбда. Кликнете върху Запазване.

След като вашият GET метод е запазен, ще стигнете до по-долу екрана за изпълнение на метода.

Стъпка 5

Сега, вашият GET метод също е създаден. Но все още не сме доставили двойки ключ-стойност, които направихме в нашата тестова среда. Нашата функция AWS Lambda очаква три ключа и стойности. Нека ги дефинираме.

Кликнете върху Заявка за интеграция и превъртете надолу до Шаблони за картографиране. Определете шаблона си за картографиране по-долу. Типът съдържание е application / json. Това е просто форматът на параметрите, които бихте изпращали в тялото на вашата заявка.

API вече е готов за внедряване.

Стъпка 6

Кликнете върху Действия и внедряване на API. В изскачащото меню за разгръщане изберете New Stage и дайте смислено име и описание.

Ще стигнете до екрана по-долу с крайната точка на REST на вашия API, конфигуриран и готов за използване.

Кликнете върху крайната точка и браузърът ще изпрати заявка към вашата функция Lambda и ще покаже отговора.

Честито! Успешно сте извикали и вашата функция Lambda. Доста постижение.

Кой може да научи AWS Lambda

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

AWS разполага и с изчерпателна документация за всички свои услуги. Разгледайте документацията за по-задълбочено разбиране на света AWS.

Кариера в AWS Lambda

Това не е само Lambda, но и целият сектор на Amazon Web Services е процъфтяващ днес. Има търсене на експерти в AWS услугите. AWS също така предоставя сертификати, отговарящи на вашето ниво на експертиза. Разгледайте уебсайта на AWS за допълнителна информация за това.

заключение

Сега, след като сте разбрали основите на функциите на AWS Lambda, продължете да създавате още функции и да се интегрирате с други AWS услуги. Продължавайте да играете и да продължавате да се учите. Наздраве!

Препоръчителни статии

Това е ръководство за това какво е AWS Lambda. В този урок за AWS Lambda функция обяснихме как да конфигурирате и разгърнете API. Можете да разгледате и другите ни предложени статии, за да научите повече -

  1. Какво е AWS? | Как работи?
  2. Кариера в Azure | Образование | Кариера
  3. Ръководство за облачни компютърни услуги
  4. Какви са алтернативите на AWS?
  5. Пълно ръководство за доставчиците на услуги в облачни компютри

Категория: