Serverless Explained

Pawan Dubey
2 min readDec 4, 2019

--

Serverless architecture is a software design pattern in which applications are hosted on a third-party service that allows developers to directly deploy codes without managing server hardware. Scaling, capacity planning or availability of underlying hardware is always hidden from developer.

Why Serverless?

Serving an application over the internet usually requires server infrastructure, it can virtual i.e. cloud (Azure, AWS, GCP, etc.) or physical. Use of a virtual server from cloud provider removes head-ache of managing underlying hardware however you still have to manage the operating system and the web server software processes.

Choosing a serverless architecture lets you shift all your focus in creating great applications, JUST CODE AND DEPLOY. Services like AWS Lambda, Azure Functions, Firebase Functions take care of all the physical hardware, virtual machines, operating systems, web-server software, etc. You only need to worry about the functionalities of your code.

Functions or Platform as a Service?

Platform as a Service or PaaS offering by cloud provider such ass Azure Web Apps, AWS Elastic Beanstalk takes away most of the head-ache of managing underlying infrastructure and operating system, however when it comes to scalability of the application it has to be managed by you.

The scalability of the application in PaaS is done in the traditional fashion i.e. by running multiple instances of the application and then having a load balancing between the instances. But, when scalability comes for functions, each function is hosted by the provider and gets scaled automatically as request call increases or decreases. You only pay for the time when you function is getting request to serve.

Shall I go for Serverless?

If your application is consists of micro-services and do not perform heavy AI/ML algorithms, you should especially consider using a Serverless provider to host your application.

If your application is more of complex in architecture and if you wish to use Serverless hosting, you may need to architect your application very differently.

How can I jump start?

Firebase: You can host your codes on Firebase functions for free. Google charges you only if the invocations to your hosted application crosses over 2 million hits per month. However Firebase functions only supports NodeJS codes (at the time of writing this blog). Tutorial Link.

Azure Functions: Microsoft also gives you free account, for more information about charges refer this. Azure functions supports almost all the major programming language. It even gives a support to PowerShell, Bash and some other scripting language. Tutorial Link.

AWS Lambda: Just like Microsoft Azure, AWS has Lambda. It also supports all the major programming and scripting language out of the box. You can try trial account to explore offerings by AWS. Tutorial Link.

--

--

Pawan Dubey
Pawan Dubey

Written by Pawan Dubey

0 Followers

Exploring the universe of information technology :)

No responses yet