Pilvipalvelualan asiantuntijat määrittelevät Cloud Design Patterns (CDP) -mallit ”yleiseksi uudelleenkäytettäväksi ratkaisuksi pilvipalvelun arkkitehtuurin usein esiintyviin ongelmiin”. Määritelmä vaikuttaa laajalta, mutta voi auttaa ymmärtämään, että CPD:t ovat moninaisia, eivät yhden koon mukaisia. Ottaen huomioon, että CDP:tä käytetään ”yleisten ongelmien” ratkaisemiseen, voidaan sanoa, että kaiken kaikkiaan nämä mallit ovat kirjasto uudelleenkäytettäviä ratkaisuja ainutlaatuisiin tai yksittäisiin ongelmiin, joita monet pilvenrakentajat kohtaavat.
Tässä postauksessa keskustelemme CDP:stä tarkemmin. Lisäksi pyrimme auttamaan Amazon Web Service -arkkitehtuurin kanssa, samalla kun tutkimme, mitä suunnittelumallit ovat ja miten niitä käytetään, ja tarkastelemme AWS:n CDP:itä ja AWS:n suunnittelutekniikoiden tulevaisuutta.
Laaja yleiskatsaus siihen, mitä CDP:t pitävät sisällään
Samoin kuin kaakeloidun lattian laatoittaminen huolella mallinomaisesti ja suunnitelmallisesti, pilvipalvelusovellusten rakentaminen edellyttää, että kukin rivi (kerros) on laadittu (koodattu) täydellisesti ennen seuraavaa. Jos alin taso on epävakaa, myös sitä edeltävät tasot ovat epävakaita. Kuvittele, että lattian laatoitus tehtäisiin välittämättä siitä, miltä kukin laatta näyttää, ja lopputulos olisi todennäköisesti melko huono. Kun insinööri suunnittelee pilvisovellusta, hän tarkkailee aina huolellisesti ongelmien varalta. Kun yleisiä ongelmia ilmenee, insinööri pyrkii ratkaisemaan ne luotettavasti ja turvallisesti hyväksi havaitulla ratkaisulla. CDP:t säästävät aikaa ja mahdollisia sotkuisia lopputuloksia kaikkien kannalta.
Yleensä vakiomuodossa tuleva Cloud Design Pattern on seuraavanlainen:
- Mallin nimi ja lyhyt kuvaus
- Tyypillisen ongelman ja haasteiden tunnistaminen
- Hahmotelma ongelman ratkaisemisesta pilvessä
- Hyödyt, jotka tulevat mallin soveltamisesta
- Mahdolliset ylimääräiset muistiinpanot, mukaan lukien hyödyt, haitat, muistiinpanojen selitykset
- Mitä tahansa muuta arkkitehti haluaa liittää mukaan
Miksi CDP:itä käytetään?
Muutakin kuin pelkkä mallien käyttäminen pilviarkkitehtuurin tehostamiseksi, jotta voidaan helposti siirtää ja kehittää nopeasti erittäin skaalautuvia sovelluksia, tästä ratkaisukirjastosta on muutama muukin hyöty. Suuryritykset sekä startup-yritykset käyttävät CDP:tä avatakseen uskomatonta arvoa laajassa mittakaavassa. Työskennellessään varmistaakseen 100-prosenttisesti toistettavat tulokset koko alustan elinkaaren ajan ja poistaakseen käyttöönotettujen sovellusten ylläpidon, pilvijärjestelmän käyttämiseen liittyvät turhautumisen yleiset mallit vähenevät samalla kun tuottavuus lisääntyy.
Järjestelmätason hyötyjen lisäksi myös arkkitehdit kokevat CDP:stä saatavia etuja. Kuvittele, että työskennellessäsi AWS-sovelluksen parissa törmäät ongelmaan lisätessäsi internet-tallennuksen tehokkuutta. Kuvaat ongelman toiselle arkkitehdille, ja hän vastaa: ”Storage index pattern toimii siihen”. Kun tiedät kuvion nimen, ryhdyt heti töihin. Tämä on kieli, jota käytetään ongelmien helppoon kommunikointiin ja korjaamiseen. Kun sinulla on selkeä käsitys kaikista pilvisovelluksista ennen minkään projektin aloittamista, CDP:iden avulla ei tarvitse aloittaa ohjelmistosysteemiä luodessasi tyhjästä.
Mitä ovat AWS:n CDP:t?
Koska Amazon on Googlen ja Microsoftin ohella yksi pilvipalvelualan kolmesta suuresta, ei ole mikään yllätys, että AWS:llä on kaikkine komponentteineen joukko CDP:tä. Vaikka AWS ei ole virallisesti listannut mitään erityistä viittausta, AWS:n mallit ovat epävirallisesti kolmen Amazonin arkkitehdin suunnittelemia. Jätetään kunkin AWS:n CDP:n yksityiskohdat wikiin, mutta tämän resurssin lisäksi on hyvä huomata, että useimmat CDP:t ovat melko vaihdettavissa eri pilvipalveluissa. Kunkin CDP:n nimi voi olla erilainen, mutta edellä mainituilla vakiotiedoilla kuvion kuvaus sisältää myös sen, miten se ratkaistaan AWS:ssä tai tietyssä pilvipalvelussa.
Top AWS Basic Patterns
- Snapshot Pattern (datan varmuuskopiointi) – Varmistaen, että data on turvassa, tämä kuvio sopii erinomaisesti suoritettaessa ohjelmien päivitystarkistuksia, jotka vaativat datan poikkileikkauksia ja käyttöjärjestelmän kopiointia datan ohella. Mahdollistaa ”tilannekuvan” ottamisen, kun käytetään kopioita jokaisesta käyttöjärjestelmästä.
- Leimauskuvio (palvelimen replikointi) – Vähentää virtuaalipalvelimen perustamiseen kuluvaa työtä, aikaa ja kustannuksia, sillä tämä kuvio kopioi virtuaalipalvelimen, jonka toiminnot ovat jo valmiiksi valmiina. Se sopii erinomaisesti suurten virtuaalipalvelinmäärien luomiseen.
- Scale-Up Pattern (dynaaminen palvelimen spesifikaatioiden lisääminen/vähentäminen) – Tämän kuvion avulla rakentajat voivat mukauttaa palvelimen spesifikaatioita käytön mukaan vaihtamatta palvelinta ja asentamatta käyttöjärjestelmää uudelleen.
- Scale-Out Pattern (palvelinten lukumäärän dynaaminen lisääminen) – Vastaa yllättäviin liikennemäärän vaihteluihin kasvattamatta korkean spesifikaation korkean spesifikaatioiden palvelimen kustannuksia. Tämä kuvio helpottaa ”skaalautumista” käsittelyä käsittelevien virtuaalipalvelimien lukumäärän muuttamiseksi.
- On-demand Dish Pattern (dynaaminen levykapasiteetin lisääminen/vähentäminen) – Lopeta monimutkaisten levykapasiteettia koskevien arvioiden tekeminen ennen rakentamista ja vähennä kustannuksia laitteistoinvestoinneista etukäteen. Virtuaalilevyjen asentaminen tällä kuviolla tarjoaa rajoittamattoman kapasiteetin.
AWS-kuvion luokat
Viiden perustavanlaatuisen ja käytetyimmän AWS CDP:n lisäksi jokaisella seuraavan pilvisovelluksen alueella on myös useita kuvioratkaisuja:
- Korkea saatavuus
- Dynaamisen sisällön käsittely
- Statisen sisällön käsittely
- Datan lataaminen
- Relationaalinen tietokanta
- Eräajo Processing
- Operation and Maintenance
- Network
Lambda ja AWS CDP:n tulevaisuus
Pilvipalveluiden teknologioiden kasvaessa ja innovaatioiden toteutuessa, on mahdollista, että CDP:tä ei enää sovelleta. Kaiken lisäksi lähitulevaisuudessa niitä ei ehkä edes tarvita AWS:n Lambdan kaltaisen teknologian ansiosta. Serverless computing -alustana ”se on laskentapalvelu, joka suorittaa koodia vastauksena tapahtumiin ja hallinnoi automaattisesti koodin tarvitsemia laskentaresursseja”. Tämä tarkoittaa, että Lambda voi korjata tiettyjä pilvisuunnittelun ongelmia ilman pilviarkkitehdin huomiota. Vaikka se ei tällä hetkellä ratkaise kaikkia CDP-ongelmia, on mahdollista, että pian tapahtumapohjainen arkkitehtuuri korvaa manuaalisesti aktivoidut ratkaisut.
Mihin CDP:n tulevaisuus sitten viekin, yksi asia on varma: pilvipalveluiden laajentuminen ja kasvu on väistämätöntä. Tällä hetkellä AWS:llä on tämän kasvun hallitsemiseksi palvelu nimeltä Cloud Pattern Studio. Kyseessä on pohjimmiltaan malliominaisuus, jossa mallin ratkaisut yhdistetään Cloud Formationiin ja syötetään sitten malliin, ja se on suunniteltu ympäristön ohjelmistopinojen visuaaliseen suunnitteluun ja käyttöönottoon AWS:ssä.
Jos harkitset siirtymistä pilvipalveluun tai pyörität jo organisaatiotasi pilvipalvelun avulla, pilvipohjaisten työtehtävien suorittamisen ymmärtäminen ja alustan todellisen tehon vapauttaminen säästää rahaa ja vaivaa pitkällä aikavälillä. Tunnettujen mallien hyödyntäminen rakentajien kohtaamien ongelmien ratkaisemiseksi pilviohjelmistoja ajettaessa on erittäin arvokasta tällä kehittyvällä aikakaudella.