Gebruikbaar voor het bouwen van zeer betrouwbare, schaalbare, veilige applicaties en diensten in de cloud, Cloud Design Patterns (CDP) worden door experts in de Cloud Computing-industrie gedefinieerd als “algemene herbruikbare oplossingen voor veel voorkomende problemen bij cloudarchitectuur.” Ogenschijnlijk een brede definitie, kan het helpen om te begrijpen dat CDP’s meervoudig zijn, niet one-size-fits-all. Gezien het feit dat CDP’s worden gebruikt om “veel voorkomende problemen” op te lossen, kan worden gezegd dat al met al deze patronen een bibliotheek van herbruikbare oplossingen zijn voor unieke of individuele problemen die veel cloud-bouwers tegenkomen.
In dit bericht zullen we CDP’s in meer detail bespreken. Ook, in pogingen om te helpen met Amazon Web Service-architectuur, terwijl we verkennen wat ontwerppatronen zijn en hoe ze te gebruiken, zullen we een blik werpen op AWS CDP’s en de toekomst van AWS-ontwerptechnologieën.
Een breed overzicht van wat een CDP inhoudt
Net als het leggen van een tegelvloer met zorg voor patroon en ontwerp, vereist het bouwen van cloudtoepassingen dat elke rij (niveau) perfect wordt gelegd (gecodeerd) voor de volgende. Als het onderste niveau instabiel is, zullen de voorgaande niveaus ook instabiel zijn. Stel je voor dat je een vloer legt zonder je zorgen te maken over hoe elke tegel eruit ziet, het zou waarschijnlijk heel slecht aflopen. Bij het ontwerpen van een cloudapplicatie is een ingenieur altijd zorgvuldig op zoek naar problemen. Als zich algemene problemen voordoen, probeert de ingenieur deze betrouwbaar en veilig op te lossen met een bewezen oplossing. CDP’s besparen tijd en mogelijk rommelige uitkomsten voor iedereen.
In het algemeen in een standaardindeling, dit is wat u vindt in een enkel Cloud Design Pattern:
- Patroonnaam en een korte beschrijving
- Identificatie van het typische probleem en de uitdagingen
- Een schets van het oplossen van het probleem in de cloud
- De voordelen die voortvloeien uit de toepassing van het patroon
- Eventuele extra opmerkingen, waaronder voordelen, nadelen, toelichting
- Alles wat de architect nog meer wil toevoegen
Waarom CDP’s gebruiken?
Naast het eenvoudige gebruik van patronen om cloudarchitectuur te stimuleren voor eenvoudige migratie en snelle ontwikkeling van zeer schaalbare toepassingen, zijn er nog een paar andere voordelen aan deze bibliotheek van oplossingen. Grote ondernemingen, maar ook startups, gebruiken CDP’s om op grote schaal ongelooflijke waarde te ontsluiten. Door te werken aan 100% herhaalbare resultaten gedurende de gehele levenscyclus van een platform en het onderhoud van ingezette applicaties te verwijderen, worden de algemene frustratiepatronen van het runnen van een cloudsysteem verminderd terwijl de productiviteit wordt verhoogd.
Bovenop de voordelen op systeemniveau ervaren architecten ook voordelen van CDP’s. Stel je voor dat je, terwijl je aan een AWS-applicatie werkt, tegen een probleem aanloopt tijdens het verhogen van de efficiëntie van internetopslag. Je beschrijft het probleem aan een andere architect en zij antwoordt: “Het storage index pattern zal daarvoor werken.” De naam van het patroon kennende, ga je meteen aan de slag. Dit is een taal die wordt gebruikt om gemakkelijk te communiceren en problemen op te lossen. Als u een duidelijk idee hebt van alle cloud-toepassingen voordat u aan een project begint, hoeft u met behulp van CDP’s niet vanaf nul te beginnen bij het maken van een softwaresysteem.
Wat zijn AWS CDP’s?
Aangezien Amazon samen met Google en Microsoft een van de grote drie is in de Cloud Computing-industrie, zal het geen verrassing zijn dat AWS, met al zijn componenten, een set CDP’s heeft. Hoewel niet officieel vermeld met een specifieke verwijzing door AWS, zijn de patronen voor AWS onofficieel ontworpen door drie Amazon architecten. Details van elke AWS CDP op een Wiki latend, buiten deze bron is het goed om op te merken dat de meeste CDP’s behoorlijk uitwisselbaar zijn voor verschillende cloud diensten. De namen voor elke CDP kunnen echter anders zijn, met de hierboven genoemde standaard details, zal de beschrijving van het patroon bevatten hoe het op te lossen in AWS of de specifieke cloud service.
Top AWS Basic Patterns
- Snapshot Pattern (data back-ups) – Ervoor zorgend dat data veilig is, is dit patroon ideaal voor wanneer het uitvoeren van programma update controles die data doorsnijdingen vereisen en het kopiëren van zowel OS als data. Het maakt het mogelijk om een ‘snapshot’ te nemen, wanneer er kopieën van elk OS worden gebruikt.
- Stamp Pattern (server replicatie) – Het verminderen van de arbeid, tijd en kosten die het kost om een virtuele server op te zetten, dit patroon kopieert in wezen de virtuele server met functies die al zijn ingesteld om te gaan. Het is geweldig voor het creëren van grote hoeveelheden virtuele servers.
- Scale-Up Patroon (dynamische server spec up/down) – Dit patroon stelt bouwers in staat om de server specificaties aan te passen aan het gebruik zonder de server te vervangen en het besturingssysteem opnieuw te installeren.
- Scale-Out Patroon (dynamisch verhogen van het aantal servers) – Match onverwachte variaties in het verkeersvolume zonder de kosten te verhogen voor een hoge specificatie in een high-spec server. Dit patroon maakt “opschalen” om het aantal virtuele servers dat de verwerking afhandelt te wijzigen eenvoudiger.
- On-demand Dish Patroon (dynamisch verhogen/verlagen van schijfcapaciteit) – Stop met het maken van uitgebreide schattingen van schijfcapaciteit voordat u gaat bouwen en bespaar kosten op up-front hardware-investeringen. De installatie van virtuele schijven met dit patroon biedt onbeperkte capaciteit.
AWS-patrooncategorieën
Naast de vijf basis- en meest gebruikte AWS-CDP’s, heeft elk gebied van de volgende cloudapplicatie ook meerdere patroonoplossingen:
- Hoge beschikbaarheid
- Verwerking van dynamische inhoud
- Verwerking van statische inhoud
- Uploading van gegevens
- Relationele database
- Batch Processing
- Operation and Maintenance
- Network
Lambda en de toekomst van AWS CDP
Naarmate de technologieën in cloud services groeien en innovaties worden doorgevoerd, is het mogelijk dat CDP’s niet meer van toepassing zijn. Daar komt nog bij dat ze in de nabije toekomst misschien niet eens meer nodig zijn dankzij technologie als Lambda van AWS. Als serverless computing platform “is het een computing service die code uitvoert in reactie op gebeurtenissen en automatisch de computing resources beheert die door die code worden vereist.” Dat betekent dat Lambda bepaalde cloud-ontwerpproblemen kan oplossen zonder de aandacht van een cloud-architect. Hoewel het momenteel niet alle CDP-problemen oplost, is er een kans dat binnenkort event-driven architectuur handmatig geactiveerde oplossingen zal vervangen.
Hoe de toekomst ook leidt voor CDP, één ding is zeker, de uitbreiding en groei van clouddiensten is onvermijdelijk. Op dit moment, om deze groei te verwerken, AWS heeft een dienst genaamd Cloud Pattern Studio. In wezen is het een sjabloonfunctie waarbij oplossingen in een patroon worden gecombineerd met Cloud Formation en vervolgens worden ingevoerd in een sjabloon, het is ontworpen om visueel omgevingssoftware-stacks te ontwerpen en in te zetten op AWS.
Als u erover denkt om naar de cloud te verhuizen of uw organisatie al op de cloud draait, zal het begrijpen van hoe u cloud-gebaseerde workloads kunt uitvoeren en de ware kracht van een platform kunt ontgrendelen, op de lange termijn geld en moeite besparen. Gebruikmaken van bekende patronen om de problemen op te lossen die bouwers tegenkomen bij het draaien van cloud-software is zeer waardevol in dit evoluerende tijdperk.