There has been a growing trend in enterprise to move all IT into the cloud. Many executives have been drinking this cool aid as the best way to solve their agility issues. Gartner surveys have shown that 66% of IT shops move to the Cloud for agility. (Only 5% for cost – trust me unless your business has really huge bursts it’s not cheaper) When I examine this choice with customers the details start to create challenges. A good friend always used to say the devil is in the details…
Applications rule the world
Destination is determined by the application. I like to divide the application stacks into three tiers:
- Cloud Native or SaaS – These are services born in the cloud and specific to the cloud – examples would be Lambda(cloud native) or Office365 (SaaS)
- Micro-services – Containers or applications with each function broken into atomic units using API to orchestrate outcomes
- 3-tier architecture – traditional web, app, database architecture and COT’s applications
While some newer organizations may only have Micro-services or Cloud Native applications the lion share of enterprise customers have a mixture of all three including a health portion of vendor provided COTS applications. As you examine these applications you discovery that public cloud may not be supported. Replatforming COT’s applications is the role of the provider not the consumer. When you approach traditional architecture and COTS applications the only agility that the public cloud can provide is very fast IaaS (Infrastructure orchestration). Many IT leaders today are considering replatforming all applications using a mixure of SaaS for COTS and moving to micro-services. It’s critical to realize that the replatform efforts may be seen as no value to the business as whole without a compelling business case.
Application limits
Some of the most common limits to public cloud adoption from the application are:
- Regulatory Compliance
- Data gravity/Latency – your data exists outside the public cloud and communication introduces latency
- COT’s or lack of support for public cloud
- Performance requirements
Public Cloud considerations
When moving to a public cloud you should consider:
- Application refactoring and dependency mapping
- Exit strategy
- Cost
- Performance control in multi-tenant world
- Configuration flexibility limits
- Disparate networking and security
- Disparate management tools
What is cloud first
Given that the drive to cloud adoption is driven for the need to be more agile than one can determine that cloud first is really a deep posture of automation across architectures. It is essentially the automation in public cloud that make it agile.
What makes a public cloud agile?
The key element of public clouds agility is the fact that it is software defined instead of hardware defined. Many enterprises have adopted compute software definition in the form of virtualization while continuing to define storage and networking in hardware. Agility cannot be achieved when it is waiting on people to rack and stack elements. Hardware economy’s of scale are possible but within the reach of most enterprise environments. So the first rule of public cloud is hardware abstraction into software. The second rule is software defined abstraction in the form of a customer consumption layer. These two layers provide the critical agility and speed.
As you can see from the picture the ultimate end of public cloud is to provide an increasing number of services via the UI and API to be consumed. Most enterprise shops continue to be defined in hardware with compute virtualization. They are working very hard to layer a consumption layer in the form of ITSM’s in front of their IT but find it hard to provide agility because of their lack of adoption of a software defined datacenter. One cannot simply skip require components to the puzzle and expect the same results.
Wait what does this have to do with modernizing the datacenter?
Simple let us assume you cannot move everything to the cloud due to constraints (let’s be honest because of compliance and data gravity). Then whatever lives in your private datacenter will have to use your private cloud -> is it software defined? Does it provide your required agility? While your footprint of private datacenter may reduce over time you still need a private cloud that provide agility. It’s likely that the elements staying in your private datacenter generate the most income for your company.
Thoughts or hate mail is welcome