DevOps: the future's cloud, the future's serverless
Cloud platforms are the main area of focus for DevOps practitioners, with serverless seen as an evolution of containers
Computing's latest research into DevOps has found that cloud platforms and automation are the main areas of focus for practitioners.
This is no surprise. DevOps emphasises frequent releases and constant feedback with repetitive manual tasks eliminated by automation, and cloud can make it easier to do this in an agile manner.
With DevOps the infrastructure is abstracted and implemented as code meaning that the machine configuration is part of the application. Cloud, particularly Platform as a Service (PaaS), makes it easier to scale this virtual infrastructure up and down as needed by the applications and to integrate with supporting services. In addition, many of the security and compliance requirements are taken care of by the cloud provider, reducing the need for this part of the testing process.
In addition, cloud makes it easier for virtual teams whose members may be located in different parts of the world, to collaborate more effectively. By all accounts, managing such distributed DevOps teams is no easy feat, but it is certainly made a little simpler when everyone is working in real-time on a common platform and with a shared set of tools and configurations.
Cloud providers have been quick to add DevOps-friendly features to their platforms, including 'serverless' or Function as a Service (FaaS) offerings such as AWS Lambda and Azure Functions, features to support microservices architecture that is increasingly favoured by developers, and continuous delivery and continuous integration tools to automate testing and deployment. Specialised third-party services also increasingly available as add-ons on a pay as you go basis.
Our interviewees saw serverless in particular as a game-changer, at least for simple applications, as it could allow them to leapfrog the need to deploy containers. Docker and similar container technologies make applications portable by packaging them with all the dependencies they need, which is very useful, but as a downside they can be complex to manage.
"Serverless is an evolution of containers. As long as you're operating your cloud service efficiently, you probably have the argument that you don't need containers," said the head of platform delivery in the travel sector.
"If I have a microservice that only needs a small amount of CPU to run and I've got my automated infrastructure in place, then I can run that across a lot of different small instances and as long as my build time is pretty quick, then I'm effectively replicating a container inside a small operating system and the service provider takes care of the spinning up and down."
The IoT is another factor driving the adoption of serverless, according to the head of applications in a media firm.
"If you think of the Internet of Things, everything's going to call home and send some data to a cloud. Then you can have a very simple process that grabs that and throws it into the database. That's something that you can stick in a serverless cloud and it scales very easily."