With serverless cloud offers, the developer no longer has to worry about configuring and managing servers or virtual machines. These offers are also called “Function as a Service”, or FaaS, because the application code is executed when a “function” called by an event (such as an HTTP request) is triggered. The service is billed based on code execution time and resources consumed, to the nearest millisecond.
In view of these specifications, not all developments are eligible. Natively designed for microservices architectures, the serverless is more suitable for web, backend or IoT applications that have an event component. Monolithic systems, on the other hand, go beyond the framework, as do those that constantly require cloud resources that generate prohibitive additional costs. Amazon Web Services (AWS), Google (via Google Cloud Platform) and Microsoft (with its Azure cloud) now all market serverless cloud services.
Amazon Web Services opened the serverless cloud market with Lambda in late 2014. By relying on the basic brick that is the Lambda calculation function, the service provider has since considerably enriched its offer. AWS has affixed the serverless label to a large number of services going as far as offering 100% serverless infrastructures.
AWS, the pioneer consolidates its lead
With API Gateway, AWS first offered a managed API proxy service, which allows APIs (giving access to data, applications or AWS services such as EC2) to be created, managed and monitored. In terms of databases, the provider has started to switch its NoSQL solution, DynamoDB, to serverless mode. Last November, he broadened the spectrum to relational databases by unveiling Aurora Serverless, a “serverless” version of his MySQL and PostgreSQL compatible solution.
In parallel, AWS launched Fargate. Designed for Amazon ECS (Elastic Container Service) and EKS (Elastic Container Service for Kubernetes), this service offers to run containers without having to manage servers or clusters. To launch an application via Fargate, simply package it into a container layer, specify its CPU and memory requirements, and define the network and identification policy. Finally, Amazon markets Greengrass, a service designed to perform Lambda functions as close as possible to connected objects.
Microsoft focuses on simplicity
In stable version since November 2016, Azure Functions offers an approach comparable to that of Amazon Lambda, including pricing. The Microsoft FaaS service allows to trigger functions related to Azure services (Cosmos DB, Storage, Event Grid, Mobile Apps, Notification Hubs…) or third party services (GitHub webhooks, Twilio SMS messages). It provides a wide range of models to implement different scenarios. HTTPTrigger triggers, for example, code execution following an HTTP request. QueueTrigger responds to messages that arrive in Azure’s storage queue while EventHubTrigger reacts to events sent by Azure Event Hub from a connected website, application or object.
Access rights management is supported by Azure Active Directory or OAuth Managed Identification Service. Azure Application Insights provides analysis and supervision of the functions. Finally, Azure Stack offers the possibility of mixed public, private or hybrid cloud hosting. “A differentiating point”, for Luc Germain, director of cloud, devops and digital workplace offers at ESN Devoteam.
Google, Firebase’s mobile asset
Launched discreetly by Google in alpha version in February 2016, Cloud Functions went a year later in beta version… and still is. A habit, almost a tradition at the web giant. Remember that his webmail service, Gmail, has been in beta for ten years. Based on the FaaS principle, Google’s serverless offer can trigger functions in response to events recorded on its cloud (Google Cloud Platform), such as importing files on Cloud Storage, an incoming message, data sent by an object connected to Cloud Pub/Sub, or a change made to a log in Stackdriver Logging.
Via an HTTP request, Cloud Functions can respond to events from third-party systems such as GitHub, Slack or Stripe. Mobile application developers can also use Cloud Functions directly from Firebase, the mobile platform of Google Cloud Platform. Cloud Functions reacts in particular to events derived from Firebase Analytics data.