What You Should Know About Serverless: AWS, Google Cloud & Azure

‘Serverless’, is a term that has been buzzing in technology forums off late. Though this is not an entirely new concept, it became the talk of the tech when Azure Functions, AWS Lambda and Google Cloud Functions entered with their own serverless solutions.

Serverless computing alternatively called as Functions-as-a-Service(FaaS) enables developers to focus on developing event based application on a function by function basis while it takes complete care of the code: running, deploying and scaling. The term ‘serverless’ should not be taken literally to mean that no servers are involved. The idea it denotes is that with serverless computing developers need not have to fret over conventional infrastructure issues and operational elements such as server maintenance, scaling and  provisioning. According to a recent study conducted, there is a stable rise in the usage of serverless products. Though its adoption is not as fast as Docker, the graph of its general usage is rising upwards.

Serverless is an attractive option as it is a viable solution to all the hurdles presented by conventional servers. The never- ending cycle of problems resulting from running a server such as constant updates for fixing bugs and security holes, time consuming configuration and incompatible updates is one among the many reasons that drove major chunk of cloud companies to adopting serverless architecture.

There are a number of serverless frameworks in the market and in this blog, we will do a closed comparison of the three major players in this market: AWS Lambda, Google Cloud & Microsoft Azure. They are being utilized in the backend services of major organizations like Dropbox and Netflix.

What You Should Know About Serverless: AWS, Google Cloud & Azure

AWS Lambda

‘AWS’ is often thought of as synonymous with the concept of ‘serverless’. This is mainly due to the fact that its launch of Lambda in 2014 is what triggered the ‘serverless revolution’. It was much later in 2014 that Google entered this market with Cloud Functions, closely followed by Microsoft’s Azure Functions.

AWS, considered as the originator of serverless has reaped the most success at fully integrating serverless framework into its cloud platform. Activating Lambda can be done in just a single step: the user has to just upload their code and Lambda will take care of all the steps necessary to run and scale the code with high availability. Another remarkable thing about Lambda is the native support it provides to a range of runtime environments like Python, C#, JavaScript and NodeJS and the establishment of a wrapper that can be connected to PHP, Ruby and Go projects enabling the code execution when activated so that it scales accurately with the size of the workload.

Lambda is a window to most of amazon’s cloud services. Its integration with Kinesis and S3 Kinesis aids video transcoding & backup and log analysis, which is set off through any tasks in these AWS services. Its integration with DynamoDB supports an additional coat of triggers for actions completed in the external real- time echo system, thus enabling the user to use Lambda for performing data filtering, validation, sorting or any other transformation for data altering and uploading the transformed data to another data store. AWS Lambda can also behave as the complete backend service of a mobile, IoT application or web.

When it comes to price, the user has to only pay for they compute time that they consume. One of the main drawbacks of this is that it becomes an issue for applications created with a serverless architecture in terms of retaining the form of a function. Since the user pays just for the function execution time, the platform has a natural tendency to shut down the functions quickly after they complete their tasks. This poses a problem to developers because functions will not be able to make use of another functions’ knowledge without the help of a third party tool to gather and control it. Amazon recent release, AWS Step functions , comes as a solution to this. It enables the log of the state of every function which means that it can be employed for analysis of root- cause or by other alternate functions.

Microsoft Azure

Microsoft platform was already a host to various serverless services much before the official release of Azure Functions. Its features like platforms as a service(Paas) handled various functions for the user and also permitted them to scale as needed. Developers were given the option of size and pay depending on what processing was required than by the physical resources used. With Azure Functions, Microsoft intended to close the functionality with AWS. However the scope of AWS is much narrower than AWS on the overall functionality; this is because Microsoft lacks Amazons large cloud portfolio.

Having said that, Azure does offer a range of practical functionality and superior integration. Its tool such as Create Functions equips the user to create functions in native languages like Javascript and C#, either in web functions editor or to upload them through any development tool like Batch or PHP. Azure also has easy integrations with a variety of outside services including Bitbucket, Github and VS Team service s enabling code deployment in the cloud.

Microsoft Azure’s cloud function usage is calculated like Amazon: the total bill is made of the execution time and trigger numbers. Like Amazon’s pricing structure, in Azure too the first 1 million requests are free , after which it costs $0.02 for each 100000 execution and additional 40.02 for 100000 GB/s. In 2017 Microsoft acquired a cost enhancing and cloud management software Called Cloudyn. In october of the same year, it launched Azure Cost management which enables the users to track their cloud usage and cost for Azure services as well as other cloud providers like Google and AWS. This assists the user in making better decisions on cloud efficiency and utilization.

Google Cloud

Google was the last among these three to enter the serverless market. The company first entered Alpha mode in 2016 and later into Beta mode in 2017. As compared to AWS & Azure, Google ‘s current iteration is very limited; it enables functions to be written in JavaScript alone and executed in a standard Node.js runtime environment.

Google does not have integration with storage and other important cloud services enables business based triggers. However, the most important problem with Google is that it currently limits projects to having limit of twenty triggers.  When it comes to cost, Google is the most expensive. Its prices are double that of AWS and Microsoft after one million requests, that is $0.04 for 100000 invocations and 40.04 for 100000 milliseconds.

Conclusion

By far, AWS Lambda is the most preferred serverless framework. This can be because of its large product portfolio. What should be remembered when it comes to serverless is the availability and consumption of other facilities within the cloud provider ecosystem; it is impossible for Google and Microsoft to rival AWS in this regard. However, users should also remember that all these three are currently in a stage of evolving.

 

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA

*

About Vibhuthi Viswanathan

Vibhuthi is a an avid follower of the latest trends in the world of Technology. Her writing aims to engage and educate the readers on all things Tech. When she is not twirling with words and pauses at SpringPeople, she binge reads popular literature.

Posts by Vibhuthi Viswanathan