GCP: Rozdělení sady Google Cloud Platform Computing Stack

Překlad článku byl připraven speciálně pro studenty kurzu "Cloudové služby".

Máte zájem se tímto směrem rozvíjet? Podívejte se na záznam profesionální mistrovské třídy "Služba AWS EC2", kterou vedl Egor Zuev - TeamLead ve společnosti InBit a autor vzdělávacího programu ve společnosti OTUS.

GCP: Rozdělení sady Google Cloud Platform Computing Stack

Google Cloud Platform (GCP) nabízí mnoho služeb, a zejména výpočetní sadu, která obsahuje Google Compute Engine (GCE), Google Kubernetes Engine (dříve Container Engine) (GKE), Google App Engine (GAE) a Google Cloud Functions (GCF). . Všechny tyto služby mají skvělé názvy, ale jejich funkce a to, co je dělá navzájem jedinečnými, nemusí být zcela zřejmé. Tento článek je určen pro ty, kteří začínají s cloudovými koncepty, zejména cloudovými službami a GCP.

GCP: Rozdělení sady Google Cloud Platform Computing Stack

1. Výpočet zásobníku

Výpočetní zásobník lze považovat za vrstvenou abstrakci toho, co může počítačový systém poskytnout. Tento zásobník stoupá (posouvá nahoru) z "holého železa" (holý kov), s odkazem na skutečné hardwarové součásti počítače, až po funkce (funkce), které představují nejmenší výpočetní jednotku. U zásobníku je důležité poznamenat, že služby jsou agregovány, když se pohybujete v zásobníku, jako je sekce „aplikace“ (aplikace), znázorněný na obrázku 1 níže, by měl obsahovat všechny základní součásti kontejneru (kontejnery), virtuální stroje (virtuálních strojů) a železo. Stejně tak musí součást virtuálních strojů obsahovat hardware, aby fungovala.

GCP: Rozdělení sady Google Cloud Platform Computing Stack

Obrázek 1: Výpočetní zásobník | Obrázek pochází z Google Cloud

Tento model zobrazený na obrázku 1 je základem pro popis nabídek od poskytovatelů cloudu. Někteří poskytovatelé tak mohou poskytovat například pouze kontejnery a služby nižší kvality podél stohu, zatímco jiní mohou poskytnout vše, co je znázorněno na obrázku 1.

— Pokud jste obeznámeni s cloudovými službami, přejděte na oddíl 3zobrazit ekvivalent GCP
— Pokud chcete pouze souhrn cloudových služeb, přejděte na oddíl 2.4

2. Cloudové služby

Svět cloud computingu je velmi rozmanitý. Poskytovatelé cloudu nabízejí řadu služeb přizpůsobených různým požadavkům zákazníků. Možná jste slyšeli o pojmech jako IaaS, PaaS, SaaS, FaaS, KaaS atd. se všemi písmeny abecedy následovanými „aaS“. Navzdory podivné konvenci pojmenování tvoří sadu služeb cloudového poskytovatele. Uvádím, že existují 3 hlavní nabídky „jako služba“, které poskytovatelé cloudu téměř vždy poskytují.

Jedná se o IaaS, PaaS a SaaS, což znamená Infrastructure as a Service, Platform as a Service a Software as a Service. Je důležité vizualizovat cloudové služby jako vrstvy poskytovaných služeb. To znamená, že když se pohybujete nahoru nebo dolů z úrovně na úroveň, jako zákazník procházíte různými možnostmi služeb, které jsou buď přidány nebo odečteny od základní nabídky. Nejlepší je si to představit jako pyramidu, jak je znázorněno na obrázku 2.
GCP: Rozdělení sady Google Cloud Platform Computing Stack

Obrázek 2: Pyramida aaS | Obrázek pochází z Rubínová garáž

2.1 Infrastruktura jako služba (IaaS)

Jedná se o nejnižší úroveň, kterou může poskytovatel cloudu nabídnout, a zahrnuje poskytovatele cloudu, který dodává samotnou metalovou infrastrukturu, včetně middlewaru, síťové kabeláže, CPU, GPU, RAM, externího úložiště, serverů a základních obrazů operačního systému, např. Debian Linux, CentOS, Windows. , atd.

Pokud si objednáte cenovou nabídku od poskytovatele cloudového IaaS, měli byste očekávat, že obdržíte tuto nabídku. Je na vás, zákazníkovi, abyste tyto kusy sestavili pro provoz vašeho podnikání. Rozsah toho, s čím budete muset pracovat, se může lišit od dodavatele k prodejci, ale obecně získáte pouze hardware a OS a zbytek je na vás. Příklady IaaS jsou AWS Elastic Compute, Microsoft Azure a GCE.

Někomu se nemusí líbit, že musí instalovat bitové kopie OS a řešit sítě, vyvažování zátěže nebo se starat o to, jaký typ procesoru je pro jejich vytížení ideální. Zde se pohybujeme po pyramidě směrem k PaaS.

2.2 Platforma jako služba (PaaS)

PaaS zahrnuje pouze poskytovatele cloudových služeb, který nabízí konkrétní platformu, na které mohou uživatelé vytvářet aplikace. Toto je abstrakce nad IaaS, což znamená, že poskytovatel cloudu se stará o všechny detaily typů CPU, paměti, RAM, úložiště, sítí atd. Jak ukazuje obrázek 2, vy jako zákazník máte malou kontrolu nad skutečnou platformou, protože cloud poskytovatel za vás zpracovává všechny podrobnosti o infrastruktuře. Vyžádáte si vybranou platformu a postavíte na ní projekt. Příklady PaaS jsou Heroku.

To může být pro někoho příliš vysoká úroveň, protože nemusí nutně stavět projekt na konkrétní platformě, ale potřebuje sadu služeb přímo od poskytovatele cloudu. Zde vstupuje do hry SaaS.

2.3 Software jako služba (SaaS)

SaaS představuje nejběžnější služby poskytované poskytovateli cloudových služeb. Jsou zaměřeny na koncové uživatele a jsou přístupné především prostřednictvím webových stránek, jako je Gmail, Google Docs, Dropbox atd. Pokud jde o Google Cloud, existuje několik nabídek mimo jejich výpočetní sadu, které jsou SaaS. Patří mezi ně Data Studio, Big Query atd.

2.4 Shrnutí cloudových služeb

Komponenty
IaaS
PaaS
SaaS

Co dostanete
Získáte infrastrukturu a podle toho zaplatíte. Svoboda používat nebo instalovat jakýkoli software, OS nebo jejich složení.
Zde dostanete, co požadujete. Software, hardware, OS, webové prostředí. Získáte platformu připravenou k použití a podle toho zaplatíte.
Zde se nemusíte o nic starat. Máte k dispozici předinstalovaný balíček přizpůsobený vašim požadavkům a vše, co musíte udělat, je odpovídajícím způsobem zaplatit.

Hodnota
Základní výpočetní technika
Nejlepší IaaS
Jedná se v podstatě o kompletní balíček služeb

Technické potíže
Technické znalosti nutné
Máte základní konfiguraci, ale stále potřebujete znalost domény.
Není třeba se trápit technickými detaily. Poskytovatel SaaS poskytuje vše.

S čím to funguje?
Virtuální stroje, úložiště, servery, síť, nástroje pro vyrovnávání zatížení atd.
Runtime prostředí (jako java runtime), databáze (jako mySQL, Oracle), webové servery (jako tomcat atd.)
Aplikace jako e-mailové služby (Gmail, Yahoo mail atd.), weby pro sociální interakci (Facebook atd.)

Graf popularity
Populární mezi vysoce kvalifikovanými vývojáři, výzkumníky, kteří vyžadují přizpůsobení podle svých požadavků nebo oblasti výzkumu
Nejoblíbenější mezi vývojáři, protože se mohou soustředit na vývoj svých aplikací nebo skriptů. Nemusí se starat o zatížení provozu nebo správu serveru atd.
Nejoblíbenější mezi běžnými spotřebiteli nebo společnostmi, které používají software, jako je e-mail, sdílení souborů, sociální sítě, protože se nemusí starat o technické detaily

Obrázek 3: Přehled hlavních nabídek cloudu | Obrázek poskytnut Amir ve společnosti Blog Specia

3. Google Cloud Platform Computing Suite

Když jsme se podívali na typické nabídky poskytovatelů cloudu v části 2, můžeme je porovnat s nabídkami Google Cloud.

3.1 Google Compute Engine (GCE) – IaaS

GCP: Rozdělení sady Google Cloud Platform Computing Stack

Obrázek 4: Ikona Google Compute Engine (GCE).

GCE je nabídka IaaS od společnosti Google. S GCE můžete volně vytvářet virtuální stroje, přidělovat CPU a paměťové zdroje, volit typ úložiště, jako je SSD nebo HDD, a množství paměti. Je to skoro, jako byste si postavili svůj vlastní počítač/pracovní stanici a řešili všechny detaily toho, jak to funguje.

V GCE si můžete vybrat od mikro instancí s 0,3jádrovými procesory a 1 GB RAM až po 96jádrové příšery s přes 300 GB RAM. Můžete také vytvořit virtuální stroje vlastní velikosti pro své úlohy. Pro zájemce jsou to virtuální stroje, které si můžete postavit.

Typy strojů | Dokumentace výpočetního motoru | Google Cloud

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

GCP: Rozdělení sady Google Cloud Platform Computing Stack

Obrázek 5: Ikona Google Kubernetes Engine (GKE).

GKE je jedinečná počítačová nabídka od GCP, která je abstrakcí nad Compute Engine. Obecněji lze GKE kategorizovat jako kontejner jako služba (CaaS), někdy označovaný jako Kubernetes jako služba (KaaS), což zákazníkům umožňuje snadno spouštět své kontejnery Docker v plně spravovaném prostředí Kubernetes. Pro ty, kteří nejsou obeznámeni s kontejnery, kontejnery pomáhají modularizovat služby/aplikace, takže různé kontejnery mohou obsahovat různé služby, například jeden kontejner může hostit přední část vaší webové aplikace a další může obsahovat její zadní část. Kubernetes automatizuje, organizuje, spravuje a nasazuje vaše kontejnery. Více informací zde.

Google Kubernetes Engine | Google Cloud

3.3 Google App Engine (GAE) – (PaaS)

GCP: Rozdělení sady Google Cloud Platform Computing Stack

Obrázek 6: Ikona Google App Engine (GAE).

Jak je uvedeno v části 2.2, PaaS je umístěn nad IaaS a v případě GCP může být také považován za nabídku nad GKE. GAE je vlastní PaaS společnosti Google a způsob, jakým se nejlépe popisují, je „přineste svůj kód a my se postaráme o zbytek“.

To zajišťuje, že zákazníci používající GAE se nemusí zabývat základním hardwarem/middleware a mohou mít již předkonfigurovanou platformu připravenou k použití; vše, co musí udělat, je poskytnout kód potřebný k jeho spuštění.

GAE automaticky zpracovává škálování tak, aby vyhovovalo zatížení a poptávce ze strany uživatelů, což znamená, že pokud vaše webové stránky pro prodej květin náhle vyvrcholí, protože se blíží Valentýn, GAE se postará o škálování základní infrastruktury tak, aby vyhovovala poptávce a zajistila, že vaše webové stránky nespadnou kvůli zvýšené poptávce. . To znamená, že platíte přesně za zdroje, které vaše aplikace v danou chvíli vyžaduje.

GAE k tomu všemu používá Kubernetes nebo jeho nativní verzi, takže se o to nemusíte starat. GAE je nejvhodnější pro společnosti, které se nezajímají o základní infrastrukturu a starají se pouze o to, aby jejich aplikace byla co nejlépe přístupná.

Podle mého názoru je GAE tím nejlepším místem, kde začít, pokud jste vývojář se skvělým nápadem, ale nechcete se zabývat dřinou s nastavováním serverů, vyvažováním zátěže a všemi dalšími časově náročnými devopy/SRE prací. . Postupem času bys mohl zkusit GKE a GCE, ale to je jen můj názor.

Zřeknutí se odpovědnosti: AppEngine se používá pro webové aplikace, nikoli pro mobilní aplikace.

Pro informaci: App Engine – Vytvářejte škálovatelné webové a mobilní backendy v jakémkoli jazyce | Google Cloud

3.4 Funkce Google Cloud – (FaaS)

GCP: Rozdělení sady Google Cloud Platform Computing Stack

Obrázek 7: Ikona Google Cloud Functions (GCF).

Doufáme, že jste si při pohledu na předchozí nabídky všimli trendu. Čím výše postoupíte v žebříčku výpočetních řešení GCP, tím méně se budete muset starat o základní technologii. Tato pyramida končí nejmenší možnou jednotkou výpočtu, funkcí, jak je znázorněno v části 1.

GCF je relativně nová nabídka GCP, která je stále ve verzi beta (v době psaní tohoto článku). Cloudové funkce umožňují, aby určité funkce napsané vývojářem byly spuštěny událostí.

Jsou řízeni událostmi a jsou jádrem módního slova „bez serveru“, což znamená, že neznají servery. Cloudové funkce jsou velmi jednoduché a mají mnoho různých použití, která vyžadují myšlení událostí. Například pokaždé, když se zaregistruje nový uživatel, může být spuštěna cloudová funkce, která upozorní vývojáře.

V továrně, když určitý senzor dosáhne určité hodnoty, může spustit cloudovou funkci, která provede nějaké zpracování informací, nebo upozorní nějaký personál údržby atd.

Funkce cloudu – Server Computing řízený událostmi | Google Cloud

Závěr

V tomto článku jsme hovořili o různých cloudových nabídkách, jako je IaaS, PaaS atd., a o tom, jak výpočetní zásobník Google implementuje tyto různé vrstvy. Viděli jsme, že abstrakční vrstvy při přechodu z jedné kategorie služeb do druhé, jako je IaaS v Paas, vyžadují méně znalostí o základu.

Podniku to poskytuje kritickou flexibilitu, která nejen splní jeho provozní cíle, ale splňuje také další klíčové oblasti, jako je bezpečnost a náklady. Shrnout:

Vypočítat motor - umožňuje vytvořit si vlastní virtuální stroj přidělením určitých hardwarových prostředků, například RAM, procesor, paměť. Je to také docela praktické a na nízké úrovni.

Kubernetes Engine je o krok výš od Compute Engine a umožňuje vám používat Kubernetes a kontejnery ke správě vaší aplikace, což vám umožňuje škálovat ji podle potřeby.

App Engine je krokem vpřed oproti Kubernetes Engine, který vám umožňuje soustředit se pouze na svůj kód, zatímco Google se postará o všechny základní požadavky na platformu.

Cloudové funkce je vrchol výpočetní pyramidy, který umožňuje napsat jednoduchou funkci, která po spuštění využívá celou podkladovou infrastrukturu k výpočtu a vrácení výsledku.

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

Twitter: @martinomburajr

Zdroj: www.habr.com

Přidat komentář