How quickly are end-user companies adopting public cloud computing platforms as a key part of their IT strategies and infrastructures? That depends on who you ask.
Spending on public cloud services is growing quickly—from 4 percent of overall IT spending in 2009 to 12 percent during 2014, a rate six times that of traditional systems, according to IDC. Gartner estimates cloud spending already accounts for 10 percent of IT spending.
Part of the reason is that cloud is designed to be a major and core part of an IT infrastructure—a role that no technology is allowed to fill without demonstrating its maturity, reliability and security, usually for several years, according to Bernard Golden, CEO of consultancy HyperStratus and a CIO.com blogger.
Cloud-computing technology is still relatively immature, though developing quickly, and has not been around in a stable form long enough for most CIOs to be able to be comfortable saying cloud as a category or a particular provider's service makes sense for his or her company, according to Sean Hackett, a research director at The 451 Group.
At the individual IT project level, however, many developers are doing projects using public cloud technology like Amazon's, in some cases without the CIO ever knowing—until the cost shows up on an expense report, Golden points out. (See Golden's recent blog, The Truth About What Runs on Amazon.)
The difference between even the best-known services—Microsoft's Azure and Amazon's EC2—aren't well understood by most potential customers, Hackett says.
1. Focus on PaaS vs. IaaS
While analysts and vendors acknowledge the endless discussion of what constitutes "cloud" computing and its various flavors can get tiring, the differences between Azure and EC2 are important, Golden says.
Azure can be classified as Platform as a Service (PaaS): a cloud model that offers hardware, operating systems and application-support, effectively offering a virtual server on which to load software, which can be accessed and managed through a Web browser.
Microsoft last week blurred the boundaries between IaaS and PaaS by adding the ability for developers to run Windows Server 2008 R2 instances on Azure, theoretically making applications portable between the customer data center and Microsoft cloud platform.
[ What has Microsoft CIO Tony Scott learned while using Azure for the past two years? See CIO.com's recent article, Microsoft CIO Eats His Own Cloud Dog Food. ]
Amazon's EC2 is infrastructure as a Service (IaaS), providing all that PaaS does, plus the ability to multiply VMs into virtual grids or clusters with integrated storage, networking and systems-management software. Effectively PaaS is designed to serve the function of one or more application servers; IaaS is designed to act as a portion of the entire data center and offer capacity on-demand.
2. Application support
While both Azure and EC2 heavily market applications that ISVs make available through their services, EC2 tends to attract resource-intensive software typically classified as enterprise applications, while Azure tends to feature applications that typically serve LAN- or workgroup-sized user groups.
Both platforms are designed to be easily resizable and are being developed quickly; for now at least, that minimizes but doesn't eliminate the difference between IaaS and PaaS, Golden says.
3. Application portability
Because it's a Microsoft environment and supports commonly used x86-based computing technologies such as .NET and Visual Studio, Azure is more accessible to developers accustomed to those environments, according to Gary Chen, IDC server virtualization analyst.
The benefit and drawback to that is that Azure only offers Microsoft operating systems, which makes things simpler for Windows developers, but limits the applications they can build on or port to Azure, Hackett says.
The new Windows Server capability is designed to make applications even more portable between data center and cloud, but only when both are closely equivalent Windows Server environments.
Amazon offers Linux, Mac OS X or Windows support, but has some specific storage requirements and also requires developers to take into account the amount of bandwidth and computing time that the application will require.
Both Azure and EC2 are designed to be scalable, but the way they achieve this is different.
On Azure users have the choice of scaling up the number of VMs on which an application runs, or by increasing the power of the virtual machine they use, according to .NET development consultant Jason Haley. It offers storage as varying blocks of Binary Large Object (BLOB) service and virtual NTFS drives.
Pay-as-you-go on Azure means defining the number of VM nodes that an application requires and the ability to change that number using a management console.
EC2 is far more flexible now than two or three years ago, Golden says. It still scales in blocks called Elastic Compute Units (ECU) that include a specific number of Amazon Machine Images (AMI) and storage volumes called Elastic Block Stores (EBS).
ECUs include varying amounts of storage, I/O, memory, performance equating to specific 32- or 64-bit processors, and a variety of networking and higher-level systems or application-management services.
At one time Amazon offered only small, medium and large-sized resource blocks and price points. Then in September, it introduced micro instances that require as little as 613MB of memory, and cost as little as two cents per hour of use. An Amazon feature called autoscaling automates changes in resource levels to respond to demand.
Because Amazon's service is designed to be more comprehensive, its pricing is more complex than Microsoft's, though neither pricing plan is simple.
Amazon's service is reputed to cost more in general, but developers and analysts also complain about the rigidity and surprisingly high cost of Microsoft Azure, often finding EC2 cost-effective even for small projects when comparing the two. Microsoft's analysis of price differences is much different.
Amazon has been more aggressive about dividing both its technology and prices into smaller pieces to appeal to a wider variety of customers, Hackett says. Demand from users has apparently not grown intensive enough for Microsoft to follow suit, but it almost certainly will as both PaaS and IaaS become more widely adopted, he says.
Most recently, Amazon announced a new offering to give customers a free taste of EC2. As of November 1, customers can get one year of free access to a micro-instance on Amazon's Elastic Compute Cloud, plus a limited amount of storage and data transfers. This free ticket to the Amazon cloud can be used for enterprise apps or for test and dev purposes.
Follow everything from CIO.com on Twitter @CIOonline.