Vodič za Google Cloud: započnite s Google Cloudom

Kad ljudi pomisle na riječ Google, razmišljaju o pretraživanju i neizmjernoj računalnoj infrastrukturi koja pretvara vaše riječi u popis web stranica koje vjerojatno imaju točno ono što tražite. Googleu su trebale godine da zaposli inženjere, dizajnira prilagođena računala i stvori ogromnu kolekciju hardvera koji odgovara web upitima. Sada to može biti vaše uz samo nekoliko pritiskanja tipki i klikova. 

Google iznajmljuje velik dio te stručnosti i infrastrukture drugim web tvrtkama. Ako želite izgraditi pametno web mjesto ili uslugu, Google je spreman naplatiti vam da ih pokrenete na svojoj ogromnoj kolekciji strojeva. Sve što trebate je započeti s popunjavanjem nekih web obrazaca i uskoro ćete imati veliku kolekciju poslužitelja spremnih za prilagodbu vaših zadataka.

Za brzi vodič za početak i navigaciju kroz brojne izbore na tom putu, samo me slijedite.  

Korak 1: Postavite svoj račun

Ovo je jednostavan dio. Ako imate Google račun, spremni ste za početak. Možete se prijaviti na cloud.google.com i krenuti desno do svoje konzole i nadzorne ploče. Ovdje nećete imati puno toga za vidjeti, ali uskoro ćete početi vidjeti detalje o tome što vaše ogromno računalno carstvo radi. Odnosno, opterećenje svih instanci poslužitelja koje ste stvorili, podaci koji prolaze mrežom i upotreba API-ja. Možete se uvjeriti da jednim pogledom sve ide bez problema.

Korak 2: Utvrdite svoju potrebu za strukturom

Postoje dva načina za korištenje Googleove infrastrukture: njihov i vaš vlastiti. Ako želite iskoristiti sve genije iz Googleovog razvojnog tima, možete odabrati alate koji vam nude obilje rukovanja. Na primjer, Google App Engine omogućuje vam izradu sofisticirane web aplikacije sa samo nekoliko stotina redaka koda, sve oslanjajući se na Googleovu kuriranu kolekciju internih i open source okvira. App Engine je brz način da brzo nešto zavrtite.

Ako već imate vlastiti kôd ili brinete hoćete li se zabiti na Googleov način, možete unajmiti strojeve do sekunde pomoću Google Compute Enginea. Sve što radite je da odaberete jednu od glavnih distribucija Linuxa ili Windowsa i nekoliko sekundi kasnije dobit ćete root lozinku, pristup naredbenom retku i bez ograničenja.

Postoje opcije koje se nalaze između. Ako želite, možete prilagoditi App Engine nekim vlastitim kodom ili možete odabrati neke od unaprijed izrađenih slika za Compute Engine koje već uključuju sve potrebne datoteke za popularne aplikacije poput WordPressa ili Node.js. A onda postoji još više mogućnosti koje se nalaze negdje između ovih.

Vjerojatno ćete završiti s nekom mješavinom podrške, možda koristeći potpuno strukturiranu aplikaciju App Engine za jedan dio, a malo prilagođenog koda koji se izvodi na robnom hardveru za drugi. Važnije je da sami odlučite koliko želite raditi i koliko ste spremni graditi na Googleovim alatima.

Povezani videozapis: Koji je pristup iz oblaka?

U ovom 60-sekundnom videu naučite kako pristup koji koristi izvorni oblak mijenja način na koji poduzeća strukturiraju svoje tehnologije, od Craiga McLuckieja, osnivača i izvršnog direktora tvrtke Heptio, i jednog od izumitelja sustava otvorenog koda Kubernetes.

Korak 3: Razmotrite netradicionalne pristupe

Ne trebaju svi graditi web aplikacije na isti način. Google nudi toliko opcija koje često mogu donijeti izvrsne rezultate bez pisanja tradicionalnog koda. Jedna pametna ideja, na primjer, kombinira proširenje za Chrome s korisnikovim računom Google diska radi pohrane. Jedini kôd radi na klijentu, a Google obrađuje svu infrastrukturu. Trebali biste dobro razmisliti kako biste osigurali da se vaša prijava ne može riješiti jednostavnijim pristupom.

Korak 4: Odaberite stroj

Gotovo je pogreška smatrati ovo odabirom nečeg fizičkog poput opipljivog "stroja". Zapravo samo odabirete koliko CPU snage, memorije i prostora na disku mislite da će vam trebati. Compute Engine nudi na desetke "strojeva" standardne veličine ili možete odabrati vlastite kombinacije.

Ako tražite više od jednog stroja za nošenje većeg tereta, vjerojatno ćete htjeti stvoriti Kubernetes klaster s Google Kubernetes Engineom. Google je razvio alat kako bi pojednostavnio pokretanje spremnika na više strojeva. Kad se opterećenja povećaju, Kubernetes će okretati više slučajeva, a kada se opterećenja smanje, on će ih okretati prema dolje.

Također možete odlučiti da ne odaberete odabirom automatiziranije putanje poput Google Cloud Functions. Google rješava odluke o veličini stroja i obračunava vam prema jedinici rada koju obavlja vaša aplikacija. Klik svakog kupca plaćate u dijelovima centa, umjesto da ispišete jedan ček za mjesec.

Vrijedno je napomenuti da je Google automatizirao druge aspekte postupka nudeći popuste za trajnu upotrebu koji se pokreću nakon što se vaš stroj koristi određeni postotak od mjesec dana. Druge tvrtke u oblaku zahtijevaju da se posvetite velikim dijelovima vremena kako biste ostvarili popust. Googleovi se popusti pojavljuju automatski dok vaš stroj radi dulje vrijeme.

Korak 5: Postavite mjerila za svoj kôd

Jedan od najvećih izazova je pronalaženje odgovarajuće veličine za vaš stroj, a Google nudi toliko mogućnosti da to može biti zastrašujuće. Otkrio sam značajne razlike u izvedbi koje je teško predvidjeti. Udvostručenje broja virtualnih procesora rijetko smanjuje vrijeme obrade na pola. Dodavanje više RAM-a može dramatično ubrzati vaš stroj - sve dok već niste dodali dovoljno za sigurno čuvanje podataka.

Jedino rješenje je usporedba softvera s različitim konfiguracijama. Jedna od najboljih opcija Google Compute Engine je način na koji možete kombinirati i podudarati količinu RAM-a, CPU-a i prostora na disku. Niste ograničeni na unaprijed definirane kombinacije. Stoga počnite eksperimentirati na početku, a zatim ne zaboravite pokušati ponovo svakih nekoliko mjeseci u slučaju da su se opterećenja pomaknula i da su vam performanse različite.

Korak 6: Odaberite opciju pohrane podataka

Google Cloud nudi najmanje pet različitih opcija za zaštitu podataka, a tada uvijek možete implementirati vlastiti model za pohranu podataka koristeći njegove sirove trajne diskove. Prvo je pitanje želite li koristiti strukturu relacijske baze podataka izgrađenu za odgovor na SQL ili želite nestrukturiraniju slobodu NoSQL-a i pohrane objekata.

Za SQL, Google je omotao vlastiti API oko MySQL-a i Postgresa. Google Cloud SQL automatizira vaše sigurnosne kopije, replikaciju, zakrpe i ažuriranja. Napišete kôd koji se povezuje s ovim popularnim opcijama otvorenog koda. Google Cloud Spanner također pruža relacijsku strukturu, ali na vrlo visokim razinama usluge. Google hrabro obećava "SLA 99,999% dostupnosti, bez planiranog zastoja i sigurnosti na razini poduzeća." (Pogledajte recenziju.)

Ako vas više zanimaju manje strukturirani modeli dokumenata iz NoSQL-a, postoji više opcija, uključujući Cloud Storage, Cloud Bigtable i Cloud Datastore.

I važno je provjeriti Firebase, sofisticiranu bazu podataka koja čini mnogo više od pukog pohranjivanja podataka. Objedinjuje veći dio infrastrukture koja vam je potrebna za provjeru autentičnosti korisnika, sinkronizaciju podataka s klijentima, posluživanje datoteka, slanje obavijesti i nadzor nad tim što vaša aplikacija i korisnici rade. 

Sve se ove opcije naplaćuju prema količini podataka koje ste unijeli u njih. Što više pohranjujete, više plaćate.

Korak 7: Pregledajte Google API-je

Gotovo je zastrašujuće koliko je API-ja dostupno Google Cloudu. Naravno, većina ih je dostupna bilo kojem računalu na Internetu, ali teško je ne povjerovati (ili samo zamisliti) da oni samo bolje rade u Googleovom oblaku.

Mnogi od ovih API-ja mogu vam uštedjeti puno vremena za programiranje. Na primjer, Google Maps isporučuje detaljne karte iz cijelog svijeta za vašu web-aplikaciju. Cloud Data Loss Prevention će pročešljati vaše dokumente i označiti (ili čak urediti) osjetljive podatke poput brojeva socijalnog osiguranja. Postoje desetine opcija i sve one naplaćuju koliko ih često i koliko upotrebljavate. Mnogi imaju besplatne usluge za manje programe i nove kupce.

Korak 8: Provjerite alate za analizu podataka

Google je dramatično proširio broj alata za analizu podataka i strojnog učenja koristeći sva svoja interna istraživanja. Možete uzeti bilo koji od podataka koji pohranjujete, a zatim primijeniti Googleove alate za velike podatke ili Cloud AI za pronalaženje obrazaca i signala.

Mnogi od ovih alata dobri su za analizu svih podataka prikupljenih iz vaše aplikacije. Ako prodajete robu, možete potražiti korelacije između kupaca i robe koju oni odaberu kako biste mogli bolje predvidjeti potrebe svojih kupaca. Ako jedan dio zemlje voli jednu boju, algoritmi će vam pomoći otkriti to, a također i manje očite veze.

Ovi alati ne zahtijevaju da za prikupljanje podataka koristite App Engine ili Compute Engine. Možete prenositi podatke iz drugih sustava.

Korak 9: Odaberite svoje regije i zone

Za mnoge osnovne poslove nema razloga da se puno brinete o stvarnom mjestu računala koje obavlja posao. Zove se oblak, zar ne? Metafora sugerira da nas ne treba točno zanimati gdje se magija događa.

Međutim, neki poslovi zahtijevaju obraćanje pažnje iz pravnih ili praktičnih razloga. Google ima podatkovne centre na svim kontinentima, osim na Antarktiku i Africi. Svaki je kontinent podijeljen u "regije", a svaka regija podijeljena je u "zone". Ako želite biti sigurni da će život ići dalje kad se pojave nevolje, trebali biste unajmiti strojeve u odvojenim zonama. Ako želite biti još sigurniji, trebali biste pokretati svoje programe u više regija.

Pojedinačni proizvodi i alati uglavnom rade svugdje, ali postoje neke praznine. Na primjer, App Engine dostupan je samo u tri od četiri američke regije. Ostali proizvodi poput Cloud Storage nude vam mogućnost jedne ili više regija.

Korak 10: Počnite kodirati

Prestanite čitati i izađite iz urednika. Ako ćete koristiti App Engine, neće trebati puno vremena da se nešto pokrene. Ako unajmljujete robni hardver, imat ćete pristup distribuciji po vašem izboru na razini korijena za nekoliko minuta. Potrebno je samo nekoliko sekundi da se uključi velika količina računalne vatrene moći. Što ćete učiniti s ovom moći, ovisi o vama.