This content is part of the Essential Guide: An enterprise guide to serverless computing

How serverless computing affects a cloud operations team

Serverless architectures can cut costs and improve the user experience. But enterprises should prepare for how a serverless model changes day-to-day cloud operations.

Virtual resources have always created a challenge for operations teams. Most IT professionals learned their skills in an age where organizations deployed servers, maintained consistent operating systems and middleware on each, and assigned applications to those servers in a way that could optimize efficiency and performance. But virtual resources -- particularly those in the cloud -- break the connection to the physical world. They require a cloud operations team to plan hosting, and view redeployment, in new ways.

The emerging concept of serverless computing in the cloud demands even more change of IT admins and cloud operations teams, ranging from the way they track cloud costs to the management tools they use.

Serverless computing changes public cloud costs

Serverless computing is a model for public cloud services in which users pay to run application components, rather than for the resources on which they run. With serverless computing, cloud providers don't charge for standby resources, and applications aren't assigned to a specific hosting environment. Cloud providers decide where to run an application component when it's needed, based on service-level agreements and their own resource efficiencies.

IT operations practices for bare-metal or virtual machines work fairly well with the traditional pay-as-you-go cloud pricing model. You build a machine image that contains the right operating system and middleware version, combine that with the application images and deploy it on a cloud server that has the specific characteristics you need.

Serverless computing takes the explicit notion of a cloud server away. Instead of paying a fixed price for the server instance, you pay when your application runs. That means applications with spotty usage would likely cost you less, and those that run continuously might cost more.

For serverless computing, a cloud operations team needs to rethink application costs based on the usage of each separate application component. To start, deploy traditional monitoring tools to find out how often your applications are used. Used, in this sense, means given work to do -- not just being available. Those usage rates, combined with the serverless pricing models of cloud providers, will tell you which provider will run serverless applications at the lowest cost and which applications may be unsuitable for the serverless model.

Manage event-driven applications

Cost isn't the only big change serverless computing brings to a cloud operations team. The primary drive behind serverless computing isn't price -- it's flexibility. Most legacy applications are transactional, meaning a specific set of users generates specific inquiries or updates that the applications process.

Serverless computing in the cloud is driven by event-based applications. These applications may be linked to not only a few users, but to millions of mobile users or billions of internet-of-things devices. At certain times, there may be no events at all for these applications, and at others, they could be flooded. To handle this application model, it's best to spin up processing resources on demand, which is why serverless computing fits well.

When you select cloud providers for serverless, remember that their operations data and tools are just as important as their pricing.

However, the flexibility and elasticity of serverless computing creates cloud operations issues, too.

First, it's not possible to scale all applications or their components on demand. You have to ensure that two copies of the same application can run side by side without colliding in database updates. Also, make sure that when you spin up a host of serverless components to handle increased load, it doesn't bog down performance of core business applications, such as the database system.

Serverless applications are a mix of different components, constantly spinning up and disappearing. A cloud operations team can't determine the sum of their capabilities and costs by measuring virtual machine usage. This means cloud administration teams, as well as operations and development, have to forge a new partnership to optimally use serverless computing.

Evolve your cloud management tools and data for serverless

These IT teams also require new data to successfully deploy and maintain applications in serverless computing. Old-style virtual machine operations data isn't useful, or even available, in the serverless cloud. Instead, the cloud provider's own tools and statistics on serverless applications become the critical operations resource for day-to-day use. When you select cloud providers for serverless, remember that their operations data and tools are just as important as their pricing.

It's still possible to supplement cloud provider data with your own. Through cooperation with developers, IT teams can include some statistics-gathering features into the serverless components of each application. The applications themselves may also be able to provide you with end-to-end response times and quality-of-experience (QoE) data. The operations focus for serverless computing in the cloud is on application performance, not virtual machine performance, so focus on this new data for proper administration.

Serverless computing is still in its infancy. Traditional IT and cloud operations tools have only limited applicability to serverless environments. Even DevOps tools that focus on deployment can't operate as usual when the deployment is entirely virtual. Most users will probably overlook the need to customize applications for serverless use and, as a result, gain little or no benefit. Plan every step carefully for serverless adoption, and validate that you can sustain QoE and cost-effectiveness.

Next Steps

Compare serverless services from AWS and Azure

Learn how to create a Lambda function

Explore Azure Functions and if it's right for you

How well do you know serverless computing?

Dig Deeper on Cloud architecture design and planning