LFCA: Learn Serverless Computing, Benefits and Pitfalls – Part 15. Serverless computing provides backend services on a pay-as-you-go basis, which means the cloud provider allocates compute resources and charges as per usage.
Serverless technology has generated a lot of hype in the tech community evoking a lot of curiosity and receiving some backlash to a little extent. It’s a technology that began with the launch of AWS Lamba in 2014, which was soon followed by Azure Functions later in 2016.
Google later followed suit with the release of Google Cloud functions in July 2018. So, what is serverless technology? To best answer this question, let’s take our minds back to traditional server-based computing.
In the traditional IT model, you were in charge of basically everything. As a business owner, you would have to budget for servers and other networking equipment such as routers and switches, and racks for mourning the servers.
You’d also have to worry about getting a pristine and secure data center and ensure it can sufficiently provide cooling and redundant power and internet service. Once set up, you would then have to install the operating system, and later deploy your applications. Additionally, you would be required to set up monitoring systems and implement security features such as firewalls and intrusion prevention, and detection systems.
As you might have guessed, this is resource-intensive, costly, and draining.
Then cloud computing broke into the tech world, completely revolutionizing the way we deploy and manage servers and applications. It heralded a new era where developers would readily whip up cloud servers and databases in no time and start working on their applications. No worries about issues associated with traditional IT computing such as downtime, expensive equipment, and renting datacenters.
While cloud computing brought with it the convenience and economies of scale in deploying IT resources, some companies would over-purchase units of server space and resources such as RAM and CPU in anticipation of a spike in network traffic or activity which might overwhelm applications.
Whilst it’s a prudent move, the unintended outcome is the underutilization of server resources which often go to waste. Even with autoscaling, still, an unforeseen and sudden spike could prove costly. Also, you’d still need to carry out other tasks such as setting up load balancers which are also likely to increase operational costs.
It’s apparent that despite making a shift to the cloud, some bottlenecks still linger and have the potential of scaling up costs and cause resource wastage. And this is where Serverless computing comes in.
Serverless computing is a cloud model that provides backend services to users on a pay-as-you-go basis. In simple terms, the cloud provider allocates compute resources and charges only for the time that the applications are running. This is the equivalent of switching from a monthly plan for cable payment to paying only for when you are watching your TV shows.
The term ‘Serverless’ might be a little bit misleading. Are there servers involved? Sure, however, in this case, the servers and underlying infrastructure are purely handled and maintained by the cloud provider. As such, you need not worry about them. As a developer, your focus is purely on developing your applications and ensure they are working to your satisfaction.
In doing so, serverless computing takes away the headache of managing servers and saves you precious time to work on your applications.
A perfect example of serverless backend service is Function-as-a-Service (FaaS) platform. FaaS is a cloud computing model that enables developers to develop, execute, and manage code in response to events without the complexity of building and managing an underlying infrastructure usually associated with the deployment of microservices.
Faas is a subcategory of Serverless computing with subtle differences. Serverless computing encompasses a wide range of services including compute, database, storage, and API to mention a few. FaaS is solely focused on an event-driven computing model where applications are executed on-demand, that is, in response to a request.
Examples of FaaS computing models include:
In summary, we have seen that with FaaS, you only pay for the time that your application is running and the cloud provider pretty much does everything for you including handling the underlying infrastructure. Managing servers is the least of your worries.
Looking to develop real-time applications? **[Hire Dedicated Linux Developer](https://hourlydeveloper.io/hire-dedicated-linux-developer/ "Hire Dedicated Linux Developer")** from **[HourlyDeveloper.io](https://hourlydeveloper.io/...
This article is all about my journey on switching from Windows 10 to Linux Mint 20, how I got easily adapted to the Linux environment, and some resources that helped me to set up a perfect Desktop environment.
User Administration in Linux - Linux Tutorial - Linux Training
Package Management in Linux - Linux Tutorial - Linux Training
Businesses need to understand serverless application with major pros and cons of serverless architecture, before deciding about serverless computing.