Career ramblings: Making money in the clouds

By blogger

I remember running our first website in the mid 1990s during college. In addition to dealing with the hassles of not knowing how to architect properly, program properly, launch properly or run a business properly, I remember how complex it was to simply get the infrastructure up, running and scaled. People who ran websites during that time remember how much downtime the average site faced. I remember when AOL would feature our ad on their homepage, it was guaranteed that our site (and therefore revenue) would grind to a halt. Same with Father’s Day (we were selling golf clubs) and Christmas.  We started thinking of posting a sign like the ones you see in manufacturing floors about safety:

It’s been 2 days since the last website outage.

We were constantly in a rut of buying more colo space, servers and software and yet nothing made things run smoothly.

Given that experience a decade ago, it is with envy and pleasure that I watch the revolution that is cloud computing. Obviously much has been written about Amazon Web Services and the brand new Google AppEngine. And we know that there is much more to come from the large vendors (including Microsoft) as well as the startup community.

From thought experiments to cloud experiments

The most important thing about cloud computing, in my mind, is that it is reducing the cost of experimentation. Starting is a company or launching a product is all about experimentation. Just like in science, as the cost of experimentation goes down, more experiments can be run and we have to rely less on induction and hypotheses and more on empirical evidence. And as failed focus groups and market research (New Coke anyone?) have shown us over time, in the consumer world there is no better way to understand behavior than to actually experiment. Consumers can’t tell you what they want but they know what they want when they see it.  So stop working on the PowerPoint or debating the idea and just build the site!

However, as an entrepreneur spending time in the VC world, I’ve spent a lot of time (with limited progress) thinking about what the disruptive business opportunity is in enabling cloud computing. We know that cloud computing is enabling countless new startup ventures itself but is there is a great startup opportunity around building the infrastructure for cloud computing infrastructure?

This one goes to eleven

To answer this question, it’s useful to get common agreement on what the “stack” for cloud computing looks like. In my mind, it involves the following 11 layers (from bottom to top), with many similarities to the inside of an enterprise data center:

  1. Facilities (space, power, cooling)
  2. Network
  3. Hardware (e.g., servers Amazon EC2 runs or storage Amazon S3 uses)
  4. Hardware Virtualization (e.g., Xen for Amazon EC2) – optional (Google supposedly doesn’t use any hypervisor-based virtualization)
  5. O/S (e.g., Linux)
  6. Systems Management (e.g., tools to manage EC2 instances)
  7. Application Middleware (e.g., mysql/apache/etc. running on EC2)
  8. Application Code
  9. Application APIs / Web Service
  10. GUI for Application
  11. GUI for Application Development / Customization

Each “cloud” stack operates at a different level of depth. For example:

  • “Old school” colos provide level 1 (facilities) and level 2 (network).
  • “Old school” hosting provide level 1, 2 and 3 (hardware).
  • Amazon EC2 provides levels 1-3 and level 4 (virtualization) and lets you go from there, so you don’t need to think about specific hardware instances.
  • Google AppEngine provides level 1-4 (sans virtualization), level 5 (their OS build) and level 6 (their own middleware – BigTable, focus on Python, etc.).
  • SalesForce.com provides a full application (levels 1-8 and 10) as well as an application platform (level 9) for others to build on. In totally different context, Facebook provides a similar application platform, though without the hosting of the application itself (so they provide in some sense level 9 but require you to find levels 1-7 yourself through another host like Joyent).
  • Startups like Coghead provide all of that plus a UI for application development without having to even write code (level 11).

RackSpace (which has its own cloud initiative called Mosso) has a nice writeup in a similar vein here.

We can now intuit the Cloud Depth Postulate:

The higher up the stack a cloud platform goes, the lower the barrier to entry for building an application. For example, it’s easier for someone with no programming skills to build an application on Coghead than it is to build one on Force or Facebook. And it’s easier for someone with no programming skills to build on one of those platforms than it is to build one on AWS.

As well as the Cloud Depth Corollary:

The lower down the stack a cloud platform is, the higher the flexibility for any type of application to run on it. In this extreme, a colo is more flexible than shared hosting (because you can run your own VAX/VMS server if you want :) ), while EC2 is more flexible than AppEngine (because you can use mySQL, simpleDB, flat files or anything else for storing data, for example).

So is there money for startups focused on building cloud infrastructure and tools?

Over time, you would imagine that the lower-level parts of the cloud stack will be owned by the largest infrastructure providers (Amazon, Google, Microsoft, Yahoo!, Microsoft/Yahoo!, telcos, large hosting providers, CDNs, etc.) Similarly, application-level platforms (like Facebook Platform and Force) are a whole separate discussion since they’re less about infrastructure and more about the reach and customer acquisition value of the underlying network in which they live. Finally, the application development/customization UIs like Coghead provide direct business value (e.g., a business person could see why you’d use Coghead) so you could imagine companies created there, though with significant competition from Microsoft and other players in the mashup/app dev space.

The hardest question for me (and the one closest to my heart, based upon my background) is whether there is money to be made in systems management and middleware in the cloud computing space. Companies like heroku, RightScale and others are getting traction here, so it’s worth a look.

I worry about a few issues in this segment of the market:

  • In the long-term, I think the core cloud players (e.g., Google with AppEngine or Amazon as it adds more functionality to AWS) will continue to move up the stack and encroach on the systems management and middleware layers. You could say “yeah, but that should have been true in the enterprise, where the systems vendors like HP and IBM should have owned the whole stack, yet you had companies like Oracle, CA, BMC, Symantec, BEA and others make billions in systems management and middleware.” I’d argue that the difference is that in the cloud environment, the cloud provider controls their stack operationally while in the enterprise environment, the likes of HP and IBM often just sell the customer the systems and don’t control them operationally.  If you control the operations, it’s much easier and more logical to control the systems management and middleware.
  • While a solution like AppEngine does restrict developers significantly (e.g., to not using an RDBMS and to today using Python), I think it also delivers the real promise of cloud computing (auto-scaling) in a more meaningful way than lower-level platforms. As AppEngine adds more languages, it becomes a very compelling option for new applications and new developers. In some ways, the hard problems of scaling applications seem unsolvable in a generic way unless you constrict the environment in some way like AppEngine has. While systems management, adding web servers, configuring load balancers, etc. is a tactical problem, so much of application scalability involves data and database scalability, as per this presentation. Because of this, a restrictive but automated approach like AppEngine becomes attractive.

Clearly, as the big players try to improve their cloud stacks, many startups (like the ones mentioned above) will end up getting acquired for time-to-market (as is happening in the virtualization space), but I’m wondering where the standalone company opportunity truly is.

If I continue my wild speculation, I’ll throw out three conditions (not existing today) that could foster a big enough opportunity for startups in cloud infrastructure:

1. Enterprises adopt the cloud

From my research, it seems that most cloud usage today comes from two categories: (a) consumer Internet applications being launched primarily by startups who want to be able to experiment cheaply and easily and to scale gracefully and (b) scientific and High Performance Computing (HPC) applications that need massive numbers of system resources for relatively brief periods of time.

The unfortunate reality is that it is nearly impossible to build a business in software infrastructure for Internet startups, since the market is small and is often averse to paying for software (because of the predominance of open source). Furthermore, the customer base is so technical that they often don’t even need the premium support provided by commercial open source vendors (e.g., Facebook is supposedly one of mySQL’s biggest customers yet only pays them thousands of dollars per year). HPC is very similar in a way in that university labs and other large grid users are technical-heavy and budget-light.

But enterprise IT departments are used to (and often demand) paying for technology, support, services and having “one throat to choke.” Furthermore, enterprise IT developers are often not nearly as technical as the developers you find in the average Silicon Valley startup or MIT research lab.

So what enterprise applications really need the features of cloud infrastructure? Financial services companies have large grid-like applications that would be a good start. And similar technology is also used heavily by other industries like energy (oil exploration) and biotech (gene mapping). These still fall into the HPC use case of applications that need huge compute power intermittently.

Are there other, more traditional, enterprise applications that can benefit from the cloud? Unfortunately because of the internal nature of many applications, they don’t often deal with the same “flash crowd” scaling problem that Internet applications face.

So I don’t have the answers, but I’m confident that if there are strong enterprise use cases around cloud computing, there are startup opportunities to take the existing clouds and make them enterprise-ready from developer (e.g., Java support), SLA, support, service and other perspectives.

2. Customers start using multiple clouds

Another history lesson from systems management and middleware is that those technologies were much more successful in environments where you had customers managing multiple hardware technologies. In the closed mainframe world, systems management and middlware came from your hardware vendor. As things opened up with Unix and Windows, many new companies were created. Similarly, will applications start using infrastructure from multiple clouds – either by stitching together different resources (e.g., storage from Amazon S3 and compute from Google AppEngine) or even trading off resources (e.g., price arbitraging storage between Amazon and Microsoft).

You would imagine that some standardization on approaches and conventions in the cloud stacks themselves needs to happen before this is truly possible. But this multi-cloud world of the future seems like it would open gaps for new startup innovation to help customers manage and migrate between them. I’d argue that it will take some time before people start using multiple clouds in a meaningful way, however, since they are still getting their arms around Amazon and Google themselves.

3. New service providers enter cloud business

There are more than three cell phone companies in the world.  There are more than three cable companies.  There are more three Web hosting providers.  So I see no reason why there won’t be many cloud providers over time.

In some way, deeper cloud stacks threaten the traditional colo and hosting businesses, so I’d imagine those companies (as RackSpace is doing with Mosso) will have to enter the space.  Similarly, large telcos with existing Web hosting businesses will view cloud as a growth opportunity.  Now most service providers don’t have the technical talent of a RackSpace, so I see the third business opportunity as creating technology for service providers to offer cloud services themselves, without investing the R&D resources.

Again this will take some time for the xSPs to warm to the idea.  In addition, it is notoriously difficult to make money selling technology to service providers, since they frequently want it customized so much and since margins get collapsed by their thin margins over time.  Businesses like 3tera and QLayer provide this kind of capability today for service providers.  Though I wonder if, in the long term, service providers will want an open source stack backed by a commercial vendor instead of a proprietary stack.  I’ve heard rumors of such projects and it will be interesting to watch this space develop.

Conclusion

So my take is that there is money to be made in cloud infrastructure, though it will take several years for real business opportunity to develop, once enterprises start using clouds, multiple clouds become real and new service providers enter the cloud market.  That’s not to say that several startups won’t get snapped up for $100 mm for strategic value in the interim. :)

Tags: , , , , ,

5 Responses to “Career ramblings: Making money in the clouds”

  1. Bart Cortooms Says:

    Interesting post – thanks for sharing your thoughts!

    I agree we’re likely to see many more specialized Google App Engines in the future, or “level 3″ platforms as Marc Andreessen calls them. There’s SalesForce.com is an example you mentioned already, and another is Ning.com, which provides a hosted programming framework for building social networks. No doubt we’ll see many more of these level 3 platforms, which would likely run on some form of a computing cloud. Building the software stack for this is hard work though, and I’m not sure it’s something many start-ups will be able to do, so they’d likely use a vendor like Amazon EC2.

    An open source software stack for building clouds could very much be a catalyzer for the proliferation of new clouds though. People are already working on parts of such a stack, and I’m very curious to see how long it would take to able to build something like EC2 with mostly (or only) open source software.

    If this happens, I think we’ll see many more opportunities for new start-ups, both on the infrastructure level as well as the layer above it: the hosted programming frameworks like Ning.com and SalesForce.com.

  2. Matthew Small Says:

    Hi Nick, great post here. Thank you for the mention within. We also see the cloud as a great disruptor and it will be a wild few years as we all build and grow with it. We’re very excited about the proposition of a business being able to deploy across multiple cloud datacenters all over the world, without ever having to purchase a single piece of hardware. We like the unrestricted model that puts the hardware into the hands of the developer, though that is certainly not for everyone and some are going to elect to go with the “pay no attention to the man behind the curtain” model. One thing you mentioned is certain, that traditional datacenters are going to have to take a hard look at this model and what their options are in this space.

  3. M L Says:

    Hi Nick, great post. AWS provide a huge advantage for the small business who is getting started. It enables the entrepreneur to leverage a world class data center with sophisticated systems management already in place. The funding needed to replicate such a high quality service is unattainable by today’s startup.

  4. Tom Says:

    AppEngine and AWS are in two totally different categories. AppEngine is the most similar to something like Heroku, as it goes all the way up to 7, handling all the underlying layers as well. Heroku actually goes all the way up to your level 11, managing all the underlying layers for you. In fact, I think you have miscategorized Heroku, they aren’t a middleware/cluster management layer like RightScale, who only provide 6 and maybe a bit of 7. As a user you purchase 1-5 from Amazon, 6/7 from RightScale, and do the rest yourself. With AppEngine or Heroku, you purchase the whole stack from them. AWS is a supplier.

  5. Sebastian Stadil Says:

    Not investing in cloud computing would be like foregoing the PC in the early 80’s. You need to invest if nothing else to have a foot inside the tent and learn so to speak.

    The PC and the development at that time abstracted away the Hardware or maybe rather the specific hardware so now you could write to an API. I won’t rehash the Windows / IBM story but the key was a credible unifying API not so much the technology presented. The likes of Oracle’s Ellison did this as well by porting his relational database to every mini architecture available. This way he “presented” and API before the market had “decided” and then market decided based on that.

    In Christiansen / Geoffrey Moore terms the value moved to whomever controlled the API away from the hardware and the system understanding. MS/ Intel and Oracle. Interestingly the value moved down the stack for the first time.

    So question now is what is being abstracted away by Cloud computing? What is now being “presented” as the new API? Firstly ALL hardware will be abstracted away and all the hardware dependent services that we now see. I think the latter is what Bezos calls muck.

    A super API will emerge incl. very high level languages and probably domain specific languages. Intalio is one example where there should be no hardware nor API concerns; Just describe the process in a graphical / Domain specific form and you should be set.

    We saw some of the Super API surface here last week when someone made an Amazon implementation of the Google App Engine: Appdrop.

    What this response tells me is that no one will be allowed to own the API plus that one will emerge as a new Standard of sorts.

    The port of Ruby (jruby) and Python to the Java Virtual machine is another example. The JVM coupled with Cloud computing is obvious. Wonder why we haven’t seen it yet.

    Once we have an architecture of sorts there will be plenty of possibilities both on the Cloud end and obviously on the “what to do with it” end. New companies will be build around ideas and insight not around resources.

    Your question and notably companies mentioned points more to the Cloud proper end. so I will try and answer. Just think about add ons to PC architecture. Graphics is in some ways starting to overtake the Architecture itself. CPU’s being an add-on to the GPU rather than the reverse.

    Same with Cloud Methinks. The idea toyed with like adding PS3 based accelerators to the AWS offering parallels the historic offering. The porting of Open Source idea I had for the AWS competition was another that fits this well.

    For every $1 being spend on IT capital corporate is probably spending 5-10 on maintenance and service and stuff to get it into a usable form. The “getting it into a usable form” is another key area. What exactly does that entail? Migration of software, Simplification of processes and automation. We can speculate here but whomever figures this out will be a rich person.

Leave a Reply