Welcome!

@DevOpsSummit Authors: Yeshim Deniz, Zakia Bouachraoui, Pat Romanski, Liz McMillan, Elizabeth White

Related Topics: @DevOpsSummit, Java IoT, Industrial IoT, Microservices Expo, Linux Containers, Containers Expo Blog

@DevOpsSummit: Blog Post

Continuous Delivery Plumbing | @DevOpsSummit #DevOps #Docker #Microservices #ContinuousDelivery

DevOps teams and Continuous Delivery processes must continue to adapt and improve

DevOps and Continuous Delivery Plumbing - Unblocking the Pipes

Jack Welch, the former CEO of GE once said - "If the rate of change on the outside is happening faster than the rate of change on the inside, the end is in sight." This rings truer than ever - especially because business success is inextricably associated with those organizations who've got really good at delivering high-quality software innovations - innovations that disrupt existing markets and carve out new ones.

Like the businesses they've helped digitally transform, DevOps teams and Continuous Delivery processes must themselves continue to adapt and improve. Demands will increase to a point where the dizzying deployments seen today are standard and routine tomorrow. Even with great culture, a plethora of tools and herculean team efforts, there will be a point where many other systemic issues impose a limit of what's actually achievable with DevOps.

One way to address this is with what I call Continuous Delivery plumbing - that is, finding every process and technology issue causing a blockage, applying automation to clear the pipes, and ultimately increasing the flow of value to customers. It sounds simple in theory, but like actual plumbing you'll need to get your hands dirty.

Any idle time is terminal - Continuous Delivery goals like faster lead times often remain elusive because of the constraints deliberately or unintentionally placed on IT. It's hard of course to counter entrenched culture and procedural over-excesses, but we continue to be plagued by problems that are well within our control to fix. These include the usual suspects of development waiting on infrastructure dependencies, manual and error-prone release processes, too many handoffs, plus of course leaving testing and monitoring too late in the lifecycle.

Tools driving process improvements have to some extent helped. Now open source nuggets like Git and Jenkins enable developers to quickly integrate code and automate builds so that problems are detected earlier. Other advanced techniques like containerization are making application portability and reusability a reality, while simulating constrained or unavailable systems allows developers, testers and performance teams to work in parallel for faster delivery.

All these (and many other) tools have a key role to play, but in the context of Continuous Delivery, we often lack the insights needed to purposefully action our considerable investments in pipeline automation - if you will, automate the automation. For example, node-based configuration management is a wonderful thing, but how much more powerful would it be if those configurations were managed in context of an actual application-level baseline during the release process. Similarly, how much time could we save if test assets were automatically generated based on dynamic performance baselines established during release cycles.

Quality inspection actually sucks - There's a lot to love about DevOps and Lean, especially the transformative thinking (ala W. Edwards Deming) on why quality should start and end with the customer. Now in the consumer-centric age, customers rate business on the quality of software interactions and how quickly these experiences can be improved and extended.

But maintaining a fluid balance of speed and quality has proved difficult with existing processes. Too often interrupt driven code inspections, QA testing and rigid compliance checks are grossly mismatched to more agile styles of development and the types of applications now being delivered. Also, many existing processes only give an indication of quality shortfalls, rather than provide teams information needed to drive quality improvements. For example, application performance management (mostly used in production) should also be established into the Continuous Delivery process itself - that'll help DevOps teams continue to find the quality "spot fires" - yes, but also build the feedback loops needed to do what's really awesome - extinguish them completely.

The bar will never be high enough - as application architecture transitions from monolithic to microservice, operational capabilities will become a critical business differentiator. With literally thousands of loosely coupled services being deployed at different rates, success will depend on managing these new platforms at scale. There are other specific challenges too. Newer dynamic microservice architectures with design for failure approaches make it increasingly difficult to build consistent development environments, which when considered with complexities surrounding, messaging and service interaction means comprehensive testing becomes much more challenging.

From a purely quantitative perspective, release automation processes can (provided they scale) solve many of these issues. However, as we continue to raise the bar, it's also important to ensure that continuous delivery leverages and fuses other processes as the means to drive improvements - for example by capturing realistic performance information before testing, cross-functional teams can establish and develop much more confidence in releases. This is much preferable to the traditional approach of monitoring only ever being used to detect problems after the proverbial horse has bolted.

Business success now hinges on the ability to constantly meet the demand for innovative, high-quality applications. But this is challenging if organizations rely on systems and processes that were only ever designed to deploy software in larger increments over longer cycles. Achieving Continuous Delivery to overcome these obstacles is a fundamental goal of DevOps. This means always ensuring the ‘pipes are unblocked' by removing constraints, improving testing efficiency, and enriching processes to increase the velocity and quality of software releases.

More Stories By Pete Waterhouse

Pete Waterhouse, Senior Strategist at CA Technologies, is a business technologist with 20+ years’ experience in development, strategy, marketing and executive management. He is a recognized thought leader, speaker and blogger – covering key trends such as DevOps, Mobility, Cloud and the Internet of Things.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


@DevOpsSummit Stories
Dion Hinchcliffe is an internationally recognized digital expert, bestselling book author, frequent keynote speaker, analyst, futurist, and transformation expert based in Washington, DC. He is currently Chief Strategy Officer at the industry-leading digital strategy and online community solutions firm, 7Summits.
Addteq is a leader in providing business solutions to Enterprise clients. Addteq has been in the business for more than 10 years. Through the use of DevOps automation, Addteq strives on creating innovative solutions to solve business processes. Clients depend on Addteq to modernize the software delivery process by providing Atlassian solutions, create custom add-ons, conduct training, offer hosting, perform DevOps services, and provide overall support services.
Contino is a global technical consultancy that helps highly-regulated enterprises transform faster, modernizing their way of working through DevOps and cloud computing. They focus on building capability and assisting our clients to in-source strategic technology capability so they get to market quickly and build their own innovation engine.
The standardization of container runtimes and images has sparked the creation of an almost overwhelming number of new open source projects that build on and otherwise work with these specifications. Of course, there's Kubernetes, which orchestrates and manages collections of containers. It was one of the first and best-known examples of projects that make containers truly useful for production use. However, more recently, the container ecosystem has truly exploded. A service mesh like Istio addresses many of the challenges faced by developers and operators as monolithic applications transition towards a distributed microservice architecture. A tracing tool like Jaeger analyzes what's happening as a transaction moves through a distributed system. Monitoring software like Prometheus captures time-series events for real-time alerting and other uses. Grafeas and Kritis provide security polic...
DevOpsSUMMIT at CloudEXPO will expand the DevOps community, enable a wide sharing of knowledge, and educate delegates and technology providers alike. Recent research has shown that DevOps dramatically reduces development time, the amount of enterprise IT professionals put out fires, and support time generally. Time spent on infrastructure development is significantly increased, and DevOps practitioners report more software releases and higher quality. Sponsors of DevOpsSUMMIT at CloudEXPO will benefit from unmatched branding, profile building and lead generation opportunities.