App-hosting op Google Cloud

Google Cloud biedt uiteenlopende opties voor app-hosting. Bekijk de onderstaande diagrammen en ontdek welke optie het beste bij uw behoeften past.


Toepassingen

Weet u niet goed waar u moet beginnen? Bekijk dan hieronder een aantal veelvoorkomende scenario's.
HTTP-services en backend-apps
Webframeworks en microservices
Voorbeelden:
  • Flask
  • Django
  • Express.js
  • Symfony
  • Spring Boot
Standaardomgeving van App Engine
  • Schaalt op bij plotselinge pieken in de vraag
  • U betaalt op basis van gebruik
  • Ondersteuning voor API-eindpunten
Google App Engine Documentatie
Gebeurtenisgestuurde apps en apps voor gegevensverwerking
Manipuleren van door gebruikers gegenereerde gegevens en gebeurtenissen
Voorbeelden:
  • Reageren op een GitHub-toewijzing met een reactie in een Slack-kanaal
  • Statistische analyse
  • Miniaturen van afbeeldingen maken
Cloud Functions
  • Ontworpen voor gebeurtenisgestuurde productietaken
  • Schaalt op bij plotselinge pieken in de vraag
  • Minimale configuratie
Google Cloud Functions Snelstartgids
Op containers gebaseerde apps en services
Verpakking van multicloudinfrastructuur volgens de branchenorm
Voorbeelden:
  • Aangepaste runtime-omgevingen zoals Rust, Kotlin, C++ en Bash
  • Web-apps op basis van verouderde talen zoals Python 2.7 of Java 7
Cloud Run (volledig beheerd)
  • Ondersteuning voor Docker-containers volgens de branchenorm
  • Automatische schaling van container-apps
  • Aangepaste binaire bestanden en systeemafhankelijkheden
  • Ondersteuning voor API-eindpunten
Cloud Run (volledig beheerd) Snelstartgids
Voor productietaken op locatie en productietaken van monolieten
Ruwe rekenkracht om aan de vereisten van de bestaande infrastructuur te voldoen
Voorbeelden:
  • Relationele databases en SAP HANA
  • CRM-systemen
  • Verouderde ERP-systemen
Compute Engine
Google Compute Engine Tutorials
Zelf-gehoste, schaalbare infrastructuur
Zelfbeheerde hosting met serverloze schaalbaarheid
Voorbeelden:
  • Container-apps die aangepaste hardware en software (OS of GPU's) nodig hebben
  • Bestaande stateless container-apps
  • Apps in Kubernetes Engine waarbij terugschalen naar nul voordeel kan opleveren
Cloud Run for Anthos op Google Cloud
  • Verpakking van Docker-containers volgens de branchenorm
  • Uitgebreide configuratieopties voor verouderde productietaken en configuraties
  • Vraagafhankelijk schalen
Cloud Run for Anthos op GCP Snelstartgids
β
Bèta-software valt niet onder een SLA en is mogelijk niet geschikt voor productietaken.

Hostingopties

Voor veel productietaken gelden specifieke technische vereisten. De platforms zijn gerangschikt volgens de abstractiegraad.
Compute Engine Kubernetes Engine (GKE) Cloud Run for Anthos op Google Cloud Cloud Run (volledig beheerd) Flexibele App Engine-omgeving Standaardomgeving van App Engine Cloud Functions
Implementatievorm
VM-image
Cluster
Container
Container

App

of

container

App
Functie
Aangepaste URL's
Schalen naar nul
~
1
Free Tier
Persistente schijven
2
Websockets
~
3
β
Toepasselijke talen
Time-out van verzoek
Geen
Geen
15 minuten
15 minuten
60 minuten
1 minuut
9 minuten
Verwerking op de achtergrond
~
4
TPU-/GPU-toegang
~
3
VPC-connectiviteit
β
β
1
Cloud Run for Anthos op Google Cloud schaalt podaantallen naar nul. Het aantal nodes per cluster kan niet naar nul worden geschaald en deze nodes worden gefactureerd voor perioden waarin er geen verzoeken zijn.
2
Gegevens blijven niet behouden als een containerinstantie op GKE wordt beëindigd. Wel kunnen er persistente schijven van Compute Engine worden geactiveerd voor containerinstanties op GKE.
3
Hoewel het gebruik van websockets en TPU-/GPU-toegang technisch mogelijk is met Cloud Run for Anthos op Google Cloud, wordt dit niet officieel ondersteund.
4
De standaardomgeving van App Engine ondersteunt de uitvoering van taken op de achtergrond in de modi voor automatisch en handmatig schalen.
β
Bèta-software valt niet onder een SLA en is mogelijk niet geschikt voor productietaken.

Belangrijke termen

Implementatievorm

Hoe wordt uw code verpakt bij de implementatie op een specifiek platform?

  • VM-images: momentopnames van het volledige bestandssysteem, inclusief het onderliggende OS.
  • Containers: overdraagbare platformonafhankelijke bestandssystemen, gescheiden van het onderliggende OS.
  • Apps: elke service in een aparte map die een of meer toepassingen kan bevatten.
  • Functies: aparte codefragmenten voor elke toepassing.

Aangepaste URL's

Is het mogelijk om meerlaagse URL-paden te maken (bijvoorbeeld /abc/def) en/of een eigen domeinnaam te gebruiken?

Persistente schijven

Is het mogelijk om de status van een schijf op te slaan als een instantie wordt beëindigd of moeten langetermijngegevens buiten de instantie worden opgeslagen?

Schalen naar nul

Kan er met dit product worden teruggeschaald naar nul instanties zodat er niets wordt gefactureerd als er geen verzoeken zijn?

Websockets

Biedt dit product ondersteuning voor het Websocket-protocol?

Toepasselijke talen

Kan dit product code in een willekeurige programmeertaal uitvoeren?

Time-out van verzoek

Hoelang zal het platform maximaal wachten op een reactie van de code van de app?

Verwerking op de achtergrond

Kan dit product doorlopende achtergrondbewerkingen uitvoeren als er geen verzoeken zijn?

Gebruik van GPU's en TPU's

Biedt dit product ondersteuning voor hardwareversnelling voor productietaken die met een GPU of TPU worden geoptimaliseerd?

VPC-connectiviteit

Is via dit product toegang mogelijk tot resources binnen een Virtual Private Cloud?