Inleiding tot AWS Lambda

AWS Lambda is een responsieve cloudservice die de acties van de toepassing inspecteert en hierop reageert door door de gebruiker gedefinieerde codes te gebruiken die bekend staan ​​als functies. Voordat we het onderwerp diepgaand leren kennen, moeten we eerst AWS Lambda begrijpen vanuit twee verschillende scenario's.

Probleem

Je hebt een project in gedachten. Je formuleert het algoritme in je gedachten. U beoordeelt de technologiestackopties die u kunt gebruiken om uw project te bouwen. Alles gaat heel goed totdat je je realiseert dat je de vereiste software, IDE's, hulpmiddelen moet downloaden en serverruimte moet aanschaffen om je code te bedienen. Oké, je zou de basisinfrastructuur moeten opzetten voordat je daadwerkelijk codeert voor je project. Ohh, maar je moet je applicatie naadloos laten draaien op zowel computers als mobiele interfaces. Dit betekent meer infrastructuur om op te zetten voordat u de grondcodering raakt.

Te veel overhead voor de eerste ontwikkelingsfasen? Te veel overhead voor het beheer van infrastructuur, zelfs als uw project opschaalt? Overschrijdt uw project de kostenramingen? Is je focus verdeeld over alle dingen behalve codering?

Oplossing - Dit zijn de problemen, maar AWS Lambda is de oplossing.

AWS Lambda - Serverloos computergebruik

Met AWS Lambda kunt u uw code uitvoeren zonder te voorzien in de servers en andere ondersteunende infrastructuur. U kunt coderen in elk type toepassing of backend-service zonder u zorgen te maken over de server of de ondersteunende DLL's / software. U hoeft zich alleen te concentreren op uw code. Rest alles wordt verzorgd door AWS, beginnend met het aanbieden van uw code, door uw code te activeren bij specifieke gebeurtenissen, tot het beheren van meer serverruimte wanneer uw code opschaalt.

  • AWS factureert u op basis van de tijd dat uw code wordt uitgevoerd, in veelvouden van frames van 100 milliseconden. Er zijn geen kosten verbonden aan de tijd dat uw code inactief is op de server. Welke betere motivatie om efficiënte code te schrijven!
  • De term 'serverloos' duidt vaak op de verschuiving naar de cloud. Met de cloud kunt u uw operationele verantwoordelijkheden delegeren aan AWS en meer focussen op het bieden van een betere consumentenervaring via uw applicatie.
  • Terwijl u dit doet, behandelt AWS taken zoals infrastructuurbeheer, clustering, patching, beveiliging, onderhoud van het besturingssysteem, enz.

Waarom AWS Lambda?

Net als de menselijke natuur, is het altijd goed om te evalueren of de technologie / tool het voordeel waard is. Laten we enkele functies van AWS Lambda bekijken die het leven van ontwikkelaars gemakkelijk maken.

1) Neem uw eigen code mee

Omdat AWS heel graag opschept over deze functie, laat Lambda je in elke taal coderen en AWS zou de onderliggende ondersteuning bieden. Het ondersteunt bijna alle moedertalen, JavaScript-frameworks, externe bibliotheken en wat niet.

2) Een gastheer van andere AWS-services

AWS is een one-stop-shop voor alle benodigde infrastructuur. Het kan eenvoudig worden geïntegreerd in verschillende services, zoals opslag (S3), databases (RDS, DynamoDB), servers (EC2), beveiligingsbeheer (IAM), netwerken (Route53, CloudFront) en nog veel meer.

3) Aangepaste code

Moet u een aangepaste back-end logica op maat maken voor een enkele client? In plaats van de logica aan de clientzijde te schrijven, gebruikt u AWS Lambda om aangepaste services te schrijven en uw code vrij te maken van clientplatformupdates.

4) Betalen per gebruik

U hoeft geen geld te verdienen zolang uw code niet wordt gebruikt. Als uw service alleen gedurende de dag hits ontvangt, betaal dan alleen voor de tijd dat uw code wordt uitgevoerd. Dit wordt berekend in tijdframes van 100 milliseconden.

5) Automatisch schalen

AWS schaalt automatisch bronnen op wanneer uw service hogere hits ontvangt. U hoeft niets te configureren om extra bronnen aan te schaffen. Er is geen limiet aan het aantal verzoeken dat uw code kan verwerken. De prestaties blijven dus altijd hoog.

6) Amazon's Disaster Recovery

Met uw code en gegevens gerepliceerd over meerdere beschikbaarheidszones, heeft elke faciliteitfout geen invloed op uw applicatie. De aanvragen worden automatisch naar een andere zone geleid.

Laten we beginnen met AWS Lambda Tutorial

Opgewonden? Laten we beginnen met AWS Lambda. Omdat het gebruikelijk is in de programmeerwereld, zouden we beginnen met een eenvoudig 'Hello World'-programma.

Pre-vereiste stappen

Om aan de slag te gaan met AWS Lambda, moet u een AWS-account hebben. Het verschilt van het Amazon-account dat u gebruikt om te winkelen. Als u er al een hebt, meldt u zich aan bij de console en gaat u naar de volgende sectie. Als dit niet het geval is, volgt u de onderstaande stappen. Maak je geen zorgen, het is absoluut gratis zolang je applicatie de limiet van de gratis laag niet overschrijdt.

Maak een AWS-account aan

  • Open de AWS-console. Klik op Nieuw AWS-account maken.

  • Vul uw gegevens in en update uw kaartgegevens. Amazon brengt u niets in rekening tenzij u de gebruikslimiet van de free-tier overschrijdt. De free-tier gebruikslimiet is overvloedig voor de ontwikkeling van één gebruiker.
  • Nadat u het aanmeldingsproces hebt voltooid, gaat u opnieuw naar de link in stap 1. Log deze keer in op de console met uw gebruikersnaam en wachtwoord.

Ga naar Lambda Console

Nadat u zich hebt aangemeld bij de AWS-beheerconsole, ziet u een link naar Services in het koptekstvenster. Klik erop en je zou Lambda vinden in de Compute- subsectie.

Zo ziet de lambda-console er op het eerste gezicht uit:

U kunt ook naar het Lambda-dashboard bladeren en statistieken van uw code bekijken. Het geeft u inzicht in het aantal aanroepingen, de duur van de uitvoering, het succes en de foutenratio, enz. Een voorbeelddashboard ziet er ongeveer zo uit als hieronder.

Ok, dus de volgende stap is het maken van een functie. Alle codes in Lambda worden als functies genoemd omdat ze een specifieke taak uitvoeren. Let op de knop Create Function rechtsboven op de Lambda-console. Die knop brengt ons naar het onderstaande scherm:

Een AWS Lambda-functie maken

Laten we eens kijken hoe we AWS Lambda-functie maken door de onderstaande stappen te volgen.

Stap 1

Nu hebben we drie opties om te beginnen:

  • Author from Scratch - U krijgt een lege sjabloon en kunt uw code helemaal opnieuw schrijven.
  • Gebruik een blauwdruk - een sjabloon met enkele bibliotheken die aan uw behoeften voldoen. U hoeft alleen maar te werken aan de logica van uw code.
  • Blader door de serverloze app-repository - Klaar om ingebouwde codes te gebruiken die verschillende functies uitvoeren. Deze kunnen ook gemakkelijk in uw code worden gebruikt.

Om ons doel te begrijpen, zouden we eerst een blauwdruk gebruiken. Als je eenmaal genoeg zelfvertrouwen hebt, kun je beginnen met het opnieuw samenstellen van je code en het potentieel van AWS Lambda verkennen.

Klik nu op Gebruik een blauwdruk en zoek naar het woord hallo. De volgende resultaten verschijnen. Laten we onze hallo-wereldtoepassing maken met NodeJS.

Stap 2

Nu komen we bij het configuratiescherm voor onze functie. Voer een naam naar keuze in en selecteer 'Een nieuwe rol maken op basis van AWS-beleidssjablonen' in de vervolgkeuzelijst voor uitvoeringsrol. Geef de rolnaam als 'lambda_basic_execution'.

Opmerking - Een uitvoeringsrol definieert de machtigingen die AWS Lambda kan aannemen tijdens het uitvoeren van uw code. Een basisuitvoering betekent dat lambda de code eenvoudig uitvoert wanneer er geen externe bibliotheek bij betrokken is. In het geval dat uw code moet communiceren met Amazon S3 of RDS of EC2 of andere services, moeten de juiste machtigingen voor toegang tot deze services worden gegeven aan uw AWS lambda-functie.

Klik op de knop Functie maken onderaan het scherm. Het volgende scherm verschijnt over het succesvol aanmaken van uw functie.

Opmerking - De ARN of Amazon Resource Name is een unieke naam voor uw functie. Dit kan worden gebruikt als eindpunt om uw functie te activeren. In de triggers in het designergedeelte voegt u services toe die uw functie kunnen activeren. In elke service die uw functie kan activeren, moet de ARN van uw functie worden geconfigureerd. Het is als een tweezijdige binding van services. De trigger-service zou weten dat deze uw functie moet raken en uw functie zou geconfigureerd moeten zijn om verzoeken te ontvangen van de trigger-services die u toevoegt. Het toevoegen van triggers is het volgende niveau van lambda-tutorials en valt buiten het bestek van dit artikel.

Stap 3

Onder de designer-subsectie is de functiecodesubsectie. Dit is je inline IDE gefaciliteerd door Amazon. Het ziet er ongeveer zo uit:

  • Onder de vervolgkeuzelijst Code-invoertype kunt u selecteren of u inline code wilt bewerken of een zipbestand van uw systeem wilt uploaden of een zipbestand van Amazon S3 wilt uploaden. De uploadopties kunnen worden gebruikt voor complexe codes die gemakkelijk kunnen worden bewerkt in een aantal IDE met betere functies in uw lokale systeem.
  • Runtime is de taal / het framework dat uw code ondersteunt.
  • Een handler is een aanroepfunctie in uw AWS lambda-functie. Uw AWS lambda-functie kan meerdere handlers hebben en u kunt opgeven met welke handler de uitvoering moet beginnen. Picture Handlers als methoden die zijn aangewezen om specifieke taken uit te voeren.

Stap 4

Bovenaan de pagina ziet u een strook met enkele knoppen. Klik op Selecteer een testevenement om onze code te testen. Dit zal u vragen om een ​​testgebeurtenis te configureren, voor het geval er geen wordt aangemaakt.

Configureer uw eerste testgebeurtenis zoals hieronder:

Sla de testgebeurtenis op en klik op Test. U zult de uitvoeringsresultaten van uw functie zien.

  • Reactie - het eindresultaat dat door uw functie wordt geretourneerd. Merk op dat onze functie key1 heeft geretourneerd.
  • Verzoek-ID - Elk verzoek voor uw functie heeft een uniek verzoek-ID. Deze worden door Amazon gebruikt om aanvragen bij te houden en uw factuurgegevens te genereren.
  • Functielogboeken - Het meest inzichtelijke deel van AWS Lambda. Dit zijn gedetailleerde logboeken die het begin en einde van de uitvoering van uw functie specificeren. In tegenstelling tot foutopsporing in gebruikelijke IDE's, vertrouwt AWS Lambda zwaar op logboeken voor foutopsporing. Ze worden ook opgeslagen in CloudWatch voor toekomstige referenties.

Gefeliciteerd! U hebt met succes een Lambda-functie gemaakt. Maar wacht, we hebben het nog niet ingeroepen. We hebben het net getest vanuit onze eigen omgeving. Laten we het vanuit de buitenwereld aanroepen.

Een beroep doen op de AWS Lambda-functie

We zouden een REST API maken om de Lambda-functie op te roepen.

Stap 1

Ga naar Amazon API Gateway. Het is ook te vinden onder Services -> Netwerken en Content Delivery. Klik op API maken.

Stap 2

Configureer uw API-basisdetails zoals hieronder en klik op Create API.

Stap 3

Nu is uw API gemaakt, maar er is geen HTTP-methode gedefinieerd in de API. Klik op de vervolgkeuzelijst Acties en op Methode maken. U zult een kleinere vervolgkeuzelijst zien verschijnen in het linkerdeelvenster. Klik op GET in deze vervolgkeuzelijst. Dus eigenlijk maken we een HTTP GET-methode voor onze API.

Stap 4

Configureer uw GET-methode om een ​​lambdafunctie op te roepen zoals hieronder wordt geïllustreerd. U moet de ARN van uw Lambda-functie opgeven in het veld Lambda-functie. Klik op Opslaan.

Zodra uw GET-methode is opgeslagen, zou u naar het onderstaande scherm Method Execution gaan.

Stap 5

Nu wordt ook uw GET-methode gemaakt. Maar we hebben nog steeds niet de sleutel / waarde-paren geleverd die we in onze testomgeving hebben gedaan. Onze AWS Lambda-functie verwacht drie toetsen en waarden. Laten we ze definiëren.

Klik op Integratieverzoek en scrol omlaag naar Mapping Templates. Definieer uw toewijzingssjabloon zoals hieronder. Het inhoudstype is application / json. Dit is gewoon het formaat van de parameters die u in uw hoofdtekst zou verzenden.

De API is nu klaar om te worden geïmplementeerd.

Stap 6

Klik op Acties en API implementeren. Selecteer Nieuw stadium in de pop-up van de implementatie en geef een betekenisvolle naam en beschrijving op.

U komt op het onderstaande scherm met het REST-eindpunt van uw API geconfigureerd en klaar voor gebruik.

Klik op het eindpunt en de browser stuurt een verzoek naar uw Lambda-functie en geeft het antwoord weer.

Gefeliciteerd! Je hebt ook met succes je Lambda-functie aangeroepen. Een hele prestatie.

Wie kan AWS Lambda leren

Het moet inmiddels duidelijk zijn dat de AWS Lambda-functie enige kennis vereist over services, implementatie van services, verzoeken en antwoorden. Dit zijn basale dingen die elke computerprogrammeur moet weten om webtoepassingen te maken. Als u niet voldoende kennis hebt over dit onderwerp, wordt het aanbevolen om deze kennis op te doen, zodat probleemloze codering in AWS Lambda is gewaarborgd.

AWS heeft ook uitgebreide documentatie over al haar diensten. Verken de documentatie voor een beter begrip van de AWS-wereld.

Carrière bij AWS Lambda

Het is niet alleen Lambda, maar de hele Amazon Web Services-sector is vandaag een bloeiende sector. Er is vraag naar experts in AWS-services. AWS biedt ook certificeringen die passen bij uw expertiseniveau. Verken de AWS-website voor meer informatie hierover.

Conclusie

Nu u de basisbeginselen van de AWS Lambda-functies hebt begrepen, gaat u verder met het maken van meer functies en kunt u deze integreren met andere AWS-services. Blijf spelen en blijf leren. Proost!

Aanbevolen artikelen

Dit is een gids geweest voor What is AWS Lambda. In deze tutorial over AWS Lambda-functie hebben we uitgelegd hoe API te configureren en te implementeren. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie -

  1. Wat is AWS? | Hoe werkt het?
  2. Carrière in Azure | Onderwijs | Carriere
  3. Gids voor cloud computing-services
  4. Wat zijn de alternatieven voor AWS?
  5. Volledige gids voor cloud computing-serviceproviders

Categorie: