Parallels has been around since 2000, and VMblog has been actively covering the company since the Website launched back in 2004. Parallels has deep roots in virtualization and cloud technologies, and the company has a number of solutions on the market. I had the opportunity to speak with James Bottomley, the CTO of Server Virtualization at Parallels, and I wanted to find out more about the future of cloud virtualization and where the company stands.
VMblog: Before we begin discussing virtualization, can you tell readers a little bit
more about Parallels and what role the company has had in the cloud?
James Bottomley: Parallels has been a leader in
hosting and cloud services enablement for over ten years. We began operations
in 2000 and now have over 900 employees across offices in North America,
Europe, Australia and Asia.
We focus on making it easier for service providers to grow and
profit from the cloud and today more than 9,000 service providers rely on
Parallels to deliver thousands of applications and cloud services to more than
10 million small and medium businesses (SMBs) in more than 130 countries.
Parallels offers three main
products for hosting and cloud services enablement. Parallels Plesk® Panel is
a control panel for web hosting companies and web designers. Parallels Automation is a
hosting and cloud services automation solution that provides key operational
functions of a service provider's business.
Parallels Cloud Server
is our virtualization and cloud storage
solution that includes Parallels
Containers - an operating system virtualization solution. Our containers virtualization technology is
used by hundreds of service providers globally.
VMblog: What virtualization technologies are being used in the cloud today?
Bottomley: One of the wonderful things
about the cloud is the broad variety of software technology deployed. I think I can safely say that every form of
virtualization technology is being used there.
However, if you look at the trends in virtualization technology, you see
something interesting: when "the cloud" first began (and there are
arguments over when that date was) it was about aligning to the enterprise data
center which was predominately hypervisor-based, and cloud leaders like Amazon launched their services primarily using
hypervisors.
However, even at that time
Google was offering its own form of cloud services (Search and the beta version
of Google Docs) based on container technology.
Today the cloud is morphing and is becoming more about offering services
to end users (public cloud). Everyone is intrigued by the possibility of
offering elastic services tailored to the individual user and containers-based
virtualization is becoming more recognized as an established virtualization
technology for the future of the cloud landscape.
VMblog: How do you see today's cloud virtualization technology evolving in the
future?
Bottomley: Today the emphasis is mostly on
Infrastructure as a Service (IaaS), and that's what a lot of service providers
are offering under the guise of virtual private servers. However, IaaS is hard for the average user to
consume (indeed, the level of general administration and technical knowledge
required to run a virtual machine means that it's mostly a service for
companies, developers and very sophisticated end users). The trend I see is going to shift the
emphasis from sophisticated technically savvy consumers towards providing
utility to the average person with a smart phone. This necessarily means the rise of Platform
as a Service (PaaS) and Software as a Service (SaaS) at the expense of
IaaS. This will drive the choice in
virtualization technology because capabilities like virtualizing the platform
and spinning up an elastic environment for the individual user service when the
user presses the "go" button on their browser will be required. Those
capabilities are much better suited to container-based systems so I think we're
going to see a proliferation of container-based virtualization systems because
they're more suited to the next generation of cloud services.
VMblog: What future cloud services do you see that will drive cloud
virtualization technology changes?
Bottomley: Well, if I knew what the next
killer web app was going to be, I'd be off founding a startup. However, if you look at
the trends in network technology, the initial networks weren't useful in the
broad sense. The thing that made
networking useful was the internet protocols; before IP there were service
specific protocols, which worked but didn't really spur innovation (if you have
to invent a new protocol and make sure all the routers run it before you can
deliver your service, it's a really high barrier). IP protocols fixed that by
decoupling the service from its delivery mechanism, meaning any service could
now be internet enabled and as a consequence many services sprang up which the
designers of the protocol did not foresee.
One of those was the World Wide Web.
Here the paradigm shift resulted in a network which could be used for
delivering information easily and building end-user consumable services. Before
the World Wide Web you needed a special client for every service, now you only
needed a web browser.
I think the next phase of this
revolution will be the delivery platform for services itself. Right now delivering web services is a bit of
a chore: you have to buy your IaaS
system, administer the OS and install the software, then provision the platform
(like Ruby, Php or Asp) and then write actual code to run your service and
couple it to a database or some other type of backend. If you operate a paid service, it gets even
worse because now you need a PCI compliant platform to handle the credit card
data. I think the next revolution in
cloud will be building platforms that allow developers (or even sophisticated
end users) to envision, create and deploy web services much more easily.
The twin planks of this are
going to be composition and syndication. Composition is the ability to take a
set of pre-existing services and combine them together into a single web
application (something like we have today with the mash-up concept but much
more seamless) using a simple scripting type language. Syndication is the
ability to build a web service relying on seamlessly available remote
components. The classic example being credit cards: I just want a box where
users can enter their payment data and I get paid, but I don't want to actually
see or store the numbers on my site, they should go straight through to a site
which obeys all the PCI rules and just deposits the money into my bank account,
sort of like you get with pay-pal today, but without being redirected to the PayPal
site. To support all these novel
services, the virtualization platform is going to have to be much more light
weight, agile and elastic than it is today, which is again why I see containers
adoption increasing in cloud faster than hypervisors, particularly application
containers, which are mini virtual environments for applications rather than
full virtual environments for Operating Systems.
VMblog: You mentioned containers for IaaS, how are these different from
containers for applications?
Bottomley: Seven years ago, when Parallels
was first bringing container technology to Linux, the huge benefit of
containers was bringing up virtual OS environments (what we now call IaaS) but
at a density which was far higher than the density possible with hypervisors. This density difference was what lead to
containers being adopted by Service Providers so they could offer virtual
private servers (VPS) at a price that would be uneconomical with hypervisor virtualization
technology.
However, other advantages of
containers which were unappreciated at the time (because most VPS are long
running) was elasticity (speed with which you can start, stop and migrate
containers) and scaling (ease with which you can add and remove resources like
memory and cpu from containers).
It's these latter two
advantages (rather than density, although this is still important) which is
driving interest in containers in the cloud.
Additionally, a container doesn't have to contain a full operating
system; it can contain just enough to spawn an application or even, for some specialized
applications, just a thread which that application itself spawns. This ability of containers to place walls
around groups of processes, or even threads within processes, and isolate them
tightly from the rest of the kernel makes them the ideal technology for
building the next generation of multi-tenant, highly elastic and individually personalized
cloud services.
VMblog: Given all the options for cloud virtualization today, how should
companies seeking to take advantage of the cloud position themselves for the
future?
Bottomley: What it comes down to is you
need to pick a technology that suits the individual needs of your company. However, there are a few easy guidelines.
The first is that given the
range of virtualization technologies available today, it's easy to get
proliferation which can lead to technology management problems later on. To avoid this, you should see if you can pick
one single technology that satisfies all your needs.
Secondly, if you're a company who's doing IaaS
today, but are wondering how to offer additional services on top of the clouds,
perhaps you should be investigating containers now. Planned right, you could migrate from your
current IaaS technology to IaaS containers at the next cycle and be completely
ready for PaaS and SaaS container based offerings when the time is right rather
than being forced to migrate when your developers require the richer container
feature set.
###
Wow, that's some great information! I want to thank James Bottomley, CTO of Server Virtualization at Parallels, for taking time out to answer a few questions and help educate us more on this important area of the market.