Шта је АВС Ламбда? Ламбда функција са примерима

Преглед садржаја:

Anonim

Пре функције АВС Ламбда, схватимо:

Шта је Серверлесс?

Серверлесс је термин који се генерално односи на апликације без сервера. Апликације без сервера су оне којима није потребно пружање сервера и не захтевају управљање серверима.

Шта је АВС Ламбда?

АВС Ламбда је рачунарска платформа без сервера вођена догађајима коју нуди Амазон као део Амазон Веб Сервицес. Стога не треба да бринете које АВС ресурсе да покренете нити како ћете њима управљати. Уместо тога, морате ставити код на Ламбда и он се покреће.

У АВС Ламбда код се извршава на основу одговора на догађаје у АВС услугама као што су додавање / брисање датотека у С3 сегменту, ХТТП захтев из Амазон АПИ мрежног пролаза итд. Међутим, Амазон Ламбда се може користити само за извршавање позадинских задатака.

АВС Ламбда функција вам помаже да се усредсредите на ваш основни производ и пословну логику, уместо да управљате контролом приступа оперативног система (ОС), закрпавањем ОС-а, одређивањем величине, обезбеђивањем, скалирањем итд.

У овом упутству за почетнике АВС Ламбда научићете:

  • Како функционише АВС Ламбда?
  • Догађаји који покрећу АВС Ламбда
  • АВС Ламбда концепти
  • АВС Ламбда ВС АВС ЕЦ2
  • АВС Ламбда ВС АВС Еластиц Беансталк
  • Користите случајеве АВС Ламбда
  • Најбоље праксе Ламбда функције
  • Када не користити АВС Ламбда
  • Предности употребе АВС Ламбда
  • Ограничења АВС Ламбда

Како функционише АВС Ламбда?

Следећи пример АВС Ламбда са блок дијаграмом објашњава рад АВС Ламбде у неколико једноставних корака:

Корак 1: Прво отпремите свој АВС Ламбда код на било који језик који подржава АВС Ламбда. Јава, Питхон, Го и Ц # су неки од језика које подржава функција АВС Ламбда.

Корак 2: Ово су неке АВС услуге које вам омогућавају да покренете АВС Ламбда.

Корак 3: АВС Ламбда вам помаже да учитате код и детаље догађаја на којима треба да се покрене.

Корак 4: Извршава АВС Ламбда код када га покрећу услуге АВС:

Корак 5: АВС се наплаћује само када се АВС ламбда код изврши, а не другачије.

То ће се догодити у следећим сценаријима:

  • Отпремите датотеке у серију С3
  • Када се погоди ХТТП УРЛ адреса крајње тачке за добивање / објављивање
  • За додавање / модификовање и брисање Динамо ДБ табела
  • У процесу прикупљања токова података
  • Пусх обавештење
  • Хостинг веб странице
  • Слање е-поште

Напомена: Треба да запамтите да ћете услуге АВС наплаћивати само када се АВС Ламбда код изврши, иначе не морате ништа да плаћате.

Догађаји који покрећу АВС Ламбда

Ево догађаја који ће се активирати када користите АВС Ламбда.

  • Уметање, ажурирање и брисање података Динамо ДБ табеле
  • Укључивање пусх обавештења у СНС
  • Да бисте претражили историју дневника у ЦлоудТраил-у
  • Улазак у С3 објекат
  • ДинамоДБ може да активира АВС Ламбда кад год се у табели додају, мењају и бришу подаци.
  • Помаже вам да закажете догађај за извршавање задатка у редовном временском распореду.
  • Измене објеката у сегментима С3
  • Обавештења послата од Амазон СНС.
  • АВС Ламбда се може користити за обраду ЦлоудТраил евиденција
  • АПИ Гатеваи вам омогућава да активирате АВС Ламбда на ГЕТ / ПОСТ методама.

АВС Ламбда концепти

Функција:

Функција је програм или скрипта која ради у АВС Ламбда. Ламбда прослеђује догађаје позива у вашу функцију која обрађује догађај и враћа његов одговор.

Рунтимес:

Рунтиме дозвољава функције на разним језицима који се изводе у истом основном окружењу за извршавање. Ово вам помаже да конфигуришете своју функцију током извођења. Такође се подудара са одабраним програмским језиком.

Извор догађаја:

Извор догађаја је АВС услуга, као што је Амазон СНС, или прилагођена услуга. Ова функција окидача помаже вам у извршавању њене логике.

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

Ламбда слојеви су важан механизам дистрибуције за библиотеке, прилагођена времена извођења и друге важне зависности функција. Ова АВС компонента такође вам помаже да управљате кодом развојне функције одвојено од непроменљивог кода и ресурса које користи.

Дневници:

Поток дневника вам омогућава да свој функцијски код означите прилагођеним изјавама за евидентирање, што вам помаже да анализирате ток извршавања и перформансе ваших АВС Ламбда функција.

Како се користи АВС Ламбда

Сада ћемо научити како да користимо АВС Ламбда са примером АВС Ламбда:

Корак 1 ) Идите на хттпс://авс.амазон.цом/ламбда/ и започните

Корак 2 ) Отворите налог или се пријавите са постојећим налогом

Корак 3 ) На следећој Ламбда страници,

  1. Измените код
  2. Кликните на Рун

Корак 4 ) Видећете излаз

АВС Ламбда ВС АВС ЕЦ2

Ево неколико главних разлика између АВС Ламбда и ЕЦ2.

Параметри АВС Ламбда АВС ЕЦ2
Дефиниција АВС Ламбда је платформа као услуга (ПааС). Помаже вам у покретању и извршавању вашег позадинског кода. АВС ЕЦ2 је инфраструктура као услуга (лааС). Пружа виртуелизоване рачунарске ресурсе.
Флексибилност Не нуди никакву флексибилност за пријављивање у рачунске инстанце. Омогућава вам да одаберете прилагођени оперативни систем или време извођења језика. Нуди флексибилност одабира разних инстанци, система за управљање, сигурносних закрпа и мреже итд.
Процес инсталације Морате да изаберете своје окружење у којем желите да упишете код и да га гурнете у АВС Ламбда. По први пут у ЕЦ2 морате да изаберете ОС и инсталирате сав потребан софтвер, а затим да гурнете свој код у ЕЦ2.
Ограничења околине Ограничен је на неколико језика. Без ограничења околине.

АВС Ламбда ВС АВС Еластиц Беансталк

Ево неколико главних разлика између АВС Ламбда и Еластиц Беансталк.

Параметри АВС Еластиц Беансталк АВС Ламбда
Главни задатак Примените и управљајте апликацијама на АВС Цлоуд-у без бриге о инфраструктури која покреће те апликације. АВС Ламбда се користи за покретање и извршавање вашег позадинског кода. Не можете га користити за примену апликације.
Избор АВС ресурса Даје вам слободу избора АВС ресурса; На пример, можете одабрати ЕЦ2 инстанцу која је оптимална у складу са вашом апликацијом. Не можете да изаберете АВС ресурсе, попут типа ЕЦ2 инстанце, Ламбда нуди ресурсе на основу вашег радног оптерећења.
Тип система То је систем са државом. То је систем без држављанства.

Користите случајеве АВС Ламбда

АВС Ламбда се користи за широк спектар примена као што су:

  • Помаже вам у ЕТЛ процесу
  • Омогућава обраду датотека у реалном времену и обраду тока у реалном времену
  • Користите за креирање веб апликација
  • Користите у Амазон производима попут Алека Цхатботс и Амазон Ецхо / Алека
  • Обрада података (аналитика струјања у реалном времену)
  • Аутоматизоване резервне копије свакодневних задатака
  • Подесиве позадине (мобилне апликације, лоТ уређаји)
  • Помаже вам у извршавању позадинске логике на страни сервера
  • Омогућава вам филтрирање и трансформацију података

Најбоље праксе Ламбда функције

Ево неколико најбољих пракси функције АВС Ламбда:

  • Користите прави „тимеоут“.
  • Користите функције локалног складишта величине 500 МБ у директоријуму / темп
  • Смањивање употребе почетног кода који није директно повезан са обрадом тренутног догађаја.
  • Требали бисте користити уграђени ЦлоудВатцх надзор ваших Ламбда функција за преглед и оптимизацију кашњења захтева.

Када не користити АВС Ламбда

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

  • Није прикладно користити АВС Ламбда софтверске пакете или апликације који се ослањају на позивање основних Виндовс РПЦ-ова
  • Ако се користи за прилагођене софтверске апликације са уговорима о лиценцирању као што је обрада докумената МС-Оффице, Орацле базе података итд.
  • АВС Ламбда се не сме користити за прилагођени хардверски процес као што је убрзање ГПУ-а, афинитет хардвера.

Предности употребе АВС Ламбда

Ево предности / предности употребе АВС ламбда:

  • АВС Ламбда је изузетно флексибилан алат за употребу
  • Помаже вам да одобрите приступ ресурсима, укључујући ВПЦ
  • Аутор је директно са ВИСИВИГ едитор у конзоли.
  • Можете га користити као додатак за Ецлипсе и Висуал Студио.
  • С обзиром на то да је реч о архитектури без сервера, не морате да бринете о управљању серверима или њиховом обезбеђивању.
  • Не морате да подесите ниједну виртуелну машину.
  • Помаже програмерима да покрену и изврше одговор кода на догађаје без изградње инфраструктуре.
  • Само требате за израчунато време потребно, само када се ваш код покрене.
  • Учинак кода можете пратити у реалном времену путем ЦлоудВатцх-а.
  • Омогућава вам да покренете свој код без провизије или да управљате било којим другим сервером
  • Помаже вам у извршавању кода само када је потребно
  • Можете га аутоматски прилагодити тако да обрађује неколико захтева дневно и чак подржава више од хиљаду захтева у секунди.
  • АВС Ламбда се може конфигурисати уз помоћ спољних тајмера догађаја за извршавање планираних задатака.
  • Ламбда функција у АВС треба да буде конфигурисана са спољним догађајима и тајмерима; може се користити за заказивање.
  • Ламбда функције су без држављанства, тако да се могу брзо прилагодити.
  • АВС Ламбда је брз па ће извршити ваш код у року од милисекунди.

Ограничења АВС Ламбда

Ево слабости / недостатака употребе АВС Ламбда:

  • АВС Ламбда алат није погодан за мале пројекте.
  • АВС Ламбда се у потпуности ослања на АВС за инфраструктуру, тако да не можете инсталирати додатни софтвер ако то захтева ваш код.
  • Истовремено извршење је ограничено на 100
  • АВС Ламбда је у потпуности зависио од АВС-а за инфраструктуру; не можете инсталирати ништа додатни софтвер ако то захтева ваш код.
  • Обим меморије може да варира између 128 и 1536 МБ.
  • Захтев за догађај не би требало да прелази 128 КБ.
  • Ламбда функције помажу вам да записујете њихове дневнике само у ЦлоудВатцх-у. Ово је једини алат који вам омогућава надгледање или решавање проблема са вашим функцијама.
  • Његово време извршавања кода је само 5 минута.

Резиме

  • Серверлесс је термин који се генерално односи на апликације без сервера.
  • АВС Ламбда је једна од таквих рачунарских услуга без сервера. Због тога не треба да бринете које АВС ресурсе да покренете нити како ће њима управљати.
  • Функција је програм или скрипта који ради у АВС Ламбда без сервера.
  • Рунтиме дозвољава функције на разним језицима који се изводе у истом основном окружењу за извршавање.
  • Извор догађаја је АВС услуга, као што је Амазон СНС, или прилагођена услуга.
  • Ламбда слојеви су важан механизам дистрибуције за библиотеке, прилагођена времена извођења и друге важне зависности функција.
  • Поток дневника вам омогућава да свој функцијски код означите прилагођеним изјавама за евидентирање, што вам помаже да анализирате ток извршавања и перформансе ваших Ламбда функција.
  • АВС Ламбда је платформа као услуга (ПааС). Помаже вам у покретању и извршавању вашег позадинског кода.
  • АВС ЕЦ2 је инфраструктура као услуга (лааС). Пружа виртуелизоване рачунарске ресурсе.
  • Примените и управљајте апликацијама на АВС Цлоуд-у без бриге о инфраструктури која покреће те апликације.
  • АВС Ламбда се користи за покретање и извршавање вашег позадинског кода. Не можете га користити за примену апликације.
  • АВС Ламбда вам помаже у ЕТЛ процесу.
  • Најбоља пракса функције Ламбда у АВС је коришћење правог „тимеоут-а“.
  • Није прикладно користити АВС Ламбда софтверске пакете или апликације који се ослањају на позивање основних Виндовс РПЦ-ова
  • АВС Ламбда је изузетно флексибилан алат.
  • АВС Ламбда алат није погодан за мале пројекте.
  • Уобичајени догађај који ће се покренути када користите АВС Ламбда је Уметање, ажурирање и брисање података Динамо ДБ табеле.