Den här artikeln diskuterar hur man är värd för en webbplats på Google Cloud. Google Cloud tillhandahåller en robust, flexibel, pålitlig och skalbar plattform för att betjäna webbplatser. Google byggde Google Cloud genom att använda samma infrastruktur som Google använder för att visa innehåll från webbplatser som Google.com, YouTube och Gmail. Du kan betjäna din webbplats innehåll genom att använda den typ och design av infrastruktur som bäst passar dina behov Du kan ha nytta av den här artikeln om du är: - Kunnig om hur man skapar en webbplats och har distribuerat och kört en del webbserveringsinfrastruktur tidigare - Utvärdera om och hur du ska migrera din webbplats till Google Cloud Om du vill bygga en enkel webbplats, överväg att använda Google Sites, ett strukturerat verktyg för att skapa wiki- och webbsidor. För mer information, besök webbplatsens hjälp ## Att välja ett alternativ Om du är ny på att använda Google Cloud är det ett rimligt sätt att börja med att använda den typ av teknik du redan är bekant med. Till exempel, om du för närvarande använder hårdvaruservrar eller virtuella maskiner (VM) för att vara värd för din webbplats, kanske hos en annan molnleverantör eller på din egen hårdvara, ger Compute Engine ett välbekant paradigm för dig. Om du redan använder ett plattform-som-en-tjänst-erbjudande (PaaS), som Heroku eller Engine Yard, kan App Engine vara det bästa stället att börja. Om du föredrar serverlös datoranvändning är Cloud Run förmodligen ett bra alternativ för dig När du har blivit mer bekant med Google Cloud kan du utforska rikedomen av produkter och tjänster som Google Cloud tillhandahåller. Om du till exempel började med att använda Compute Engine kan du utöka din webbplats kapacitet genom att använda Google Kubernetes Engine (GKE) eller migrera en del eller alla funktioner till App Engine och Cloud Run Följande tabell sammanfattar dina värdalternativ på Google Cloud: |Alternativ||Produkt||Datalagring||Lastbalansering||Skalbarhet||Loggning och övervakning| |Statisk webbplats|| | Molnlagring Firebase-värd |Cloud Storage hink|| | HTTP(S) valfritt |Automatiskt| |Virtuella maskiner||Compute Engine|| | Cloud SQL Admin API, Cloud Storage API, Datastore API och Cloud Bigtable API, eller så kan du använda en annan extern lagringsleverantör Hårddiskbaserade beständiga diskar, kallade | | HTTP(S) TCP-proxy SSL proxy IPv6-avslutning Nätverk Regionöverskridande Inre |Automatiskt med hanterade instansgrupper| |Behållare||GKE||Liknande Compute Engine men interagerar med beständiga diskar på olika sätt||Nätverk | HTTP(S) |Cluster autoscaler| |Hanterad plattform|| | App Engine |Google Cloud-tjänster som Cloud SQL, Firestore, Cloud Storage och tillgängliga tredjepartsdatabaser|| | HTTP(S) Hanteras av Google |Hanteras av Google| |Serverlös|| | Cloud Run |Google Cloud-tjänster som Cloud SQL, Firestore, Cloud Storage och tillgängliga tredjepartsdatabaser|| | HTTP(S) Hanteras av Google |Hanteras av Google| Den här artikeln kan hjälpa dig att förstå de viktigaste teknikerna som du kan använda för webbservering på Google Cloud och ge dig en glimt av hur tekniken fungerar. Artikeln innehåller länkar till fullständig dokumentation, självstudier och artiklar om lösningar som kan hjälpa dig att bygga en djupare förståelse när du är redo ## Förstå kostnader Eftersom det finns så många variabler och varje implementering är olika, ligger det utanför ramen för denna artikel att ge specifika råd om kostnader. För att förstå Googles principer om hur prissättning fungerar på Google Cloud, se prissidan. För att förstå prissättningen för enskilda tjänster, se avsnittet om produktpriser. Du kan också använda priskalkylatorn för att uppskatta hur din Google Cloud-användning kan se ut. Du kan ge information om de tjänster du vill använda och sedan se en prisuppskattning ## Konfigurera domännamnstjänster Vanligtvis vill du registrera ett domännamn för din webbplats. Du kan använda en registrar för offentliga domännamn, till exempel Google Domains, för att registrera ett unikt namn för din webbplats. Om du vill ha fullständig kontroll över ditt eget domännamnssystem (DNS) kan du använda Cloud DNS för att fungera som din DNS-leverantör. Cloud DNS-dokumentationen innehåller en snabbstart för att komma igång Om du har en befintlig DNS-leverantör som du vill använda behöver du i allmänhet göra det skapa ett par poster med den leverantören. För ett domännamn som t.ex example.com skapar du en En post med din DNS-leverantör. För www.example.com underdomän skapar du en CNAME-post för www att peka det till exempel.com-domän. De En post mappar ett värdnamn till en IP-adress De CNAME-posten skapar ett alias för En skiva Om din domännamnsregistrator också är din DNS-leverantör är det förmodligen allt du behöver göra. Om du använder separata leverantörer för registrering och DNS, se till att din domännamnsregistrator har rätt namnservrar kopplade till din domän Efter att du har gjort dina DNS-ändringar kan det ta lite tid för postuppdateringarna att spridas beroende på dina värden för time-to-live (TTL) i din zon. Om detta är ett nytt värdnamn träder ändringarna i kraft snabbt eftersom DNS-upplösarna inte har cachade tidigare värden och kan kontakta DNS-leverantören för att få nödvändig information för att dirigera förfrågningar ## Att vara värd för en statisk webbplats Det enklaste sättet att servera webbplatsinnehåll över HTTP(S) är att vara värd *statiska webbsidor*. Statiska webbsidor serveras oförändrade, som de skrevs, vanligtvis genom att använda HTML. Använder en statisk webbplats är ett bra alternativ om din webbplats sidor sällan ändras efter att de har gjorts publicerade, till exempel blogginlägg eller sidor som är en del av ett mindre företag hemsida. Du kan göra mycket med statiska webbsidor, men om du behöver din webbplats har robusta interaktioner med användare genom kod på serversidan, bör du överväga de andra alternativen som diskuteras i den här artikeln Hosta en statisk webbplats med Cloud Storage För att vara värd för en statisk webbplats i Cloud Storage måste du skapa en Cloud Storage hink, ladda upp innehållet och testa din nya webbplats. Du kan servera dina uppgifter direkt från storage.googleapis.com, Eller kan du verifiera att du äger din domän och använda ditt domännamn Du kan skapa dina statiska webbsidor hur du vill. Till exempel skulle du kunna handförfattarsidor genom att använda HTML och CSS. Du kan använda en *generator för static-site*, Till exempel Jekyll, Spöke, eller Hugo, att skapa innehållet Med statiska webbplatsgeneratorer skapar du en statisk webbplats genom att författar i prissänkning, och tillhandahåller mallar och verktyg. Webbplatsgeneratorer i allmänhet tillhandahålla en lokal webbserver som du kan använda för att förhandsgranska ditt innehåll När din statiska webbplats fungerar kan du uppdatera de statiska sidorna genom att använda valfri process du gillar. Den processen kan vara lika enkel som att manuellt kopiera en uppdaterad sida till hinken. Du kanske väljer att använda ett mer automatiserat tillvägagångssätt, som att lagra ditt innehåll på GitHub och sedan använda en webhook att köra en skript som uppdaterar hinken. Ett ännu mer avancerat system kan använda en verktyg för kontinuerlig integration/kontinuerlig leverans (CI/CD), som t.ex Jenkins, för att uppdatera innehållet i hink. Jenkins har en molnlagring plugin som ger en Google Cloud Storage Uploader efter bygget steg för att publicera build artefakter till Cloud Storage Om du har en webbapp som behöver tillhandahålla statiskt innehåll eller användaruppladdade statiska medier, kan användning av Cloud Storage vara ett kostnadseffektivt och effektivt sätt att vara värd för och servera detta innehåll, samtidigt som du minskar mängden dynamiska förfrågningar till din webbapp. Dessutom kan Cloud Storage direkt acceptera användarinskickat innehåll. Denna funktion låter användare ladda upp stora mediefiler direkt och säkert utan proxy via dina servrar För att få bästa prestanda från din statiska webbplats, se Bästa metoder för molnlagring För mer information, se följande sidor: - Hosta en statisk webbplats - J är för Jenkins (blogginlägg) - Band Aid 30 på Google Cloud (blogginlägg) - Cloud Storage-dokumentation Att vara värd för en statisk webbplats med Firebase HostingFirebase Hosting tillhandahåller snabb och säker statisk värd för din webbapp.Med Firebase Hosting kan du distribuera webbappar och statiskt innehåll till ett globalt innehållsleveransnätverk (CDN) genom att använda ett enda kommandoHär är några fördelar du får när du använder Firebase Hosting:- SSL med noll konfiguration är inbyggt i Firebase Hosting.Tillhandahåller SSL-certifikat på anpassade domäner gratis- Allt ditt innehåll serveras över HTTPS- Ditt innehåll levereras till dina användare från CDN-kanter runt om i världen- Med Firebase CLI kan du få igång din app på några sekunder.Använd kommandoradsverktyg för att lägga till implementeringsmål i din byggprocess- Du får funktioner för releasehantering, såsom atomär distribution av nya tillgångar, komplett versionshantering och återställning med ett klick- Hosting erbjuder en konfiguration som är användbar för appar på en sida och andra webbplatser som är mer applika- Hosting är byggd för att användas sömlöst med andra Firebase-funktionerFör mer information, se följande sidor:## Använda virtuella maskiner med Compute EngineFör användningsfall för infrastruktur som en tjänst (IaaS) tillhandahåller Google Cloud Compute Engine.Compute Engine tillhandahåller en robust datorinfrastruktur, men du måste välja och konfigurera de plattformskomponenter som du vill använda.Med Compute Engine är det ditt ansvar att konfigurera, administrera och övervaka systemen.Google säkerställer att resurserna är tillgängliga, pålitliga och redo för dig att använda, men det är upp till dig att tillhandahålla och hantera dem.Fördelen här är att du har fullständig kontroll över systemen och obegränsad flexibilitetAnvänd Compute Engine för att designa och distribuera nästan alla webbsidor system du vill ha.Du kan använda virtuella datorer, så kallade instanser, för att bygga din app, ungefär som du skulle göra om du hade din egen hårdvaruinfrastruktur.Compute Engine erbjuder en mängd olika maskintyper för att anpassa din konfiguration för att möta dina behov och din budget.Du kan välja vilka operativsystem, utvecklingsstackar, språk, ramverk, tjänster och annan mjukvaruteknik du föredrarKonfigurera automatiskt med Google Cloud MarketplaceDet enklaste sättet att distribuera en komplett webbserverstack är att använda Google Cloud Marketplace.Med bara några få klick kan du distribuera vilken som helst av över 100 fullt realiserade lösningar med Google Click to Deploy eller BitnamiDu kan till exempel ställa in upp en LAMP-stack eller WordPress med Cloud Marketplace.Systemet distribuerar en komplett, fungerande mjukvarustack på bara några minuter på en enda instans.Innan du distribuerar, visar Cloud Marketplace dig kostnadsberäkningar för att köra webbplatsen, ger dig tydlig information om vilka versioner av programvarukomponenterna den installerar åt dig och låter dig anpassa din konfiguration genom att ändra komponentinstansernas namn, välja maskintyp och välja diskstorlek.När du har distribuerat har du fullständig kontroll över Compute Engine-instanserna, deras konfigurationer och programvaranKonfigurera manuelltDu kan också skapa din infrastruktur på Compute Engine manuellt, antingen bygga din konfiguration från början eller bygga på en implementering av Google Cloud Marketplace.Till exempel kanske du vill använda en version av en programvarukomponent som inte erbjuds av Cloud Marketplace, eller så kanske du föredrar att installera och konfigurera allt på egen handAtt tillhandahålla ett komplett ramverk och bästa praxis för att skapa en webbplats ligger utanför den här artikelns räckvidd.Men från en hög nivå kräver den tekniska sidan av att sätta upp en webbserverinfrastruktur på Compute Engine att du:Förstår kraven.Om du bygger en ny webbplats, se till att du förstår de komponenter du behöver, såsom instanser, lagringsbehov och nätverksinfrastruktur.Om du migrerar din app från en befintlig lösning förstår du förmodligen redan dessa krav, men du måste tänka igenom hur dina befintliga inställningar mappas till Google Cloud-tjänster. Planera designen. Tänk igenom din arkitektur och skriv ner din design. Var så tydlig du kan. Skapa komponenterna. Komponenterna som du vanligtvis tänker på som fysiska tillgångar, såsom datorer och nätverksväxlar, tillhandahålls genom tjänster i Compute Engine. Om du till exempel vill ha en dator måste du skapa en Compute Engine-instans. Om du vill ha en beständig hårddisk skapar du det också. Cloud Deployment Manager eller Terraform gör detta till en enkel och repeterbar process. Konfigurera och anpassa. När du har de komponenter du vill ha måste du konfigurera dem, installera och konfigurera programvara samt skriva och distribuera eventuell anpassningskod som du behöver. Du kan replikera konfigurationen genom att köra skalskript, vilket hjälper till att påskynda framtida distributioner. Deployment Manager hjälper även här genom att tillhandahålla deklarativa, flexibla konfigurationsmallar för automatisk distribution av resurser. Du kan också dra nytta av IT-automationsverktyg som Puppet och Chef. Distribuera tillgångarna. Förmodligen har du webbsidor och bilder. Testa. Kontrollera att allt fungerar som du förväntar dig. Distribuera till produktion. Öppna din webbplats så att världen kan se och använda den För att hjälpa dig att komma igång och förstå hur det är att ställa in Compute Engine-instanser manuellt, prova en eller flera av följande självstudiekurser: Lagra data med Compute Engine De flesta webbplatser behöver någon form av lagring. Du kan behöva lagringsutrymme av olika anledningar, som att spara filer som dina användare laddar upp och naturligtvis de tillgångar som din webbplats använder Google Cloud tillhandahåller en mängd olika hanterade lagringstjänster, inklusive: - En SQL-databas i Cloud SQL, som är baserad på MySQL - Två alternativ för NoSQL-datalagring: Firestore och Cloud Bigtable - Konsekvent, skalbar objektlagring med stor kapacitet i Molnlagring Cloud Storage finns i flera klasser: – Standard ger maximal tillgänglighet - Nearline erbjuder ett billigt val som är idealiskt för data som nås mindre än en gång i månaden - Coldline erbjuder ett billigt val som är idealiskt för data som nås mindre än en gång i kvartalet - Arkiv ger det lägsta priset för arkivering, säkerhetskopiering och katastrofåterställning - Beständiga diskar på Compute Engine för användning som primär lagring för dina instanser. Compute Engine erbjuder båda hårddiskbaserade beständiga diskar, kallade standard persistent diskar och solid state persistent disks (SSD). Du kan också välja att ställa in din föredragna lagringsteknik på Compute Engine genom att använda beständiga diskar. Du kan till exempel ställa in PostgreSQL som din SQL-databas eller MongoDB som din NoSQL-lagring. För att förstå hela utbudet och fördelarna med lagringstjänster på Google Cloud, se Välja ett lagringsalternativ Lastbalansering med Compute Engine För alla webbplatser som fungerar i stor skala är det ofta ett krav att använda lastbalanserande teknologier för att fördela arbetsbelastningen mellan servrar. Du har en mängd olika alternativ när du skapar dina lastbalanserade webbservrar på Compute Engine, inklusive: - HTTP(S) lastbalansering Förklarar grunderna för att använda molnbelastningsbalansering - Innehållsbaserad lastbalansering. Demonstrerar hur man distribuerar trafik till olika instanser baserat på den inkommande URL:en - Tvärregional lastbalansering. Demonstrerar att konfigurera VM-instanser i olika regioner och använda HTTP- eller HTTPS-belastningsbalansering för att distribuera trafik över regionerna - TCP Proxy lastbalansering. Demonstrerar inställning av global TCP Proxy-belastningsbalansering för en tjänst som finns i flera regioner - SSL Proxy lastbalansering. Demonstrerar inställning av global SSL Proxy-belastningsbalansering för en tjänst som finns i flera regioner - IPv6-avslutning för lastbalansering av HTTP(S), SSL Proxy och TCP Proxy. Förklarar IPv6-avslutning och alternativen för att konfigurera lastbalanserare för att hantera IPv6-förfrågningar - Nätverksbelastningsbalansering. Visar ett grundläggande scenario som ställer in en lager 3-belastningsbalanseringskonfiguration för att distribuera HTTP-trafik över friska instanser - Lastbalansering över regioner med hjälp av Microsoft IIS-backends. Visar hur du använder Compute Engine-lastbalanseraren för att distribuera trafik till Microsoft Internet Information Services (IIS)-servrar - Ställa in intern lastbalansering Du kan ställa in en lastbalanserare som distribuerar nätverkstrafik på ett privat nätverk som inte är exponerat för internet. Intern lastbalansering är användbar inte bara för intranätappar där all trafik finns kvar på ett privat nätverk, utan också för komplexa webbappar där en frontend begär till backend-servrar genom att använda ett privat nätverk Lastbalansering är flexibel och du kan använda Compute Engine med dina befintliga lösningar. Till exempel är HTTP(S) lastbalansering med Nginx en möjlig lösning som du kan använda i stället för Compute Engine lastbalanserare Innehållsdistribution med Compute Engine Eftersom svarstid är ett grundläggande mått för alla webbplatser är det ofta ett krav att använda ett CDN för att sänka latensen och öka prestanda, särskilt för en webbplats med global webbtrafik Cloud CDN använder Googles globalt distribuerade kantpunkter för närvaro för att leverera innehåll från cacheplatser närmast användarna. Cloud CDN fungerar med HTTP(S) lastbalansering. För att visa innehåll från Compute Engine, Cloud Storage eller båda från en enskild IP-adress, aktivera Cloud CDN för en HTTP(S)-lastbalanserare Autoskalning med Compute Engine Du kan ställa in din arkitektur för att lägga till och ta bort servrar när efterfrågan varierar. Detta tillvägagångssätt kan hjälpa till att säkerställa att din webbplats presterar bra under toppbelastning, samtidigt som du håller kostnaderna under kontroll under mer typiska efterfrågeperioder. Compute Engine tillhandahåller en autoscaler som du kan använda för detta ändamål Autoskalning är en funktion i hanterade instansgrupper. En hanterad instansgrupp är en pool av homogena virtuella maskininstanser, skapade från en gemensam instansmall. En autoscaler lägger till eller tar bort instanser i en hanterad instansgrupp. Även om Compute Engine har både hanterade och ohanterade instansgrupper, kan du bara använda hanterade instansgrupper med en autoscaler. För mer information, se automatisk skalning på Compute Engine För en djupgående titt på vad som krävs för att bygga en skalbar och motståndskraftig webbappslösning, se Bygga skalbara och motståndskraftiga webbappar Loggning och övervakning med Compute Engine Google Cloud innehåller funktioner som du kan använda för att hålla koll på vad som händer med din webbplats Cloud Logging samlar in och lagrar loggar från appar och tjänster på Google Cloud. Du kan visa eller exportera loggar och integrera tredjepartsloggar genom att använda en loggningsagent Cloud Monitoring tillhandahåller instrumentpaneler och varningar för din webbplats.Du konfigurerar övervakning med Google Cloud-konsolen.Du kan granska prestandamått för molntjänster, virtuella maskiner och vanliga servrar med öppen källkod som MongoDB, Apache, Nginx och Elasticsearch.Du kan använda Cloud Monitoring API för att hämta övervakningsdata och skapa anpassade mätvärdenCloud Monitoring tillhandahåller även kontroll av drifttid, som skickar förfrågningar till dina webbplatser för att se om de svarar.Du kan övervaka en webbplatss tillgänglighet genom att implementera en varningspolicy som skapar en incident om drifttidskontrollen misslyckasHantera DevOps med Compute EngineFör information om att hantera DevOps med Compute Engine, se följande artiklar:- Distribuerad belastningstestning med Kubernetes- Kör Spinnaker på Compute Engine- Hantera distributioner på Google Cloud med Spinnaker# # Använda behållare med GKEDu kanske redan använder behållare, som Docker-behållare.För webbservering erbjuder behållare flera fördelar, inklusive:Komponentisering.Du kan använda behållare för att separera de olika komponenterna i din webbapp.Anta till exempel att din webbplats kör en webbserver och en databas.Du kan köra dessa komponenter i separata behållare, ändra och uppdatera en komponent utan att påverka den andra.När din app design blir mer komplex passar behållare bra för en tjänsteorienterad arkitektur, inklusive mikrotjänster.Den här typen av design stöder bland annat skalbarhet.Portabilitet.En behållare har allt den behöver för att köra din app och dess beroenden buntas ihop.Du kan köra dina behållare på en mängd olika plattformar, utan att oroa dig för de underliggande systemdetaljerna.Snabb distribution.När det är dags att distribuera är ditt system byggt från en uppsättning definitioner och bilder, så att delarna kan distribueras snabbt, tillförlitligt och automatiskt.Behållare är vanligtvis små och distribueras mycket snabbare jämfört med till exempel virtuella maskinerBehållarberäkning på Google Cloud erbjuder ännu fler fördelar för webbservering, inklusive:Orkestrering.GKE är en hanterad tjänst byggd på Kubernetes, det öppna källkods-container-orkestreringssystemet som introducerats av Google.Med GKE körs din kod i behållare som är en del av ett kluster som är sammansatt av Compute Engine-instanser.Istället för att administrera enskilda behållare eller skapa och stänga av varje behållare manuellt, kan du automatiskt hantera klustret genom GKE, som använder den konfiguration du definierar.Bildregistrering.Container Registry eller Artifact Registry tillhandahåller privat lagring för Docker-bilder på Google Cloud.Du kan komma åt registret via en HTTPS-slutpunkt, så att du kan hämta bilder från vilken maskin som helst, oavsett om det är en Compute Engine-instans eller din egen hårdvara.Registertjänsten är värd för dina anpassade bilder i Cloud Storage under ditt Google Cloud-projekt.Detta tillvägagångssätt säkerställer som standard att dina anpassade bilder endast är tillgängliga för rektorer som har tillgång till ditt projekt.Mobilitet.Detta innebär att du har flexibiliteten att flytta och kombinera arbetsbelastningar med andra molnleverantörer, eller blanda molnbearbetningsbelastningar med lokala implementeringar för att skapa en hybridlösningLagra data med GKEEftersom GKE körs på Google Cloud och använder Compute Engine-instanser som noder, har dina lagringsalternativ mycket gemensamt med lagring på Compute Engine.Du kan komma åt Cloud SQL, Cloud Storage, Datastore och Bigtable via deras API:er, eller så kan du använda en annan extern lagringsleverantör om du vill.GKE interagerar dock med Compute Engine-beständiga diskar på ett annat sätt än en normal Compute Engine-instans skulleEn Compute Engine-instans inkluderar en ansluten disk.När du använderCompute Engine, så länge som instansen finns kvarstår diskvolymen med instansen.Du kan till och med koppla loss disken och använda den med en annaninstans.Men i en behållare är filer på disken tillfälliga.När en behållarestartar om, till exempel efter en krasch, försvinner filerna på disken.Kubernetes löserdet här problemet genom att använda envolymabstraktion, och en typ av volym ärgcePersistentDiskDetta betyder att du kan använda Compute Engine beständiga diskar med behållare för attförhindra att dina datafiler tas bort när du använder GKEFör att förstå funktionerna och fördelarna med en volym , bör du först förstå lite om poddar.Du kan tänka på en pod som en appspecifik logisk värd för en eller flera behållare.En pod körs på en nodinstans.När behållare är medlemmar i en pod kan de dela flera resurser, inklusive en uppsättning delade lagringsvolymer.Dessa volymer gör det möjligt för data att överleva omstarter av behållare och att delas mellan behållarna i podden.Naturligtvis kan du använda en enda behållare och volym i en pod också, men podden är en nödvändig abstraktion för att logiskt koppla dessa resurser till varandraFör ett exempel , se handledningen Använda beständiga diskar med WordPress och MySQLLastbalansering med GKEMånga stora webbserverarkitekturer måste ha flera servrar igång som kan dela trafikkraven.Eftersom du kan skapa och hantera flera behållare, noder och poddar med GKE, är det en naturlig passform för ett lastbalanserat webbserversystemAnvända nätverksbelastningsbalanseringDet enklaste sättet att skapa en lastbalanserare i GKE är att använda Compute Engines nätverkslastbalansering.Nätverksbelastningsbalansering kan balansera belastningen på dina system baserat på inkommande internetprotokolldata, såsom adress, port och protokolltyp.Nätverksbelastningsbalansering använder vidarebefordransregler.Dessa regler pekar på målpooler som listar vilka instanser som är tillgängliga för att användas för lastbalansering Med nätverksbelastningsbalansering kan du lastbalansera ytterligare TCP/UDP-baserade protokoll som SMTP-trafik, och din app kan direkt inspektera paketen Du kan distribuera nätverksbelastningsbalansering helt enkelt genom att lägga till typ: LoadBalancer fältet till din tjänstkonfigurationsfil Använder HTTP(S) lastbalansering Om du behöver mer avancerade lastbalanseringsfunktioner, såsom HTTPS-lastbalansering, innehållsbaserad lastbalansering eller belastningsbalansering mellan regioner, kan du integrera din GKE-tjänst med Compute Engines HTTP/HTTPS-lastbalanseringsfunktion. Kubernetes tillhandahåller Ingress-resursen som kapslar in en samling regler för att dirigera extern trafik till Kubernetes-slutpunkter. I GKE hanterar en Ingress-resurs provisionering och konfigurering av Compute Engine HTTP/HTTPS belastningsbalanserare För mer information om hur du använder HTTP/HTTPS-belastningsbalansering i GKE, se Konfigurera HTTP-belastningsbalansering med Ingress Skalning med GKE För automatisk storleksändring av kluster kan du använda Cluster Autoscaler. Den här funktionen kontrollerar med jämna mellanrum om det finns några poddar som väntar på en nod med lediga resurser men som inte schemaläggs. Om sådana pods finns, ändrar autoskalaren nodpoolens storlek om storleksändring skulle tillåta att de väntande podarna kan schemaläggas Cluster Autoscaler övervakar också användningen av alla noder. Om en nod inte behövs under en längre tid, och alla dess pods kan schemaläggas någon annanstans, tas noden bort För mer information om Cluster Autoscaler, dess begränsningar och bästa praxis, se Cluster Autoscaler-dokumentationen Loggning och övervakning med GKE Som på Compute Engine tillhandahåller loggning och övervakning dina loggnings- och övervakningstjänster. Loggning samlar in och lagrar loggar från appar och tjänster. Du kan visa eller exportera loggar och integrera tredjepartsloggar genom att använda en loggningsagent Övervakning tillhandahåller instrumentpaneler och varningar för din webbplats. Du konfigurerar övervakning med Google Cloud-konsolen. Du kan granska prestandamått för molntjänster, virtuella maskiner och vanliga servrar med öppen källkod som MongoDB, Apache, Nginx och Elasticsearch. Du kan använda Monitoring API för att hämta övervakningsdata och skapa anpassade mätvärden Hantera DevOps med GKE När du använder GKE får du redan många av fördelarna som de flesta tänker på när de tänker på DevOps. Detta gäller särskilt när det kommer till enkel paketering, distribution och hantering. För dina CI/CD-arbetsflödesbehov kan du dra nytta av populära verktyg som Jenkins. Se följande artiklar: ## Bygger på en hanterad plattform med App Engine På Google Cloud kallas den hanterade plattformen som en tjänst (PaaS) för App Engine. När du bygger din webbplats på App Engine får du fokusera på att koda upp dina funktioner och låta Google oroa sig för att hantera den stödjande infrastrukturen. App Engine erbjuder ett brett utbud av funktioner som gör skalbarhet, lastbalansering, loggning, övervakning och säkerhet mycket enklare än om du var tvungen att bygga och hantera dem själv. App Engine låter dig koda i en mängd olika programmeringsspråk, och den kan använda en mängd andra Google Cloud-tjänster App Engine tillhandahåller standardmiljön, som låter dig köra appar i en säker, sandlådemiljö. App Engines standardmiljö distribuerar förfrågningar över flera servrar och skalar servrar för att möta trafikbehov. Din app körs i en egen säker, pålitlig miljö som är oberoende av hårdvaran, operativsystemet eller den fysiska platsen för servern För att ge dig fler alternativ erbjuder App Engine den flexibla miljön. När du använder den flexibla miljön körs din app på konfigurerbara Compute Engine-instanser, men App Engine hanterar värdmiljön åt dig. Detta innebär att du kan använda ytterligare körtider, inklusive anpassade körtider, för fler val av programmeringsspråk. Du kan också dra nytta av en del av den flexibilitet som Compute Engine erbjuder, som att välja från en mängd olika CPU- och minnesalternativ Programmeringsspråk App Engines standardmiljö tillhandahåller standardkörtider och du skriver källkod i specifika versioner av de programmeringsspråk som stöds Med den flexibla miljön skriver du källkod i en version av något av de programmeringsspråk som stöds. Du kan anpassa dessa körtider eller tillhandahålla din egen körtid med en anpassad Docker-bild eller Dockerfil Om programmeringsspråket du använder är ett primärt problem måste du bestämma om körtiderna som tillhandahålls av App Engines standardmiljö uppfyller dina krav. Om de inte gör det bör du överväga att använda den flexibla miljön För att avgöra vilken miljö som bäst uppfyller din app behov, se Välja en App Engine-miljö Komma igång självstudier efter språk Följande självstudiekurser kan hjälpa dig att komma igång med App Engines standardmiljö: - Hej världen i Python - Hej världen i Java - Hej världen i PHP - Hej världen i Ruby - Hej världen i farten - Hello World i Node.js Följande självstudiekurser kan hjälpa dig att komma igång med att använda den flexibla miljön: - Att komma igång med Python - Komma igång med Java - Komma igång med PHP – Komma igång med Go - Komma igång med Node.js - Att komma igång med Ruby - Komma igång med .NET Lagra data med App Engine App Engine ger dig alternativ för att lagra din data: |Namn||Struktur||Konsistens| |Firestore||Schemaless||Starkt konsekvent.| |Cloud SQL||Relational||Starkt konsekvent.| |Cloud Storage||Filer och deras associerade metadata||Stärkt konsekvent utom när du utför listoperationer som får en lista med hinkar eller objekt.| Du kan också använda flera tredjepartsdatabaser med standardmiljön För mer information om lagring i App Engine, se Välja ett lagringsalternativ och välj sedan önskat programmeringsspråk När du använder den flexibla miljön kan du använda alla samma lagringsalternativ som du kan med standardmiljön, och ett bredare utbud av tredjepartsdatabaser också. Mer information om tredjepartsdatabaser i den flexibla miljön finns i Använda tredjepartsdatabaser Lastbalansering och automatisk skalning med App Engine Som standard dirigerar App Engine automatiskt inkommande förfrågningar till lämpliga backend-instanser och gör lastbalansering åt dig. Men om du vill dra nytta av Google Clouds fullt utrustade HTTP(S)-lastbalanseringsfunktioner i företagsklass, kan du använda serverlösa nätverksslutpunktsgrupper För skalning kan App Engine automatiskt skapa och minska instanser när trafiken fluktuerar, eller så kan du ange ett antal instanser som ska köras oavsett mängden trafik Loggning och övervakning med App Engine I App Engine loggas förfrågningar automatiskt och du kan se dessa loggar i Google Cloud-konsolen. App Engine fungerar också med standard, språkspecifika bibliotek som tillhandahåller loggningsfunktioner och vidarebefordrar loggposterna till loggarna i Google Cloud-konsolen. Till exempel, i Python du kan använda den vanliga Python-loggningsmodulen och i Java du kan integrera logback-appendern eller java.util.logging med molnloggning. Detta tillvägagångssätt möjliggör alla funktioner i molnloggning och kräver bara några rader med Google Cloud-specifik kod Cloud Monitoring tillhandahåller funktioner för att övervaka dina App Engine-appar. Genom Google Cloud-konsolen kan du övervaka incidenter, kontroller av drifttid och annan information ## Bygger på en serverlös plattform med Cloud Run Google Clouds serverlösa plattform låter dig skriva kod på ditt sätt utan att oroa dig för den underliggande infrastrukturen. Du kan bygga fullstack serverlösa applikationer med Google Clouds lagring, databaser, maskininlärning och mer För dina containeriserade webbplatser kan du även distribuera dem till Cloud Run förutom att använda GKE. Cloud Run är en helt hanterad serverlös plattform som låter dig köra mycket skalbara containeriserade applikationer på Google Cloud. Du betalar bara för den tid som din kod körs Genom att använda behållare med Cloud Run kan du dra nytta av mogna teknologier som Nginx, Express.js och Django för att bygga dina webbplatser, komma åt din SQL-databas på Cloud SQL och rendera dynamiska HTML-sidor Cloud Run-dokumentationen innehåller en snabbstart för att komma igång Lagra data med Cloud Run Cloud Run-behållare är tillfälliga och du måste förstå deras kvoter och gränser för dina användningsfall. Filer kan tillfälligt lagras för bearbetning i en containerinstans, men denna lagring kommer från det tillgängliga minnet för tjänsten enligt beskrivningen i runtime-kontraktet För beständig lagring, liknande App Engine, kan du välja Google Clouds tjänster som Cloud Storage, Firestore eller Cloud SQL. Alternativt kan du också använda en lagringslösning från tredje part Lastbalansering och autoskalning med Cloud Run Som standard, när du bygger på Cloud Run, dirigerar den automatiskt inkommande förfrågningar till lämpliga back-end-behållare och gör lastbalansering åt dig. Men om du vill dra nytta av Google Clouds fullt utrustade HTTP(S)-lastbalanseringsfunktioner i företagsklass, kan du använda serverlösa nätverksslutpunktsgrupper Med HTTP(S) belastningsbalansering kan du aktivera Cloud CDN eller betjäna trafik från flera regioner. Dessutom kan du använda mellanprogram som API Gateway för att förbättra din tjänst För Cloud Run hanterar Google Cloud automatisk skalning av containerinstanser till dig. Varje revision skalas automatiskt till antalet containerinstanser som behövs för att hantera alla inkommande förfrågningar. När en revision inte får någon trafik, som standard den är skalad till noll containerinstanser. Men om så önskas kan du ändra denna standard för att ange en instans som ska hållas inaktiv eller *varma* använda inställningen för minsta instanser Loggning och övervakning med Cloud Run Cloud Run har två typer av loggar, som automatiskt skickas till Cloud Logging: - Begäranloggar: loggar över förfrågningar som skickats till Cloud Run-tjänster. Dessa loggar skapas automatiskt - Behållarloggar: loggar som sänds ut från behållarinstanserna, vanligtvis från din egen kod, skrivna till platser som stöds enligt beskrivningen i Skriva behållarloggar Du kan visa loggar för din tjänst på ett par sätt: - Använd Cloud Run-sidan i Google Cloud-konsolen - Använd Cloud Logging Logs Explorer i Google Cloud-konsolen Båda dessa visningsmetoder undersöker samma loggar som lagras i Cloud Logging, men Logs Explorer ger fler detaljer och fler filtreringsmöjligheter Cloud Monitoring tillhandahåller Cloud Run-prestandaövervakning, mätvärden och drifttidskontroller, tillsammans med varningar för att skicka meddelanden när vissa metriska trösklar överskrids. Prissättningen för Google Clouds operationssvit gäller, vilket innebär att det inte tas någon avgift för mätvärden på den helt hanterade versionen av Cloud Run. Observera att du också kan använda anpassade mätvärden för Cloud Monitoring Cloud Run är integrerat med Cloud Monitoring *utan någon installation eller konfiguration krävs*. Detta innebär att mätvärden för din Cloud Run-tjänster fångas automatiskt när de körs ## Bygga innehållshanteringssystem Att betjäna en webbplats innebär att hantera dina webbplatstillgångar. Cloud Storage tillhandahåller ett globalt arkiv för dessa tillgångar. En vanlig arkitektur distribuerar statiskt innehåll till Cloud Storage och synkroniserar sedan till Compute Engine för att rendera dynamiska sidor. Cloud Storage fungerar med många tredjepartssystem för innehållshantering, som WordPress, Drupal och Joomla. Cloud Storage erbjuder också ett Amazon S3-kompatibelt API, så alla system som fungerar med Amazon S3 kan fungera med Cloud Storage Diagrammet nedan är ett exempel på arkitektur för ett innehållshanteringssystem ## Vad kommer härnäst - Utforska referensarkitekturer, diagram, handledningar och bästa praxis om Google Cloud. Ta en titt på vårt Cloud Architecture Center.