If someone asked me a simple definition of ‘serverless’, I will say that it’s a software architecture wherein the application logic is performed without operating systems, virtual machines, obvious processes and servers. The service provider is responsible for provisioning and managing the infrastructure so that the software developer doesn’t have to worry about it. The software developers can rather focus on writing the code.
Image Source: http://asvignesh.in/from-virtual-machine-to-container-to-serverless-vmware/
Serverless architecture breaks down server-side application into functions responsible for performing distinct tasks. It lets the complete application to be divided into disparate, loosely coupled components capable of being operated at a scale that is required.
Software developers think of way of connecting services and functions with the external world. They typically use a traditional approach that helps them combine several distributed processes at the time of installation, execution and updating of these processes for precise operating systems that run on some virtual machines and servers. With the serverless approach, 3rd-party service provider is responsible for processes, servers and operating systems.
Serverless has become popular, there is no doubt about it. One of the main reasons for its popularity is due to its AWS’ serverless offering with AWS Lambda and Azure’s functions. This interest grew as it supports building microservices applications. Serverless can empower in ways more than one. For example, it adds the ability to calculate each customer transaction
In an article titled, Serverless deployment spells fresh opportunities for IT ops, writer Beth Pariseau explores how serverless computing has a role to play in IT operations even when there are no servers that are directly managed. It does not imply running the code with the need of a server. It adds another abstraction layer at server level, adding another layer at which System Administrators must interact with the systems. It is also called FaaS or Function as a Service. The IT operations team needn’t provision the code where they need to run the code.
Is there a need for IT ops to manage anything in serverless? Yes, if seen from a DevOps perspective and if seen it as an application delivery engine that is technology powered. With this understanding of delivery there are 4 critical aspects – rules, code, configuration, automated infrastructure (infrastructure as code) and security. The concerned team must define security policies at the time AWS Lambda functions. For example, System admins should provide secure access to databases through AWS IAM.
It is not possible to become serverless overnight as transforming to it is non-trivial. It is primarily because of 2 reasons. The first one being that organizations, adopting a microservices architecture, are gradually moving from code to containers wherein some prefer to turn monolithic apps to smaller services. Transforming serverless means turning the work they might have done for over 2 decades into containers first and then transforming to serverless. The second reason is that not all applications will be suited for serverless architecture. One of the applications that does suit the serverless is Amazon Lambda (a greenfield app). The business case of applications should also be suitable for a transformation to serverless besides technology case. Serverless is pay as you go model so it doesn’t make sense for applications that run round-the-clock.
You can’t discount the need to monitor serverless environment itself. The IT ops teams must have to monitor, add value and analyze serverless architecture constantly.
If you wish to discuss more about serverless computing and how it can transform your IT operations, you can speak to us today.