DevOps Institute will host SKILup Festival in Singapore on November 15, 2022.
DevOps has been increasingly gaining traction over the last few years. Because of its ability to take out the software development and operations teams from the relative silos they have historically operated in and getting them to work together, in turn improving their efficiency, DevOps is currently seeing its widespread adoption throughout the industry.
According to Statista report, the number of organizations that have fully embraced DevOps has grown from 10 percent in 2017 to 17 percent in 2018. While the 2019 numbers are yet to come in, the trend clearly indicates that the adoption of DevOps within the software development community is only going to go up as further advancements take place in the field.
With companies of all sizes right from upcoming startups to well-established enterprises incorporating DevOps practices into their workflows, it is intriguing to uncover what the future of DevOps is going to look like.
As we turn another leaf over the calendar pages and with 2020 just around the corner, here are our top DevOps predictions for 2020 and beyond.
1. Baking security into DevOps
The organizations adopting DevOps have long realized that threats and malicious attacks on the software can occur at any stage of the software lifecycle. The security approach in DevOps needs to go beyond merely scanning and fixing of issues and needs to integrate a proactive approach towards security right from the beginning.
2020 will likely see companies moving more and more towards the adoption of DevSecOps, a security-first approach to the DevOps process. DevSecOps at its core is all about injecting security ever since the culmination of the software development life cycle by decreasing potential vulnerabilities in the software being developed.
Following DevSecOps would enable the development teams to generate code that is secure at a faster rate which streamlines the testing phase thus facilitating the developer workflow throughout the software development life cycle. By eliminating the need to focus on security testing right at the end, the security-first approach propagated by DevSecOps increases the chances of the developers delivering an error-free code and reduces vulnerability in the application.
As an additional measure of security, companies adopting DevOps for seamless application delivery would also proactively engineer failure into their systems by undertaking chaos and resilience engineering. While the shift-left approach in DevOps focuses on introducing testing earlier in the software development life cycle, to ensure robust security in the applications being developed, companies would also be taking on a shift-right approach simultaneously — i.e. testing in the production environment too.
Chaos engineering is all about testing the application for resiliency and figuring out how the app would withstand possible threats by simulating adverse conditions. This includes simulated DDoS attacks, server and data center breakdowns and intentionally injecting faults within the applications to ensure that the teams are better prepared to handle any disruption that occurs.
2. Moving from monolithic architecture to microservices and serverless architecture
Traditionally DevOps teams ran on monolithic architecture in the form of a single unit. The shift towards microservices which comprise of smaller, fragmented and interconnected units has been ongoing over the past few years.
Microservices and DevOps are a natural fit for each other as they both focus on achieving operational efficiency. Since they are an independent unit, the breakdown of one microservice does not affect the other elements. The defects can be isolated and fixed without the breakdown of other elements thus accelerating the speed of application delivery and introducing agility in the development process.
The trend of transformation of the architecture would further increase in 2020 with definitive propulsion towards containerization and moving to the cloud. The typical application architecture comprising of web servers and database servers are soon going to be a thing of the past as they get replaced with containerized and serverless applications.
A serverless architecture relies on third-party services to provide the application backend which significantly reduces the support overhead. Cloud servers do exist but instead of being the responsibility of the operations engineers, managing them falls on the service providers which improves the start-up time and resource utilization in DevOps.
Companies would continue to embrace containers for running cloud-native apps as they would save time, introduce efficiency, reduce the cost and ensure the resilient flow of work while allowing the developers to focus on the core application.