This is the first post in a series which will look at common patterns among DevOps environments. Based on these patterns, they will attempt to put a reasonable structure together that will help organizations focus DevOps discussions, prioritize choices, and generally improve how they operate.
In the last post, I discussed how many shops take the perspective of developing a system for DevOps within their environments. This notion of a “system for changing systems” as a practical way of approaching DevOps requires two pieces. The first is the system being changed – the “change-ee” system. The second is the system doing the changing – the “DevOps”, or “change-er” system. Before talking about automatically changing something, it is necessary to have a consistent understanding of the thing being changed. Put another way, no automation can operate well without a deep understanding of the thing being automated. So this first post is about establishing a common language for generically understanding the application systems; the “change-ee” systems in the discussion.
A note on products, technologies and tools… Given the variances in architectures for application (“change-ee”) systems, and therefore the implied variances on the systems that apply changes to them, it is not useful to get product prescriptive for either. In fact, a key goal with this framework is to ensure that it is as broadly applicable and useful as possible when solving DevOps-related problems in any environment. That would be very difficult if it overly focused on any one technology stack. So, these posts will not necessarily name names other than to use them as examples of categories of tools and technologies.
With these things in mind, these posts will progress from the inside-out. The next post will begin the process with a look at the typical components in an application system (“change-ee”). From there, the next set of posts will discuss the capabilities needed to systematically apply changes to these systems. Finally, after the structure is completed, the last set of posts will look at the typical progression of how organizations build these capabilities.
The next post will dive in and start looking at the structure of the “change-ee” environment.