Cloud Market Numbers (and the size of AWS)

The Economist this week published an article (Tanks in the Cloud) that talked about an attempt to fill in the cloud market knowledge gap left by industry analysts such as Forrester Research.  The problem the analysts have is that the further down you go in the Cloud stack, the less forthcoming companies are in divulging their revenue numbers.  Companies say even less about the number of servers they have in their data centers (which is where the tanks come in).

The 2010 revenue numbers of interest (see illustration) are SaaS (Software-as-a-Service) $11.7 Billion (Forrester Research); PaaS (Platform-as-a-Service) $311 Million (Forrester Research); IaaS (Infrastructure-as-a-Service) ~$1 Billion.

Cloud Layers with 2010 Revenues

The “$1 Billion” figure for IaaS comes from an extrapolation from estimates of revenues generated for Amazon by its AWS (Amazon Web Services) business.  Two estimates were used, one performed by Randy Bias of Cloudscaling ($500M to $700M), and the other by UBS ($500M in 2010, and $750M in 2011 - a tidy growth rate).

And the tanks? I’ll leave it to the article, but the method applied by Cloudkick (acquired by Rackspace) and Guy Rosen estimated Amazon to be deploying around 90,000 virtual servers per day in their East Coast region alone.  The estimate is a little on shaky ground, but “in the land of the blind, the one eyed man is king” right?

Anyway, that’s a lot of servers.  It makes you think about software vendors considering turning their data centers into clouds to make their software available in a SaaS model.  The private-cloud-made-public is a good way to start at this nascent stage of market development, but how does this scale as we project out?

Posted under cloud

This post was written by James Colgan on January 11, 2011

Tags: , , , ,


 

Cloud Computing Overview (Part 1)

Thanks go out to Richard Goering for his recent blog post about Hybrid-SaaS.  At the end of Richard’s post he thought a definition of the different layers of the stack would help, so this is a much simplified series of summary descriptions for each of the layers.

The Cloud Computing Stack

Starting at the beginning, below is the three layer Cloud Computing stack.  We start at the application level with the Software-as-a-Service (SaaS) layer.  I recently learned that the term was coined by David Thomas, (CEO and Founder of Intacct, now at TechAmerica) in a “gathering of the clans” at the salesforce.com offices in San Francisco involving Marc Benioff and a number of other early SaaS leaders in the early 2,000’s.  The objective of the meeting was to come up with a term to differentiate themselves from “ASP“s, but I digress. 

SaaS is the delivery of the end-application within a browser.  Next down is the Platform-as-a-Service (PaaS) layer and represents a collection of development tools, API’s, and resources used to create SaaS applications.  Finally, there is Infrastructure-as-a-Service (IaaS); a collection of (usually) virtualized compute, network, and storage resources.

Cloud Computing Stack

 SaaS Layer

This is the piece of Cloud Computing that we come into contact with everyday (every hour!?).  It is Facebook, Google Docs, LinkedIn, Virgin’s online booking app, Expedia, etc.  It is a remote application accessed and used via a common web browser.  There are no downloads, no installations, and no licenses to deal with.  Although consumer applications do not have Software License Agreements (SLA), many B2B (Business-to-Business) apps do have SLA’s, especially when deployed throughout an enterprise.

Implicit in the fact that SaaS is remote, and nothing needs to be installed - no servers and no IT required.  Two of the especially sweet reasons to go with SaaS.

Within each application there is the core functionality that delivers the value of the application.  The app engine, if you will.  This holds the secret sauce of an application, the core algorithms and differentiated functionality.  Outside of this, there is a varied collection of fairly standard components (see diagram below).

There are usually at least two interfaces or views of the app, and often there are more depending upon privileges .  An administrator view and a user view.  Below this layer is a collection of common services, such as Identity Management, Access Control, Analytics, etc.

All of these components need to be seamlessly integrated for usability and security purposes (why bolting something together around a Google Group, for example, doesn’t work).  Security needs to be integrated across the entire app to ensure functional and data integrity.

Software-as-a-Service
Software-as-a-Service

Last, but not least, there will be a database that underpins everything.  The database is on the boundary between SaaS and IaaS and is commonly MySQL in most SaaS applications.

The entire app must be “infinitely” scalable.  Meaning that any number of users can start using the application at any given time.  In the bad-old days, in order to manage any spiky traffic, this meant leasing a whole mess of servers from a hosting provider.  Now we just develop the app on a scalable provider, such as Amazon’s EC2 and we’re good to go…as long as your credit card doesn’t max out ;-)

SaaS vs Client App Development

In my last blog post, I gave a collection of reasons why many enterprise software applications will have a hard time converting into a SaaS application.  The greatest technical reason is architectural - moving from a single-user client app (”single tenant”) to a mult-user server-based app (”multi-tenant”).  A Service Oriented Architecture (SOA) may help this transition, but there’s still a lot of work to do…in fact, the reality is, the endeavor will be a complete re-write.  (As a point of reference, I was talking to an Enterprise Software developer the other day, and he said his application had 11 Million lines of code…)

Also, the languages used are different - Javascript, Java, and php (or Python).  Thanks to all of the web startups out there, php and Python (”backend”) developers are hard to come by.  And so a move over to SaaS would imply a massive re-training effort.

I hope this was a useful summary.  It is in no way intended to be exhaustive.

If you know of any useful references, please add them in the comments.

Next up, Platform-as-a-Service, or PaaS.
Connect with me:

Posted under Xuropa, industry

This post was written by James Colgan on April 26, 2010

Tags: , , ,


 

SaaS not for all Enterprise Software Apps: Hybrid-SaaS Required

“Huh?”, I hear from my friends,  ”SaaS (Software-as-a-Service) isn’t for all Enterprise Software?”  Let me explain.

This has been something I’ve been talking about from “the beginning“, but never got around to putting it up here for discussion.  I was finally prompted by a conversation I had over dinner with Richard Goering last week at the EDP Symposium and Workshop.  I could tell that he wasn’t expecting this perspective from me, and his question was a follow-up of what I’d said in my presentation earlier in the day.

The reality is, the world is not as as straight forward as some would have us believe - especially in some markets.  Thousands of software applications have characteristics that create barriers so high that delivery in a “salesforce.com“-like SaaS manner doesn’t make sense.  At least for a long time.

Now that we have a clearer definition of what SaaS is within the Cloud Computing stack, and we have a fuller understanding of the use models of software applications, we can more clearly see and articulate the nuances, layout the challenges and reasons why SaaS doesn’t make sense all the time, and what the alternatives are.

Software-as-a-Service Characteristics

Firstly, starting at the beginning, here is the Cloud Computing stack (I’ll go into more detail in a later post).

Cloud Computing Stack

Cloud Computing Stack

The top layer, SaaS, today includes applications such as CRM , online docs, tax preparation, social networking, etc.   The characteristics of this layer most relevant to our conversation are:

  • These applications were written from the beginning to be web-based
  • They are applications that deal with what I consider the outer-circle of a company’s IP (a Rolodex, business processes, for example)
  • They do not require interoperability with any other software application or data
  • The user interface is consistent across all users
  • In the main, these applications were created by market segment newcomers

Platform-as-a-Service Characteristics

The second layer, Platform-as-a-Service (PaaS) is a bundling of compute resources, storage facilities, datasets, an integrated development environment (IDE), and some proprietary APIs.  The characteristics for this layer are:

  • Tools to develop, debug, and deploy new software applications
  • You have to use the infrastructure of the PaaS vendor

Enterprise Software Requirements

When we step beyond the “safe” outer layer of IP and start dealing with the “crown jewels” of a company, what do we find?

  • An installed base of millions of lines of code that has been used for years or even decades
  • Applications that work with (or are used to generate) a company’s core IP
  • IP protection concerns vary
  • Applications that are part of sophisticated and complex flows of third-party applications and databases
  • A varying degree of customization in order to meet customer-specific work flows, data formats, and other internal “standards”
  • Vendors with shareholders and investors that base their investment upon expected business models and revenue streams

The Rub

All of the above enterprise software characteristics present challenges to a company in moving to a SaaS model.  However, the most crucial aspect of this list is that it’s not all one-sided.  If the list were purely issues for the vendor or the customer, then a straight forward migration can be imagined due to simple market forces.  But when both sides of the purchase equation have reasons to stick with the status quo, migration is stymied to the point when only a really large economic imperative causes the shift to occur out of necessity…or it takes a much longer time for the natural migration to occur.  It took Salesforce.com about 10 years to go from being an ASP startup to a $1B SaaS company.  Even though the rate of change is increasing, we’re still talking about a while.  Don’t believe me?  Have you taken a look over a bank tellers shoulder recently?  Or an airline booking agent?  Surprised to see the DOS app running there?  It’s running in a shell, but it’s still DOS.

Having said that, the transition will occur.  The question is, “How?”.  It will be a while before companies go out and rewrite their software to be “pure-SaaS”.  In the meantime, we need to look to scenarios where a move to the cloud makes sense, and we need a different type of SaaS to support the move.  Let’s call it “Hybrid-SaaS”.

The Move

I don’t think there’s any argument that we have an economic imperative and cloud computing is very attractive.  So the pieces will eventually fall into place, but what will that transition look like?  Here are two plausible scenarios:

The Little Guy

This would be a small company with a limited sales channel and a need to find growth somehow.  So they’d be more willing and able to explore mixed business models easily differentiating between product brand, level of service, market segment, or geography, etc.  If they have a differentiated product, great, but if they’re competing with an incumbent the agility of a Hybrid-SaaS model may provide them an edge in penetrating “the long tail” of a market.

The New Product

This is a new product within a large and established company.  The scenario is exactly as Geoffrey Moore described in a presentation I attended a few weeks ago.  Although the large company has a strong and established sales and support channel, the challenge to the new product is that it is essentially ignored.  The new product is risky for the sales organization as it could sour a relationship if something goes wrong, and that could impact existing business.  Also, the new product is not likely to be purchased “in volume”, and so the return on what would be a hard and long evangelical sale is not there.  This scenario kills new products and hinders large companies moving into new market segments.  Another opportunity for “Hybrid-SaaS”

There are more, but this will do to get us started.

Getting Started

So now we have a couple of realistic scenarios in which a company or a business unit would consider moving to the cloud.  The economic imperative is established, but so many hurdles remain.  In a later post I’ll go into more detail (this is already getting way too long) of what Hybrid-SaaS looks like, but for now, let’s break down the problem and go back to our friend Geoffrey Moore.  This is the Technology Adoption Curve, it’s inevitable, and we need to start somewhere.

Hybrid-SaaS

If we were to put software into the cloud, what would the solution need to look like?

  • No re-write of the product code
  • Easy installation of the software as-is
  • Zero IT overhead
  • Cloud and data center agnostic
  • Manageable by marketing, sales and applications engineering
  • Easy, secure, and manageable access for customers
  • No change in licensing mechanisms
  • No client-side installs
  • Scalability across an entire market
  • Collaboration tools
  • Management tools

The solution needs to meet these requirements technically.  Because we’re not going to re-write our code, we need to start at the infrastructure layer (IaaS) and build up.

We also need to look at some early adopter use-models.  Scenarios that get value out of the cloud in a way that is in line with business objectives.

How do we leverage the Cloud?

Using the cloud and monetizing the delivery of software via the cloud may be too much of a challenge initially.  IP is still a concern to many customers.  Business models need to be tested, etc.  However, there are ways that the cloud can be used to materially impact a business, increase revenues, lower the cost of sales, and shorten the sales cycle.  Here are some of the usage models for when your software is on the cloud in an environment that meets the above requirements:

Pre-Sales

  • Lead generation
  • Self-qualification
  • Self-education
  • Training
  • Evaluations

Post-Sales

  • Account penetration
  • Self-education
  • Training
  • Upgrade campaigns

Development

  • Third party collaboration
  • Beta testing
  • Focus groups

Using the cloud in this way, value is extracted and existing business models are maintained and actually enhanced.

Fundamental to all of this activity is a deepening of the engagement between the vendor and the user.  From this point we can begin to approach the chasm with a greater understanding of what life on the other side should look like for both sides of the vendor/user equation…because it’s not straight forward.

Posted under Xuropa, industry

This post was written by James Colgan on April 16, 2010

Tags: , , , , ,