Reuven Cohen is the founder and CTO of Toronto-based Enomaly
Inc. Founded in 2004, Enomaly develops cloud computing products and solutions,
with a focus on service providers. The company's products include Enomaly ECP,
a complete revenue-generating cloud platform that enables telcos and hosting
providers to deliver infrastructure-on-demand (IaaS) cloud computing services
to their customers. Reuven is also the founder of CloudCamp, which takes place
at cities worldwide, and Cloud Interoperability Forum. He has consulted with
the US, UK, Canadian, and Japanese governments on their cloud strategies.
In this interview, we cover:
-Cloud spot pricing.
-The places for commoditization and
differentiation in cloud computing.
-While people think that with cloud, datacenter
location doesn't matter, but the opposite is true. The cloud will allow ultra-localization.
-There will be many spot markets for cloud. Some private, and some public.
Could you take a moment to introduce yourself?
Sure. I'm the co-founder and CTO at Enomaly Inc., here in Toronto, Ontario. I'm
also the instigator of several other cloud-related activities, including Cloud
Camp, which is a series of advocacy events held around the globe, in something
like 150 locations at this point.
In very broad terms, I am involved with advocating the use
and adoption of cloud computing, and I've been very involved in the cloud world
for the last several years. The first version of our software was created in
2004, which predates things like Amazon EC2 by a number of years. We also
helped define the U.S. Federal definition for cloud computing.
Most recently, we've launched SpotCloud, a spot market for
done a lot
of thinking about cloud compute as a commodity. What are your current
thoughts on this subject?
providers of cloud computing resources don't want to be treated as commodity
brokers. It's important to make the distinction that, while there is an
opportunity around applying a sort of commodity economic model, that doesn't
mean that all offerings are necessarily the same.
I've been trying to create a method in which you can
commoditize certain computing resources, while not commoditizing the providers
of those resources. That's the challenge we face.
Robert: Do you
think that offerings in the cloud market are inherently something that's identical,
no matter who produces them?
answer is yes and no. We fragment the cloud computing market into a few
different pieces. First, at the top, there's software as a service, and to take
advantage of software as a service offerings, you need to have a platform. So typically,
you're building scalable systems on a platform provided as a service.
Underneath that, you need the actual interface to things
like storage, networking, and CPU. Finally, you need an infrastructure that can
be provided in an autonomous, easily managed way, so you need an infrastructure
as a service. Those are, very generally speaking, the three main parts.
One key issue is the lack of standardization in any of those
three parts at this point, although there are similarities. I have focused on the
bottom-most layer, and my company provides infrastructure-as-a-service software
to hosting providers.
The most basic capabilities required by all
infrastructure-as-a-service providers are the ability to start a machine or a
virtual machine, the ability to stop a virtual machine, and the ability to handle
When we started to look at commoditizing these functions, we
focused on the idea that any infrastructure-as-a-service provider is going to
have those three basic requirements, and we created a marketplace that commoditizes
those three things.
So we provide the ability to find a cloud provider anywhere
in the world based on price and geographic location. That location could be as
broad as a whole continent or as narrow as a specific city. For example, we
could choose Seoul and deliver a raw disk image that could run on any virtual
environment or even actually potentially on a physical environment. We
commoditized it based on those criteria.
Robert: You have also
said, "To avoid directly competing with regular retail sales of cloud
services, spot cloud uses an opaque sales model." Can you take a minute to
explain what that means?
understand that, I should probably start with a bit of background on how the spot
cloud product came to be. As I mentioned previously, we were one of the first
infrastructure-as-a-service companies out there. We created the first version in
2004 and adapted over the years based on the emergence of cloud computing.
Our current customers are generally public cloud-service
providers, and most of them are outside of North America. Many of them have
just built clouds and hoped that customers would adopt their platforms, but the
reality is that they actually need to market their platforms, services, and so
That created a dilemma for us, in the sense that, in order
to be successful, we need our customers to grow, and grow quickly. In order to
do that, they need to increase their utilization levels, and that doesn't
always happen. We were seeing fluctuations in utilization levels based on factors
such as time of day, how successfully they were selling services in various
parts of the world, and so on.
We needed a way to help our customers increase their
utilization rates, making them successful, which ultimately benefits us as
well, of course. We had to avoid cannibalizing their retail sales, and in
looking at various models, one that really jumped out at us was the concept of an
In this model, the buyer specifies what they want to buy, in
terms of a quality rating, an amount of RAM, a number of processors, and so on,
but they don't actually know who they're buying from until after they've agreed
And that provides the ability to avoid cannibalizing your
existing retail sales, which makes it attractive to service providers who are
obviously not keen to sell something that could sell otherwise at a higher
Robert: You recently tweeted
that it looks like the top one percent of spot cloud buyers represent 99
percent of the capacity purchased. Can you expand on that?
Reuven: I freely
admit that I'm learning a lot in this whole process. First of all, I never
expected the amount of interest in this platform that we've received. It's been
astounding. We've had so much interest from both the buy and sell sides that it's
And in a sense, we're the first to ever really try this
opaque spot market for excess compute capacity, so we don't really have a lot
to base the actual business model on. We're learning as we go, and we're also
getting a lot of market research done in terms of people who are signing up for
it on both the buy and sell sides.
There appear to be some really
interesting use cases on the buy side. People who want to buy capacity often
need very large amounts of tasking for a very short time, but they're very
concerned about where that tasking is.
Consider the case where I need to task a platform or
application that I am going to be launching next week. If I get a million users
from a particular city, let's say Paris, I want to know how that application
performs for a million users from Paris. Although we have a maximum number of
people firing up on the buy side, there are likely to be a few in particular
who utilize significantly more capacity than the others.
infrastructure tends to gravitate toward being a commodity, whereas solutions are
differentiated specialty items. Platform as a service is probably somewhere in
between. Where do you see platform and software as a service fitting in the
future where a significant amount of raw compute is available as a commodity?
Reuven: I was
talking to one of our partners a while back, and I asked him what he thinks the
future holds for of infrastructure as a service. His answer was, "Platform
as a service." The value is in the implementation of the infrastructure, and
infrastructure becomes a commodity because that's what it's there to do.
Where some people look for globalization, I look at it the
opposite. I look at ultra-localization, or regionalization, which is the
ability to adapt to the constraints and fluctuations on the ground in
particular places. If I am having a lot of sales success in Tokyo, it makes
little sense for me to scale my infrastructure in London. It makes sense for me
to scale my infrastructure where my customers are.
If my customers have a better experience on my platform or my
application, I'm going to have a happier customer, better sales, more return
users, and a more successful company. And that's the opportunity that this cloud
of clouds, or this regionalization of compute resources, is really enabling.
The reality of today is that we've got one-size-fits-all clouds,
but that's not where we're going. We can't just blindly scale for everyone,
Robert: When I'm
out meeting customers, we talk about infrastructure, platform, and software as
a service. I'm seeing the lines blurring between infrastructure and platform as
a service. Heroku, which offers a platform as a service, but built on Amazon
infrastructure, is a really good example of that.
true, and the fact that Microsoft has been building data centers around the
globe is a good indication of where things are moving. We're moving to a
network-based world where unfortunately, the desktop is less important than the
app. The Internet is the platform, and the location matters. I think you're
right that there is a blurring of where the underlying infrastructure is and
where the platform is.
Ultimately, I think that when we talk about cloud computing,
we're really talking about the Internet as the operating environment.
February, James Urquhart wrote a post called "Cloud
Computing and Commodity," where he states that commoditization will
happen at a granular level. He says, "technologies will standardize
various components and features, but services themselves can and will be
differentiated and often add significant value over those base capabilities."
What are your thoughts on that?
completely agree. I think he's saying that it's the application that matters,
not the infrastructure. If you look at the companies that are most successful
today, they are the ones who are able to adapt quickly. They are the ones who
are able to take mountains of data and transform them into information, because
it's not the data that matters, it's the information. That transformation of
data requires an adequate amount of computing resources to actually work on
The cloud provides the basic engine that enables anyone with
a credit card to compete with the largest companies on the globe. Anyone with a
really good idea can scale quickly and efficiently, and that is revolutionary
in a lot of ways.
Robert: Some data
centers meet certain levels of regulatory compliance, and others don't. Because
some applications are governed by very specific regulations, I run into a lot
of examples where customers are fundamentally prohibited from putting certain
kinds of data in a public cloud. How does that factor into a spot market?
Reuven: As I
mentioned before, we're learning as we go here, and a lot of the specifications
for clouds being built are the result of requests from end customers. One
interesting possibility is a sort of private exchange, or private spot market, for
companies that are all governed by similar regulatory controls.
Those requirements could be based on an industry vertical,
or they could be based on geography, for example. The European Union has
introduced requirements that compute capacity on exchanges must be located within
I think we're going to see rapid evolution in the area of
specialized requirements such as these, and that's going to be quite an exciting
part of this new opportunity.
Robert: One of
our major data centers is located in San Antonio, and one of the customers
there is the taxing authority for their country, i.e., the equivalent of our IRS. Starting this year,
they're going to automate the electronic storage of invoices for tax purposes.
So, for example, if you go to Wal Mart and purchase office supplies, all those
receipts get stored in the cloud. It blows me away that they're storing them in
the United States.
As far as I know, they are the only government that's doing
this, but I wonder what it could mean, as a case study to other governments.
They might see the need to look at getting past regulations to deliver
innovative solutions to their citizens.
Reuven: It shows
that their government is treating their tax IT system in the same way a
business would. So when you look at the opportunities in business, you'll see a
French company hosting their data in United States, not because it is in the
United States but because they can get the best price, so they can get the best
bandwidth, and they can get a deal that works best for them as a business.
The problem for a lot of governments is that they're
constrained by the regulatory controls of their own country. Particularly in
countries that may be referred to as having fast-growing or emerging economies,
they don't have that infrastructure in place. They've got one of two options:
either to build infrastructure at great cost or go find the infrastructure
somewhere else and hopefully not put their mission-critical data in there.
In Canada, we actually have the exact opposite problem,
although we do have a much more developed infrastructure. Basically the
Canadian government says you can't host Canadian government data, websites, and
so on outside the Canadian geography.
That's also an opportunity for cloud providers, and that's
why Microsoft is spending billions of dollars on data centers all over the
world. You might build cloud data points in Mexico, Japan, and Korea so you can
serve those local populations better.
Robert: Do you
see certain aspects of cloud, such as storage
for example being commoditized faster than things like compute?
storage has always been more easily commoditized because of the file system. The
big differentiation we have today is the object-based approach versus that traditional
approach that I always call the POSIX style.
They both solve different problems, but POSIX is a perfect
example of commoditization. We've got a general way to interact with file
system. I think it certainly is easier in some regards, because it is lower in the
stack, and I think the lower in the stack you get, the easier it is to
commoditize. The object-based approach was popularized by things like Amazon
it's a lot harder to take existing applications and move them to the cloud
versus architecting a brand new application for the cloud. At the same time, the
specific operating system and type of hardware that you're running are becoming
How do you think that's going to impact how development
languages are going to play into cloud application development? I'm anxious to
see if that's going to change the adoption of certain languages that are used
to write cloud applications. Do you have any thoughts on that?
inevitably leads to the question of lock in, and specifically where and how you
are going to be locked in. The answer isn't a simple one. Regardless of the
platform, at some point you're always going to have to choose a programming
language, a development environment, and a number of other things.
The question is what that means down the road, when the technologies
inevitably evolve. Generally, my rule of thumb is that the value is going to be
in your information and how easily and readily you can work with that
Developers making those sorts of decisions must always ask
themselves how easily they can take their information, move it, and work on it
somewhere else. Where possible, you should develop in such a way that you don't
care about any particular machine, whether it's physical or virtual. You should
build applications to consider that the underlying architecture may come and
Likewise, you should build fault tolerance into applications
that takes into consideration that you may lose a node, or even part of the
world. That shouldn't affect the overall availability of the application. The
Internet should be applied as an architectural model, and the cloud is a
metaphor for the Internet in a lot of ways.
Robert: Where are
you seeing the most uptake or developer interest with regard to cloud apps; is
it Ruby, Java, Python?
Programming has always been a personal relationship, and it goes through
phases. Ultimately, most programming languages do the same thing, just in slightly
different ways. For example, we're a big Python shop. I like Python as a CTO
because I can read it and understand it. I don't do much programming anymore,
and so I just look at it occasionally.
I don't think you should be constrained by the popularity of
any given particular programming language. You should choose what works best
with your brain.
Robert: Do you
have any closing thoughts?
Reuven: I think we
are on the verge of the transformation to really treating computing resources
like a commodity, the same way we treat energy. Eventually, we will have the
ability to do things like futures, derivatives, and buying and selling things
that may not exist today.
But you can't do that until you have a spot market, so the
first step in this commoditization of computing is to be able to sell what is
available right now, and that's the spot market. The next step is going to involve
things like futures and derivatives. I think that that's going to happen in the
short term, and there's a lot of interest in this from a whole variety of
I believe that computing resources are going to be the next
big commodity market. All the signs I see today are pointing in that general
direction, so it's a pretty exciting place to be.
Reuven. This has been a great talk.