The growth and maturity of DevOps has been faster than cloud. Although the concepts were there, the essence of cloud and DevOps was coined in 2006 and 2009, respectively. Within a decade, DevOps has become pervasive, and now, right from start-ups to established companies, no one can ignore it.
Conceptually, when a job needs meticulousness, automating it leads to improved Quality of Service (QoS) and optimized resources with better results (output, experience and so on) in less (time, cost). However, when a job needs meticulousness and intelligence, merely automating cannot make it successful. It requires automation with intelligence. It is this potential of computing that has made the use of DevOps grow faster than cloud.
With the above context in mind, here are a few DevOps technology trends for 2019.
Leverage Artificial Intelligence (AI) and Machine Learning (ML) for effective DevOps: This is understood to be the largest trend for DevOps. DevOps helps automate and improve delivery processes. Although, integration, build and release processes existed before, they were mainly manual. Manual processes didn’t generate a large amount of data automatically—the engineer had to capture this data. Manually captured data is not accurate. Moreover, since the cost of capturing data is high, the volume of data captured usually turns out to be small.
DevOps generates a large amount of accurate data. Applications usually collect a huge amount of data on end-user interaction. This data includes: frequently used features of the application, demography of the users, and more. Additionally, applications record the infrastructural changes made over a period of time. This data consists of the capabilities of the deployment environment at any particular time. This large amount of accurate data is fuelling the application of ML/AI in DevOps. Thus, enabling businesses to focus on prioritized areas that have the maximum impact.
Security as a building block: Securing applications has mostly been a reactive process. With SaaS, security has become of paramount importance. The optimized way to handle any qualitative parameter is to address it as early as possible in the lifecycle of the application. However, making every developer proficient in writing a secure code and then ensuring they remain abreast of new threats is tough. The organization will make use of various security tools to include security policies in the delivery pipeline itself. The integrated security tools embedded in the delivery pipeline can automatically detect security vulnerabilities in the application. The quality gates applied at different stages in the pipeline will make sure that the application deployed to production is safe and secure.
Database DevOps: Although the world wants to avoid (Microservices architecture) database-based applications (applications that heavily use a central database built), there is still a large number of applications deployed. In simplified terms, database changes are mostly done by DBAs and unless those become part of CI/CD, this will continue to remain a challenge. Database DevOps have been lagging because inherently ‘more users mean, more money being spent to improve’, and ‘more money being spent means, more maturity’. Nevertheless, this is one of the trends we will see in the coming years.
Large enterprises would shift focus from Continuous Delivery to Continuous Deployment: As I mentioned earlier, no one can ignore DevOps, but the fact is that not all large enterprises are utilizing its full potential. Of late, most of the large enterprises have started practicing continuous integration and continuous delivery. In 2019, these enterprises will focus on continuous deployment and other DevOps practices to improve ROI. So, this is not a new tech in DevOps, but a business trend for DevOps vendors and professionals. A large number of jobs will be in this area and specially for people who have domain knowledge and are familiar with the DevOps tech stack.
Manual Tester-End of life: No matter what business purpose the application serves, testing is an integral part of the delivery pipeline. In the world of DevOps, manual testing is becoming a bottleneck in the delivery pipeline. Organizations have already started minimizing manual testing and increased focus on having more automated test cases, right from the start. Also, the focus of automated test suits is not only functional, but includes all types of tests, which are not just limited to unit testing, UI testing, security testing, and performance testing. With reduced work on manual testing there is an adverse effect on the manual testers need. This is forcing manual testers to acquire programming skills and shift to writing code for automated tests.
In the last three to five years, we have seen the merging of roles that were earlier considered separate. For instance, back-end vs. front-end developer, developer vs. build and release engineer (operations), manual vs. automation QA, and more. With the concept of self-sustained teams, team members are expected to play all types of roles. Boundaries are blurring, but for a team member to perform multiple roles and do an efficient job, tools are the only help. Without the proper adoption of tools and change in the mindset of people, we cannot have successful enterprises. DevOps (along with AI/ML) is a fulcrum of this change in the future. This means, it is not just 2019, but for many years this will remain a hot tech.