Technical considerations to manage risk, visibility, and control

What you need to know about enterprise-scale continuous delivery

Andrew Phillips
continuous delivery
A fragment of the engine image via Shutterstock

The idea that Continuous Delivery (CD) and DevOps can cut time to market and enable companies to ship higher quality code faster has driven widespread adoption. An impressive 65 percent of organizations are practicing CD on either their first project, or expanding and onboarding additional projects and teams, according to a DBMaestro survey.

There’s clearly a strong belief in the effectiveness of CD, but adopting it on an enterprise scale presents some serious challenges. This is a methodology that was pioneered by small, agile organizations with a lot of flexibility. How do you scale it up for global organizations that need to run hundreds or even thousands of concurrent deployments?

Large financial services providers or government agencies also have additional considerations in terms of compliance and regulations. There’s another layer of management that needs to have oversight and it’s not easy to create a collaborative environment that cuts across departments. While 72 percent of organizations have implemented some aspect of DevOps, only 20 percent feel they have reached maturity.

Building a complete pipeline

This lack of maturity also applies to CD adoption, where companies should look beyond the code to their end-to-end software delivery process. To realize the potential benefits in terms of speed and quality, you really need a repeatable, standardized process. You need to be able to automatically build your application, test it, and deploy it to any environment, whether it be a mobile app, a legacy enterprise application, or a mainframe system.

SEE ALSO: How to use microservices and containers for enterprise continuous delivery

Speed isn’t the only aim here – it’s about ensuring you can deliver quickly with high quality. Without automated testing and test analytics as part of the mix to help you make sense of all your test results, there’s a risk that your CD effort can turn into “Continuous Downtime”. If you have a small user base, you might get away with a quick rollback, but if you’re a financial services organization, even a small mistake can be catastrophic.

Creating cohesion

The scale and complexity of most enterprise organizations is what makes achieving CD so difficult. You need supporting automation tools that allow for flexibility and are smart enough to apply different strategies to cater for different technologies and target environments. Perhaps you want to apply different automation sequences to handle the requirements of a specific environment, but you don’t want to write all that logic out yourself. The right tool will handle it for you.

If you think about all the steps required to go from development into production with your applications, you’ll discover that need to combine a big mix of activities – automated and manual, technology- and process-oriented — into your pipeline. You’ll want to update the database, deploy the rest of the code, run and review tests, integrate components from different teams, request and verify approvals, update configuration management systems and more. It takes time to remove manual steps and shift toward automation, and you really need to be able to analyze your processes across all your teams to identify the bottlenecks and understand those changes that will make the most difference.

Accessible oversight

In a small company where everyone can sit around the table and discuss where the process problems are, you can quickly identify where to invest. Within the enterprise, you’re trying to assimilate data from tens, or maybe even hundreds of teams. It’s often not clear where to invest for maximum improvement, and that’s why automated, accessible analytics are so important.

SEE ALSO: “Continuous Delivery is not a technical transition” | DevOpsCon

This isn’t just for technical people. Projects managers, higher management, product owners, and customers will also want to gain some insight. The data must be presented in a highly configurable way that makes sense for different audiences.

It’s only by delivering business benefits in a demonstrable way that you can overcome resistance to change and justify further investment. It’s not enough to get results, you also need to be able to show that things are working, so you can replicate your successes on a wider scale. Make sure you analyze and tweak to improve process quality, just as you do for your application.

You can find the on-demand webinar for this topic here.

Author
Andrew Phillips
Andrew Phillips, VP of DevOps Strategy for XebiaLabs, the leading provider of software for Continuous Delivery and DevOps. The author is a cloud, service delivery and automation expert and has been part of the shift to more automated application delivery platforms. He contributes to a number of open source projects including Apache jclouds, the leading cloud library, and is a co-organizer of the DynamicInfraDays container community events. He is also a frequent contributor to DevOps Magazine, DZone, InfoQ, CM Crossroads and SD Times.

Comments
comments powered by Disqus