Complexity was one of the issues presented by Dr. Jimmy Schwarzkopf's STKI summit Keynote presentation.
My Take in a previous post glanced at Complexity and the topic of a comment to my post was Complexity.
Pini Cohen's Architecture and Infrastructure EVP & Senior Analyst's presentation in the STKI Summit included many slides on the same topic.
The key point was that In Israel 2009 was a year with record downtime dew to Complexity.
Storage was a major cause for not good enough service due to under staffing.
According to Pini's presentation the complexity is driven by three factors:
1. The total number of entities
2. Their degree of heterogeneity
3. Their degree of interconnectedness
The solutions to the Complexity problem according to Pini's presentation are:
1. Industry in a Box is Consolidation which reduces the total number of entities and could also reduce the degree of heterogeneity.
2. Automation e.g. by using Business Ready Infrastructure and CMDB driven processes.
3. Cloud Computing by reducing the total number of entities and by providing Elasticity, Horizontal Scalability, Resources sharing etc.
4. Other methods for reducing Complexity especially Service Oriented Infrastructure (SOI).
- Complexity growth is driven by Heterogeneity, rapidly growing Functionality, new non standardized hardware and software types and even by too many competing standards.
- The immaturity of the IT industry is also increasing complexity. The Spiral Model depicted in the figure above. Instead of continual paradigmatic and technological evolution, IT is evolving by extreme transformations and disillusions. The result of this evolution style is collection of systems build upon variety of technologies and concepts and additional significant Complexity.
- It is difficult to tell what increases Complexity and what reduces Complexity. For example Pini Cohen identified Cloud computing as a way to reduce Complexity. On the other hand according to Einat Shimoni's comment to my previous post, Cloud Computing increases Complexity due to more complex integration requirements between SaaS and Data Center applications.
My conclusion is that Cloud Computing is a trade off, which reduces some Complexities and enhances other Complexities. The overall effect will be Enterprise dependent: for some enterprises External Cloud may significantly reduce Complexity and for others it will increase Complexity.
- It should also be remembered that Complexity depends upon perspective. For the Infrastructure manager of an enterprise external Platform as a Service (PaaS) may reduce Complexity. He does not care how complex it is for Amazon or other Cloud Services Providers Infrastructure Managers.Hiding Complexity is reducing it from those who are less capable to handle it, by increasing it for those who are more capable to cope with it. For example SOA hides technological aspects from Business users, however additional Service Layer increase Complexity for the Enterprise Architect. Infrastructure Vendors decrease Complexities of software products for users by packing several products as a single product. The packaging may increase Complexity for those products developers.
- Some complexities are even too complex for the most capable professionals. The solution for that problem is Automation. Nothing is changed in the complexity level, but an automated system is more capable than any human for handling it. That is why, Pini Cohen's presentation included slides referring to Automation in the context of resolving Complexity issues.You can also read my previous post titled: The end of Load Balancing? The use of Application Delivery Controllers (ADCs) instead of traditional Load Balancers is an example of increasing Automation in order to handle Complexity.