Serverless computing has emerged as a next branch in the “as-a-service” delivery model in the cloud. And the cloud providers are using the corrected terminology, i.e. "functions" and ignoring the term “serverless” in their products.
The right term would be FaaS - Function as a Service, not Server LESS itself.
- When Unix emerged as an OS in the market, "UX" was suffixed in HP-UX, AIX, Linux etc. -.
- When VM technology emerged in the market, "VM" was suffixed in VMware, KVM, ZVM etc.
- When Container Technology emerged in the market, we witnessed terms such as AWS ECS (Elastic Container Service), Azure Container Service, ICP products.
When Serverless framework emerged in the market, we saw AWS Lambda, GCP functions, Azure functions, OpenFaaS products without the “Serverless” term. They are clear that the term "Serverless" is misleading.
What does Serverless framework mean?
- No servers to provision (When you’re a cloud customer.)
- Developed code scales (up/down) on its usage
- When application isn’t consumed & is idle, it is free (Real pay-per-use)
- Provides HA, DR when designed properly.
While AWS Lambda was the first to debut in 2014, the list of FaaS providers started increasing. Major providers today are AWS Lambda, GCP Functions, Microsoft Azure functions, and IBM OpenWhisk.
The gap seen between PaaS and SaaS layers is quite large where the short-lived functions run statelessly (apps which do not save client data generated in one session for use in the next session with that client). This is also the main reason for the growth of FaaS which has already built SaaS on top of PaaS.
What is FaaS?
“Function as a Service” (FaaS) introduced by AWS Lambda helps to run a set of programming instructions with well-defined entry & exit points, having all the aspects of execution. These function codes are stateless, however, can read from and write to various “stateful” offerings (SQL, NoSQL, MQ, storages, etc.).
Though FaaS functions are stateless, they sit above the layer of compute server to give specific results on the browser/CLI. The developers didn't require full server, VM, or even a container to run this Server LESS. Today that LESS has become more and Server LESS terminology started surfacing.
When to use Server LESS?
The simple answer is “When Needed.”
Run a temporary job that should be called frequently. Take a real-life scenario, where we sweep our floors once in a day. Housekeeping? What are the Infrastructure jobs similar to this? If that can be a script, run it with Server LESS. In today's scenario, provisioning an infrastructure is taken care of by cloud providers, and developers code, and deploy in the public cloud system. The enterprises run those codes, but NOT continuously. Therefore, they end up paying only for the time that the code runs not on procuring infrastructure assets, bidding hosted server, or VMs.
A normal server that is provisioned is up 24/7, can be idle sometimes, allowing intruders enough time to spam, attack, etc.
Could you visualize the reduced cost?
This will soon make enterprises think about how effectively they can use their compute resources. It increases independence in terms of the technology stack and resources selection choices. Lock-in also gets reduced, though it can’t be avoided completely. Accept it, have a Plan B in place.
Are you able to visualize a clear requirement for "right" Coding/Developer community within the IT Industry?
FaaS - A Developer First scenario
Every company will develop its own FaaS experience. For that, they will need to work closely with several business units in your company and develop a strong strategy.
While building your own program, look to the following:
Benefits of FaaS/Serverless computing
- Scalable to the needs
- Cheap compared to other As-A-Service models
- Always available with underlying conditions
- Faster development
- Fewer maintenance activities required
Monitoring Solutions in FaaS/Server LESS Space
Post-development, facilitating the Ops team with monitoring capabilities helps to observe the performance of written functions.
- When running in the Amazon we can use CloudWatch and X-Ray
- When using Opensource Function, metrics can be taken from Prometheus + Tools for tracing, etc. plenty available for integration, time is the key for integration.
Future of Server LESS
Today, AWS Lambda, Azure Functions, Alibaba, and GCP lead are driving the openFaaS under public clouds umbrella. Remember, opensource Server less framework supports most of the popular cloud providers and are penetrating faster than other Serverless frameworks. Same time open source community is required to build strong use cases based on service integration among the multi-cloud, on-premise and private cloud systems.
OpenFaaS is one of the best examples. A fantastic UI, comparable to commercial providers, also comes with a simple CLI which Unix/Linux aspirants love has attracted a lot of attention from the community with features like single-click deployments that’s easy for the operations team to work with. YAML files will help to get started.
Security is always important. By being a cost-effective and worry-free app development solution, FaaS turns out to be the next industry standard following container technology.
When future offerings are based on cloud-native applications, FaaS will certainly have sufficient seats for related requirements and would have an important role in every software stack of the future.
Due to this, enterprises/CTOs would be influenced by "build applications" for their specific needs rather than "buy decisions". That’s the time when on-premise benefits would also be seen.