Welcome!

@DevOpsSummit Authors: Liz McMillan, Elizabeth White, Pat Romanski, Yeshim Deniz, Zakia Bouachraoui

Related Topics: @DevOpsSummit, Linux Containers, Containers Expo Blog

@DevOpsSummit: Blog Feed Post

Complexity at Scale: Trials and Tribulations of Success By @DaliborSiroky | @DevOpsSummit #DevOps

We're trained to avoid complexity when we design systems, and call systems with poor architecture 'too complex'

"Complexity" is often viewed as a negative. This is perhaps even more the case at scale, where some degree of complexity is unavoidable. Any unnecessary complexity, states the conventional wisdom, is public enemy number one. But does that wisdom ring true? Let's look a little closer at the contours and implications of complexity at scale.

We're trained to avoid complexity when we design systems, and call systems with poor architecture "too complex." If you've worked in any large IT organization you understand the constant daily struggle against complexity at scale. Every day teams are starting new, "greenfield" development projects with the end-goal of replacing legacy systems that have grown too complex.

The Reality: Today's greenfield development project to replace a "too complex" legacy system will be tomorrow's overly-complex legacy system. It isn't the software that is complex it is the problem space, and complexity is a natural by-product of success.

70778501 thumbnail 300x300
What experienced engineers understand is that complexity is rarely a function of technology. Our IT systems are designed to model real, complex problems and reality can be difficult to simplify. Take an e-commerce system as an example, if you are building a small e-commerce system for a niche market you can afford to simplify problems and only accept one payment type. On the other hand if you are building an e-commerce system to compete with a global competitor you need to think about multiple currencies, complex sales tax regulations, and other complexities that only emerge when you operate at scale.

While a Fortune 500 company can take some steps to create more isolated teams at some point teams still needs to integrate into a single system. The software release process and the processes used to test and qualify these releases are the primary pain point in large software organizations. When you release software all the moving parts of the company have to come together to facilitate business operations, and release managers are the individuals that understand how to orchestrate and manage complexity at scale.

Large, Revenue-Generating Systems Are Complex
If you work at an international banking institution or run IT systems for a large government agency you understand that while we can attempt to create simpler, easier-to-manage IT systems some of the fundamental problems we are attempting to model in IT are complex by definition. If you work at a successful organization generating millions or billions in revenue you also understand that success often results in complexity.

When a system starts to generate real revenue you almost immediately breed legacy IT infrastructure that has to be supported for many years. "If it ain't broke, don't fix it" is an inescapable factor in enterprise software development.

When you run a real business you are generating real revenue, and even if your software architects want to rewrite entire subsystems it is common for the largest organizations to maintain several generations of systems. Your software releases are not just focused on the new platform, they are dependent on back office systems that might be several years (or decades) old. It is this reality that needs to be factored into a comprehensive model of release risk. In a complex system an enterprise-wide release strategy can't just emphasize agility for new systems it has to encompass existing systems.

Release Managers Address Complexity at Scale with Planning
While your IT architects and application developers have the liberty to focus on subsystems in isolation from one another your release managers have to think of software as an integrated system. When we are conducting a large software release spanning multiple generations of legacy systems alongside new, continuously delivered software we need a plan, and we need to use tools such as Plutora that understand that not every release falls into the same, cookie-cutter approach.

Plutora was designed to address the fact that release management and environment management in the modern IT organization is quickly gaining the spotlight and the role that pulls it all together is the release manager. Without a proper system to track and manage the challenges of legacy alongside the "next-generation" companies tend to experience release failure.
Iterative release planning

Complex Release Planning for Complex Systems?
One approach to managing software complexity is to create a model of the software development lifecycle that allows you to "de-risk" the process. This is what ITIL has attempted to do for IT service management, and the model works for several organizations. There are systems that lend themselves to the IT service management model, but these are rarely the fast-moving systems that deliver the agile success that modern IT departments are demanding today.

The answer to release complexity - the solution for this problem isn't the creation of a new, inflexible model of release management. It isn't to create more decision trees and roles focused on centralized release governance it is to create systems that facilitate "managed" agility across several independent teams. In other words, the solution for software complexity at scale isn't to create a more complex process. It is to create systems that give enterprise release managers visibility into coordinated, independent releases across the enterprise.

Manage Complexity, Manage Decentralization
Enterprise release managers need to stop avoiding the natural complexity that accompanies success at scale, and they need to adopt a common set of tools that provide visibility into release functions across multiple projects in the organization. Taking a more realistic approach to software complexity involves creating new, decentralized approaches to containing and managing complexity when it starts to impact a large system. Instead of creating constricting, centralized approaches to manage release risk, today's release managers need to embrace a new trend toward self-service and decentralized operations.

Plutora is the tool that allows your centralized "release management" function to enable individual teams to move at their own pace and adapt to release complexity as it develops in a particular project. Without this shift toward decentralized release "governance" away from centralized release "management" large, enterprise-scale systems will always be hamstrung by complexity. Instead of enabling project-level agility, teams will be stuck in an infinite loop.

Software complexity isn't the problem, it's your release process and the interdependencies that develop in large, complex systems. Manage the process and provide isolation by using a tool like Plutora to orchestrate multiple release teams and gain high-level visibility into release processes.

The post Complexity at Scale: Trials and Tribulations of Success appeared first on Plutora Inc.

Read the original blog entry...

More Stories By Plutora Blog

Plutora provides Enterprise Release and Test Environment Management SaaS solutions aligning process, technology, and information to solve release orchestration challenges for the enterprise.

Plutora’s SaaS solution enables organizations to model release management and test environment management activities as a bridge between agile project teams and an enterprise’s ITSM initiatives. Using Plutora, you can orchestrate parallel releases from several independent DevOps groups all while giving your executives as well as change management specialists insight into overall risk.

Supporting the largest releases for the largest organizations throughout North America, EMEA, and Asia Pacific, Plutora provides proof that large companies can adopt DevOps while managing the risks that come with wider adoption of self-service and agile software development in the enterprise. Aligning process, technology, and information to solve increasingly complex release orchestration challenges, this Gartner “Cool Vendor in IT DevOps” upgrades the enterprise release management from spreadsheets, meetings, and email to an integrated dashboard giving release managers insight and control over large software releases.

@DevOpsSummit Stories
"DevOps is set to be one of the most profound disruptions to hit IT in decades," said Andi Mann. "It is a natural extension of cloud computing, and I have seen both firsthand and in independent research the fantastic results DevOps delivers. So I am excited to help the great team at @DevOpsSUMMIT and CloudEXPO tell the world how they can leverage this emerging disruptive trend."
The current age of digital transformation means that IT organizations must adapt their toolset to cover all digital experiences, beyond just the end users’. Today’s businesses can no longer focus solely on the digital interactions they manage with employees or customers; they must now contend with non-traditional factors. Whether it's the power of brand to make or break a company, the need to monitor across all locations 24/7, or the ability to proactively resolve issues, companies must adapt to the new world.
You want to start your DevOps journey but where do you begin? Do you say DevOps loudly 5 times while looking in the mirror and it suddenly appears? Do you hire someone? Do you upskill your existing team? Here are some tips to help support your DevOps transformation. Conor Delanbanque has been involved with building & scaling teams in the DevOps space globally. He is the Head of DevOps Practice at MThree Consulting, a global technology consultancy. Conor founded the Future of DevOps Thought Leaders Debate. He regularly supports and sponsors Meetup groups such as DevOpsNYC and DockerNYC.
DXWorldEXPO LLC announced today that ICC-USA, a computer systems integrator and server manufacturing company focused on developing products and product appliances, will exhibit at the 22nd International CloudEXPO | DXWorldEXPO. DXWordEXPO New York 2018, colocated with CloudEXPO New York 2018 will be held November 11-13, 2018, in New York City. ICC is a computer systems integrator and server manufacturing company focused on developing products and product appliances to meet a wide range of computational needs for many industries. Their solutions provide benefits across many environments, such as datacenter deployment, HPC, workstations, storage networks and standalone server installations. ICC has been in business for over 23 years and their phenomenal range of clients include multinational corporations, universities, and small businesses.
René Bostic is the Technical VP of the IBM Cloud Unit in North America. Enjoying her career with IBM during the modern millennial technological era, she is an expert in cloud computing, DevOps and emerging cloud technologies such as Blockchain. Her strengths and core competencies include a proven record of accomplishments in consensus building at all levels to assess, plan, and implement enterprise and cloud computing solutions. René is a member of the Society of Women Engineers (SWE) and a member of the Society of Information Management (SIM) Atlanta Chapter. She received a Business and Economics degree with a minor in Computer Science from St. Andrews Presbyterian University (Laurinburg, North Carolina). She resides in metro-Atlanta (Georgia).