An Introduction to Serverless Architecture: Comparison between AWS Lambda, Microsoft Azure Functions & Google Functions
Networking
Lal Kiran December 6, 2019

Serverless Architecture

What is Serverless Architecture?

In the traditional server applications, we have a server that will handle all the requests from clients. The machine that hosts a website and delivers the site to our browsers are a very common example of this.

Why Was The Serverless Architecture Introduced?

Nowadays an enterprise-sized server is very expensive. Also, the average life cycle of a server like this is about 5 years. This implies that in addition to the fact that you have to replace your machine at regular intervals, however in the meantime you are compelled by the restrictions of that machine.

Serverless Architecture

For instance, if a site’s server does not have the ability to deal with it’s expanded load, the main conventional arrangements were either to buy another server to deal with the extra volume or to replace the current server with a superior model, the two of which are especially costly in both hardware expenses and labor.

Serverless architecture (or FaaS) is introduced to solve the above issues. Instead of having one machine to host a job, we can use publicly available services, such as Amazon Web Services (AWS), Microsoft Azure, Lambda functions and cloud-hosted databases, to replace the traditional server.

Serverless architecture is a model in which developers can think of the business logic instead of underlying server configurations.

Serverless Architecture

Pros and Cons of Serverless Architecture (Faas)

All the advantages/disadvantages of serverless architecture are described below:

Pros of Serverless Architecture :

  • Costs – you have to pay only for the resources you use.
  • Infrastructure management — the purchase and configuration of servers is costly in terms of initial investment and required specialized staff.
  • Security of infrastructure – no need to worry about OS, Server updates.
  • Easy deployment.
  • High Scalability.

Cons of Serverless Architecture :

  • Latency – FaaS adds some latency therefore for a high-performance application it is better not to use FaaS.
  • Don’t have locally stored data – your application has to be stateless, so for most of the applications this is really a good thing but it is a limit nevertheless.
  • Cannot debug/test locally.
  • As with all upcoming technologies, there are always risks associated with them such as frameworks stability, libraries, etc.

FaaS comparison: AWS Lambda vs Microsoft Azure Functions vs Google Functions

 

Feature/Providers AWS Lambda Microsoft Azure Functions Google Functions
Languages support Node.js, Java, C#, Python, Ruby, C++ Node.js, C#, F#, Python, PHP, Java Node.js
Languages support with 3rd party Any progrmaming language with Runtime API With batch files can run anything  
Monitoring Cloudwatch, Dashbird, Thundra, IOpipe Azure Application Insights Stackdriver Monitoring
Pricing $0.20/million requests with 1 million requests per month for free $0.000016/GBs, 400,000 GBs/month for free

$0.20/million executions, with 1 million executions/month for free

$0.40/million invocations with 2 million invocations for free

$0.0000025/GB-sec with 400,00 GB-sec/month for free

$0.0000100/GHz-sec with 200,000 GHz-sec/month for free

Limits Memory allocation range: Minimum 128 MB / Maximum 3008 MB

Ephemeral disk capacity: 512 MB

Maximum execution duration/ request: 900 seconds

Allows only 10 concurrent executions per function

No limitations on a maximum execution time limit

Number of functions: 1000

Maximum function duration: 540 seconds

Function calls per second: 1,000,000 per 100 seconds

 

Conclusion:

Several businesses such as Nordstorm, AOL, Thomson Reuters, Netflix and Coca Cola are currently using Serverless architecture in manufacturing. This is a fresh way of building, deploying and managing software. Like microservices, it has many benefits for large and small apps.

A major benefit of a serverless-based architecture is the accessibility of developers. As we understand, finding good developers today is difficult and even harder in a particular programming language. With serverless computing, we can write functions with Nodejs, for one set of services, and in six months when fresh features are introduced, we can write the new features in Java. This type of flexibility has productivity disadvantages, but the lack of developers is a bigger disadvantage because the features won’t be created at all. Contact us today to implement a serverless-based architecture for your software.


Author Bio

Lal Kiran is a Senior Software Engineer who works on bringing improvements to the SEDAP parser. In his free time, Lal likes to sing, dance and hang out with his family.