A very happy new year to all OpenShift users and readers of this blog. This year is going to be pretty exciting for the enterprise IT because trends indicate that more and more enterprises will make the move to embrace cloud computing and other modern technologies. 2014 could very well be the tipping point where the Modern Enterprise becomes a reality after several years of hype surrounding technologies like cloud computing, big data, mobile, etc. I plan to focus on the idea of Modern Enterprise this year in my writing and speaking engagements.
What is Modern Enterprise?
When CIOs think about Modern Enterprise, they should consider the following key characteristics:
- Business Agility
Think of Modern Enterprise as service enablement leading to increased business agility. The role of the IT is to enable the necessary services for their developers and business users by taking advantage of self service and elasticity offered by cloud technologies. It doesn't matter if you are a SMB or large enterprise, it is important to shift the thinking in terms of services to (whether it is about people) process or data.
Last year, I briefly touched on the Composable Enterprise approach to service enablement. Any Modern Enterprise wanting to enable services for developers and business users should focus on the Composable Enterprise Model and ensure that they spend enough time and resources in getting their platform architecture right to meet modern needs. Depending on the nature of their business, enterprises can take a rip and replace approach or a more iterative approach while still making use of their legacy investments. The architectural decisions for the "Modern Enterprise Platform" will depend on many factors and will be heavily influenced by existing investments.
Should IT be Complex?
I have spoken to many enterprise IT folks in the past years, including many who fit the "late adopters" category. Their common concern about Modern Enterprise is IT complexity. We shouldn't outright dismiss their concerns saying it is unwarranted. Part of the confusion is a result of industry chatter on complex systems and the need for a newer DevOps approach to tame the complexity beast. The reason for chatter claiming complexity is due to the following two industry trends:
- Early success of public IaaS providers
- Consumer and media services companies using IaaS services to successfully build their IT services from scratch
Clearly, some consumer facing organizations operating at web scale using infrastructure services will end up with an IT comparable which falls under the complex systems classification. Google and Amazon are good examples of organizations having large scale, geographically distributed infrastructure. Their IT infrastructure definitely falls into the category of complex systems. However, it is also important to note that not all web scale systems become complex systems (as defined in Complex Adaptive Systems). There are some simplistic assumptions that all IT at a certain scale falls into the category of complex systems. Such simplified assumptions get geeks excited because of the potential for unexpected emergent behaviors and it requires a "version" of DevOps where developers are expected to have operations knowledge and Ops folks are expected to code. This new paradigm shift in IT definitely makes a good story. Also, it worked very well for certain consumer facing applications operating at scale. One can find many examples in the startup world. However, extrapolating it to all of enterprise IT is unnecessary (for reasons described below). Such industry chatter holds enterprises back and encourages them to be even more conservative.
Modern Enterprise - Keep It Simple
The chatter around complexity is pushing enterprises to be conservative at a time when they should be taking advantage of modern technologies in the hyper-competitive global market. There are many reasons to consider such chatter as too simplistic:
- Most enterprises don't need web scale IT
- Many enterprises are not in a position to do rip and replace because they have large legacy investments for mission critical needs. However, the fact that they have legacy investments should not stop their transition to Modern Enterprise
- Not all the applications require the OS level control offered by infrastructure services
- Very few developers and ops people with "DevOps expertise" are available outside of Silicon Valley and, even if they are available, are very expensive to hire
Even though enterprise needs are different, they can still embrace the technologies that worked well in the startup world as they move forward. They can do so without worrying about the complexity associated with the concept of complex systems. Yes, some enterprises may end up with their IT resembling a complex system and they may see certain behavior beyond the control of their IT. Such possibilities are expected to be fewer than what many industry pundits predict and there is nothing preventing organizations from building IT comparable to such complex systems by using much simpler and "abstracted components".
With Platform as a Service (PaaS) offerings maturing at a pace never seen in the past, enterprises can very well build IT infrastructures that are comparable to many web scale companies. They can do all these and more without inducing unnecessary complexity. The abstraction provided by PaaS takes the complexity out while giving the same advantages offered by traditional infrastructure as a service offerings. More importantly, the role of developers and operations remain separate while making the collaboration between them much tighter and seamless. Platform as a Service offers the same agility without the complexity.
If you are a CIO and if your organization is planning to transition into a Modern Enterprise in 2014, start your process with the question, "Should we keep it simple or should we introduce complexity just because it is the cool thing to do?"
A very happy new year and I hope to see your "Modern Enterprise" in the near future.