ADAPT AND THRIVE: Digital Transformation for Business Success
In the first installment of our Adapt and Thrive series, we explore how GitOps can help organizations to deliver software faster without increasing risk – and achieve better overall performance as a result.
1: How to innovate faster
It is now possible to update your apps and websites quicker, without increasing risk. Here’s how.
Whatever business you’re in, your ability to develop applications is a critical success factor. You might need applications to integrate with suppliers, partners and customers. You might need mobile apps that your employees or, often, customers need to use. Software is everywhere nowadays.
But making that software has always been hard. Historically, the cynical belief in many ‘non-tech’ industries has long been that it is always late and, by the time it arrives, it is always wrong. Needless to say, you can’t do business with that attitude anymore. Not least because software has gone from the periphery to the core of what many businesses deliver. As Microsoft CEO Satya Nadella has pointed out, “…every company is a software company” now.
- Software delivery is now a core competency
- The faster you can do it, the more effectively you can compete
- But you need to accelerate without increasing risk
- GitOps combines proven technology, automation and best practice to achieve this
- It improves performance against five measures of the Software Development Lifecycle that correlate with strong organizational performance:
- Frequency of deployment
- Lead times for changes
- Change failure rate
- Time to restore service
- And it does all this while improving compliance too.
Be sure to check out Part II and Part III of our Adapt and Thrive Series:
Part II: ADAPT AND THRIVE: The Right Way To Do Automation
Part III: ADAPT AND THRIVE: The Importance of Locking Down Your Software Development Pipeline
A transformation is underway
This promotion of software development from fringe activity to core competency is part of what is nebulously referred to as digital transformation – and it takes in a lot of trends: the shift to the cloud, the increasing focus on customer data, flexible working, the importance of cybersecurity and more. But at the center of a successful transformation is the ability to launch the right software features at the right time. Usually, ‘the right time’ is shorthand for ‘before any of our competitors do it’.
In other words, speed matters. It’s not just about accepting the importance of software to your business. It’s about the importance of delivering software at high velocity – and for obvious reasons, it’s that idea of velocity that tends to set alarm bells ringing.
Breaking things is not good
We’ve all heard the phrase, ‘move fast and break things’. Start-ups love it. Enterprise boardrooms, not so much. That’s because increasing speed is naturally assumed to incur higher risk: risk of getting the product wrong, risk of launching an unreliable product, risk of damaging your customer experience or brand image. Worse still, the risk of the ultimate software development own goal: introducing a security vulnerability.
Software delivery for the risk-averse
But what if there was a way to increase speed without incurring these risks? What if you could accelerate software development to such a degree that you could reliably, continuously deliver a pipeline of new apps, new features and updates to your existing software – and all without cutting corners?
This can now be achieved using a new model for software delivery known as GitOps. You may have heard of GitOps already, as it has garnered a great deal of attention in the technology press, since it emerged just a few years ago.
Beauty in simplicity
What makes GitOps such a significant step forward is its simplicity. It could be described as a new way of using software that already exists, to create a delivery model that is more than the sum of its parts.
It is based on two proven, ubiquitous software technologies. First is Kubernetes. Originally developed by Google, Kubernetes is a fully open source container orchestration for cloud native applications. In fact, the vast majority of cloud native applications developed today are built on Kubernetes. It is becoming the standard for enterprise-grade cloud apps; according to the latest CNCF survey in 2021 “Container Adoption and Kubernetes have truly gone mainstream – usage has risen across organizations globally, particularly in large businesses.”
The other key piece of software involved is Git. Originally created alongside Linux, to help the developers keep track of all the code contributions being made to the operating system, Git too is now a de facto standard. It is used by developers all over the world as a distributed version control system.
So with Kubernetes, you can build the platform on which your app will run, and with Git, you have a version control system for your app’s code. GitOps adds a third piece of software and methodology to connect the two and, together with a proven blueprint for best practice, creates something revolutionary: a system for safely automating the continuous delivery of software, that allows developers to move quickly without fear of breaking things. While at the same time allowing operators to focus on more important work than frantically fixing problems and monitoring slow release cycles.
A quiet revolution
So GitOps is, in essence, a combination of software that is already the go-to toolset for developing cloud applications, with ways of working designed to get the most from it. This simplicity and reliance on proven tools is driving its increasing acceptance in the conservative world of enterprise application development.
As John Clarke, Director of Software Development at Weaveworks client GFS explains, “...GitOps is a set of processes which everyone is already familiar with, so the on-boarding processes are negligible, and there’s less load on the team to learn new tooling. It’s incredibly enabling, whilst being almost invisible day-to-day, as it just sits there doing what we need!”
Benefits for the whole business
But of course the technologists are going to support something, if it makes their lives easier. What about the actual business benefits? By which we mean proven, measurable business benefits.
The reality is that GitOps is still new and, as such, there are no large-scale studies of its long-term, real-world effectiveness. What there is, however, is a wealth of case studies in which performance against many of the key performance indicators (KPIs) associated with software development is dramatically improved.
Proven drivers of success
Again, this is not just a software issue. Because if ‘every company is a software company’ then it follows that software KPIs will become KPIs for overall organizational performance. This link has recently been proven by DORA – the DevOps Research and Assessment group. Funded by Google, DORA has spent close to a decade investigating the impact of different approaches to software development and management. It now has seven years’ worth of data covering 32,000 professionals worldwide, making it the longest running academically rigorous research investigation of its kind.
In the latest edition of its research, the 2021 Accelerate State of DevOps Report, the group found that companies performing well in software delivery and operational performance enjoy improved organizational performance in technology transformations. They identified five component KPIs in which all high-performing organizations scored well: frequency of deployment, lead time for changes, time to restore service in the event of an outage, the rate of failure of changes and reliability. As measures of success in software delivery, it therefore comes as no surprise that today, strong performance against these four technology measures correlates with strong overall organizational performance.
But what does all this have to do with GitOps? To put it simply, GitOps represents the easiest way to improve performance against every one of these five measures. Read more on how GitOps boosts business performance.
How GitOps improves organizational performance
The great strength of GitOps is that it holds all of the information about an application – including all configuration and deployment information – in version control, alongside the code. By keeping a record of the desired state, not just of the code but also of the settings for the infrastructure on which it runs, GitOps gives you a ‘single source of truth’ – something you can compare your production environment with at any time, to check for any drift from the desired state. Now, remember that GitOps combines the infrastructure (Kubernetes) with the version control system (Git) and a third component to connect the two? The job of that third component is to continuously compare the production environment with the single source of truth, automating that monitoring job. If it detects drift, it alerts the operations teams. Couple this with the ability to implement policies governing who can make changes to the infrastructure and under what circumstances, and you effectively create guardrails that stop anyone (usually developers) from breaking things. This forces everyone to stick to their jobs and work at a pace that would likely end in disaster if these guardrails were not in place.
A model you can rely on
If anything does go wrong, GitOps has another trick up its sleeve. Because it records everything in version control – not just the code – it means every change and every reconfiguration is recorded, automatically generating a complete audit trail, which in turn makes compliance a breeze. And because everything is recorded, if disaster does somehow strike, rollbacks are easy. Disaster recovery – and any associated downtime – is measured in minutes rather than days.
All of which brings us back to DORA’s measures. Frequency of deployment goes up. Lead time for changes goes down. Time to restore service after an outage drops dramatically. Rate of failure drops. And reliability goes up.
GitOps is ready. Are you?
As the GitOps pioneers, we can help you on your GitOps journey, from assisting with your pitch to the board to migrating your current applications to GitOps-controlled infrastructure. So if you are serious about delivering software faster in your organization and you’re ready to make it happen, contact us today.