Uvod u AWS Lambda

AWS Lambda je fleksibilna usluga u oblaku koja provjerava radnje aplikacije i reagira razmještajući korisnički definirane kodove poznate kao funkcije. Prije nego što detaljno naučimo temu, razumjet ćemo prvo AWS Lambda iz dva različita scenarija.

Problem

Imate na umu projekt. U mislima formulirate algoritam. Procjenjujete mogućnosti tehnološkog snopa pomoću kojih možete graditi svoj projekt. Sve ide vrlo dobro dok ne shvatite da trebate preuzeti potrebni softver, IDE-ove, alate i nabaviti prostor na poslužitelju za posluživanje koda. U redu, trebali biste postaviti osnovnu infrastrukturu prije nego što započnete stvarno kodiranje na projektu. Ohh, ali trebate da se vaša aplikacija neometano izvodi na računalima kao i na mobilnim sučeljima. To znači da trebate postaviti više infrastrukture prije nego što pogodite osnovno kodiranje.

Previše troškova za početne faze razvoja? Previše troškova za upravljanje infrastrukturom, čak i kako se vaš projekt povećava? Je li vaš projekt prekoračenje na procjeni troškova? Je li vaš fokus podijeljen između svih stvari osim kodiranja?

Rješenje - ovo su problemi, ali AWS Lambda je rješenje.

AWS Lambda - Računalo bez poslužitelja

AWS Lambda omogućuje vam pokretanje koda bez predviđanja za poslužitelje i drugu prateću infrastrukturu. Možete kôdirati bilo koju vrstu programa ili pomoćnu uslugu bez brige o poslužitelju ili podržanim DLL-ovima / softveru. Trebate se usredotočiti samo na svoj kôd. Odmarajte sve o čemu brine AWS, počevši od posluživanja koda, pokretanjem koda na određenim događajima, do upravljanja više prostora na poslužitelju kada se kôd povećava.

  • AWS vam naplaćuje na temelju vremena izvršenja vašeg koda u višekratnicima okvira od 100 milisekundi. Ne naplaćuje se vrijeme vašeg koda u praznom hodu na poslužitelju. Koja je bolja motivacija za pisanje učinkovitog koda!
  • Izraz "bez servera" često označava prelazak u oblak. S oblakom možete prenijeti svoje operativne odgovornosti na AWS i više se usredotočiti na pružanje boljeg potrošačkog iskustva putem vaše aplikacije.
  • Dok to činite, AWS rješava zadatke poput upravljanja infrastrukturom, klasteriranja, zakrpa, sigurnosti, održavanja operativnog sustava itd.

Zašto AWS Lambda?

Kao što je ljudska priroda, uvijek je dobro procijeniti vrijedi li tehnologija / alat. Pogledajmo neke značajke AWS Lambda koja programerima olakšava život.

1) Donesite vlastiti kod

Kako se AWS vrlo rado hvali ovom značajkom, Lambda vam omogućuje kodiranje na bilo kojem jeziku, a AWS bi pružio temeljnu podršku. Podržava gotovo sve izvorne jezike, okvire JavaScripta, treće biblioteke i sve ostalo.

2) Domaćin drugih AWS usluga

AWS je sve na jednom mjestu za svu potrebnu infrastrukturu. Lako se integrira u razne usluge kao što su pohrana (S3), baze podataka (RDS, DynamoDB), poslužitelji (EC2), upravljanje sigurnošću (IAM), umrežavanje (Route53, CloudFront) i još mnogo toga.

3) Prilagođeni kod

Trebate napisati prilagođenu back-end logiku prilagođenu jednom klijentu? Umjesto da logiku pišete na strani klijenta, za pisanje prilagođenih usluga koristite AWS Lambda i oslobodite svoj kôd od ažuriranja platforme klijenta.

4) Plaćanje po upotrebi

Ne morate izdvajati dolare za vrijeme u kojem vaš kôd miruje. Ako vaša usluga primi pogotke samo tijekom dana, platite samo za vrijeme izvršenja vašeg koda. To se izračunava u vremenskim okvirima od 100 milisekundi.

5) Automatsko skaliranje

AWS automatski povećava resurse kad vaša usluga primi veći broj učitavanja. Ne morate ništa konfigurirati za nabavu dodatnih resursa. Ne postoji ograničenje broja zahtjeva koji vaš kôd može obraditi. Dakle, izvedba ostaje visoka u svakom trenutku.

6) Amazonov oporavak od katastrofe

Uz kôd i podatke replicirane u više zona dostupnosti, svaki neuspjeh objekta ne utječe na vašu prijavu. Zahtjevi se automatski preusmjeravaju u drugu zonu.

Krenimo s AWS Lambda Tutorial

Uzbuđen? Krenimo s AWS Lambda. Kako je to običaj u čitavom programskom svijetu, započeli bismo s jednostavnim 'Hello World' programom.

Preduvjetni koraci

Da biste započeli s AWS Lambda, morate imati AWS račun. Ono se razlikuje od Amazonovog računa koji koristite za kupovinu. Ako ga već imate, prijavite se na konzolu i preskočite na sljedeći odjeljak. Ako ne, slijedite dolje navedene korake. Ne brinite, apsolutno je besplatan sve dok vaša prijava ne pređe ograničenje razine slobodnog sloja.

Kreirajte AWS račun

  • Otvorite AWS konzolu. Kliknite na Kreiraj novi AWS račun.

  • Popunite svoje podatke i ažurirajte podatke kartice. Amazon vam neće ništa naplatiti osim ako ne prekoračite ograničenje upotrebe slobodnog sloja. Ograničenje upotrebe slobodnog sloja obilno je za razvoj jednog korisnika.
  • Nakon dovršetka postupka prijave, ponovno posjetite vezu u koraku 1. Ovaj put prijavite se na konzolu sa svojim korisničkim imenom i zaporkom.

Uđite u Lambda konzolu

Nakon što se prijavite na AWS konzolu za upravljanje, vidjet ćete vezu do Usluge u oknu zaglavlja. Kliknite na nju i naći ćete Lambda unutar pododjelja Compute .

Ovako na prvi pogled izgleda lambda konzola:

Također možete pregledati Lambda nadzornu ploču i vidjeti statistiku svog koda. Omogućuje vam uvid u broj poziva, trajanje izvršenja, omjer uspjeha i pogreške itd. Uzorak nadzorne ploče izgleda poput dolje navedenog.

Ok, tako da je sljedeći korak stvaranje funkcije. Svi kodovi u Lambdi nazivaju se funkcijama jer, dobro, oni obavljaju specifičan zadatak. Primijetite gumb Stvori funkciju u gornjem desnom kutu Lambda konzole. Taj će nas gumb odvesti do donjeg zaslona:

Stvaranje AWS lambda funkcije

Pogledajmo kako stvoriti AWS funkciju lambda slijedeći dolje navedene korake.

Korak 1

Za početak imamo tri mogućnosti:

  • Autor iz programa Scratch - Dobit će vam prazan predložak i moći ćete ispisati ispočetka.
  • Koristite Nacrt - predložak s nekim knjižnicama koje su uključene u skladu s vašim potrebama. Trebate samo raditi na logici vašeg koda.
  • Pregledajte Spremnik aplikacija bez poslužitelja - Spremni za upotrebu ugrađenih kodova koji izvode različite funkcije. Oni se lako mogu koristiti i u vašem kodu.

Kako bismo odgovarali našoj svrsi razumijevanja Lambde, prvo bismo krenuli s nacrtom. Jednom kada ste dovoljno sigurni, možete započeti s izgradnjom koda ispočetka i istražiti potencijal AWS Lambda.

Sada kliknite na Koristi nacrt i potražite riječ zdravo. Sljedeći se rezultati pojavljuju. Kreirajmo našu hello world aplikaciju pomoću NodeJS.

Korak 2

Sada stižemo do zaslona konfiguracije za našu funkciju. Unesite ime po vašem izboru i odaberite "Create New Role from AWS Policy Templates" s padajućeg izbornika Execution Role. Navedite ime uloge kao "lambda_basic_execution".

Napomena - uloga izvršenja definira dopuštenja koja AWS Lambda može pretpostaviti prilikom izvršavanja vašeg koda. Osnovna izvedba znači da će lambda jednostavno izvršiti kod tamo gdje ne postoji treća strana knjižnica. U slučaju da vaš kôd treba komunicirati s Amazonom S3 ili RDS ili EC2 ili bilo kojom drugom uslugom, vašoj AWS lambda funkciji morate dati odgovarajuća dopuštenja za pristup tim uslugama.

Kliknite gumb Stvori funkciju na dnu zaslona. Na uspješnom kreiranju vaše funkcije pojavljuje se sljedeći zaslon.

Napomena - ARN ili Amazon Resource Name jedinstveno je ime vaše funkcije. Ovo se može koristiti kao krajnja točka za pokretanje vaše funkcije. Okidači u odjeljku dizajnera su gdje dodajete usluge koje mogu pokrenuti vašu funkciju. U svakoj usluzi koja može pokrenuti vašu funkciju, ARN vaše funkcije treba biti konfiguriran. To je poput dvosmjernog vezivanja usluga. Usluga pokretanja znala bi da treba pogoditi vašu funkciju i vaša bi funkcija bila konfigurirana za primanje zahtjeva od okidačkih usluga koje dodate. Dodavanje okidača je sljedeća razina lambda tutorijala i izvan je opsega ovog članka.

3. korak

Ispod dizajnerskog pododjeljka nalazi se pododjeljak Funkcijski kôd. Ovo je vaš inline IDE kojim je omogućen Amazon. To izgleda otprilike ovako:

  • U padajućem izborniku Type Entry Type (Vrsta unosa koda) možete odabrati želite li uređivati ​​kôd unutar ili otpremiti zip datoteku iz svog sustava ili prenijeti zip datoteku iz Amazon S3. Opcije prijenosa mogu se koristiti za složene kodove koji se mogu lako uređivati ​​u nekom bolje predstavljenom IDE-u na vašem lokalnom sustavu.
  • Runtime je jezik / okvir koji podržava vaš kôd.
  • Rukovalac je funkcija prizivanja unutar vaše AWS lambda funkcije. Vaša AWS lambda funkcija može imati više rukovatelja i možete odrediti s kojim upravljačem započeti izvršavanje. Uređivači slika kao metode koje su određene za izvršavanje određenih zadataka.

4. korak

Na vrhu stranice vidjet ćete traku s nekim gumbima. Kliknite na Odaberi testni događaj za testiranje našeg koda. U tom slučaju ćete zatražiti Konfiguriranje testnog događaja u slučaju da nije stvoren nijedan.

Konfigurirajte svoj prvi testni događaj poput onog u nastavku:

Spremite testni događaj i kliknite na Test. Vidjet ćete rezultate izvršenja vaše funkcije.

  • Odgovor - krajnji rezultat koji vam vraća funkcija. Primjetite da je naša funkcija vratila ključ1.
  • ID zahtjeva - svaki zahtjev u vašoj funkciji ima jedinstveni ID zahtjeva. Amazon ih koristi za praćenje zahtjeva i generiranje podataka o naplati.
  • Dnevnici funkcija - najistaknutiji dio AWS Lambda. Riječ je o detaljnim zapisnicima koji određuju početak i kraj izvršenja vaše funkcije. Za razliku od uklanjanja pogrešaka u uobičajenim IDE-ovima, AWS Lambda se u svrhu uklanjanja pogrešaka uglavnom oslanja na zapisnike. Spremljeni su u CloudWatch za buduće reference.

Čestitamo! Uspješno ste stvorili funkciju Lambda. Ali čekaj, još ga nismo pozvali. Upravo smo to testirali iz vlastitog okruženja. Pozovimo ga iz vanjskog svijeta.

Poziva AWS Lambda funkciju

Stvorili bismo REST API za pozivanje na funkciju Lambda.

Korak 1

Idite na Amazon API Gateway. Može se pronaći i pod Uslugama -> Umrežavanje i isporuka sadržaja. Kliknite Create API.

Korak 2

Konfigurirajte osnovne podatke svog API-ja dolje i kliknite na Create API.

3. korak

Sada je stvoren vaš API, ali ne postoji HTTP metoda definirana u API-ju. Kliknite padajući izbornik Akcije i Stvori metodu. Primijetit ćete da se u lijevom oknu pojavljuje manji padajući izbornik. Kliknite GET iz ovog padajućeg izbornika. U osnovi, stvaramo HTTP GET metodu za naš API.

4. korak

Konfigurirajte svoju GET metodu za poziv lambda funkcije kako je dolje prikazano. U polju Lambda funkcija morate navesti ARN funkcije vaše Lambda. Kliknite Spremi.

Jednom kada se vaša GET metoda spremi, stigli biste do dolje prikazanog zaslona izvršenja metoda.

5. korak

Sada je stvorena i vaša GET metoda. Ali još uvijek nismo isporučili parove ključ i vrijednost koji smo napravili u našem testnom okruženju. Naša AWS Lambda funkcija očekuje tri ključa i vrijednosti. Definirajmo ih.

Kliknite na zahtjev za integraciju i pomaknite se prema Mapping Predlošci. Definirajte svoj predložak za mapiranje na sljedeći način. Vrsta sadržaja je application / json. Ovo je jednostavno format parametara koje ćete slati u tijelu svog zahtjeva.

API je sada spreman za upotrebu.

Korak 6

Kliknite Akcije i aktiviraj API. U skočnom prozoru za implementaciju odaberite Nova faza i navedite smisleno ime i opis.

Na donji će ekran stići REST krajnja točka vašeg API-ja konfigurirana i spremna za upotrebu.

Kliknite krajnju točku i preglednik će poslati zahtjev vašoj Lambda funkciji i prikazati odgovor.

Čestitamo! Uspješno ste pozvali i na svoju Lambda funkciju. Prilično postignuće.

Tko može naučiti AWS Lambda

Do sada mora biti očito da funkcija AWS Lambda zahtijeva malo znanja o uslugama, raspoređivanju usluga, zahtjevima i odgovorima. Ovo su osnovne stvari koje svaki računalni programer mora znati kako bi stvorio web aplikacije. Ako nemate dovoljno znanja o ovoj temi, preporučuje se da steknete to znanje kako bi se omogućilo besprotno kodiranje u AWS Lambda.

AWS također posjeduje opsežnu dokumentaciju o svim svojim uslugama. Istražite dokumentaciju za dublje razumijevanje AWS svijeta.

Karijera u AWS Lambda

Ne radi se samo o Lambdi, već je cijeli sektor Amazovih web usluga danas u porastu. Postoji potražnja za stručnjacima za AWS usluge. AWS također pruža certifikate koji odgovaraju vašoj razini stručnosti. Istražite web stranicu AWS-a za dodatne informacije o tome.

Zaključak

Sada kada ste razumjeli osnove AWS Lambda funkcija, nastavite sa stvaranjem dodatnih funkcija i integracijom s ostalim AWS uslugama. Nastavite igrati i nastavite učiti. Živjeli!

Preporučeni članci

Ovo je vodič za Što je AWS Lambda. U ovom smo vodiču o AWS Lambda funkciji objasnili kako konfigurirati i implementirati API. Možete i proći naše druge predložene članke da biste saznali više -

  1. Što je AWS? | Kako radi?
  2. Karijera u Azuru | Obrazovanje | Karijera
  3. Vodič za usluge računalstva u oblaku
  4. Koje su alternative AWS-u?
  5. Kompletni vodič pružatelja usluga računalstva u oblaku

Kategorija: