Sand Castles and DevOps at Scale
by Niall Crawford
A Bit of History
The phrase DevOps first appeared back in 2008 at an agile conference in Toronto. And in a nutshell (& courtesy of Wikipedia) can be defined as a software engineering culture and practice that aims at unifying software development (Dev) and software operation (Ops). Ultimately with the intent of reducing the time between committing a change to a system and the change being placed into normal production, while ensuring high quality.
Well, that’s the theory at least, and to be fair “mileage” somewhat varies.
+ The success of DevOps is invariably dependent on the quality of the individuals & the team.
And in my opinion, the biggest challenge in most organizations (particularly the larger ones) is few changes touch an individual system. In fact, it is probably quite the contrary, typically an IT change impacts many systems, processes & services and crosses many technology teams, divisions, and various IT Environment tiers e.g. applications, data & infrastructure tiers.
+ In today’s complex IT environments, few systems or components are islands.
And here lies in the issue.
+ DevOps encourages a culture of “System” or “Team Thinking”.
However, effective DevOps at-scale requires us to think at a broader “Enterprise” level.
An Analogy: DevOps & DevOps at Scale
+ It is a little bit like comparing the building of Sand Castles on a Beach to Town Planning.
Yes, it might be fun & you might build a damn good sandcastle (or CICD capability) but unfortunately, some of your sister teams will fall short of the mark, and ultimately the whole task of integrating is going to slow down and the so-called “Release Train” will grind to a sudden halt.
Delivering DevOps at Scale
Organizations cannot expect DevOps teams, which are naturally focused on discrete systems or atomic tasks, to effectively manage and deliver a solution at scale unless there is some form of enterprise harness that ensures all the moving parts can be effectively orchestrated.
+ DevOps is more than simple Code, Build, Test, Package, Release, Configure & Monitor.
Ultimately, DevOps at Scale is about resolving the classical cross-system orchestration challenges experienced today and providing an approach, preferably a complimentary & non-obtrusive approach, that overarches existing DevOps methods and ensure the release train wheels are greased and your delivery is streamlined.
As a way of preparing for a DevOps at scale capability, here are five practices to promote.
- Understand what your End-to-End Environments look like.
Look beyond your systems & model the End to End IT & Test Environments they live in. Understand them intrinsically i.e. map your components, dependencies, interfaces, business relationships, processes and supporting operations.
- Shift your release / operational planning & coordination left
Avoid the ongoing issues around System not being fit for purpose and/or contention. Capture project & portfolio demand as early as possible and establish effective notification & transparency methods to ensure readiness and awareness.
- Don’t neglect the data
How often do you see the CICD solutions fail as nobody bothered about the data?
In addition to streamlining Application & Infrastructure tasks, invest in data. Automate key data tasks like ETL (Extract, Transform & Load) and/or Fabrication and ensure the automation methods are “cross system aware”, thus ensuring E2E integrity.
- Orchestrate enterprise release activity
Avoid common “release issues”, “deployment delays” and “rollbacks” by adopting an “Enterprise Release Management” (ERM) strategy. A strategy that promotes prioritisation of change, alignment of cross-system release activities and promotes consistent and repeatable operations.
- Promote higher levels of “Enterprise Intelligence”
System metrics are fine although off little use to executive decision makers or your CIO. Start capturing & reporting on “Enterprise Metrics” i.e. metrics that allow the senior executives to see the “forest from the trees”. Examples may include Team Performance, Compliance, Automation & Innovation
Enov8 provides a complete platform for addressing organisations DevOps at scale requirements. Providing advanced “out of the box” IT & Test Environment Management and Release Management capabilities, the enov8 platform uplifts enterprise transparency, command and ultimately control.
Innovate with Enov8
If you are interested in learning more about IT & Test Environment Management and IT Release Management, contact us about EcoSystem.
EcoSystem is a fully configurable and easily integratable solution that comes with out of the box “enterprise management” functions that support IT & Test Environment Management, Release Management, Data Management, IT Operations Management, Configuration Management & Service Management.
Niall is the Co-Founder and CIO of Enov8. He has 25 years of experience working across the IT industry from Software Engineering, Architecture, IT & Test Environment Management and Executive Leadership. Niall has worked with, and advised, many global organisations covering verticals like Banking, Defence, Telecom and Information Technology Services.
24 APRIL, 2019 by Mark Robinson It’s the normal case with software buzzwords that people focus so much on what something is that they forget what it is not. DevOps is no exception. To truly embrace DevOps and cherish what it is, it’s important to comprehend what it...
16 April, 2019 by Eric Goebelbecker Your organization is in the midst of an agile transformation. You know that agile is the way to go, and you're looking forward to, or maybe already reaping, some of the benefits. Who can argue with what agile brings to the table?...
28 March, 2019 by Christian Meléndez Even though containers are different from virtual machines (VMs), most of the metrics you get from a container are pretty similar to the ones you get from a VM or a physical server. What’s different is the meaning a metric has in a...
21 MARCH, 2019 by Mark Henke Preamble These days, deploying our services to the cloud just makes sense. Deploying to the cloud means you’re letting someone else handle low-level infrastructure costs, which gives us incredible flexibility. And with such flexibility...
15 March, 2019 by Vlad Georgescu Bimodal Explained *From a Release Management Perspective “The Hare and the Tortoise” is Aesop’s most famous fable. In it, we find two characters: one fast (the hare), and one slow (the tortoise). They run a race against each other,...
11 March, 2019 by Sylvia Froncza An IT and Test Environment Perspective Traditionally, test environments have been difficult to manage. For one, data exists in unpredictable or unknown states. Additionally, various applications and services contain unknown versions or...