Men Cloud Design Patterns (CDP) är användbara för att bygga mycket tillförlitliga, skalbara och säkra applikationer och tjänster i molnet och definieras av experter inom Cloud Computing-branschen som ”generella återanvändbara lösningar på vanligt förekommande problem i molnarkitektur”. Det verkar vara en bred definition, men det kan vara bra att förstå att CPD:er är flera och inte en enhetlig definition. Med tanke på att CDP används för att lösa ”vanliga problem” kan man säga att sammantaget är dessa mönster ett bibliotek av återanvändbara lösningar på unika eller individuella problem som många molnbyggare stöter på.
I det här inlägget kommer vi att diskutera CDP mer i detalj. I ett försök att hjälpa till med Amazon Web Service-arkitekturen, samtidigt som vi utforskar vad designmönster är och hur man använder dem, kommer vi också att ta en titt på AWS CDP:er och framtiden för AWS-designtekniker.
En bred översikt över vad en CDP innebär
Som att lägga ett klinkergolv med omsorg om mönster och design kräver byggandet av molntillämpningar att varje rad (nivå) ska läggas ut (kodas) perfekt innan nästa. Om den nedersta nivån är instabil kommer de föregående nivåerna också att vara instabila. Tänk dig att lägga ett golv utan att bry dig om hur varje kakel ser ut, det skulle förmodligen sluta ganska dåligt. När en ingenjör utformar en molntillämpning håller han eller hon alltid noga utkik efter problem. När allmänna problem uppstår försöker ingenjören lösa dem på ett tillförlitligt och säkert sätt med en beprövad lösning. CDP:er sparar tid och eventuella röriga resultat för alla.
I allmänhet kommer de i ett standardformat och här är vad du hittar i ett enda molndesignmönster:
- Mönstrets namn och en kort beskrivning
- Identifiering av det typiska problemet och utmaningarna
- En översiktlig beskrivning av hur problemet ska lösas i molnet
- Fördelarna som följer av mönstrets tillämpning
- Extra anteckningar, inklusive för- och nackdelar, förklaringar till anteckningar
- Allt annat som arkitekten vill lägga till
Varför använder du CDP:er?
Bortsett från att helt enkelt använda mönster för att öka molnarkitekturen så att man enkelt kan migrera och snabbt utveckla mycket skalbara tillämpningar finns det några andra fördelar med det här biblioteket med lösningar. Stora företag, såväl som nystartade företag, använder CDP:er för att frigöra ett otroligt värde i stor skala. Genom att arbeta för att säkerställa 100 % repeterbara resultat under en plattforms hela livscykel och för att ta bort underhållet av distribuerade tillämpningar, minskar de övergripande frustrationsmönstren i samband med driften av ett molnsystem samtidigt som produktiviteten ökar.
Ovanpå fördelarna på systemnivå upplever arkitekter också fördelar av CDP:erna. Föreställ dig att när du arbetar med en AWS-applikation stöter du på ett problem när du ökar effektiviteten i internetlagringen. Du beskriver problemet för en annan arkitekt och hon svarar: ”Lagringsindexmönstret kommer att fungera för det”. Eftersom du vet vad mönstret heter, sätter du dig direkt i arbete. Detta är ett språk som används för att enkelt kommunicera och åtgärda problem. Med en klar uppfattning om alla molntillämpningar innan man börjar ett projekt behöver man med hjälp av CDP:er inte börja från början när man skapar ett mjukvarusystem.
Vad är AWS CDP:er?
Då Amazon är en av de tre stora inom molndataindustrin tillsammans med Google och Microsoft, kommer det inte som någon överraskning att AWS med alla sina komponenter har en uppsättning CDP:er. Även om AWS inte officiellt listar dem med någon specifik referens har mönstren för AWS inofficiellt utformats av tre arkitekter från Amazon. Detaljerna för varje CDP för AWS finns på en Wiki, men utöver denna resurs är det bra att notera att de flesta CDP:erna är ganska utbytbara för olika molntjänster. Namnen för varje CDP kan vara olika, men med de ovan nämnda standarddetaljerna kommer beskrivningen av mönstret att inkludera hur man löser det i AWS eller den specifika molntjänsten.
Top AWS Basic Patterns
- Snapshot Pattern (data backups) – För att säkerställa att data är säkra, är det här mönstret idealiskt för när man utför programuppdateringskontroller som kräver datakorsningar och kopiering av OS såväl som data. När en ”ögonblicksbild” kan tas, kommer kopior av varje operativsystem att tas när det används.
- Stämpelmönster (replikering av servrar) – För att minska det arbete, den tid och de kostnader som krävs för att installera en virtuell server, kopierar detta mönster i huvudsak den virtuella servern med funktioner som redan är färdiga att användas. Det är utmärkt för att skapa stora mängder virtuella servrar.
- Scale-Up Pattern (dynamic server spec up/down) – Med det här mönstret kan byggare justera serverspecifikationerna efter användning utan att byta ut servern och installera om operativsystemet.
- Scale-Out Pattern (dynamiskt ökande av antalet servrar) – Matcha oväntade variationer i trafikvolym utan att öka kostnaden för en hög specifikation i en server med hög specifikation. Det här mönstret gör det lättare att ”skala upp” för att ändra antalet virtuella servrar som hanterar bearbetningen.
- On-demand Dish Pattern (dynamisk ökning/minskning av diskkapaciteten) – Sluta göra utarbetade uppskattningar av diskkapaciteten innan du bygger och minska kostnaderna för den inledande maskinvaruinvesteringen. Installation av virtuella diskar med det här mönstret ger obegränsad kapacitet.
AWS-mönsterkategorier
Länge med de fem grundläggande och mest använda AWS CDP:erna har varje område av följande molntillämpning också flera mönsterlösningar:
- Hög tillgänglighet
- Behandling av dynamiskt innehåll
- Behandling av statiskt innehåll
- Uppladdning av data
- Relationell databas
- Batch Processing
- Drift och underhåll
- Nätverk
Lambda och framtiden för AWS CDP
I takt med att tekniken inom molntjänster växer och innovationer genomförs, är det möjligt att CDP:er inte längre är tillämpliga. Dessutom kanske de inom en snar framtid inte ens behövs tack vare teknik som Lambda från AWS. Som en serverless computing-plattform ”är det en datatjänst som kör kod som svar på händelser och automatiskt hanterar de datorresurser som krävs av den koden”. Det betyder att Lambda kan åtgärda vissa molndesignproblem utan att en molnarkitekt behöver uppmärksammas. Även om det för närvarande inte löser alla CDP-problem finns det en chans att händelsestyrd arkitektur snart kommer att ersätta manuellt aktiverade lösningar.
Oavsett vart framtiden leder för CDP är en sak säker, expansionen och tillväxten av molntjänster är oundviklig. För närvarande har AWS, för att hantera denna tillväxt, en tjänst som heter Cloud Pattern Studio. I huvudsak en mallfunktion där lösningar i ett mönster kombineras med Cloud Formation och sedan matas in i en mall, är den utformad för att visuellt utforma och distribuera miljöprogramvarupaket på AWS.
Om du funderar på att flytta till molnet eller redan driver din organisation i molnet, kommer förståelsen för hur man kör molnbaserade arbetsbelastningar och frigör den sanna kraften i en plattform att spara pengar och ansträngning i det långa loppet. Att utnyttja välkända mönster för att lösa de problem som byggare stött på när de kört molnprogramvara är mycket värdefullt i denna föränderliga tidsålder.