December 18, 2018
If you’re part of a DevOps team, you spend a lot of time making sure the gears of integration, testing and deployment processes mesh smoothly, so that your organization achieves its goal of continuous deployment and dependable releases.
If you’ve worked with serverless platforms before, you’ve probably enjoyed the luxury of simply uploading your microservice code and not worrying about allocating machines or preparing deployment packages. It’s like plugging into a socket without having to know how the electricity gets there. A lot of the “housekeeping” that was traditionally the DevOps team’s bread-and-butter – like provisioning, packaging, monitoring, and maintenance – is done by the serverless (FaaS) provider. But does this mean that the DevOps role has become redundant?
Managing your platform infrastructure can eat up a lot of your time and resources. You may have found yourself wishing for a service that magically handles platform tasks, leaving you in peace to concentrate on your code. This is where platforms like AWS Lambda and Azure Functions come in. Serverless platforms provide dynamic allocation of physical and virtual resources, transparent scaling up or down according to your usage needs, monitoring and ongoing maintenance.
In addition, in the serverless model, code is handled in small, self-contained functions. You don’t have to worry about multithreading or messaging interfaces, and can concentrate purely on backend functionality. And finally, serverless pricing is based on the actual amount of computing resources your code consumes (per GB/second) without paying for idle time; this can save a lot on operational costs.
But every silver lining has a cloud. Serverless platforms still need the usual post-development tasks like debugging, performance analysis, and ensuring security. These come with a new set of challenges, since the standard tools can’t be deployed on the serverless platform itself.
As new tools pop up to meet the needs of serverless platforms, DevOps teams will have to learn how to use them. It will be the DevOps team’s responsibility to make a smooth, effective transition to the serverless model.
DevOps has always been about defining and refining holistic processes for building, testing, deploying and securing applications. That central mission doesn’t change with the arrival of serverless platforms, even though some of the specific tasks may change and the team may need to learn new skills. Whatever their new roles are, DevOps team members should be clear on their goal: working together seamlessly to achieve a high-quality, continuous release cycle.
“Serverless infrastructure…does not give product owners a free pass to ignore development and delivery best practices. Strong CI/CD automation and a DevOps mindset can help amplify the value of serverless infrastructure without significantly slowing down new feature implementation,” says Coveros’ Technical Manager.
So if you’re a DevOps member, don’t get out your fishing gear just yet. There’s still more than enough to do in support of serverless architectures. You’ll need to develop strategies to address new challenges. New tools will emerge into the serverless ecosystem, which you’ll need to master. And you’ll need to design your serverless architecture for best performance and lowest cost.