Can AWS put out the private cloud?

TL;DR: No.

Today I watched a recording of Andy Jassy at the AWS summit in San Francisco from last month.  (Yes, I have a backlog of Youtube videos I’m trying to get through and John Oliver takes precedence to AWS)

The statistics he laid out were incredible:

  • 102% YoY revenue growth for the S3 service comparing Q4 2014 to Q4 2013
  • 93% YoY revenue growth for the EC2 service comparing Q4 2014 to Q4 2013
  • 1,000,000 active customers.  (Active customers do not include internal Amazon customers)
  • 40% YoY Revenue growth in total

Andy went on to say that AWS is the fastest growing multi-billion dollar enterprise IT company.  He backed this up by showing what I would guess internally they may be calling the “dinosaur slide”.  A slide that showed the lagging growth of other companies like Cisco (7%), IBM, HP, etc.  (never mind that he was comparing to the total Cisco business and not just the datacenter business that AWS competes with)

This presentation with its great guest speakers and the announcement of the new EFS service really set the Internet on fire.  There were posts such as this one: “How in the hell will any cloud ever catch AWS” and many more.

I love AWS.  After being stuck using VMware for a few years AWS just feels so right.  I love how easy it is to use and develop applications and I especially love the APIs.  But I have to take exception with the simple Dark Lord Sith logic of there is “the right way = AWS” and the “wrong way = whatever else you’re doing”.  This is what I call the Sith Lord slide that he showed:

A4E8582C-22F7-49DF-BADA-CE624A9CA0E0
The Sith Lord Slide from AWS Summit San Francisco April 2015

 

The slide and the pitch suggest rather explicitly, that if you build your own frozen datacenter and don’t use AWS you will get left behind.  Really, AWS says there is no need for your own data centers.  AWS releases new services nearly every day, 512 in 2014 (I’m not sure what all 512 are, nor what they consider a service, but this seems like marketing hyperbole).  And there is no way you or any other datacenter can catch up.

Also this last weekend there was an article that’s title looked like it was written by Bilbo Baggins called: “There and Back Again: Zynga’s Tale with Amazon’s cloud“.  The article talks about how Zynga, so hot, tried to ween itself from AWS and then after several years, decided it would ditch its own data centers and go back to AWS.  All in, according to their CEO on earnings call last week.

But that’s just like your opinion, man

So based on all that, it seems that building your own data center is a fools errand.  So in light of all this, I have to quote the Big Lebowski and say: Yeah? Well, you know, that’s just like, your opinion man.

That’s just like, your opinion, man.

A differing opinion, man

Let’s just talk in general now and then talk specifically about what we know from the Zynga article.

  1. The Enterprise: The final frontier
  2. Taxi cabs or rent a car?
  3. Feature complete or good enough?
  4. What can we build together on open source?

The Enterprise: The final frontier

AWS’s reach has largely been for startups.  My two instances in AWS count towards that 1,000,000 customer count.  Now the focus is to the enterprise where they are starting to see great success.  But the enterprise may not be as good of a fit to go ‘all in’ and there’s one good reason:

Large static workloads.  Startups have workload that comes and goes based on the customers an seasonality.  So too does the enterprise, but there is still a large amount of static workload that doesn’t change size.  Take the HR programs of these companies that are off the shelf and just live in their own data centers.  It makes good sense for a line of business organization to move a lot of its customer facing, variable driven, applications to the cloud.  But for that static work load?

Look, static workloads are as unsexy as a corner drugstore.  They are the old applications.  They are about as sexy as the applications that run on a mainframe (which who’s business continues to grow for IBM).  But for the enterprise, we still need them.  Perhaps these old workloads are the new mainframe workloads.

In the future these workloads will probably offered as SaaS based applications and then the enterprise can abandon them, but for now most of them aren’t.  In addition there are applications that are home grown, like a facilities application in certain universities that hasn’t been rewritten to be cloud aware (probably a lot of money in this by the way).

But its not just off the shelf software packs from Oracle.  It could be the companies own product:  A SaaS delivered to its customers.  If that is largely static, and we already have the data centers, why not just use them?  It doesn’t require extra capital outlay as we’ve already got them.  The only thing enterprises may be lacking is the cloud operations experience, but that is something they can buy from something like Metacloud, now Cisco OpenStack Private cloud.

Uber or rent a car?

Scott Sanchez talks about how workload infrastructure is similar to transportation options.  The cloud is like renting a taxi cab.  When you only need it now and then, it makes a lot more sense.  When I fly into Seattle, I grab a cab because its so much easier.  I don’t have to take the bus all the way to the rental car facility.  I hop into the cab and he takes the carpool lanes all the way to the city.  I pay and I’m done.  This is like the cloud.  Its super effective and faster.

But does hiring a cab make sense if I need a car all week with multiple meetings in different cities?  Hiring a cab gets really expensive and really may not be the best fit.  It costs a lot more to keep him sitting there unused while I’m in my meetings with the meter running.  In this case, I may be better off just renting a car.  Especially if its multiple days and different cities and in places where parking is free.

A best option for large enterprises would be to have a place where they can run static workloads more cost effectively and if things get dynamic, burst those workloads to the cloud.  Some apps go here, some go there.

Feature complete or good enough?

Can anybody catch AWS?  Oh yeah.  Let’s look at VMware as a case study.  Nothing even came close to offering its complete, feature rich, easy to use vSphere products.  But what happened?  In that space a new technology like AWS started to erode it and then Microsoft got ‘good enough’.  This will continue to happen, even though VMware is currently meeting earnings expectations I’m already predicting its demise.  Let’s check back in 5 years and see how 2020 earnings are.  Maybe I’m wrong?

Microsoft continues to get good enough and its new offerings are very compelling to the enterprise because they include a strategy on how to leverage their existing data center.  Their azure stack offers the link for hybrid cloud that AWS doesn’t have.  Its not perfect, but its on the track to do what enterprises need:  Connect the static with the variable.

What about feature complete?  No service is really feature complete, but for the average programmers and IT organizations, how many of those AWS services are people really using?   For the beginning organizations just give me EC2, ELB, S3, cloud formation, and cloud watch for autoscale and I’m pretty good.

Guess what?  OpenStack already has at minimum 2nd or 3rd generation projects that already do that.  Consider the rise of Digital Ocean with its cheaper services, limited features, and hyper growth.

The other issue is newer clouds don’t need the baggage of the old guard.  If we had a cloud service that was container based (docker, rkt) then we could use that.  AWS has ECS but this current version leaves a lot to be desired.  A container based cloud I’m convinced is the future and the only real cloud we’ll need.  (I’ve been wrong before… a lot), but as a full stack guy, I’m going all in on containers.  I don’t know if Docker will survive, but containers will.

What can we build together

This brings me to my last point and this is how I think everybody else can win:  If we standardize our private clouds based on an open architecture and then at some point connect those together then we can really do something incredible.  If we did that we could:

1.  Offer cheaper cloud services than even AWS to our customers.  Private cloud wins every time on cost, but it isn’t about cost why people use AWS:  Its about speed and features.  If we can’t get that with a private cloud there’s no reason to have it.  But if we can deliver both we win.

2.  Offer capacity up.  Think of it like a house with solar panels.  You make extra electricity and the electricity company has to pay you for what you use.  If we can create secure connections and secure data at rest then data centers can attach to this cloud-grid and consume and use services all over the place.  You will have more data centers than even AWS has to chose from.

Positioning your private data cloud around proprietary offerings limits you from the ability to engage with the larger community.  No doubt these private offerings have their place and will have their day in the sun, but I fail to see how they help build a community large enough to be sustainable; That is, unless they achieve critical mass, but then we’ve got the same problem with one player setting the rules.

An open platform offers a way for everybody to win.

Zynga

Let’s turn back to Zynga.  I used to tell everybody how Zynga got so big they had to make their own cloud because their AWS bill was too big.  Zynga gave great reasons, including over-provisioning as a reason they built their own cloud.  If they’ve gone back to AWS ‘all-in’ what does it say about them and what can we infer?  Does it mean AWS killed the private cloud?  Here’s what I infer:

1.  Revenue isn’t coming in.  Trimming its workforce by 18% and jettisoning data centers are cost cutting measures so they can free capital to invest in new games.  Gaming is a tough business and it seems there is no fixed workload.

2.  Variability.  Zynga’s games may be more variable than previously thought.  This probably relates to point 1.  Did the variability in Zynga’s games make it so that they had over built capacity?

3.  Is private Cloud best served as a product or a service?  We know a little about the Zcloud.  It was at one point based on Cloudstack with RightScale to provision workloads.  Citrix sells products.  Its not an operations company.  Zynga used CloudStack before it was open source.  While all reports generally show that CloudStack is getting better, perhaps its features are not enough for Zynga and maintenance and upgrades wasn’t so easy.  CloudStack is still a distant second as best from market adoption as OpenStack is.  But OpenSource alone isn’t going to save people.  A service like Metacloud, now Cisco OpenStack Private Cloud may have saved this.

4.  Were developers happy using the internal cloud?  If they weren’t and couldn’t move as fast then perhaps they didn’t want the Zcloud.  Perhaps the Zcloud was a cause of contention the whole time it was around.

Lastly, this interesting tweet from Adrian Cockcroft:

Screen Shot 2015-05-11 at 10.14.41 AM

Can’t argue with that, but I can question it:  Did they save $100M with their own data centers and just not redeploy the capital enough?  Obviously there was a TCO analysis done, perhaps it just didn’t work out because the bets didn’t pay off.  What if House of Cards was a flop?  Netflix still pays a lot of money for AWS and I would argue has more of a sustainable advantage than Zynga does in the marketplace.  Does the result of this experiment apply to everybody?

Conclusion

  • I still believe in a future of loosely federated clouds that can offer capacity to each other.  I’m not ‘all-in’ on the public cloud.  Just like I’m not ‘all-in’ on getting rid of mainframes.
  • I believe a large enterprise would save and benefit from a private cloud as a service offering from something like Metacloud rather than pure open source products alone.  Metacloud mitigates risk and delivers the core capability (IaaS) that AWS provides.
  • Organizations within Enterprises should use public clouds like AWS.  It makes a lot of sense.  Even if they have private clouds, I still advocate using public clouds like I do using Uber or Taxis… Just not all the time.
  • Zynga’s outcome doesn’t apply to everyone.
  • We need better hybrid cloud solutions.  We need better ways to connect the clouds.