Skip to main content
DevOps Image

This post is from the XebiaLabs blog and has not been updated since the original publish date.

Last Updated Aug 16, 2013 — DevOps Expert

Continuous Delivery Essentials: Autonomous Systems

DevOps

complex_systemBy Mark van Holsteijn As the complexity of your IT architecture grows, it becomes increasingly difficult to implement a change by changing a single system. The dependencies may even grow so strong, that a single request requires changes in multiple interdependent systems. To make sure that individual changes on different systems will work correctly together, you need to test all new versions of the systems working together in an integrated acceptance environment. After an extensive test period, you need to release all new versions of the systems to production at the same time. The integrated acceptance environment become a bottleneck for the individual teams, as each team wants to to test there changes in isolation. It is clear that the complexity of the IT landscape reduces the time to market of changes. How did this turn out this way and how can this be avoided?Service oriented architecture increases complexityThe compelling argument of Service Oriented Architecture was to reduce cost by leveraging reusability of systems. Unfortunately with the introduction of each reusable service, a new dependency is created between two systems. Over time, a complex web of interdependent systems is created. In this architecture the consuming systems are dependent on the quality and stability of the system providing the service. Errors ripple through the IT landscape and finding the cause of the error is time consuming. A rigorous acceptance testing period is introduced to avoid errors and a quarterly release calendar is used to minimizing the number of changes to achieve “continuity”.Maximize autonomy of systemssimple_systemThe key to speeding up the delivery of new releases is to create autonomous systems that can be released and deployed independently of the other systems in the IT landscape. Instead of maximizing reusability, you should focus on maximizing autonomy of the systems. Although complete autonomy of a system is seldom, striving for autonomy will simplify your IT architecture and speed up the delivery of new releases and increase both stability and quality.This post is authored by Mark van Holsteijn, a Continuous Delivery thought leader and Xebia Senior Consultant. It was republished from the blog of Xebia, an international conglomerate and backer of XebiaLabs. To learn more about how XebiaLabs' software solutions can help you improve your time to market, reduce costs and improve quality using Continuous Delivery best practices, visit our site: www.xebialabs.com/continuous-delivery

More from the Blog

View more
May 06, 2021

Use Value Stream Management to release apps with confidence

DevOps
Many companies worldwide use a blend of DevOps and agile methods to he ...
Read More
Agile or DevOps on Its own Is not enough
Apr 23, 2021

Agile or DevOps on Its own Is not enough

DevOps
As every company becomes a software company, it becomes increasingly i ...
Read More
Mar 16, 2021

Does successful change management require DevOps?

DevOps
Around the world, digital product providers are looking to reduce dysf ...
Read More
Mar 04, 2021

Getting key stakeholder buy-in for changes perceived as risky

DevOps
Organizational leaders must recognize that change is vital for the sur ...
Read More
Contact Us