What is serverless computing?
Sathish Balakrishnan
Senior Vice President | Global Delivery Head | Digital Services | SaaS | Customer experience(CX) | Cloud Transformation | AI Strategy Advocate | MBA | DXMVP
The process of providing backend services on an as-needed basis is known as serverless computing. Servers are still used, but businesses that use a serverless vendor for backend services are charged based on usage rather than a set amount of bandwidth or number of servers.
?In the early days of the web, anyone who wanted to create a web application had to own the physical hardware needed to run a server, which was a time-consuming and costly endeavor.
?Then came cloud computing, which allowed a limited number of servers or server space to be rented remotely. Programmers and businesses that rent these fixed units of server space typically over-purchase to ensure that a surge in traffic or activity does not surpass their monthly limits and cause their apps to fail. As a result, a significant portion of the server space charged may go unutilized.
What distinguishes serverless computing?
Cloud-based servers that manage websites or apps are probably familiar to you. If some of the products you've read about appear uncannily similar to serverless computing, you're not mistaken.
?Many cloud-based services, for example, have characteristics in common with serverless computing, such as:
?Because of its automatic scaling, serverless computing differs from all of these models. When you require additional space, you should usually contact your BaaS, PaaS, or IaaS provider.
?As the technology gains traction, serverless computing is evolving. Some companies, for example, are testing distributed networks with nodes located far from central data centers. This configuration lowers latency and improves user experience.
Use Cases for the Serverless computing
Multimedia and data processing
When users upload a media file, a lot of processing is required before it is served to the customer; for example, when we upload a video on any streaming service, it needs to be processed to be served in a different format and different resolution to support various bandwidths and devices. This processing requires a good amount of resources; utilizing serverless architecture allows one to pay for resources only when required while having the opportunity to scale as needed.
Web Applications
One of the common use cases for serverless is to support web applications by building the Backend APIs, which has the ability to scale to fluctuating load scenarios. For e.g., the e-commerce website will be able to handle the load seamlessly, whether it is during a Thanksgiving day sale or on a regular day.
Internet of Things
IoT refers to household devices that connect to the internet, whether it is your garage opener or Alexa. These devices need to process the data only when an event is triggered, and it is difficult to assess the volume of such events. So serverless with automatic scaling and usage-based pricing is a very good option for IoT's unpredictable usage patterns.
Processing Events
The event-driven nature of serverless is well suited for processing huge log files. We can use AWS Lambda or Azure functions to process and search the log files from various streams to analyze for failures or any abnormal patterns.
Advantages of serverless computing:
Disadvantages of serverless computing: