Programmering

Vejledning til Google Cloud: Kom godt i gang med Google Cloud

Når folk tænker på ordet Google, tænker de på søgning og den enorme beregningsinfrastruktur, der omdanner dine ord til en liste over websteder, der sandsynligvis har nøjagtigt det, du leder efter. Det tog Google år at ansætte ingeniørerne, designe de brugerdefinerede computere og oprette den enorme samling hardware, der besvarer webforespørgsler. Nu kan det være din med blot et par tastetryk og klik.

Google udlejer meget af denne ekspertise og infrastruktur til andre webfirmaer. Hvis du vil opbygge et smart websted eller en tjeneste, er Google klar til at opkræve dig for at køre det på sin enorme samling af maskiner. Alt hvad du skal gøre er at begynde at udfylde nogle webformularer, og snart har du en stor samling af servere klar til at skalere og håndtere dine opgaver.

For en hurtig guide til at komme i gang og til at navigere i de mange valg undervejs, følg mig bare.

Trin 1: Opret din konto

Dette er den nemme del. Hvis du har en Google-konto, er du klar til at gå. Du kan logge ind på cloud.google.com og gå direkte til dit konsol og dashboard. Der vil ikke være meget at se her, når du begynder, men snart begynder du at se detaljer om, hvad dit store computerimperium gør. Det vil sige belastningen på alle serverforekomster, du har oprettet, dataene flyder gennem netværket og brugen af ​​API'er. Du kan forsikre dig selv om, at alt kører problemfrit med et blik.

Trin 2: Identificer dit behov for struktur

Der er to måder at bruge Googles infrastruktur på: deres måde og din egen måde. Hvis du vil udnytte alt det geniale fra Googles udviklingsteam, kan du vælge de værktøjer, der giver dig masser af håndholdning. Google App Engine giver dig for eksempel mulighed for at opbygge en sofistikeret webapplikation med blot et par hundrede linjer kode, alt sammen ved at stole på Googles kuraterede samling af interne og open source-rammer. App Engine er en hurtig måde at centrifugere noget hurtigt.

Hvis du allerede har din egen kode, eller hvis du bekymrer dig om at blive låst på Googles måde, kan du leje maskiner med det andet ved hjælp af Google Compute Engine. Alt hvad du gør er at vælge en af ​​de største Linux- eller Windows-distributioner og få sekunder senere får du en root-adgangskode, adgang til en kommandolinje og ingen begrænsninger.

Der er muligheder, der ligger imellem. Du kan tilpasse App Engine med noget af din egen kode, hvis du vil, eller du kan vælge nogle af de forudbyggede billeder til Compute Engine, der allerede indeholder alle de nødvendige filer til populære applikationer som WordPress eller Node.js. Og så er der endnu flere muligheder, der ligger et sted imellem disse.

Du vil sandsynligvis ende med en blanding af support, måske ved hjælp af en fuldt struktureret App Engine-app til en del og lidt brugerdefineret kode, der kører på råvarehardware til en anden. Det er vigtigere, at du beslutter, hvor meget du vil gøre selv, og hvor meget du er åben for at bygge videre på Googles værktøjer.

Relateret video: Hvad er den cloud-native tilgang?

I denne 60-sekunders video kan du lære, hvordan den cloud-native tilgang ændrer den måde, hvorpå virksomheder strukturerer deres teknologier, fra Craig McLuckie, grundlægger og administrerende direktør for Heptio, og en af ​​opfinderne af open source-systemet Kubernetes.

Trin 3: Overvej ikke-traditionelle tilgange

Ikke alle har brug for at opbygge webapplikationer på samme måde. Google tilbyder så mange muligheder, der ofte kan give gode resultater uden at skrive traditionel kode. En smart idé blander f.eks. En Chrome-udvidelse med brugerens Google Drive-konto til opbevaring. Den eneste kode kører på klienten, og Google håndterer al infrastruktur. Du bør tænke to gange for at sikre, at din ansøgning ikke kan løses ved en enklere tilgang.

Trin 4: Vælg en maskine

Det er næsten en fejl at tænke på dette som at vælge noget fysisk som en håndgribelig "maskine". Du vælger egentlig bare, hvor meget CPU-effekt, hukommelse og diskplads, du tror, ​​du har brug for. Compute Engine tilbyder snesevis af "maskiner" i standardstørrelse, eller du kan vælge dine egne brugerdefinerede kombinationer.

Hvis du leder efter mere end en maskine til at håndtere en tungere belastning, vil du sandsynligvis oprette en Kubernetes-klynge med Google Kubernetes Engine. Google udviklede værktøjet til at gøre det nemmere at køre containere på tværs af flere maskiner. Når belastningerne øges, vil Kubernetes snurre op flere forekomster, og når belastningerne falder, vil det dreje dem ned.

Du kan også vælge ikke at vælge ved at vælge en mere automatiseret sti som Google Cloud-funktioner. Google håndterer beslutningerne om maskinstørrelse for dig og fakturerer dig efter den arbejdsenhed, som din app udfører. Du betaler for hver kundes klik med en brøkdel af en cent i stedet for at skrive en check for måneden.

Det er værd at bemærke, at Google har automatiseret andre aspekter af processen ved at tilbyde rabatter på vedvarende brug, der starter efter at din maskine er brugt i en bestemt procentdel af en måned. Andre skyfirmaer kræver, at du forpligter dig til store klumper af tid for at få rabat. Googles rabatter vises automatisk, når din maskine kører i længere tid.

Trin 5: Opsæt benchmarks til din kode

En af de største udfordringer er at finde den rigtige størrelse til din maskine, og Google tilbyder så mange muligheder, at det kan være skræmmende. Jeg har fundet betydelige forskelle i ydeevne, som er svære at forudsige. En fordobling af antallet af virtuelle CPU'er reducerer sjældent behandlingstiden i halvdelen. Tilføjelse af mere RAM kan dramatisk fremskynde din maskine - indtil du allerede har tilføjet nok til sikkert at gemme dine data.

Den eneste løsning er at sammenligne din software med forskellige konfigurationer. En af Google Compute Engine's bedste muligheder er den måde, du kan blande og matche mængden af ​​RAM, CPU og diskplads på. Du er ikke begrænset til foruddefinerede kombinationer. Så start med at eksperimentere i starten, og husk derefter at prøve igen hvert par måneder, hvis belastningen er forskudt, og din præstation er anderledes.

Trin 6: Vælg en datalagringsmulighed

Google Cloud tilbyder mindst fem forskellige muligheder for at holde dine data sikre, og så kan du altid implementere din egen datalagringsmodel ved hjælp af dens rå vedvarende diske. Det første spørgsmål er, om du vil bruge strukturen i en relationsdatabase, der er bygget til at besvare SQL, eller om du vil have den mere ustrukturerede frihed til NoSQL og objektlagring.

For SQL har Google pakket sin egen API omkring MySQL og Postgres. Google Cloud SQL automatiserer dine sikkerhedskopier, replikering, programrettelser og opdateringer. Du skriver koden, der forbinder disse populære open source-muligheder. Google Cloud Spanner leverer også relationel struktur, men på meget høje serviceniveauer. Google giver det dristige løfte om "99.999% SLA-tilgængelighed, ingen planlagt nedetid og sikkerhed i enterprise-kvalitet." (Se anmeldelse).

Hvis du er mere interesseret i mindre strukturerede dokumentmodeller fra NoSQL, er der flere muligheder, herunder Cloud Storage, Cloud Bigtable og Cloud Datastore.

Og det er vigtigt at tjekke Firebase, en sofistikeret database, der gør meget mere end bare at gemme oplysningerne. Det samler meget af den infrastruktur, du har brug for til at godkende brugere, synkronisere dataene med klienter, servere filer, sende underretninger og holde øje med, hvad din app og brugerne laver.

Alle disse muligheder faktureres efter mængden af ​​data, du lægger i dem. Jo mere du gemmer, jo mere betaler du.

Trin 7: Gennemse Google API'er

Det er næsten skræmmende, hvor mange API'er der er tilgængelige for Google Cloud. Naturligvis er de fleste af dem tilgængelige for enhver computer på Internettet, men det er svært ikke at tro (eller bare forestille sig), at de bare fungerer bedre i Googles sky.

Mange af disse API'er kan spare dig for tid til programmering. Google Maps leverer for eksempel detaljerede kort fra hele verden til din webapplikation. Forebyggelse af tab af datatab kæmmer gennem dine dokumenter og markerer (eller endda redigerer) følsomme oplysninger som personnumre. Der er snesevis af muligheder, og alle regner med, hvor ofte og hvor meget du bruger dem. Mange har gratis serviceniveauer til mindre applikationer og nye kunder.

Trin 8: Tjek dataanalyseværktøjerne

Google har udvidet dramatisk antallet af dataanalyse- og maskinlæringsværktøjer ved hjælp af al sin interne forskning. Du kan tage alle de data, du gemmer, og derefter anvende Googles Big Data- eller Cloud AI-værktøjer til at finde mønstre og signaler.

Mange af disse værktøjer er gode til at analysere alle de data, der er indsamlet fra din applikation. Hvis du sælger varer, kan du se efter sammenhænge mellem kunderne og de varer, de vælger, så du kan gøre et bedre stykke arbejde med at forudse dine kunders behov. Hvis en del af landet elsker en farve, hjælper algoritmerne dig med at opdage dette - og mindre indlysende forbindelser også.

Disse værktøjer kræver ikke, at du bruger App Engine eller Compute Engine til at indsamle oplysningerne. Du kan uploade data fra andre systemer.

Trin 9: Vælg dine regioner og zoner

For mange grundlæggende job er der ingen grund til at bekymre sig meget om den aktuelle placering af computeren, der udfører arbejdet. Det hedder skyen, ikke? Metaforen antyder, at vi ikke behøver at være ligeglade med, hvor magien sker.

Nogle job kræver dog opmærksomhed af juridiske eller praktiske årsager. Google har datacentre på alle kontinenter undtagen Antarktis og Afrika. Hvert kontinent er opdelt i "regioner", og hver region er opdelt i "zoner". Hvis du vil være sikker på, at livet fortsætter, når problemer rammer, skal du leje maskiner i separate zoner. Hvis du vil være endnu sikrere, skal du køre dine applikationer i flere regioner.

De enkelte produkter og værktøjer fungerer generelt overalt, men der er nogle huller. App Engine er for eksempel kun tilgængelig i tre af de fire amerikanske regioner. Andre produkter som Cloud Storage giver dig mulighed for en eller flere regioner.

Trin 10: Start med at kode

Stop med at læse, og kom ud af redaktøren. Hvis du vil bruge App Engine, tager det ikke lang tid at få noget i gang. Hvis du lejer råvarehardware, får du adgang til rodniveau til den valgte distro om et par minutter. Det tager kun få sekunder at tænde en enorm mængde computerkraft. Hvad du gør med denne kraft er op til dig.