One lesson I have taken away recently is that when using public cloud providers that are working at the ‘hyper scale’ end of the spectrum i.e. AWS, Azure and Google, there are definitely better ways than others to adopt them cost effectively, especially when consuming IaaS services.
As a bit of context the organisation I’m working with has a traditional on premise IT infrastructure comprising HP Servers, some EMC storage and some Cisco / HP networking. There was also some virtualisation, maybe 50-60%, but I think it is fair to say that the easy targets had been done and then stalled as it hit the more difficult servers.
Initial reviews highlighted some gaps in capability and it was for this reason that the organisation had decided to pretty much park any investment in the local IT platforms and target Public Cloud to deliver new IT services. This appears quite rational at first as some of the capability gaps on premise were capacity related and availability related. Public Cloud does offer an attractive availability model if designed correctly and of course there is a perception of infinitive capacity. However people on the projects had started to question the validity of the decision when looking at what was deployed and what it was costing.
Public Cloud and AWS in particular is fantastic for applications that are ‘cloud native’ and are designed to Scale Out (capitalisation deliberate!). This means the solution to be deployed on small instances and to elastically scale out and back in again based on demand. It allows for a real pay as you go (PAYG) model to be adopted which is as about as cost effective as you can get. It’s also great as a place to ‘seed’ ideas and see if you can get them off the ground – this is where the agility of public cloud really starts to become empowering.
Where public cloud starts to get expensive is deploying large or extra large IaaS instances that are fixed in nature, i.e. transposing monolithic or traditional vertically scaling apps that would normally sit in a data centre. This is what had started to ring alarm bells, as the cost profile was well in excess of what was expected.
It may well be that AWS just wasn’t a good fit for the types of applications we were deploying and that other Public IaaS and PaaS providers may have been a better fit. It was more likely that having an experienced AWS solution architect to design the solutions would have resulted in a leaner solution. In fact this is something that Gartner highlight as a ‘caution’ around AWS adoption in their IaaS 2015 magic quadrant.
The other challenge was the unforeseen impact in terms of the support organisation going forward. The projects had engaged with external systems integrators to deliver the solutions, another provider to support the IaaS and PaaS elements, another to support the apps. These providers brought with them new tools and new processes / approaches that are at odds with the processes used to manage the traditional on premise apps etc, think continuous delivery and impact to traditional change management processes.
It would be easy to see this as a bit of a failure into public cloud adoption, but this has been valuable learning experiences for the organisation. The value of public cloud is easy to see and great in certain scenarios and it is going to look forward to exploiting these opportunities over the coming months and years. However the equally valid learning is that Public Cloud isn’t a panacea that is going to solve all the operational and budgeting headaches they may have, which is why the new direction is Hybrid Cloud with investment into ‘on premise’ (actually hosted in a colo data centre) private cloud capability to inject some agility into the provision of those traditional, monolithic applications, or those that have stricter data governance requirements than the organisation is comfortable putting to AWS.
The challenge as I see it is creating a management plane that can holistically manage across the public and private clouds to give a consistent experience, which I’ll start exploring in another post!
Share this post: