GCP: Google Cloud Platform Compute Stackin jäsentäminen

Artikkelin käännös on tehty erityisesti kurssin opiskelijoille "Pilvipalvelut".

Oletko kiinnostunut kehittymään tähän suuntaan? Katso ammatillisen mestarikurssin tallenne "AWS EC2 palvelu", jonka johti Egor Zuev - TeamLead InBitissä ja koulutusohjelman kirjoittaja OTUS:ssa.

GCP: Google Cloud Platform Compute Stackin jäsentäminen

Google Cloud Platform (GCP) tarjoaa monia palveluita, ja erityisesti laskentapinon, joka sisältää Google Compute Enginen (GCE), Google Kubernetes Enginen (entinen Container Engine) (GKE), Google App Enginen (GAE) ja Google Cloud Functions (GCF ) . Kaikilla näillä palveluilla on hienot nimet, mutta ne eivät välttämättä ole täysin ilmeisiä niiden toiminnoista ja siitä, mikä tekee niistä ainutlaatuisia. Tämä artikkeli on tarkoitettu niille, joille pilvikonseptit, erityisesti pilvipalvelut ja GCP, ovat uusia.

GCP: Google Cloud Platform Compute Stackin jäsentäminen

1. Laske pino

Laskentapinoa voidaan pitää kerroksellisena abstraktiona siitä, mitä tietokonejärjestelmä voi tarjota. Tämä pino nousee (liikkuu ylöspäin) "paljasta raudasta" (Paljas metalli), joka viittaa tietokoneen varsinaisiin laitteistokomponentteihin, toimintoihin asti (tehtävät), jotka edustavat pienintä laskentayksikköä. Pinosta on tärkeää huomata, että palvelut kootaan, kun siirryt ylöspäin, kuten "sovellukset"-osio (sovellukset), joka näkyy alla olevassa kuvassa 1, sisältää kaikki säiliön peruskomponentit (säiliöt), virtuaalikoneet (virtuaalikoneet) ja rautaa. Samalla tavalla virtuaalikoneiden komponentin on sisällettävä laitteisto toimiakseen.

GCP: Google Cloud Platform Compute Stackin jäsentäminen

Kuva 1: Laske pino | Kuva peräisin Google Cloud

Tämä kuvassa 1 esitetty malli on pohjana pilvipalvelujen tarjoajien tarjontaan. Näin ollen jotkut palveluntarjoajat voivat tarjota vain esimerkiksi laadultaan huonompia kontteja ja palveluita pinon varrella, kun taas toiset voivat tarjota kaiken, mitä kuvassa 1 on esitetty.

— Jos pilvipalvelut ovat sinulle tuttuja, mene osoitteeseen jakso 3nähdäksesi GCP-vastineen
— Jos haluat vain yhteenvedon pilvipalveluista, siirry osoitteeseen jakso 2.4

2. Pilvipalvelut

Pilvipalveluiden maailma on hyvin monipuolinen. Pilvipalveluntarjoajat tarjoavat erilaisia ​​palveluita, jotka on räätälöity asiakkaiden eri tarpeisiin. Olet ehkä kuullut sellaisista termeistä kuin IaaS, PaaS, SaaS, FaaS, KaaS jne. kaikki aakkosten kirjaimet, joita seuraa "aaS". Oudosta nimeämiskäytännöstä huolimatta ne muodostavat joukon pilvipalveluntarjoajia. Totean, että pilvipalveluntarjoajat tarjoavat melkein aina 3 tärkeintä "palveluna" -tarjousta.

Nämä ovat IaaS, PaaS ja SaaS, jotka vastaavat sanoista Infrastructure as a Service, Platform as a Service ja Software as a Service. On tärkeää visualisoida pilvipalvelut tarjottujen palveluiden kerroksina. Tämä tarkoittaa, että kun siirryt tasolta toiselle, sinua asiakkaana käyvät läpi erilaiset palveluvaihtoehdot, jotka joko lisätään tai vähennetään ydintarjonnasta. On parasta ajatella sitä pyramidina, kuten kuvassa 2 näkyy.
GCP: Google Cloud Platform Compute Stackin jäsentäminen

Kuva 2: aaS Pyramid | Kuva peräisin Ruby autotalli

2.1 Infrastruktuuri palveluna (IaaS)

Tämä on alin taso, jonka pilvipalveluntarjoaja voi tarjota, ja siihen kuuluu pilvipalveluntarjoaja, joka toimittaa paljaan metallin infrastruktuurin, mukaan lukien väliohjelmistot, verkkokaapelit, suorittimet, grafiikkasuorittimet, RAM-muistin, ulkoisen tallennustilan, palvelimet ja taustalla olevat käyttöjärjestelmäkuvat, esim. Debian Linux, CentOS, Windows , jne.

Jos tilaat tarjouksen pilvi-IaaS-palveluntarjoajalta, sinun pitäisi odottaa saavasi tämän. Sinun, asiakkaan, tehtävänä on koota nämä osat liiketoimintaasi varten. Työskentelyn laajuus voi vaihdella toimittajasta toiseen, mutta yleensä hankit vain laitteiston ja käyttöjärjestelmän ja loput ovat sinun päätettävissäsi. Esimerkkejä IaaS:stä ovat AWS Elastic Compute, Microsoft Azure ja GCE.

Jotkut ihmiset eivät ehkä pidä siitä, että heidän on asennettava käyttöjärjestelmän näköistiedostot ja hoidettava verkottumista, kuormituksen tasapainottamista tai huolta siitä, minkä tyyppinen prosessori sopii heidän työkuormitukseensa. Tästä siirrymme pyramidia ylöspäin kohti PaaS:ää.

2.2 Alusta palveluna (PaaS)

PaaS sisältää vain pilvipalveluntarjoajan, joka tarjoaa tietyn alustan, jolle käyttäjät voivat rakentaa sovelluksia. Tämä on abstraktio IaaS:stä, mikä tarkoittaa, että pilvipalveluntarjoaja huolehtii kaikista CPU-tyypeistä, muistista, RAM-muistista, tallennustilasta, verkoista jne. Kuten kuvasta 2 näkyy, sinulla asiakkaana on vain vähän hallintaa todelliseen alustaan, koska pilvi palveluntarjoaja hoitaa kaikki infrastruktuurin tiedot puolestasi. Pyydät valitsemaasi alustaa ja rakennat projektin sille. Esimerkkejä PaaS:stä ovat Heroku.

Tämä voi olla joillekin liian korkea taso, koska he eivät välttämättä halua rakentaa projektia tietylle alustalle, vaan tarvitsevat palvelujoukon suoraan pilvipalveluntarjoajalta. Tässä SaaS tulee peliin.

2.3 Ohjelmisto palveluna (SaaS)

SaaS edustaa yleisimpiä pilvipalveluntarjoajien tarjoamia palveluita. Ne on suunnattu loppukäyttäjille, ja niihin pääsee ensisijaisesti verkkosivustojen, kuten Gmailin, Google Docsin, Dropboxin jne. kautta. Mitä tulee Google Cloudiin, niiden laskentapinon ulkopuolella on useita SaaS-palveluita. Näitä ovat Data Studio, Big Query jne.

2.4 Pilvipalveluiden yhteenveto

ainesosia
IaaS
Pääs
SaaS

Mitä saat?
Saat infrastruktuurin ja maksat sen mukaan. Vapaus käyttää tai asentaa mitä tahansa ohjelmistoa, käyttöjärjestelmää tai niiden koostumusta.
Täältä saat mitä pyydät. Ohjelmisto, laitteisto, käyttöjärjestelmä, verkkoympäristö. Saat käyttövalmiin alustan ja maksat sen mukaan.
Täällä sinun ei tarvitse huolehtia mistään. Sinulle toimitetaan valmiiksi asennettu paketti, joka on räätälöity tarpeidesi mukaan, ja sinun tarvitsee vain maksaa sen mukaan.

Arvo
Peruslaskenta
Top IaaS
Tämä on pohjimmiltaan täydellinen palvelupaketti

Teknisiä vaikeuksia
Vaaditaan teknistä tietämystä
Sinulle on annettu perusasetukset, mutta tarvitset silti verkkotunnuksen tuntemusta.
Ei tarvitse vaivautua teknisiin yksityiskohtiin. SaaS-palveluntarjoaja tarjoaa kaiken.

Mitä se toimii?
Virtuaalikoneet, tallennustila, palvelimet, verkko, kuormantasaajat jne.
Ajonaikaiset ympäristöt (kuten Java runtime), tietokannat (kuten mySQL, Oracle), verkkopalvelimet (kuten tomcat jne.)
Sovellukset, kuten sähköpostipalvelut (Gmail, Yahoo-sähköposti jne.), sosiaalisen vuorovaikutuksen sivustot (Facebook jne.)

Suosiokaavio
Suosittu korkeasti koulutettujen kehittäjien, tutkijoiden keskuudessa, jotka tarvitsevat räätälöintiä vaatimustensa tai tutkimusalueensa mukaan
Suosituin kehittäjien keskuudessa, koska he voivat keskittyä sovellusten tai komentosarjojen kehittämiseen. Heidän ei tarvitse huolehtia liikenteen kuormituksesta tai palvelimen hallinnasta jne.
Suosituin tavallisten kuluttajien tai yritysten keskuudessa, jotka käyttävät ohjelmistoja, kuten sähköposti, tiedostojen jakaminen, sosiaaliset verkostot, koska heidän ei tarvitse huolehtia teknisistä yksityiskohdista

Kuva 3: Yhteenveto tärkeimmistä pilvipalveluista | Kuva tarjotaan Amir Blog Speciassa

3. Google Cloud Platform Computing Suite

Tarkastellemme tyypillisiä pilvipalveluntarjoajien tarjouksia osiossa 2, voimme verrata niitä Google Cloudin tarjontaan.

3.1 Google Compute Engine (GCE) – IaaS

GCP: Google Cloud Platform Compute Stackin jäsentäminen

Kuva 4: Google Compute Engine (GCE) -kuvake

GCE on Googlen IaaS-tarjous. GCE:n avulla voit vapaasti luoda virtuaalikoneita, allokoida suoritin- ja muistiresursseja, valita tallennustyypin, kuten SSD tai HDD, ja muistin määrän. Se on melkein kuin olisit rakentanut oman tietokoneesi/työasemasi ja hoitanut kaikki sen toiminnan yksityiskohdat.

GCE:ssä voit valita mikroesiintymistä, joissa on 0,3-ytiminen prosessori ja 1 Gt RAM-muistia, tai 96-ytiminen hirviöitä, joissa on yli 300 Gt RAM-muistia. Voit myös luoda mukautetun kokoisia virtuaalikoneita työkuormituksillesi. Kiinnostuneille nämä ovat virtuaalikoneita, joita voit rakentaa.

Konetyypit | Laske moottorin dokumentaatio | Google Cloud

3.2. Google Kubernetes Engine (GKE) – (Caas / Kaas)

GCP: Google Cloud Platform Compute Stackin jäsentäminen

Kuva 5: Google Kubernetes Engine (GKE) -kuvake

GKE on ainutlaatuinen GCP:n laskentatarjous, joka on abstraktio Compute Enginen päällä. Yleisemmin GKE voidaan luokitella Container as a Service (CaaS), josta käytetään joskus nimitystä Kubernetes as a Service (KaaS), jonka avulla asiakkaat voivat helposti käyttää Docker-säilöjään täysin hallitussa Kubernetes-ympäristössä. Niille, jotka eivät tunne säilöjä, kontit auttavat modulaarisoimaan palveluita/sovelluksia, jolloin eri säilöissä voi olla erilaisia ​​palveluita, esimerkiksi yksi säilö voi isännöidä verkkosovelluksesi etupäätä ja toinen sen takapää. Kubernetes automatisoi, ohjaa, hallitsee ja ottaa käyttöön säilösi. Lisätietoja täältä.

Google Kubernetes Engine | Google Cloud

3.3 Google App Engine (GAE) – (PaaS)

GCP: Google Cloud Platform Compute Stackin jäsentäminen

Kuva 6: Google App Engine (GAE) -kuvake

Kuten kohdassa 2.2 mainittiin, PaaS on IaaS:n yläpuolella ja GCP:n tapauksessa sitä voidaan pitää myös GKE:n yläpuolella olevana tarjouksena. GAE on Googlen mukautettu PaaS, ja he kuvaavat itseään parhaiten: "tuo koodisi, niin me hoidamme loput".

Tämä varmistaa, että GAE:tä käyttävien asiakkaiden ei tarvitse käsitellä taustalla olevia laitteistoja/väliohjelmistoja ja että heillä on jo valmiiksi määritetty alusta. heidän tarvitsee vain antaa sen suorittamiseen tarvittava koodi.

GAE käsittelee skaalauksen automaattisesti vastaamaan kuormitusta ja käyttäjien kysyntää, mikä tarkoittaa, että jos kukkamyyntisivustosi saavuttaa yllättäen huippunsa ystävänpäivän lähestyessä, GAE käsittelee taustalla olevan infrastruktuurin skaalaamisen vastatakseen kysyntään ja varmistaakseen, että verkkosivustosi ei kaadu lisääntyneen kysynnän vuoksi. Tämä tarkoittaa, että maksat juuri niistä resursseista, joita hakemuksesi sillä hetkellä vaatii.

GAE käyttää Kubernetesia tai sen alkuperäisversiota hoitamaan kaiken tämän, joten sinun ei tarvitse huolehtia siitä. GAE sopii parhaiten yrityksille, jotka eivät ole kiinnostuneita taustalla olevasta infrastruktuurista ja välittävät vain siitä, että heidän sovelluksensa on saavutettavissa parhaalla mahdollisella tavalla.

Mielestäni GAE on paras aloituspaikka, jos olet kehittäjä, jolla on loistava idea, mutta et halua käsitellä palvelinten perustamisen, kuormituksen tasapainotuksen ja kaiken muun aikaa vievän devops/SRE-työn rasitusta. . Ajan myötä voit kokeilla GKE:tä ja GCE:tä, mutta se on vain minun mielipiteeni.

Vastuuvapauslauseke: AppEngineä käytetään verkkosovelluksiin, ei mobiilisovelluksiin.

Tiedoksi: App Engine - Rakenna skaalautuvia verkko- ja mobiilitaustaohjelmia millä tahansa kielellä | Google Cloud

3.4 Google Cloud Functions – (FaaS)

GCP: Google Cloud Platform Compute Stackin jäsentäminen

Kuva 7: Google Cloud Functions (GCF) -kuvake

Toivottavasti olet huomannut trendin katsomalla aiempia tarjouksia. Mitä korkeammalle kiipeät GCP-laskentaratkaisujen tikkaat, sitä vähemmän sinun tarvitsee huolehtia taustalla olevasta tekniikasta. Tämä pyramidi päättyy pienimpään mahdolliseen laskentayksikköön, funktioon, kuten osiossa 1 on esitetty.

GCF on suhteellisen uusi GCP-tarjous, joka on vielä beta-vaiheessa (tätä kirjoitettaessa). Pilvitoiminnot mahdollistavat tiettyjen kehittäjän kirjoittamien toimintojen käynnistämisen tapahtumasta.

Ne ovat tapahtumalähtöisiä ja ovat muotisanan "palvelinton" ytimessä, mikä tarkoittaa, että he eivät tunne palvelimia. Pilvitoiminnot ovat hyvin yksinkertaisia ​​ja niillä on monia erilaisia ​​käyttötarkoituksia, jotka vaativat tapahtumaajattelua. Esimerkiksi aina, kun uusi käyttäjä rekisteröityy, pilvitoiminto voidaan laukaista varoittaakseen kehittäjiä.

Tehtaalla, kun tietty anturi saavuttaa tietyn arvon, se voi laukaista pilvitoiminnon, joka suorittaa jonkin verran tiedonkäsittelyä tai ilmoittaa jollekin huoltohenkilöstölle jne.

Pilvitoiminnot - Tapahtumapohjainen palvelinlaskenta | Google Cloud

Johtopäätös

Tässä artikkelissa puhuimme erilaisista pilvipalveluista, kuten IaaS, PaaS jne., ja siitä, kuinka Googlen laskentapino toteuttaa nämä eri tasot. Olemme nähneet, että abstraktiokerrokset siirtyessään palvelukategoriasta toiseen, kuten IaaS Paasissa, vaativat vähemmän tietoa taustalla olevasta.

Yritykselle tämä tarjoaa kriittistä joustavuutta, joka ei ainoastaan ​​täytä sen toiminnallisia tavoitteita, vaan myös muita avainalueita, kuten turvallisuutta ja kustannuksia. Yhteenvetona:

Laske moottori - voit luoda oman virtuaalikoneen varaamalla tiettyjä laitteistoresursseja, esimerkiksi RAM, prosessori, muisti. Se on myös melko käytännöllinen ja matalatasoinen.

Kubernetes -moottori on askel eteenpäin Compute Enginestä ja antaa sinun käyttää Kubernetesia ja säiliöitä sovelluksesi hallintaan, jolloin voit skaalata sitä tarpeen mukaan.

Sovellusmoottori on edistysaskel Kubernetes Enginestä, joten voit keskittyä vain koodiisi, kun Google huolehtii kaikista taustalla olevista alustavaatimuksista.

Pilvitoiminnot on laskentapyramidin huippu, jonka avulla voit kirjoittaa yksinkertaisen funktion, joka ajettaessa käyttää koko taustalla olevaa infrastruktuuria tuloksen laskemiseen ja palauttamiseen.

Спасибо за внимание!

Twitter: @martinomburajr

Lähde: will.com

Lisää kommentti