Loading…

Supporting Ideas, Collaboration and Innovation

Business people and entrepreneurs need to be well informed about the current trends and new business ideas that exist in the market to make them successful.
Learn more

Server-less Cloud: Google and Microsoft fight back against Amazon

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.

 

To accelerate serverless adoption, AWS unveiled a Serverless Application Repository (SAM) on GitHub last February, through which its customers can share their serverless applications. AWS has also expanded the number of languages supported by its Lambda offer. After Java, Python, JavaScript, Node.js and C#, it is now the turn of Go and .Net Core 2.0 to be supported by the environment. In addition, there is a series of development tools. For example, Cloud9 provides an environment for testing and debugging Lambda functions. CodeDeploy allows, via an alias system, to compare the performance of different versions of a Lambda function. And X-Ray manages the debugging of distributed applications, based on a micro-service architecture. In the end, for Steve Houël, an architectural solution within the consulting firm Ippon, the conclusion is without appeal: “AWS is two to three years ahead of its competitors”.

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.

Azure Functions supports C#, F# and JavaScript but also Python, PHP, Bash, Batch and PowerShell. Microsoft announced in September support for Net Core 2.0 and, the following month, Java. Through a Maven plugin, a developer can code and debug Azure functions locally from Eclipse, IntelliJ or Visual Studio Code development environments (IDEs). In its latest version (15.6), released in early March, Visual Studio 2017 also supports Azure Functions.

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.

Cloud Functions are encoded in JavaScript. The execution of the latter is supported by a standard Node.js environment. Since the acquisition of Apigee by Google in September 2016, Google Cloud Functions is equipped with a service similar to the Amazon API Gateway to declare REST resources and associated functions. The large number of job offers published around Apigee illustrates Google’s interest in this technology. Finally, the Mountain View giant offers a tool (called Cloud Functions Emulator) to test serverless functions locally before they are deployed.