Over a million developers have joined DZone.

DevOps: The Next Evolution - GitOps

DZone's Guide to

DevOps: The Next Evolution - GitOps

Is it time for DevOps to evolve again? In this post, we take a look at a potential evolution: GitOps. Come find out what it's all about.

· DevOps Zone ·
Free Resource

DevOps involves integrating development, testing, deployment and release cycles into a collaborative process. Learn more about the 4 steps to an effective DevSecOps infrastructure.

Earlier in September, Rob Stroud and Alexis Richardson came together to discuss implications of delivering velocity and quality while taking advantage of the new normal of continual deployment with cloud-native applications. (View the webinar on demand.)

The Need for Speed  

One thing is clear: speed is critical to organizations everywhere. Businesses are instructing their teams to drive velocity and quality in order to innovate and differentiate themselves in a competitive market. 

DevOps has reached escape velocity and is taking route in the way we deliver technology. But the reality is we can’t continue to provide in the same way we used to. Customer information is demanded in real time and companies are expected to transition products based on consumer requirements within a moments notice. 

Cloud and other technologies are allowing us to go faster than we ever have but one of the problems at the moment is the disconnect that occurs when application development can go faster than a traditional I&O organization can consume. Even highly regulated industries such as banking, financing, and insurance are adapting their technology processes to support DevOps. 

Silos of Automation Are Destroying Velocity

Today 23% of enterprises are now releasing monthly or faster (compared to every 6 months two years ago). Rob argues that’s not fast enough. We want daily, hourly even minutely releases to achieve the ultimate goal of velocity & deployment at will.

However, there is a dangerous disconnect between executives overestimating DevOps maturity or maturity of automation across the lifecycle. Some companies want to get into a cadence on an almost daily basis but existing processes, tools and techniques (even though they attempt to go faster) don’t meet that requirement. 

Essentially we are facing 3 challenges: Rob’s Challenges are 

1. Speed: We’d all like to go faster because we can be competitive and save money.

2. Automation phase shift: Moving from one release a month → one release a minute: How can this be done?

3. New application types: We have a reason to re-architect or try different things.

“Cloud Native” What?

When Netflix started to transition into a purely web delivered movie business they created these set practices when designing systems: Web-scale, Global, High Availability, Consumer-facing & Cloud Native. Their goals boiled down to two things: Improve Availability and quickly change the product in line with consumer feedback. 

But is Cloud Native the answer? 

What Is GitOps?

Weaveworks has been running cloud-native technologies for the past three years, and we hope our lessons learned can help speed up your deployments, improve the quality of your releases and build on your existing DevOps practices.

GitOps builds on DevOps with Git as a single source of truth for the whole system. Over the few years at Weaveworks, we learned that success came down to getting 3 things right: 

1. Have a complete automated pipeline.

2. Operating a fast-paced business 24/7 requires monitoring and observability baked into the beginning. Security is of critical importance.

3. Everything has to be version controlled and stored in a single source of truth from which you can recover.

Head over to watch the full webinar and learn how we implemented these best practices. 

Read the 4-part DevOps testing eBook to learn how to detect problems earlier in your DevOps testing processes.

automation ,devops ,git ,cloud native ,pipelines

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}