Innehållsförteckning:
Video: Introduction to AWS Lambda - Serverless Compute on Amazon Web Services 2024
Amazon Web Services (AWS) är faktiskt ett stort utbud av tjänster som kan påverka konsumenterna, små och medelstora företag (SMB) och företag. Med AWS kan du göra allt från att säkerhetskopiera din personliga hårddisk till att skapa en fullfjädrad IT-avdelning i molnet.
Den installerade basen är enorm. Du kan hitta fallstudier av företag som Adobe och Netflix som använder AWS. AWS-användningen är inte bara för privata företag heller - även regeringen använder sina tjänster.
Tekniken som möjliggör alla dessa tjänster är faktiskt enkelt i uppfattningen. Tänk på ett par burkburkar med en sträng fäst mellan dem. Amazon håller en burk och du håller den andra. Genom att prata i en burk kan du höra vad som sägs i andra änden. Genomförandet beror emellertid på detaljer som gör kommunikationen hårdare än du kanske skulle tänka. Följande diskussion ger dig en översikt över hur AWS-molnet fungerar.
Service-driven applikationsarkitekturer
Service-driven applikationsarkitekturer, ibland kända som Service Oriented Architectures (SOA), kommer i många former. Oavsett hur du ser dem, servicedrivna applikationsarkitekturer är förlängningar av klient-serverteknologin som användes i de tidiga dagarna av beräkningen, eftersom en klient gör en begäran om att en server uppfyller genom att utföra en åtgärd eller skickar ett svar. Implementeringsdetaljerna har dock förändrats avsevärt under åren, vilket gör moderna applikationer mycket mer pålitliga, flexibla och mindre beroende av en viss nätverkskonfiguration.
Förfrågan och svarprocessen kan innebära flera nivåer av granularitet, med termen microservice som tillämpas på den minsta förfrågan och svarpar. Utvecklare hänvisar ofta till en applikation som bygger på en servicedriven applikationsarkitektur som en sammansatt applikation eftersom den finns som flera bitar limmade ihop för att bilda en helhet. Service-driven applikationsarkitekturer följer många specifika mönster, men i allmänhet använder de följande sekvens för att utföra kommunikationsuppgifter.
- Skapa en förfrågan på klienten med vilken meddelande teknik som servern kräver.
- Paketera begäran, lägg till säkerhet eller annan information efter behov.
- Skicka förfrågan med ett protokoll, till exempel Simple Object Access Protocol (SOAP), eller en arkitektur, som REPResentational State Transfer (REST). (Upptäck hur SOAP fungerar och hur REST fungerar - en passande kunskap om båda är till hjälp för att arbeta med AWS.)
- Behandla förfrågan på servern.
- Utför en åtgärd eller returnera data enligt begäran.
- När du arbetar med data, bearbeta svaret på klienten och presentera resultaten för användaren (eller annan mottagare).
AWS tillhandahåller en servicedriven applikationsarkitektur där du väljer en specifik tjänst, till exempel S3, för att utföra specifika uppgifter, till exempel att säkerhetskopiera filer på en hårddisk. I många fall måste du utföra installationssteg förutom att helt enkelt interagera med tjänsten. Om du till exempel tittar på den här tio minuters handledningen finner du att du först måste skapa en hink för att lagra de filer du vill ladda upp till Amazon. Det här ytterligare steget är meningsfullt eftersom du måste fastställa en plats för att hämta filerna senare, och du vill inte att dina filer blandas in med filer från andra personer.
Även om många av de processer du utför med AWS kräver att du använder en app (så att du har ett användargränssnitt i stället för att du ska arbeta med kod) är den underliggande processen samma. Koden som tillhandahålls i appen gör begäran om dig och väntar sedan på ett svar. I vissa fall måste appen bestämma framgång eller misslyckande för en åtgärd på servern. Du måste emellertid inse att dessa åtgärder sker i kod och att koden använder en sekvens av steg för att uppnå den uppgift du har bett den att utföra.
Process- och funktionsdrivna arbetsflöden
När du skapar appar för att hantera underliggande tjänster definierar AWS också arbetsflöden. Ett arbetsflöde är en organiserad metod för att utföra uppgifter. Om du till exempel vill spara en fil till AWS med S3 måste du först skapa en hink för att hålla filen. Bara efter att du har skapat en hink kan du spara en fil till AWS. Dessutom kan du inte hämta en fil från hinken tills du först sparar en fil där, vilket är meningsfullt eftersom du inte kan ta tag i en fil i luften. Kort sagt, ett arbetsflöde definierar ett förfarande för att arbeta med programvara, och konceptet har funnits länge. (De första arbetsflödena uppkom i mitten av 1970-talet med enkla kontorsautomationsprototyper på Xerox Parc och University of Pennsylvania Wharton School of Business.)
Arbetsflöden kan bestå av ytterligare arbetsflöden. Dessutom hanterar arbetsflödet interaktionen mellan användare och underliggande tjänster. En process är aggregering av tjänster som hanteras av arbetsflöden till en sammanhängande helhet. Arbetsflödena kan utföra generiska uppgifter, men processer tenderar att vara specifika och hjälpa användarna att uppnå specifika mål. Ett processdrivet arbetsflöde är proaktivt och försöker kringgå potentiella problem genom
- Spotting failure patterns och agerar på dem
- Letar efter trender som tenderar att leda till misslyckanden
- Lokalisera och släcka potentiella hot
Genom att titta igenom Dessa handledning, du finner att alla involverar att använda någon typ av användargränssnitt. Användargränssnittet tillhandahåller arbetsflödet som används för att hantera de underliggande tjänsterna. Varje större handledning är ett arbetsflöde som utför en specifik uppgift, till exempel att skapa en hink.När du kombinerar dessa enskilda arbetsflöden till en helhet, kan processen hjälpa en användare att utföra uppgifter som att flytta filer mellan molnet och användarens system. Skapa ett molnfilsystem är ett exempel på ett processdriven arbetsflöde: Arbetsflödet finns för att göra processen livsduglig. Arbetsflöden kan bli ganska komplexa i storskaliga operationer, men att se dem hjälper dig att förstå AWS bättre. Hitta en mer detaljerad diskussion av arbetsflöden och processer.
A funktionen är den reaktiva användningen av tjänster som hanteras av arbetsflöden för att hantera specifika problem i realtid. Trots att det skulle vara trevligt om processdrivna arbetsflöden arbetade hela tiden, så är verkligheten att även med 99,999 procent tillförlitlighet kommer processen att misslyckas någon gång och ett funktionsdriven arbetsflöde måste vara på plats för att åtgärda det misslyckandet. Även om processdrivna arbetsflöden fokuserar på flexibel slutförande av uppgifter, fokuserar funktionsdrivna arbetsflöden på att procedurellt dämpa effekten av ett misslyckande. Kort sagt, funktionsdrivna arbetsflöden adresserar behov. AWS-tjänsterna och arbetsflödena hanterar även problemet genom användargränssnittet, till exempel genom att manuellt återställa en säkerhetskopia för att mildra ett systemfel.