Monday, March 21, 2016

Public clouds are transforming as fast as atmospheric clouds



Is your team developing any solutions that are hosted in public clouds? I mean any software that uses AWS or Microsoft Azure as an infrastructure (IaaS) or platform (PaaS) or both. If yes, you have definitely noticed that the pace of changes of AWS and Azure is extremely fast these days.

To see the speed of changes, you can go through the recent announcements lists for both leading public cloud vendors, AWS: https://aws.amazon.com/ru/new/, and Microsoft: https://www.microsoft.com/en-us/server-cloud/roadmap/recently-available.aspx. Such speed is only possible because there are no traditional release cycles, they release several times per month/week; this is DevOps world.

Of course such pace is a very significant factor for those parties who depend on the public clouds (cloud solution providers, independent software vendors, enterprises, etc.). Both leaders, Amazon and Microsoft, are trying as hard as possible to stick to the commitments they give to the partners/customers regarding the direction they move.

Microsoft, being very oriented to enterprise market, is even trying to make its roadmap clear and public, they recently announced the public Azure roadmap: https://blogs.technet.microsoft.com/server-cloud/2015/01/30/increasing-visibility-for-our-customers-announcing-the-cloud-platform-roadmap-site/. You can see the roadmap here: https://www.microsoft.com/en-us/server-cloud/roadmap.

I am not aware of any public roadmap for AWS for the moment. So what is the risk of having your public cloud provider evolving very fast, why is it significant to realize what set of technologies you public cloud will become in 1, 2, 3 year from now?

Of course, the services/APIs you use now, whether this is IaaS of PaaS level, will not become unsupported without any notice (that would threaten your cloud provider business image), however it is very possible the cloud technologies you are investing in right now will be superseded by their successor technologies in some mid-term perspective and there is no guarantee those two will be backward compatible.

Let’s consider an example with Microsoft Azure: there is big movement from IaaS v.1 to IaaS v.2 currently. New approach, called Azure Resource Manager changes the picture a lot: the whole ideology, API, limits, all this changes significantly (for the better). IaaS v.1 and v.2 are co-existing and not compatible, so you have to choose which way to go. It could sound obvious, just select the most recent version, however the v.2 just doesn’t support all of the Azure features yet the v.1 supports, so right now with v.1 you will be limited, but strategically you are winning.

To summarize, since public cloud vendors are moving really fast mostly due to an extremely intense competition and constantly evolving understanding of Cloud Computing, if you are a part (especially a leader) of a team developing for the public cloud, you need to understand the trajectory the vendor’s technologies are moving and to have the strategy for keeping up.