Contact Us

Quick contact info

Call us at

USA : +1 919-592-5521

INDIA : +91-9148162015

UAE & OMAN : +971-52-764-2906

Email us at

Feb 2 2022 | by Sunil Babu

Serverless Computing  

In the early days of the web, anyone who wanted to build a web application had to own the physical hardware required to run a server, which is a cumbersome and expensive undertaking. 

Then came cloud computing, where fixed numbers of servers or amounts of server space could be rented remotely. Developers and companies who rent these fixed units of server space generally over-purchase to ensure that a spike in traffic or activity will not exceed their monthly limits and break their applications. This means that much of the server space that gets paid for can go to waste. Cloud vendors have introduced auto-scaling models to address the issue, but even with auto-scaling an unwanted spike in activity, such as a DDoS Attack, could end up being very expensive. 

Serverless computing allows developers to purchase backend services on a flexible ‘pay-as-you-go’ basis, meaning that developers only have to pay for the services they use. This is like switching from a cell phone data plan with a monthly fixed limit, to one that only charges for each byte of data that actually gets used. 

The term ‘serverless’ is somewhat misleading, as there are still servers providing these backend services, but all of the server space and infrastructure concerns are handled by the vendor. Serverless means that the developers can do their work without having to worry about servers at all. 

What is FaaS (Function-as-a-Service)? 

FaaS (Function-as-a-Service) is a type of cloud-computing service that allows you to execute code in response to events without the complex infrastructure typically associated with building and launching microservices applications. 

FaaS vs Serverless 

Serverless and Functions-as-a-Service (FaaS) are often conflated with one another, but the truth is that FaaS is actually a subset of serverless. Serverless is focused on any service category, be it compute, storage, database, messaging, api gateways, etc. where configuration, management, and billing of servers are invisible to the end user. FaaS, on the other hand, while perhaps the most central technology in serverless architectures, is focused on the event-driven computing paradigm wherein application code, or containers, only run-in response to events or requests. 

What are the advantages of serverless computing? 
  • Lower costs - Serverless computing is generally very cost-effective, as traditional cloud providers of backend services (server allocation) often result in the user paying for unused space or idle CPU time. 
  • Simplified scalability - Developers using serverless architecture don’t have to worry about policies to scale up their code. The serverless vendor handles all of the scaling on demand. 
  • Simplified backend code - With FaaS(Function as service), developers can create simple functions that independently perform a single purpose, like making an API call. 
  • Quicker turnaround - Serverless architecture can significantly cut time to market. Instead of needing a complicated deploy process to roll out bug fixes and new features, developers can add and modify code on a piecemeal basis.
Azure Functions (from Microsoft Azure) 

Azure Functions were designed as a serverless architecture that allows the application development process to be quick, painless, and less costly. 

Azure Functions is a cloud-based serverless service that allows running event-triggered code in a scalable way without providing or managing infrastructure. It enables the capability to run a script or piece of code in response to a variety of events and doesn’t need to run continuously. 

They can be written in several languages, including C#, F#, Java, JavaScript, Python, TypeScript, and even PowerShell. They’re also scalable, and when the demand for code execution increases, the necessary resources are automatically allocated for the request. Any leftover resources that responded to the server requests are also automatically disposed of. 

 With Azure Functions you simply publish small pieces of code and define when you want that code to be executed. Azure ensures that your code has always the required computation resources to run smoothly even when the demands get too high. You can run your functions in a language of your choice and as described in the Consumption plan you will only pay for the time Azure spent running your code. When your functions are idle then you are stopped being charged. Functions can be created either directly on Azure Portal or in Visual Studio and are executed when specific events named triggers occur. Each Azure Function must have only one trigger which usually comes along with a payload to be consumed by the function’s code. For example, in case the trigger is a QueueTrigger which means the function is executed when a new message arrives in a queue, then that message will be available on the function’s code 

 
DiagramDescription automatically generated with medium confidence
When to Use Azure Functions 

Here are the most common use cases: 

  • Reminders and notifications 
  • Scheduled tasks and messages 
  • File processing 
  • Data or data streams processing 
  • Running background backup tasks 
  • Computing backend calculations 
  •  Lightweight Web APIs and Proof of Concepts, MVPs 

 

Browse other topics

Contact Us

Let's Talk Business - Engage Novigo as your solution provider and transform your business.

Send us a message.

Contact

  • +91 9148162015