Summary: Cloud services are not one size fits all: you need to base your selections on individual needs.
I get a lot of questions about the best way for developers to move to the cloud. That’s a good thing, because trying to forklift your existing applications "as-is" isn’t a recipe for success. Building elastic applications requires a focus on statelessness, atomicity, idempotence, and parallelism — qualities which are not often built into traditional "scale-up" applications.
But I also get questions that I think are a bit beside the point, like "Which is better: Infrastructure as a Service or Platform as a Service?" My answer: "It depends on what you’re trying to accomplish, your teams’ skills and how you like to consume software from ISVs".
Moving to IaaS: An overview
Should your business retain its in-house datacenter or outsource itr? What are the drivers and barriers when it comes to cloud infrastructure? We look at recent research on key IT architecture questions.
That first question is often followed up by a second: "Who’s the leader in the public cloud space?" It’s like asking, "who’s the leading car maker?" There’s a volume answer, and there’s a performance answer. It’s one answer if you like pick-ups, and it’s a different answer if you want an EV. You have to look at your individual needs and match the capabilities of the car and it’s "ilities" to those needs.
That’s how I think we’re starting to see developer adoption of cloud services evolve, based around the capabilities of individual services — not the *aaS taxonomy we pundits and vendors apply to what’s out there.
This approach to service based adoption is reflected in data from our Q1 2013 Forrsights Developer Survey, so I’ve chosen publish some of it today to illustrate the adoption differences we see from service to service.
First, a bit about the data below. We asked all developers in our survey about the types of application development technologies they’ve worked with in the past 24 months. Of the 1,611 North American and European developers we surveyed, 325 (or just over 20 percent) indicated that they had worked with cloud computing or elastic applications.
We then asked those developers a variety of questions about how they are using cloud/elastic technologies. It’s probably not a surprise that the three most common types of cloud services developers have adopted to this point are compute, storage, and relational data services (see figure 1). Compute and storage are both regularly employed by 47 percent of the survey respondents, and RDBMs services are used by 36 percent of survey respondents.
Other cloud-based services like development tools, messaging, caching, and No SQL DBMS trail these big three by a significant margin.
Figure 1: Most common types of cloud services developers adopt
So what happens when we look at how leading public cloud providers fare amongst developers that employ each of these three types of services? Each adoption profile tells a slightly different story (see figure 2):
Figure 2: Amazon Tops Developer Intentions Among Compute Users
Looking at each of these three important cloud services shows different competitive forces at play within each service type, and that’s key to understanding how the cloud market is evolving.
We’re moving away from distinct leaders in one market segment like Infrastructure-as-a-Service (IaaS) or Platform-as-a-Service (PaaS) and moving toward a model that mirrors a traditional buying pattern, where app development professionals choose between best of breed services (e.g. compute, storage, RDBMS, messaging, CRM) or integrated data-centers of services (AWS, Microsoft Azure, Google Cloud Platform, Salesforce/Heroku/Database. com).
If you believe in best of breed today for your on-premise strategy, then it’s likely that it will make sense to look at adoption leaders in the cloud in a similar way — on a service-by-service basis. If you’d prefer to use one provider that has the best aggregate buffet of services, then who’s leading who at the individual level will matter less.
Forrester clients should check out my developer landscape document and James Staten’s "Who Are Enterprise Cloud Developers?" for more detail on cloud adoption by developers. If you’re interested in other cloud providers not mentioned here, or other cloud workloads and how they compare against storage, compute, and RDBMS then consider becoming a Forrsights Developer Survey client.