Why Cloud-Native Development depends on DevOps
Blog: Capgemini CTO Blog
If you want to deliver modern applications in a flexible and agile environment, moving away from monolithic architecture and legacy processes is unavoidable. But does going cloud native always mean having to shift your IT culture to DevOps?
Put simply – yes. Achieving a successful cloud-native strategy means embracing agile, high-quality app development, enabled by DevOps and microservices.
I’ve witnessed many clients dealing with the cloud-native shift, and DevOps has always been the key to problem solving, collaboration, and continuous delivery.
The early challenges of adoption
Think about the waterfall approach and how long it can take to release code or make a simple amendment to a live application. Days, weeks, months even; in today’s agile world, this is unacceptable. Developers and operations teams can no longer work divided, and this is where your first challenge lies.
Legacy practices are hard to break, especially when experienced developers have to be retrained. You are not alone in this, and as we discovered from our Cloud Native Comes of Age report, 65% of respondents say cloud native is a significant cultural challenge.
Breaking down the silos and doing away with the wall between developers and operations will be met with resistance, but framing it as an evolution towards better apps, smoother development and faster deployment can help ease the transition.
Likewise, it’s important to acknowledge both teams’ opposing toolsets and metrics. Do away with the lingering “us vs. them” stigma by getting both teams together to discuss how they can achieve mutual benefits through tool integration and unifying certain metrics. At the end of it all, both teams should be aligned around one key goal: developing great apps, fast.
The cultural and technical benefits
In Cloud Native Comes of Age, we divided responding businesses into two groups: the leaders, who develop at least 20% of their new apps cloud-natively, and the laggards, who do not.
When pressed about their development approach, seven out of ten leaders described their DevOps teams as integrated, with the same number also describing their development to be “agile and continuous.” Laggards, on the other hand, suffered from a siloed work process, with less than four in ten reporting agile and continuous development.
At Pivotal, principal architect Matt Stine is absolute in his opinion on how to achieve continuous delivery in a cloud-native environment. And when pressed about whether it’s microservices that enable this style of working, the role of DevOps is immediately highlighted:
“You have to be doing DevOps, and you have to be doing continuous delivery in order to do microservices. They are about enabling business agility, and enabling resiliency of software. If you look very closely at those approaches, they are enabled by taking small teams working on small batches of behavior from a software perspective, and delivering them continuously. And by continuously, I mean we’re making deployment of software a non-event.”
By turning deployment into a non-event, your team can work in a culture of continuous, agile development – consistently working to improve the customer experience in a cooperative culture. There is no “final version,” your team will always be ready to code, amend and deploy. At Cloud Foundry Foundation, executive director Abby Kearns mirrors Matt’s conviction regarding DevOps and microservices. And when asked what kind of role DevOps plays, Abby draws parallels to today’s banking apps and their importance in improving the user experience:
“The mobile app isn’t something a bank can update once a year. You’re continuously developing and delivering code. More than that, you’re paying attention to what users are doing with the app, and making continuous improvements. So now we have this connective tissue between the user, the developer, but also the business people that own that division who are watching how customers use the app.”
What are your options?
If your critical infrastructure is based on APIs or a microservice architecture, there’s no reason not to embrace a DevOps methodology. If legacy processes still cast a long shadow over your development teams, then you may want to seek external help in driving a new culture built around agility and flexibility. It’s time to build a team for the future.
To see all the survey results, and get expert analysis of the role of DevOps in cloud-native strategies, download the full research report here.