This is a guest post by Chris Tozzi, who recently participated in an episode of Continuous Discussions (#c9d9). Chris has worked as a journalist and Linux systems administrator. He has particular interests in open source, agile infrastructure and networking. He is Senior Editor of content and a DevOps Analyst at Fixate IO. This article first appeared on SweetCode.io.
A few weeks ago I had the pleasure of participating in a video podcast hosted by CloudBees on the subject of Organizational Design and DevOps. The podcast was part of Continuous Discussions (#c9d9) —a community podcast series dedicated to all-things Agile, DevOps and Continuous Delivery. During the c9d9 panel, I suggested it’s important to understand how organizations today are continuously connected to and dependent upon one another. Below, I’ll elaborate further on this idea by explaining how organizations depend on each other today, how this differs from the pre-DevOps age, and what the dependencies mean for organizational design. The idea I’ll drive home is that, today, organizations no longer just consume goods or services from each other. Instead, they collaborate in the design and management of goods and services. That makes it easier than ever to be agile and take control of your own (software) destiny.
How We’re Connected
Let me start by explaining what makes organizations today so interdependent. When I made the remark, I was thinking first and foremost about open source, since that came up in the C9D9 discussion. Today, you’d be hard-pressed to find an organization that doesn’t use open source tools or platforms in one way or another. Because the open source code an organization uses usually comes from groups of upstream developers, it’s an example of how an organization can be heavily influenced and affected by the decisions made by external communities. Adoption of cloud-computing services as a solution for outsourcing infrastructure is another example of how the typical organization today depends on external groups. If you run your servers on AWS or Azure (or whatever cloud host you prefer), you’re depending on that company to deliver a core part of the resources you need to run your business.
How Today is Different from Yesterday
At this point, you might be wondering whether it’s a big deal that most organizations today use tools or services managed by external groups. After all, haven’t companies always formed partnerships and bought goods and services from one another? Why are things like open source and cloud computing game-changers? Well, sure—It’s true that they have. But what makes the state of affairs different today is that the supply chain is much more complex—and, in some key respects, more collaborative. In the past, when an organization adopted a product or service, it rarely played a role in designing that product or service. Instead, the organization just took what was on offer. For this reason, there was a clear distinction between provider and consumer when one organization purchased a good or service from another. Today, things have changed. An organization that uses an open source tool may participate in development of that tool by offering code contributions, even if the organization is not the main backer of the tool. Similarly, when it comes to adopting a service like cloud hosting, organizations don’t just consume. In collaboration with the cloud provider, they set up and manage the virtual servers, serverless functions, or whatever else they host on the platform.
What It Means for DevOps
The main takeaway here, I think, is simply that it’s important to recognize that your organization is not just your organization. Whether you’re a startup with three employees or a huge enterprise, there is a very good chance you depend on tools and services that are created or managed in part by other people—but they allow you the chance to collaborate if you choose. But there’s a secondary point, too. It’s that new modes of collaboratively-driven consumption empower organizations to shape the world around them like never before. You no longer have to take whatever’s on offer. You can participate in building the open source tool chain you want to use, or customizing the cloud environment you’d like to run. That’s great news for organizations that want to do DevOps. DevOps emphasizes, among other things, the importance of finding the best tools to fit your needs and making environments as agile as possible. Collaborative consumption facilitates this. So, that’s the trade-off for the blending together of organizations. The boundary between your organization and everyone else is no longer cut and dried. But you have more choice and power than ever to collaborate with other groups and shape your software world. Each episode of c9d9 is dedicated to a different topic related to modern application delivery, and hosts different speakers from the DevOps community.