Serverless Computing, IT Ops & Powering Technology Enabled App Delivery
Is there a role for serverless computing in IT Operations? Beth Pariseau of TechTarget recently published an article, “Serverless deployment spells fresh opportunities for IT ops” in which she effectively argued the answer is yes, even when no servers are directly managed. As a trusted advisor on this and related topics to enterprises across industries, our very own Aater Suleman was asked to weigh in on the subject. We’d like to share his insights here with you as well as expand a little on our view of the near-term future for serverless computing.
First, let’s define exactly what we mean by serverless computing and why we’re even talking about it in the context of IT Operations. Serverless computing actually does not mean running code without a server. Rather, serverless computing provides yet another layer of abstraction from the server, elevating the layer at which SysAdmins interact with systems. Also referred to as Function as a Service (or FaaS), serverless computing has been named as such as the IT Operations team responsible for the system no longer needs to provision servers for the code to run on.
Typically used when building microservices applications, interest in serverless computing has begun to blossom lately, especially with AWS Lambda and the introduction of the AWS Serverless Application Model (SAM). And, we wager that interest won’t wane anytime soon.
Looking at serverless computing from the standpoint of IT Operations, a question definitely worth asking is what it means for sysadmins and their role. Are they really managing anything at all? The answer really gets to the heart of how you define IT Ops. If you define it through the lens of DevOps and look at it as powering technology-enabled application delivery, then IT Ops is indeed still very relevant.
In this vein, we tend to view the delivery of technology in four parts: code; configuration; security rules and policies; and automated infrastructure, or Infrastructure as Code. Looking at it this way, it’s clear that serverless by no means eliminates security, for example. Teams still need to define security policies when using AWS Lambda functions, even though they’re serverless. Moreover, admins must facilitate secure access to other resources, (e.g. databases) via AWS IAM.
In addition, we don’t see the whole world becoming serverless overnight as converting to serverless is non-trivial. Given this, let’s briefly examine two reasons:
1) Traditional, legacy code that sits on servers today. We see organizations slowly moving this code to containers. From here, some organizations choose to turn their monolithic apps into smaller services, adopting a microservices architecture. A next step for some of these organizations certainly could be serverless. While it’s not trivial to convert 20 years of work to serverless overnight, legacy code could take decades to migrate and the first step in this process will be containers not serverless.
2) New applications. Again, there will be new applications that are well-suited for a serverless approach while some will not be. For example, Amazon Lambda is a greenfield app that fits in this mold. In addition to technology considerations, there are also business cases where serverless makes sense. For example, serverless is a pay as you go model which could make good financial sense. But, like all things pay as you go, there’s a point in time where applications may have to run 24X7 and therefore the pay as you go economics may not pencil out.
Over time, economics will shift and more people will rewrite code to take advantage of serverless making serverless more and more a reality.
A last consideration when discussing serverless and IT Ops is the need for monitoring of the serverless environment itself. And, indeed, we find that as platforms mature, one of the biggest benefits IT Ops can provide is business monitoring. As Mr. Suleman notes in the article, “with monitoring and analysis come new ways of adding value to one’s organization.”
For example, we have a customer who builds Apple iOS applications that is talking about a granularity that has never been possible before. Starting in 2015, this customer took a serverless approach with almost all of its apps. Using Lambda they are able to take the data generated from each and plug it into a business model that helps them understand the cost. With this, they are now able to tell you down to the penny what each customer cost them. Again, from Mr. Suleman, “It’s always been black magic how you distribute infrastructure costs, even in the data center among applications.” However, now this customer has gained a distinct business advantage from serverless monitoring and analysis.