Programování

Výukový program Google Cloud: Začínáme s Google Cloud

Když si lidé představí slovo Google, zamyslí se nad vyhledáváním a obrovskou výpočetní infrastrukturou, která převádí vaše slova na seznam webů, které pravděpodobně obsahují přesně to, co hledáte. Google trvalo roky, než najal inženýry, navrhl vlastní počítače a vytvořil obrovskou sbírku hardwaru, který odpovídá na webové dotazy. Nyní může být vaše jen s několika stisknutími kláves a kliknutími.

Google pronajímá většinu této odbornosti a infrastruktury jiným webovým společnostem. Pokud chcete vytvořit chytrý web nebo službu, Google je připraven vám účtovat poplatky za provoz na jeho obrovské sbírce strojů. Vše, co musíte udělat, je začít vyplňovat některé webové formuláře a brzy budete mít velkou sbírku serverů připravených k škálování a zpracování vašich úkolů.

Pro rychlého průvodce začátkem a pro navigaci v mnoha možnostech na cestě mě následujte.

Krok 1: Nastavte si účet

Toto je snadná část. Pokud máte účet Google, jste připraveni jít. Můžete se přihlásit na cloud.google.com a přejít přímo do konzoly a ovládacího panelu. Na začátku tu toho nebude moc k vidění, ale brzy se vám začnou zobrazovat podrobnosti o tom, co vaše obrovská počítačová říše dělá. To znamená zatížení všech instancí serveru, které jste vytvořili, data protékající sítí a použití API. Na první pohled se můžete ujistit, že vše běží hladce.

Krok 2: Zjistěte, že potřebujete strukturu

Existují dva způsoby, jak používat infrastrukturu Google: jejich způsob a váš vlastní způsob. Pokud chcete využít všech geniálních schopností vývojového týmu Google, můžete si vybrat nástroje, které vám nabízejí spoustu možností držení. Například Google App Engine vám umožňuje vytvářet sofistikovanou webovou aplikaci s pouhými několika stovkami řádků kódu, a to vše tím, že se spoléhá na vybranou kolekci interních a otevřených rámců společnosti Google. App Engine je rychlý způsob, jak něco rychle roztočit.

Pokud již vlastní kód máte nebo se obáváte, že vás někdo zamkne do cesty Googlu, můžete si pomocí druhého nástroje vypůjčit stroje pomocí Google Compute Engine. Vše, co musíte udělat, je vybrat si jednu z hlavních distribucí Linuxu nebo Windows a o několik sekund později získáte heslo root, přístup k příkazovému řádku a žádná omezení.

Existují možnosti, které leží mezi nimi. Můžete přizpůsobit App Engine pomocí některého ze svých vlastních kódů, pokud se vám líbí, nebo si můžete vybrat některé z předem připravených obrázků pro Compute Engine, které již obsahují všechny potřebné soubory pro populární aplikace jako WordPress nebo Node.js. A pak existuje ještě více možností, které leží někde mezi nimi.

Pravděpodobně skončíte s nějakou kombinací podpory, možná pro jednu část použijete plně strukturovanou aplikaci App Engine a pro druhou trochu vlastního kódu běžícího na komoditním hardwaru. Důležitější je, abyste se rozhodli, kolik chcete dělat sami, a nakolik jste připraveni stavět na nástrojích Google.

Související video: Co je to cloudový nativní přístup?

V tomto 60sekundovém videu se dozvíte, jak cloudový nativní přístup mění způsob, jakým podniky strukturují své technologie, od Craiga McLuckieho, zakladatele a generálního ředitele společnosti Heptio, a jednoho z vynálezců otevřeného systému Kubernetes.

Krok 3: Zvažte netradiční přístupy

Ne každý musí vytvářet webové aplikace stejným způsobem. Google nabízí tolik možností, které mohou často přinést skvělé výsledky bez psaní tradičního kódu. Jeden chytrý nápad například kombinuje rozšíření úložiště Chrome s účtem Disku Google uživatele pro úložiště. Jediný kód běží na klientovi a Google zpracovává veškerou infrastrukturu. Měli byste si to dvakrát rozmyslet, abyste se ujistili, že vaši aplikaci nelze vyřešit jednodušším přístupem.

Krok 4: Vyberte stroj

Je téměř chybou myslet na to jako na výběr něčeho fyzického, jako je hmatatelný „stroj“. Opravdu si jen vybíráte, kolik energie CPU, paměti a místa na disku si myslíte, že budete potřebovat. Compute Engine nabízí desítky „strojů“ standardní velikosti, nebo si můžete vybrat své vlastní kombinace.

Pokud hledáte více než jeden stroj, který zvládne větší zatížení, pravděpodobně budete chtít vytvořit klastr Kubernetes pomocí Google Kubernetes Engine. Google vyvinul nástroj, aby bylo jednodušší provozovat kontejnery na více strojích. Když se zatížení zvýší, Kubernetes roztočí více instancí a když se zatížení sníží, roztočí je dolů.

Můžete se také rozhodnout nevybrat výběrem více automatizované cesty, jako jsou Google Cloud Functions. Google za vás rozhoduje o velikosti stroje a účtuje vám podle pracovní jednotky, kterou vaše aplikace dělá. Za kliknutí každého zákazníka platíte zlomky centu, místo toho, abyste za měsíc napsali jeden šek.

Stojí za zmínku, že Google automatizoval další aspekty procesu tím, že nabízí slevy na trvalé používání, které se začnou používat až po určitém procentu používání měsíce. Jiné cloudové společnosti vyžadují, abyste se zavázali k velkému časovému limitu, abyste získali slevu. Slevy od Googlu se zobrazují automaticky, když váš stroj běží trvale.

Krok 5: Nastavte měřítka pro váš kód

Jednou z největších výzev je nalezení správné velikosti pro váš stroj a Google nabízí tolik možností, že to může být skličující. Našel jsem významné rozdíly ve výkonu, které lze jen těžko předvídat. Zdvojnásobení počtu virtuálních procesorů zřídka zkracuje dobu zpracování na polovinu. Přidání další paměti RAM může váš stroj dramaticky zrychlit - dokud jej již nepřidáte tolik, abyste bezpečně uchovali svá data.

Jediným řešením je porovnat váš software s různými konfiguracemi. Jednou z nejlepších možností Google Compute Engine je způsob, jakým můžete kombinovat množství RAM, CPU a místa na disku. Nejste omezeni na předdefinované kombinace. Začněte tedy experimentovat na začátku a pak nezapomeňte zkusit to každých pár měsíců znovu, pokud se zatížení posunulo a váš výkon je jiný.

Krok 6: Vyberte možnost ukládání dat

Google Cloud nabízí alespoň pět různých možností, jak udržet vaše data v bezpečí, a pak můžete vždy implementovat svůj vlastní model úložiště dat pomocí jeho nezpracovaných trvalých disků. První otázkou je, zda chcete použít strukturu relační databáze vytvořené pro zodpovězení SQL, nebo pokud chcete více nestrukturovanou svobodu NoSQL a úložiště objektů.

Pro SQL zabalil Google své vlastní API kolem MySQL a Postgres. Google Cloud SQL automatizuje vaše zálohy, replikace, opravy a aktualizace. Napíšete kód, který se připojuje k těmto oblíbeným možnostem open source. Google Cloud Spanner také poskytuje relační strukturu, ale na velmi vysoké úrovni služeb. Google dává odvážný příslib „SLA 99,999% dostupnosti, žádné plánované prostoje a zabezpečení na podnikové úrovni.“ (Viz recenze.)

Pokud vás více zajímají méně strukturované modely dokumentů z NoSQL, existuje několik možností, včetně cloudového úložiště, cloudové velké tabulky a cloudového úložiště dat.

A je důležité vyzkoušet Firebase, sofistikovanou databázi, která dělá mnohem víc než jen ukládání informací. Shromažďuje dohromady většinu infrastruktury, kterou potřebujete k ověřování uživatelů, synchronizaci dat s klienty, poskytování souborů, odesílání oznámení a sledování toho, co vaše aplikace a uživatelé dělají.

Všechny tyto možnosti účtují podle množství dat, která do nich vložíte. Čím více ukládáte, tím více platíte.

Krok 7: Procházejte rozhraní Google API

Je téměř děsivé, kolik API je Google Cloud k dispozici. Většina z nich je samozřejmě k dispozici na jakémkoli počítači na internetu, ale je těžké nevěřit (nebo si jen představit), že v cloudu Google prostě fungují lépe.

Mnoho z těchto API vám může ušetřit spoustu času programováním. Například Google Maps pro vaši webovou aplikaci přináší podrobné mapy z celého světa. Prevence ztráty cloudových dat prolistuje vaše dokumenty a označí (nebo dokonce upraví) citlivé informace, jako jsou čísla sociálního zabezpečení. Existuje několik desítek možností a všechny vyúčtují, jak často a jak moc je používáte. Mnoho z nich má bezplatné úrovně služeb pro menší aplikace a nové zákazníky.

Krok 8: Podívejte se na nástroje pro analýzu dat

Google pomocí veškerého svého interního výzkumu dramaticky rozšířil počet nástrojů pro analýzu dat a strojové učení. Můžete si vzít kterákoli z uložených dat a poté použít nástroje Big Data nebo Cloud AI od Googlu k vyhledání vzorů a signálů.

Mnoho z těchto nástrojů je dobré pro analýzu všech dat shromážděných z vaší aplikace. Pokud prodáváte zboží, můžete hledat korelace mezi zákazníky a zbožím, které si vyberou, abyste mohli lépe předvídat potřeby svých zákazníků. Pokud jedna část země miluje jednu barvu, algoritmy vám to pomohou objevit - a také méně zjevné souvislosti.

Tyto nástroje nevyžadují, abyste ke shromažďování informací používali App Engine nebo Compute Engine. Můžete nahrávat data z jiných systémů.

Krok 9: Vyberte regiony a zóny

U mnoha základních úloh není důvod se příliš starat o skutečné umístění počítače, který tuto práci provádí. Říká se tomu cloud, že? Metafora naznačuje, že se nemusíme starat přesně o to, kde se kouzlo stane.

Některá zaměstnání však vyžadují pozornost z právních nebo praktických důvodů. Google má datová centra na všech kontinentech kromě Antarktidy a Afriky. Každý kontinent je rozdělen do „regionů“ a každý region je rozdělen do „zón“. Pokud si chcete být jisti, že život bude pokračovat, i když narazí na problém, měli byste si pronajmout stroje v samostatných zónách. Pokud chcete být ještě jistější, měli byste své aplikace spouštět ve více oblastech.

Jednotlivé produkty a nástroje obecně fungují všude, ale existují určité mezery. Například App Engine je k dispozici pouze ve třech ze čtyř oblastí USA. Jiné produkty, jako je Cloud Storage, vám nabízejí možnost jedné nebo více oblastí.

Krok 10: Začněte kódovat

Přestaňte číst a vyjděte z editoru. Pokud budete používat App Engine, nebude trvat dlouho, než se něco spustí. Pokud si pronajímáte komoditní hardware, budete mít za pár minut přístup k distribuci podle vašeho výběru na kořenové úrovni. Zapnutí obrovského množství výpočetní palebné síly trvá jen několik sekund. Co s touto mocí uděláte, je jen na vás.