Wat is serverloze computing?

Serverloze computing is een paradigmaverschuiving in de ontwikkeling van apps: ontwikkelaars kunnen zich richten op het schrijven van code zonder zich zorgen te hoeven maken over de infrastructuur. Dit biedt een groot aantal voordelen ten opzichte van traditionele computing. U hoeft bijvoorbeeld niet langer servers te beheren en vooraf resources te leveren. Daarnaast wordt er automatisch geschaald en betaalt u alleen voor de resources die u gebruikt. Deze voordelen maken serverloze computing ideaal voor toepassingen zoals stateless HTTP-apps, web, mobiel, IoT-backends, verwerking van batch- en streamgegevens, chatbots en meer.


GCP-aanbod voor serverloze computing

Cloud Functions

Serverloze functies en gebeurtenissen

Cloud Functions

Een computingplatform op basis van gebeurtenissen waarmee u cloudservices van Google en derden eenvoudig kunt koppelen en uitbreiden en waarmee u apps kunt ontwerpen die schalen van nul tot wereldwijd.

Meer informatie  
Standaardomgeving van App Engine

Serverloze http-apps

Standaardomgeving van App Engine

Een volledig beheerd serverloos app-platform voor web- en API-backends. Gebruik populaire programmeertalen zonder u zorgen te maken over infrastructuurbeheer.

Meer informatie  
Cloud Run

Serverloze containers

Cloud Run

Een serverloos computingplatform waarmee u stateless containers kunt uitvoeren door deze met HTTP-verzoeken aan te roepen. Cloud Run is beschikbaar als een volledig beheerd platform waarbij u alleen betaalt voor wat u gebruikt. Het maakt ook deel uit van Anthos.

Meer informatie  

Welk serverloos computingplatform past bij u?

Serverloze opties

* De standaardomgeving van App Engine ondersteunt Node.js, Python, Java, Go en PHP

* Cloud Functions ondersteunt Node.js, Python en Go

Toepassingen

Web-app

Web-apps

De standaardomgeving van App Engine is geschikt voor web-apps met minimale bewerkingen die worden uitgevoerd in Node.js, Python, PHP, Java en Go. U kunt uw apps op een idiomatische standaardmanier schrijven met behulp van elke taalbibliotheek. Dankzij de korte implementatietijden en het vermogen om reactief te schalen, is de standaardomgeving van App Engine bijzonder geschikt voor productietaken met pieken.

Asynchrone backend-verwerking

Asynchrone backend-verwerking

Cloud Functions reageert op gegevensgebeurtenissen in de cloud en biedt basisverwerking, zoals het aanpassen van formaten van afbeeldingen die naar Cloud Storage zijn geüpload of het valideren van gegevens als een waarde wordt gewijzigd in de Firestore-database.

Mobiele backends

Mobiele backends

De standaardomgeving van App Engine is een app-platform voor traditionele REST API-backends voor mobiele apps. Met dit platform kunt u de hostingomgeving controleren, updaten en schalen. U hoeft alleen nog maar de code van uw mobiele backend-services te schrijven. Firebase biedt een verzameling krachtige backend-services die rechtstreeks in uw mobiele app kunnen worden geïntegreerd: realtime NoSQL-databases, verificatie, hosting, bestandsopslag en meer. Firebase integreert met Cloud Functions, dus u kunt het eenvoudig koppelen aan uw overige Google Cloud Platform-services.

API's

API's

Als u een eenvoudige API ontwerpt (een kleine verzameling functies die kunnen worden benaderd via HTTP of Cloud Pub/Sub), raden we u aan om Cloud Functions te gebruiken. Het is ontworpen voor productietaken met pieken. Dankzij het programmeerparadigma (functies) blijft kleinschalige backend-code goed georganiseerd. Voor een complexere API (zoals een REST API met veel routes) raden we u aan om de standaardomgeving van App Engine te gebruiken, omdat u hiermee eenvoudiger een groot aantal functies kunt organiseren. Als u Cloud Endpoints gebruikt voor API-beheer, raden we u aan om de standaardomgeving van App Engine te combineren met Python 2.7 en Java 8, aangezien deze configuratie ondersteuning biedt voor Cloud Endpoints.

Periodieke bewerkingen

Periodieke bewerkingen

Met Cloud Scheduler kunt u geplande HTTP-verzoeken sturen om bewerkingen volgens een vastgesteld schema te activeren. Het kan ook specifiek worden gebruikt voor App Engine of HTTP-eindpunten zoals Cloud Functions en Cloud Run.

Snel prototypen maken en API's samenvoegen

Snel prototypen maken en API's samenvoegen

We raden u aan om Cloud Functions te gebruiken voor kleinschalige projecten of hackathons waarbij u snel prototypen moet kunnen maken en meerdere API's en services moet kunnen samenvoegen. Met het programmeerparadigma ontwikkelt u snel zowel kleinschalige apps als 'lijmcode' die bestaande API's en services met elkaar verbindt.

Provideronafhankelijke containers uitvoeren

Provideronafhankelijke containers uitvoeren

Docker-containers zijn een branchenorm en kunnen in elke cloud of op locatie worden uitgevoerd. Cloud Run kan containers serverloos uitvoeren met verzoeken en reacties. We raden u aan om Cloud Run te gebruiken, tenzij u aangepaste hardware zoals GPU's of een Kubernetes-cluster nodig heeft. In dat geval kunt u Cloud Run uitvoeren op GKE in uw Google Kubernetes Engine-cluster.

Serverloze en stateful productietaken combineren

Serverloze en stateful productietaken combineren

Met Cloud Run for Anthos kunt u eenvoudig serverloze en stateful productietaken tegelijkertijd uitvoeren. U kunt bijvoorbeeld MongoDB vanuit de Marketplace in uw Anthos GKE-cluster implementeren om deze als documentopslag te gebruiken voor uw serverloze productietaken. Anthos biedt u de flexibiliteit om alles in uw Kubernetes-cluster uit te voeren en u kunt Cloud Run for Anthos gebruiken om serverloze productietaken tegelijkertijd te implementeren.

Productvergelijking

Standaardomgeving van App Engine Cloud Functions Cloud Run Cloud Run for Anthos
Implementatietype App Functie Container Container
Schalen naar nul Vinkje Vinkje Vinkje Pods2
Free Tier Vinkje Vinkje Vinkje
Websockets Vinkje
Talen Java, Node.js, Python, Go, PHP Node.js, Python, Go Alle Alle
Toegangsbeheer Oauth 2.0, CICP, Firebase Authentication, Inloggen bij Google, Users API IAM-recht Invoker IAM-recht Invoker, CICP, Inloggen bij Google, Firebase Authentication Alleen clusters, alleen VPC
HTTP/2 en gRPC Vinkje
Extra domein Vinkje Vinkje Vinkje
Time-out van verzoek 1 minuut3 9 minuten 15 minuten 15 minuten
GPU's en TPU's Vinkje
VPC-connectiviteit Vinkje Vinkjebèta1 Op de roadmap Vinkje

1. Voor bètasoftware geldt geen SLA.

2. Cloud Run op GKE schaalt het aantal pods naar nul. Het aantal nodes per cluster kan niet naar nul worden geschaald en deze nodes worden gefactureerd als er geen verzoeken zijn.

3. Automatisch schalen: deadline van 60 seconden voor HTTP-verzoeken.

Geavanceerde adviezen en praktische tips

Hieronder volgen nog enkele factoren die u in overweging kunt nemen.