Serverless Computing: New Hype or Paradigm Shift?
Have you ever wondered why you should pay for your cloud VM (Virtual Machine) even when your server applications are not used? Cloud computing provides increased flexibility in IT operations, through reducing IT capital expenses and enabling pay-as-you-go models. However, cloud services are charged per hour or per VM, even when computing resources in the cloud data center are not practically used. For such cases a range of more cost-effective solutions has been recently introduced, based on a new paradigm, coined “Serverless computing”.
The term “Serverless computing” has been around since 2-3 years i.e. since the release of Amazon’s AWS Lamda serverless computing platform. The term ‘serverless’ can be quite misleading, since serverless computing does not mean running an application without servers. Rather, it is another form of cloud-based service delivery (i.e. similar to PaaS: Platform as a Service) where the cloud provider charges for services on the basis of the requests to execute a function, instead of conventional cloud measures such as charging per VM used or according to time. This holds the promise to reduce the costs of cloud service delivery by charging for actual usage rather than continuous use of cloud resources. The use of the function as a measure of execution and mode of service delivery is also the reason why serverless computing is sometimes characterized as function as a service (FaaS).
In several cases, FaaS is not used in stand-alone mode, but rather in conjunction with other cloud computing and programming paradigms, such as microservices. For example its quite common for web applications to have one of their parts running in the cloud as microservice and another in a serverless fashion. It’s also common to use serverless code in rich client applications (e.g., sophisticated “fat” web apps or mobile apps) in order to access databases and authentication services in the cloud. The latter, authentication services (such as for example the Auth0 single sign-on and token based authentication), are commonly provided as FaaS. Likewise, the serverless paradigm is used in cases where server-side logic runs in third-party managed, stateless, event triggered containers. In such cases delivering functions in an ad-hoc fashion and charging them per invocation is much more practical and cost effective than the conventional “always connected” cloud computing way. Along these general lines and principles, let’s see some practical use cases.
As evident from the above-listed use cases, FaaS is a good option for handling short running, stateless and event driven functionalities.
FaaS has a clear value proposition when the scaling of an application has to be done at the level of an individual function. This is probably the main differentiator between PaaS and FaaS, as both are cloud models providing scalability and pay-as-you-go characteristics. In general following are the differences between PaaS and FaaS:
As already outlined, AWS Lambda is nowadays the most prominent FaaS infrastructure, which is actually considered almost synonymous to serverless computing. AWS Lambda enables the execution of functions, without any need for provisioning or managing servers. It therefore enables a model where there are no charges when the serverless code or function is not used. It provides continuous scaling of a FaaS application as triggers arrive in the cloud and workloads becomes larger. Furthermore, Lambda implements a FaaS oriented metering and charging mechanism, which charges users based on the number of times the code is triggered, while keeping track of use in a time granularity of 100ms.
FUNKTION, is a framework for lambda programming for the Kubernetes container orchestration system. It enables the development of functions in any programming language, while providing the means to access them over HTTP/HTTPS. Furthermore, it facilitates subscriptions to many different event sources (e.g., messaging systems, social media, databases) for FaaS programming.
Apart from Lambda, there is also the Fission framework, which enables the execution of serverless functions over Kubernetes. Using Fission, one can benefit from automated scaling and deployment of the FaaS paradigm. Functions can be instantly deployed using a single command and without any need to build containers and to manage registries.
Serverless computing is certainly a promising paradigm with clear added-value for event-driven applications. Nevertheless, it seems to be complementing, rather than completely replacing, conventional cloud computing models such as PaaS. Hence, FaaS is here to stay, but its level of adoption and overall acceptance remains to be seen.
Modern IT Infrastructure Management for SMBs
How is the Coronavirus affecting the Global Economy?
Guidelines for Effective Risk Management in the Digital Era
Seven Development Directions for the Smart ERPs of the Future
AI and Databases: A Symbiotic Relationship
Seven popular Web Application Development Frameworks
Internet Marketing Opportunities on TikTok
Eight UI/UX Design Best Practices for SMBs
How can Cognitive Computing improve your Marketing Efficiency?
BigData and AI: Problem Solvers or Problem Generators?
We're here to help!
No obligation quotes in 48 hours. Teams setup within 2 weeks.
If you are a Service Provider looking to register, please fill out this Information Request and someone will get in touch.
Outsource with Confidence to high quality Service Providers.
If you are a Service Provider looking to register, please fill out
this Information Request and someone will get in
Enter your email id and we'll send a link to reset your password to the address
we have for your account.
The IT Exchange service provider network is exclusive and by-invite. There is
no cost to get on-board;
if you are competent in your areas of focus, then you are welcome. As a part of this exclusive