Understand the Relation of FaaS with Serverless
One thing you should keep in mind before starting to read this article and that is, Serverless architecture is not equal to FaaS (Functions as a Service). Serverless is not necessary to use FaaS, but FaaS is an essential component to use serverless computing. Serverless computing is gaining attention from all over the world because of the several cloud vendors who have hyped about it so much. But, the hype doesn’t exist for the sake of it, it exists because serverless promises the enhanced business implementation with low costs and that’s why it is attracting eyeballs of the tech-rookies! Well, I consider that you read our previous article about what is serverless architecture, its structure and the way it works. Let’s cover some more aspects of it here and its vital component, i.e., FaaS. Function as a Service / Mobile Backend as a Service is the thing which drives serverless computing.
What are Functions as a Service (FaaS)?
FaaS is a serverless application where the developers/engineers build separate business logic as a function for each event. These functions get triggered in milliseconds and execute the specific set of requests in an approx. 300-second timeout as told by most cloud vendors.
The Ideologies of FaaS
- Complete server management
- Appeal based billing
- Event-driven and promptly scalable
Key characteristics of FaaS
- Autonomous, Server-side, & Logical functions
The function is what the developers have already been used to do in code. Functions are basically a set, or units of logic serving one specific need by taking some required inputs. It gives out the required result after processing those necessary inputs.
- Stateless
Being serverless means the things are stateless. After execution of the code, you can’t save that file into your storage forever. If the same function is called twice, they can run on different containers.
- Transient
The purpose of FaaS is to do their work fast by spinning up quickly and shut down after that. They can’t keep hanging like that. The underlying containers are in process during the task.
- Triggers on event
Functions can get invoked directly but usually, they are summoned by the events from the services like HTTP requests, inbound notifications, or database interactions. Basically, FaaS serves as a glue in between the services of the cloud environment.
- Gives Default Scalability
Stateless functions can initialise multiple containers which allow many functions to run parallel if required so that it can serve all the coming requests without any gap.
- Fully managed by your CSP
Your cloud service provider completely manages the Function as a Service and related solutions. The support varies in all different range of languages like .NET. Python, Node.js, etc.
Upsides of Serverless Architecture
From the business point of view –
- Serverless is highly cost-effective as it measures the cost on the basis of a total number of executions and the time of execution, so you actually pay as you go based on each millisecond, instead of the hours.
- High agility due to smaller dispatch-able units assists in getting faster delivery of the features and solutions in the markets. This agility can cause a rise in the ability to adapt to changes.
- Talking of the cost factor, you don’t need to hire the backend engineers which in turn, saves more cost. The same reduction goes with the operational costs as well.
From the developer’s point of view –
- Reduction in liability as they don’t have to take care of a backend infrastructure
- Zero administration of the system
- Swift operational management.
- Easy acceptance of microservices, nano-services, and SOA principles
- Quicker set up ability
- Highly auto-scalable and hence can handle multiple concurrent requests
- Due to out of the box monitoring, it allows innovation
From the user’s point of view –
- Businesses are adopting and deploying the new products and features faster due to the competitive edge, and hence customers are enjoying the new products and features.
- Users are getting their own storage backend on almost every possible application.
- Such apps save the caches on the user’s machines and it can be a reason for having a good offline experience.
Downsides of Serverless Architecture
From the business point of view –
- Reduction in the control
- Need of trust factor from third-party providers due to vendor lock-in
- Third party’s trust is essential for additional exposure risks
- Risks of securities and disaster recovery
- Such disadvantages can be removed by using open-source options but then they can’t get the cost benefits mentioned earlier
From the developer’s point of view –
- When the technology is naive, it gives rise to several unclear practices
- Increase in the architectural complexity
- The need of discipline against function trail
- Due to multi-tenancy, the fellow functions can take over the system resources when not monitored
- Local testing gets trickier
- The local site gets severe restrictions
- The duration of execution can get capped
- The absence of operational tools
From the user’s point of view –
If an app is not built precisely, then the user experience can be poor because of the request latency increases
Summary
Serverless architecture is definitely very electrifying, but it too comes with a set of boundaries. The strength and success of architectures rely on the business requirements and not solely on technology. Therefore, serverless is a perfect fit when used developed and used properly.
- Have You Chosen the Right Cloud Service for Migration? - December 6, 2019
- IoT Touching Your Life - November 12, 2019
- Transform and Automate Your Logistics with RPA - November 5, 2019