I spent the last couple of weeks preparing for the Amazon Web Services Certified Solutions Architect – Associate exam. Coming from a long history of on-premises data centers, I find the messaging and training from AWS to be totally different. In VMware training, we spent a lot of time looking at designing and setting up networking and storage. The remaining time was spent creating and managing VMs on the infrastructure. In more advanced courses, we looked at automating these configurations. More recently, courses have covered deploying software-defined networking (SDN). But always, we directed our effort toward making sure the VM was up and getting the resources it wanted. In Amazon Web Services, the ability to deploy vast numbers of VMs and have multi-tenant SDN is a given. It’s not even the interesting part of the AWS platform. AWS is all about the services that supplement the applications inside your VMs.
As an example, we built an autoscaling web app as part of the course. It is a two-tier app with a load balancer, a message queue, and a back-end state store. We were given a simple web page for the front end and a small application to do some processing at the back end. Both the web server and the application tier autoscale based on load. VMs are created and destroyed without involving an operator. There wasn’t a lot of code to write, and the application used a few different AWS services. The application was almost impossible to move to another platform that doesn’t provide those same services. These convenient services for developers are what makes AWS successful. Once an application is deployed onto AWS, it is hard to move it to another platform. Then, the principle of data gravity starts to pull other applications onto AWS for them to be close together. The code we put inside the VMs is not what makes AWS sticky. It is the application services around the VMs that keep applications on AWS. The VMs and networking are kept cheap as a way to get you to use the services that will lock you into AWS.
I think that this gives us an indication of why incumbent vendors like VMware have failed to set the world of public cloud on fire. It is always hard to let go of the thing that made your company successful. VMware has had rapid success with server virtualization and has been trying to find the next big thing that will continue the wave. So far, the new things have replaced vSphere virtualization neither as a transformative technology, nor as primary sources of revenue. VMware also treats VMs as the most valuable thing in its cloud, without providing a range of application services. For VMware to succeed at AWS scale in public cloud, it would need to be ready to burn down its vSphere revenues, ready for customers to abandon their on-premises infrastructure, and ready for customers to deploy everything into a VMware public cloud. VMware might also need to deliver applications service alongside the infrastructure services it currently offers. Lastly, VMware would need to engage with developers, something that it seems very slow at achieving. As a result, developers continue to adopt AWS as their public cloud.
Another perspective is that AWS is not starting its sales process with the IT department. Most businesses start using AWS because a developer needed to get a job done, and AWS was the best choice for the developer. Sometime later, the IT department gets looped into the conversation, usually when multiple applications are on AWS and they need more integration into other company systems. By the time IT is involved, the business is already committed to AWS. The IT department was presented with AWS use as a fait accompli, not a decision to be made.
This services-centered business model for the cloud is what Microsoft is adopting with Azure. There is a growing list of application services available in Azure that enable developers to rapidly develop applications. Microsoft is also following a very smart plan. With the Azure Stack, it is porting Azure back to your on-premises data center. The same application services on the Azure public cloud will be available in your on-premises Azure data center. Microsoft will be uniquely positioned. It could profit from both your public cloud application deployment and your on-premises deployment.
As an IT professional, you need to be aware of the cloud services that are being offered to your business. Without awareness of the potential of cloud platforms like AWS and Azure, you may not even realize the business is considering them. Once cloud services are adopted, you will need to be involved. Hopefully, you will be called on before there is a disastrous information leak or loss of service. To remain relevant, you should be at the front of making your company succeed in the cloud.