There is an unspoken challenge that continues to plague IT, that challenge is complexity. This is one of the largest detractors from the success of IT and gets very little attention. There are many reasons why complexity is overlooked ranging from the pressure of acting too quickly to being overwhelmed by the daily grind. Nonetheless, complexity exists and continues to grow. It has to be addressed to enable IT to surpass business expectations in this digital age.
If you haven’t noticed the IT landscape is more diverse than ever. Complexity is compounding as IT attempts to keep up with the business while leveraging new service delivery models (e.g., SaaS or IaaS) and modernizing the foundation. Does this sound familiar? Today’s technology landscape is comprised of physical servers, bare metal servers, virtual servers, physical switches, virtual switches, virtual storage, flash storage, hypervisors, containers, cloud platforms, Software Defined Networks (SDN), big data solutions, SQL databases, NoSQL databases, key value stores, enterprise service bus, mobile middleware, and converged infrastructure solutions. This is just a small representation of the landscape and doesn’t account for custom software and commercial applications (COTS). As you add in the baggage from legacy environments (e.g., OpenVMS, Netware, FoxPro based applications – yes, it’s still out there) the complexity problem becomes even more overwhelming.
Why should you care about this complexity? Think about what’s holding you back from helping your business become more competitive within the marketplace. Are you struggling to bring solutions to the table more quickly? Do you spend more time fighting fires than focusing on value-added projects? Is the majority of your IT budget spent maintaining End of Service Life (EOSL) technologies that has no extensibility? If these challenges resonate, complexity is holding you back. Below is a summary of complexity cause and affect.
Complexity – Cause and Effect
I won’t hash through each cause and effect because most of it is self-explanatory. I’ll focus on the key business and user impacts instead. Let’s start with the business impact using legacy systems as an example. From a business perspective legacy systems that don’t scale, can’t extend to enable mobility or support changes in business processes will limit progress. This decrease in agility may impact the ability to enter new markets, improve existing products/services or satisfy audit requirements. These are real problems many organizations are trying to solve.
Another business impact that I must address is the risk of system compromise (confidentiality and/or integrity of data). A highly visible incident can severely damage the reputation of the business, not to mention litigation cost can go on for years. These incidents will become more and more prevalent because the pervasiveness of technology presents an enticing target. Complexity makes the job of the hacker easier because there is a larger attack surface to exploit and vulnerabilities associated with legacy solutions can’t be remediated (no longer releasing patches). Think about it. The picture above is representative of many environments. How do you secure that picture? Where do you start?
From a user perspective complexity is a drain on productivity. Let’s continue to use legacy systems as an example. These systems typically perform poorly, have a suboptimal user interface and promote swivel chair processes. Additionally, many of these legacy applications must be delivered via an application proxy (e.g., Citrix) either due to poor performance over the network or dependency on legacy operating system. This additional layer is another variable that can impact response times and/or service availability.
Clearly complexity must be contained to enable cost effective, reliable, scalable, well-performing, extensible, and secure IT service delivery on a consistent basis. Notice, I didn’t say eliminated because that may not be practical. There will always be some level of complexity. The key is limiting complexity so it doesn’t become an anchor and severely impact delivery of IT services. Complexity in areas that add significant value or can’t be avoided is understandable. We need to be more mindful of complexity and actively focus on rooting it out of the environment. This is not an option in today’s technology environment, it’s imperative that we address it.
Hopefully this post has encouraged you to think about complexity in your environment and how it’s adversely impacting your ability to be successful. In the next post on this topic I’ll share how I successfully tackled this challenge. Stay tuned!