I had the pleasure this morning of catching up on some email and ran across a scathing comment about Azure. How horrible it was, how it could never catch up, how it was all around inferior. The context was in comparison to AWS.
Now, I have to say - I have never (not one) done anything with AWS. But, I have talked to a lot of folks that love AWS and hate Azure (lots). And I counter that with the fact that I have been working with legacy enterprise software on Azure since 2011. And, those of us that work with Azure know that it is never done and it has constantly been evolving.
I am not here to say that Azure is better, I am here to say it is different. And if you can't accept that a platform is different and learn about its differences, and adapt as you need to, then be the bigot.
Since this is an AWS thread, then the context here is Infrastructure as a Service. And most folks that I know that hold AWS up as better are folks that have no desire to change the legacy ways and thinking that they already know.
I am still describing the MSFT model of VM Templates and machine composition. Which SCVMM introduced in 2010. The concept of taking a generalized OS image and specializing it on deployment. And storing these properties as separate things, thus granting the ability to re-use, mix and match, and so forth.
SCVMM further extended this concept in 2012 with the introduction of Service Templates - now you can group machines, customize application tiers, and even install applications and thus build out an entire distributed enterprise application. With one OS disk image.
I prototyped this with XenDesktop - building out a scalable deployment. No custom templates for each role, no pre-installation of any software - it all happens on the fly.
MSFT has been moving in this direction of machine composition - layering settings and applications onto an OS at deployment - since 2008. Azure PaaS has done it forever and SCVMM brought the concept to the enterprise and features of Azure IaaS keep it moving.
Desired State Configuration is the latest supporting feature that enables this (and more). I have a resource for XenDesktop to use with that as well.
My point, things are different now than 5 or 10 years ago in IT. And the models and whitepapers and testing and legacy applications need to change along with it.
Now, back to AWS and Azure. The only argument I ever hear are two; firewalling rules, and the composition / deployment process of AWS.
MSFT is on the way to handing the deployment stuff. Firewalling? That is a lazy argument in my mind. I have invested time in hardening machines, properly setting firewalls rules in the OS, IPsec rules and the like. This is harder than setting rules at the network layer, but just as effective.
Someone has to choose which platform to get into bed with. And if the software folks can't get past the traditional datacenter style deployment to a modern cloud model of software development - then maybe the platform is not the problem. Maybe the issue is an open-ness to new ideas and new ways of looking at old problems.