Home > Blogs > VMware vCloud Blog > Monthly Archives: October 2010

Monthly Archives: October 2010

Thoughts Around Service Provider’s Public Cloud Platforms

Massimo Re Ferre’, Staff Systems Engineer – vCloud Architect

Over the last few days there have been a bunch of articles that , all of a sudden, are surprisingly (when you consider the sources) quite pointed in their recognition of how VMware technologies are superior compared to the rest of the market.

Well, check out the articles for yourself. There's one on SearchVirtualization.com. Another one on Virtualization Review. Or try Virtualization.info's recap of an article by Gartner (more on this in a moment.) And, finally, the SearchServer.com blog had this interesting post: Hyper-V vs. VMware not much of a fight these days. Want further confirmation? Check out some of the Tweet streams on the subject.

So what happened? It (almost) all originated from an article that Gartner analyst Thomas J. Bittman posted with the unassuming title Virtualization Then and Now: Symposium 2009-2010. What caused the uproar? In his third point, he specifically called out an “underperforming” Hyper-V and the market dominance of VMware. I've included it here for your convenience:

    Hyper-V is under-performing. Maybe my expectations were too high, but Hyper-V has not grabbed as much market share as I was predicting. I especially thought that Microsoft would be the big beneficiary of midmarket virtualization. Surveys show otherwise – VMware is doing pretty well there. Here’s a theory. Clients repeatedly told us that live migration was a big hole in Microsoft’s offering – even for midmarket customers (to reduce planned downtime managing the parent OS). Microsoft’s Hyper-V R2 (with live migration) came out 8/2009. Was that too late? Did the economy put pressure on midsized enterprises to virtualize early, before Hyper-V R2 was proven in the market? Or did VMware just have too much mindshare? 

Personally, I am not surprised at all about what's happening. We could debate forever why that is happening. But, suffice it to say that the amount of value customers are extracting from VMware technologies simply outpaces the amount they are paying. That's why customers continue to use (and expand) their VMware deployments in their datacenters. But, you know what? This is not the most important point of this post.

In fact, I found Bittman's fifth point even more interesting. Perhaps, this is because I have direct experience with what he's talking about. Over the last few months, I have worked primarily on public cloud initiatives in support of VMware's vCloud strategy.Specifically I've worked with strategic service provider partners across the spectrum with telcos, system integrators and outsourcers. Here's what Bittman had to say:

IaaS Providers Shifting to Commercial VMs. IaaS (infrastructure as a service) providers have focused on open source and internal technologies to deliver solutions at the lowest possible cost. But that’s changing. In the past year, there’s been a rapidly growing trend for IaaS providers to add support for major commercial VM formats – especially VMware, but also Hyper-V and XenServer. The reason? To create an easy on-ramp for enterprises. As enterprises virtualize (and in many cases, build private clouds), the IaaS providers know that they need to make interoperability, hybrid, overdrafting, migration as easy as possible. The question is whether that will require commercial offerings (such as VMware’s vCloud Datacenter Services, or Microsoft Dynamic Datacenter Alliance), or if conversion tools will be good enough. I tend to think that service providers better make the off-premises experience as identical to the on-premises experience as possible – and I’m not sure conversion will get them there.

While I tend to always take what analysts say with a grain of salt since, after all, they have been predicting that "the Intel Itanium processor will take over the world and will replace all Xeon processors" (a moment of silence for Itanium please), I have to say that this makes a lot of sense.


Fortunately, I see that most of the service providers I am working with understand the challenges of federating clouds. I touched on these challenges (and opportunities!) in my blog post vSphere, vCloud and the Meaning of Open. And I have stressed the importance of the APIs and, specifically, the notion of the vCloud API bus (note this is not a formal VMware name but rather a name I personally came out with). In my article I talked about the value, for service providers, of exposing a standard set of APIs to be able to federate with enterprises. In that discussion I made the claim that the service provider could even expose those standard APIs without having to use vCloud Director but, rather, they could build their own tool to create their back-end implementation of the vCloud APIs on top of vSphere. Further, I said:


You can even go a step further and choose not use vSphere if you wish. If you want to federate with vSphere end-users the service provider would have to deal with having to change the disk format from the Virtual Machine Disk Format (VMDK) to another format. Arguably, this may not be the smartest thing to do, but it is something you can technically do.


That is, in short, what I believe Bittman was trying to argue. Yes, you can technically do the conversion to accommodate a different format but there's a bigger question. Is it worth the complexity? I don't think so. In fact, I agree completely with Bittman's comment that "…service providers better make the off-premises experience as identical to the on-premises experience as possible – and I’m not sure conversion will get them there."


While building a public cloud with free and open source technologies may sound compelling–at first–the capability to federate and the end-user experience one can offer may, in reality, be sub-optimal for existing VMware customers looking to consume public cloud resources. Furthermore, consider how Bitman's two points are intimately tied together. The more end-users are out there designing and implementing VMware-based datacenters, the more service providers will be looking at deploying VMware-based public cloud offerings to provide them with a homogenous (and superior!) experience compared to other technologies available. That goes for both for private and public cloud deployments.


Still, this is not the end of the story. We are also working on other technologies (e.g. the vCloud Client Plugin, which I referred to in the article above) that will make the experience even more transparent.

And just in case you're wondering…no this does not create lock-in. This has more to do with end-users extracting as much value out of our technology as possible, whether for private deployments (arguably the best value for the money) or, by service providers leveraging the same technologies to provide a superior experience both from a federation perspective (the topic of this post), as well as, from ongoing management cost perspective for running the cloud (a good topic for a future post).

Cloud Architecture Patterns: VM Factory

Steve Jin, VMware R&D

This entry was reposted from DoubleCloud.org, a blog for architects and developers on virtualization and cloud computing.

In my last blog, I wrote about pattern idea from the famous books “Design Pattern” and “A Pattern Language” and how it can be applied to cloud architecture design. Below and in later posts in this series I shall follow the content outline used there to illustrate the cloud architecture patterns.

Intent

Provide a standard way to create new virtual machines based on user requirements.

Category

Creational

Motivation

There are enormous combinations of virtual machines with different operating systems, middleware, and applications. And then we have user data to the mix! We need a standard way to create new virtual machines.

General speaking, there are three basic ways to create new virtual machines:

1. Create bare metal virtual machine and install operating systems, etc. You can manually mount CDs for installing, or use PXE booting for automatic installation.

2. Clone an existing virtual machine

3. Deploy from a virtual machine template

These could be complicated because you have to take care of many details. To use a virtual machine, do you care how it’s created? Not really, so long as you get the virtual machine that meets your specifications.

Things get more complicated when you have to deal with both private clouds and public clouds. Also, the way you create new virtual machines differs from one cloud vendor to the other. You want a unified way to hide these differences.

Solution

We can delegate the creation of new virtual machines to a specific application for simplified user experience. You just tell it what you want and let it handle all the details.

Specifying VMs You Want

There are two major aspects specifying the VM you want:

1. Hardware specification. This includes how many virtual CPUs/how much virtual memory/how big of disks/how many virtual NICs, etc.

2. VM template. This is the “gene” of the virtual machine, based on which you want to create your own virtual machine so that you can inherit all the software from the template

For the hardware spec, you may choose three different approaches:

1. OVF. This is a standard by DMTF and has been accepted as ANSI standard. It defines comprehensive details beyond hardware itself. It is by far the most flexible yet complicated way. VMware vCloud uses this approach.

2. Limited parameters. It covers most commonly used parameters like vCPU, memory, and disks but without the complexity of OVF. Some of VMware’s vCloud Express partners use this approach.

3. Pre-defined choices. You can pick most commonly used combinations of vCPU/mem/disk, and make them as several possible choices. It’s much like a menu, very easy to pick from. Amazon EC2 uses this approach.

For the VM template, it could be very simple. You can create a catalog with many possible templates, each of which is assigned a unique ID, and make them available for users. All the users need to do is to choose a template.

How It Works

Figure 1 shows the process of a VM factory. The Client first sends a request to the factory and the factory creates a new VM based on the client specifications. Once the VM is created and powered on, it can be accessed by anyone authorized. The client can, for example, bypass the factory and access the VM directly.

Cloudarch_simple_vm_factory

Figure 1. Simple VM factory         

More often than not, a newly created VM is not good enough. You may want to install applications of your own, or at least modify the configuration settings of the existing OS, middleware or applications.

You may connect to the virtual machine and inject and run certain scripts for installation/customization. Optionally, you can embed a script in your VM and let it run automatically when the OS boots up. The former approach is always more flexible than the latter but require more work.

General VM Factory

“Wait a second, why should I need this? Isn’t this what cloud service providers do for me already?” That is true. But you may want to build your own private cloud, or leverage both a private cloud and a public cloud (That is double cloud, by the way). I see the double cloud or hybrid cloud as the future.

With the double cloud scenario in mind, we will need a more complicated structure as follows. Note that the VM template is not transferrable from one service provider to the other.

Generalfactoryimage

Figure 2. Example of a two-tiered VM factory

When multiple service providers are involved, you may add additional functionalities into the general factory. For example, you can implement a policy engine to decide which service providers to select for best price, SLAs, etc. You can also keep account information within your general factory without exposing it to all your users. It definitely helps IT control.

Applicability

You can use a two-tier VM factory to:

  • Simplify VM creation while keeping flexibility;
  • Hide the details of virtual machine creation;
  • Integrate private and public cloud with unified APIs;
  • Control VM creation policy in an environment involving multiple clouds.

Consequence

The VM factory pattern centralizes and simplifies the creation of new virtual machines. Users who want to create new virtual machines are isolated from the complexity underneath.

At the same time, it can be a single point of failure. You may need a HA solution for best availability.

In some cases, for example limited instance types, you give up flexibility in specifying VM configurations.

Known Uses

Almost all of the public service providers implement factory pattern and provide a public interface for users to create new VMs. VMware vCloud Director offers similar APIs as well.

For the hybrid cloud use case, I haven’t seen much about how this works in the real projects. Please leave a comment if you have a story to share!

Related Patterns

VM pool (coming up soon): after a new VM is created by the factory, you can optionally put it into a pool for instant provisioning later on.

Steve Jin is the author of VMware VI and vSphere SDK (Prentice Hall), creator of VMware vSphere Java API. For future articles, please subscribe to Email or RSS, and follow on Twitter.

Best Practices for VPU Management

Matthew D. Sarrel, Sarrel Group

I’ve been happily using my servers in Terremark’s vCloud Express environment and thought it might be time to make sure I’m using them efficiently.  One of the benefits of running VM’s out in the cloud is that this is utility computing.  I should be able to add and remove resources as needed and only have to pay for what I need.  And it should all be easy.

There’s some general information about performance optimization in the Terremark wiki. This is fundamental processing optimization. Measuring load over time and aligning resources with load so as to use adequate but minimal resources.

Interestingly, Terremark recommends starting with a single VPU. Simply adding more VPU’s doesn’t necessarily provide better performance.  The guidelines are to create a VM with a single VPU and measure the load.  When applications are CPU (or VPU) constrained, add another VPU.

I can do this easily by first shutting down my virtual server.

Image1

And by clicking on the server I just shut down and selecting “configure” I see the hardware that the VM is already configured to use.

Image2

In this case I’ll simply scroll up to choose fewer VPU’s. 

I like how the cost summary is provided so I can see the impact of my changes before I make them.

Image3

I’ll be saving 5 cents an hour, which is nice.  

After I agree to the Service Agreement I click save and the configuration starts. After about 30 seconds I can select my VM and boot it. And then I connect to the server via RDP and run the Resource Monitor.

Image4

As you can see, after boot up CPU utilization drops to a pretty steady 25%.  For now, it looks like I made the right choice about reducing the number of VPU’s. 

This was a very quick and simplistic example.  I should really monitor the load over more than a few minutes, but you get the point.

Matthew D. Sarrel (or Matt Sarrel) is executive director of Sarrel Group, a technology product testing, editorial services, and technical marketing consulting company.  He also holds editorial positions at pcmag.com, eweek, GigaOM, and Allbusiness.com, and blogs at TopTechDog.

Cloud Adoption for SMBs and End Users – Easy and Affordable

By David Davis

Large companies have the ability to absorb IT expenses that cost 3x as much as my house. They have the cash flow and the accountants to depreciate those expenses over time. On the other hand, I have a lot of experience working with medium and small businesses where capital expenditures of just a few thousand dollars are difficult or impossible to get approved. These businesses, many times, are much more likely to sign up for a "pay as you go service" than to buy a server. Honestly, from an end user perspective, I work the same way. I'm not going to go out any buy a 4TB network attached storage (NAS) array for my family photos if I can store them on the web and pay per GB.

So when I heard IT Admins who work for small businesses say that "cloud computing doesn't apply to them – it's only for big businesses", I wonder what planet they live on. Sure, I agree that cloud computing is at a certain maturity level today and that there is obvious room for improvement. Today, most cloud computing offerings are being pushed to large businesses, not small. Still, most people out there are already using cloud computing today but they just don't think of it as that.

Cloud Computing – You’re already using it

I read a post from PC Magazine recently called 13 Terrific Cloud Services for Small Businesses. While going through the slideshow of the different cloud offerings they suggest, I realized that I was already using a number of these services and I bet that you are too. For example, I use Google Apps for my personal blog and my family blog to use Google Mail with my domain name. I already have a Dropbox Pro account that holds up to 50GB of data. I use it to sync the files on my laptop to "the cloud" for backup and also with my other PC so that I have copies on box computers. I can open my Dropbox files from any web browser including my iPhone or iPad. I use LogMeIn for remote control of my desktop PC when I am away from home. Immediately I realized that I was already using 3+ of the cloud services they listed plus 3-4 more that I had tried before but just not used after that. Again, I suspect that many SMBs out there are already using some kind of cloud services (like a SaaS like the ones listed) so what about IaaS?

Infrastructure as a Service and vCloud Express

With Infrastructure as a Service (IaaS), you have a few different options in the cloud. Some of those options will, more than likely, be for larger enterprises (ie: VMware's vCloud Director for private cloud computing or VMware's vCloud Datacenter Services). However, vCloud Express is the epitome of "pay as you go" IaaS for the SMB or even end users.

Picture this: you are a SMB with three aging servers that are about 20% loaded. Your datacenter is made up of the three boxes under a table and a 3 year old UPS that you aren't sure still works. You do backups to a USB key that you take home once a year, when you remember to. Downtime comes as no surprise to anyone and on the rare occasion when the servers are working well, you just don't know what to do.  Why not virtualize those servers in the cloud? You can get strong infrastructure and you will only have to pay for what you use.

I'm no financial analyst and I have trust issues with TCO calculators. Instead, I prefer to make simple and logic-based business decisions. Turning management of the physical servers and infrastructure over to professional hosting providers, you can be freed to do what you do best – use IT to create ROI for your company.

I mean, SMBs are likely outsourcing marketing, accounting, and many other critical business services so why not infrastructure? The other critical company services that were outsourced were done because the SMB realized that they weren't able to perform that business function very well and their time we best spend doing something related to the business (like finding new customers). Again, using cloud computing is no different. You can do better than those 5 year old servers under the desk!

How do I try VMware vCloud Express?

To try out vCloud Express, you can go to the VMware vCloud Express partners list. If you check out vCloud Express Provider Terremark’s site, you'll see that their prices start at 3.6 cents per hour and they say that they are far superior to Amazon's EC2.

Vcloudcomparison

How is your SMB utilizing the cloud? Leave your comments below, and for more on this topic, check out my post on 5 Things Medium-Sized Businesses Need to Know about Cloud Computing.

David Davis is a VMware Evangelist and vSphere Video Training Author for Train Signal. He has achieved CCIE, VCP,CISSP, and vExpert level status over his 15+ years in the IT industry. David has authored hundreds of articles on the Internet and nine different video training courses for TrainSignal.com including the popular vSphere video training package. Learn more about David at his blog or on Twitter and check out a sample of his VMware vSphere video training course from TrainSignal.com!

Network and Security Flexibility in Terremark vCloud Express

Matthew D. Sarrel, Sarrel Group

One thing I haven’t spent very much time discussing is the various management options for my virtual network within vCloud Express.

Terremark1

As you can see, the Network Page is broken down by Internet Services and Security Services.  Internet services are a collection of tools and setting that help expose servers to the public Internet.  A lot of behind the scenes tasks, such as reconfiguring hardware load balancing and network firewalls, simply happen in order to support changes to my virtual network.

If you look at the screen shot of the Internet Services tab (above), you’ll see that I get a listing of all of my virtual servers and indication of their power state.  From here I can click IP Usage to see a list of all the IP address assigned to my environment and whether or not they’ve been assigned to a specific VM.  I’m going to print this out so I can refer to it as I develop my services rules.

In order to create an Internet service, I click the “create service” button and the following screen pops up:

Terremark2

Basically what I’m doing here is opening up an application running in a VM to the Internet.  So I need to know the public IP address of the server running the app, the protocol and the port.  Once I picked a Protocol the GUI automatically suggested a port for me.  The rest of the info is so I can track the service internally.

Now I could expose via http and https the Sharepoint 2010 server that I installed into my vCloud Express environment.  Not to beat a dead horse, but this was pretty easy.  Much easier than if I had to involve a server admin, a network admin, a security admin and a virtual admin just to make that change.

The Security Services section is essentially for establishing and modifying firewall rules.  Again this takes place behind the scenes.  So I get a lovely GUI which then probably triggers scripts to run on all different devices to actually do what I just drag and dropped.  The first rule was created by the system.

Terremark3

From here I can configure individual firewall rules for my virtual environment.  I can base my rules on a network, IP address range, or a single IP address.  This is important because within my cloud I’m going to build a virtual DMZ.  My test machines will remain hidden in my vCloud.  My Sharepoint 2010 server can be available via the Internet, but then I’m going to make sure that it is isolated from my other VM’s … just in case.

Terremark4

The super easy thing is really the interface.  I’ve spent 15 years configuring firewalls.  I can now establish custom rules within seconds, test them out, and if they don’t work reconfigure them in seconds.

So it seems that another big plus of vCloud is that the network and network security are highly flexible.

Matthew D. Sarrel (or Matt Sarrel) is executive director of Sarrel Group, a technology product testing, editorial services, and technical marketing consulting company.  He also holds editorial positions at pcmag.com, eweek, GigaOM, and Allbusiness.com, and blogs at TopTechDog.

Cloud Architecture Patterns: Overview

Steve Jin, VMware R&D

This entry was reposted from DoubleCloud.org, a blog for architects and developers on virtualization and cloud computing.

Design patterns have been very popular among software developers since the book by Gang of Four (Enrich Gamma, Richard Helm, Ralph Johnson, John Vlissides) in 1995. If you go to an interview for a software engineering position today, the chances are you most likely get one or more questions on design patterns.

Like many concepts in software that from other disciplines, the “pattern” idea was “borrowed” from “A Pattern Language,” a book by Christopher Alexander on architectural patterns published 20 years before we started to talk about software design pattern. His book turns out to be a great way to summarize and document reusable design elements for different engineering works.

As Christopher points out, “Each pattern describes a problem which occurs over and over again in our environment, and then described the core of the solution to that problem, in such a way you can use the solution a million times over, without ever doing it the same way twice.”

Today I “borrow” the same idea and apply the concept to cloud computing on architecture designs. The main focus is on virtual machine-based architecture patterns so that you can best leverage virtual machines for your cloud computing.

What is a Cloud Architecture Pattern?

An architectural pattern extracts the common and re-usable design concepts and components. If we put it in the big picture, it should be somewhere below the overall system architecture and above software design as the middle layer.

Once you are familiar with a pattern, you can “borrow” it into your design. Instead of inventing everything from scratch, you can apply different patterns into a final architecture design. The main benefits are better architecture by leveraging proven expertise and saving time and effort.

In an Infrastructure-as-a-Service (IaaS) cloud, the very basic component is the virtual machine, whether it comes from VMware, Microsoft, XEN or KVM. Around the virtual machine, I will discuss:

  • The creation of virtual machines. What are the possible ways to provision new virtual machines? When should you use which one? How to effectively manage their lifecycles? How should these virtual machines better support middleware and applications for performance and efficiency?
  • The structure of virtual machines. What are the best ways to group virtual machines together for easy system management and application clustering? How to design networking/communication topology among them? How should you define the services that cross leverage a group of virtual machines?
  • The behavior of virtual machines. How you can divide big responsibilities into smaller ones that can be hosted by individual virtual machines? How to effectively map applications to virtual machines? What are the best ways to embrace flexibility and future changes? How should each virtual machine behave for maximum overall result?

In this discussion, I will walk you through design challenges, provide you food for thought, and offer proven solutions for some of these challenges. It’s important to understand that the thinking process to reach the solution is as important as, if not more important than, the solution itself. Without this process, you may easily get lost while applying architecture patterns to a real world problem. It’s like working on your own car repairs. You need to understand how the car works before you can repair it. With cars and cloud computing, there are no two exactly similar problems in practice. As a designer, you have to make a judgment what differences matter or not.

To understand fully what a cloud architecture pattern is, it’s also very helpful to understand what it’s not and how it relates to others.

  • Cloud architecture pattern is not software design pattern. The cloud architecture patterns speak a higher level of language and address system components versus the software design patterns that concern themselves mainly with a group of classes/objects. Having said that, to implement software components in your cloud, you most likely need software design patterns to help.
  • Cloud architecture pattern is not the architecture itself. The patterns offer a solution to particular domain or particular aspects of challenges. To get an architecture done, you may end up using multiple architectural patterns. Most of the time, it’s not as simple as putting them together. Rather, it’s a process of integrating them together.

How to Describe a Cloud Architecture Pattern?

As mentioned, the pattern idea is nothing new. Its roots can be traced back to traditional building architecture. What is new is the context and the specific solutions. Format-wise, let’s just reuse the existing format that has proven to be effective.

Here are the eight common elements in a cloud pattern description:

1. Name. One or two words that identify the pattern.

2. Intent. A sentence with a high level description of the pattern.

3. Challenge or Motivation. Every pattern starts from a design challenge, just like every product starts from a customer pain (In reality it’s not always the case though). Each particular challenge comes with its own unique constraints on design.

4. Solution. With challenge understood, the goal is also clear. The solution afterwards should just hit the target. It offers details on how to solve the problem.

5. Applicability. Nothing is universal. The same is true for cloud patterns. To help real world projects, you have to know what patterns to apply and when you should apply them. There may be particular checklists that help you make your decision.

6. Consequences. While achieving some benefits by applying a pattern, you may give up others. It helps to know them beforehand. What trade-offs do you have to make?

7. Known uses. This provides references that connect you to real-world projects. They may or may not be close to your problem, but it’s definitely worthwhile to know cases that have been solved well.

8. Related patterns. The discussion of the relationship with others offers you not only a bigger picture but also clues on other patterns that you could leverage at the same time.

A Call for Action

While cloud computing is evolving, the related patterns are evolving as well. We will see new challenges, new changes in the technical and business environments. In this series of blog articles, I plan to cover about 10 patterns. I would ask you to share your thoughts on these patterns, and suggest more. Let’s develop a set of patterns that can benefit the whole cloud computing community!

Steve Jin is the author of VMware VI and vSphere SDK (Prentice Hall), creator of VMware vSphere Java API. For future articles, please subscribe to Email or RSS, and follow on Twitter.

Impact of vCloud Technologies on Cost of Operations

Matthew D. Sarrel, Sarrel Group

I’m thinking about how vCloud Express changes the way that we work at Sarrel Group.  It’s interesting to look at the evolution of testing, especially virtual machine technology plus all the good cloud stuff.

I’ll show you what I mean.  I was configuring a SharePoint 2010 server in my vCloud Express environment at Terremark earlier today and a thought occurred to me.  Why install the document repository in my vCloud Express environment and not here in the lab?  The immediate answer is that it’s easier.

But then I looked around the lab and there are racks of servers, many of which are between projects and are sort of just resting.  The thought occurred to me that I should use one of these servers because I’ve already paid for it.  It’s just sitting there, right?  So there’s no cost advantage to using vCloud Express if I already own the server.

That’s not entirely true.  There’s electricity and HVAC for one cost.  There’s the cost of maintaining the system, meaning the tech’s time when he has to patch underlying OS’s, hypervisors, and VM’s.  Patching is actually a big time suck in the lab.  Patch this, call that gold, archive this, snapshot that…

In some ways these problems go away in vCloud Express.  I don’t even know what the server hardware is, or where it is.  And I don’t care – because it ain’t my job to manage it.  The template OS installs speed patching along. 

Basically, vCloud Express lets me forget about the underlying layers of hardware and software that would need to be provisioned in my lab for a project.  I can focus on the configuration and contents of the VM itself.  Of course, apps and OS in the VM need to be patched.  It’s not like I’m getting away totally free.

What are your thoughts on the impact of vCloud technologies on cost of operations, especially regarding installation and ongoing maintenance?

Matthew D. Sarrel (or Matt Sarrel) is executive director of Sarrel Group, a technology product testing, editorial services, and technical marketing consulting company.  He also holds editorial positions at pcmag.com, eweek, GigaOM, and Allbusiness.com, and blogs at TopTechDog.

Understanding Cloudlink by Afore Solutions

By David Davis

On the last day of VMworld 2010 San Francisco in the last 30 minutes that the solutions expo was open, I finally had time to walk around and talk to vendors. However, with limited time, I would quickly walk up to each vendor and ask for their 5 minute "elevator pitch" about what makes them so special. As you can imagine, this worked for some vendors but not others. Some vendor reps were flabbergasted as they couldn't even begin to explain what they offered in 5 minutes and suggested I read their brochure. Others had only gotten through how the founders met in the basement of the Stanford library before I cut them off and went on to the next vendor. While this method of "speed dating" may be seen as unfair, it also allowed me to very quickly learn about and filter through the hundreds of vendors, in short order, that may or may not interest me and may or may not have something useful to sell (in my opinion).

One of the vendors that made the cut by explaining their product's usefulness in 5 minutes was Afore Solutions. What I learned in that short amount of time was:

  • At VMworld 2009, Afore was a finalist for the best hardware for virtualization with their ASE hardware appliance which allows users to perform secure long-distance live-data migrations with 100% application uptime. To be honest, the "Best of VMworld" sign was why I walked up to their booth to begin with but I didn't realize it was for VMworld 2009 until I started talking with them. While the hardware sound cool, I wasn't that interested in cloud hardware solutions. Instead I prefer affordable pay-as-you-go software solutions and that led me to…

Just before VMworld 2010, Afore Solutions announced their CloudLink – a software virtual appliance that connects internal private clouds running vSphere and vCloud Director to public cloud providers in order to create hybrid clouds (now THIS is the kind of cool stuff I was hoping to find). Here is a picture:

Cloudlink 

  • As you see from the diagram, CloudLink provides the "link" between the private cloud and the public cloud. That link is encrypted with AES and has quality of service.
  • The CloudLink virtual appliances run on the private and the public cloud to create the hybrid cloud.
  • CloudLink's role is to eliminate the barriers that most companies have to using public cloud services by making the transition easy, securing the connection, and ensure that SLAs are met from the hybrid cloud.
  • CloudLink does integrate with vCloud Director and they do offer a vSphere Client Plug-in for management of CloudLink.
  • Independent management of each side of the cloud is available for both the end-user and the cloud provider
  • CloudLink is made up of three pieces 1) CloudLink Center that manages VM deployment, configures security polices, network optimization, SLA testing and is delivered as a vSphere Plug-in 2) CloudLink Gateway that is the software virtual appliance, deployed in the private cloud, that connects the private cloud to the public cloud 3) CloudLink Node that is the software virtual appliance running in one or multiple public clouds
  • CloudLink not only connects the cloud but also provides data compression and TCP acceleration between the private and public clouds.

To me, it seems that CloudLink is a great solution to fulfill Paul Maritz's vision that your virtual machines aren't stuck in "Hotel California" when they move to the public cloud. VMs should be able to be moved back to the private cloud and/or moved to another cloud provider, quickly, securely, and without application downtime. CloudLink does seem to do what Afore described by eliminating the barriers to entry that most businesses see when they consider moving production servers to the cloud.

If I were considering moving my production servers to the cloud, I would get a demo of Afore's CloudLink to see how it might provide a number of the missing pieces that make up the total cloud computing puzzle.

What do you think? Comments welcome!

David Davis is a VMware Evangelist and vSphere Video Training Author for Train Signal. He has achieved CCIE, VCP,CISSP, and vExpert level status over his 15+ years in the IT industry. David has authored hundreds of articles on the Internet and nine different video training courses for TrainSignal.com including the popular vSphere video training package. Learn more about David at his blog or on Twitter and check out a sample of his VMware vSphere video training course from TrainSignal.com!

The Future of the Operating System in Cloud Computing

Steve Jin, VMware R&D

This entry was reposted from DoubleCloud.org, a blog for architects and developers on virtualization and cloud computing.

An operating system (OS) is a piece of software. It manages the computer hardware and provides common services for various applications. With the rise of cloud computing, people may wonder whether the OS is still relevant and what role it will play in the future cloud.

Key Components of OS

There are different flavors of operating systems: from real-time OS, desktop OS, all the way to a mainframe OS. The most recent OS is the Cloud OS.

In general, every OS has these common components:

- The kernel, which manages memory, processes, etc.

- Device drivers, which drive different hardware from different vendors.

- User interfaces, including command line shell and Window system.

- File system, which provides a hierarchical way to persist data.

- Security, which authenticates users and protects information.

Depending on the type of OS, you may miss something here or have something extra. For example, an embedded OS may not have a user interface and everything is controlled remotely. For the desktop OS, you may have extra commonly used applications such as a calculator, a calendar, a browser, and so on.

Squeezed Sandwich

With virtualization, operating systems moved up in the software stack. The role of managing and abstracting hardware is relinquished to hypervisors underneath the virtual machines. So the OS is squeezed by virtualization from the bottom.

Long before virtualization, there have been concepts of software middleware including database, messaging, etc. These provide a higher level platform for applications, and result in a higher quality of products and higher developer productivity. Also, the rise of software virtual machines like JVM and .Net, have abstracted the OS services to a higher level of programming APIs. So the OS is less important from the application development point of view. It has been squeezed from the top as well.

In being squeezed, there is less “meat” in the sandwich today. As VMware CEO Paul Maritz pointed out at VMworld 2010, “The innovation in how hardware is coordinated today and the innovation in how services are provided to applications is no longer happening inside the operating system." In other words, the innovation happens below (virtualization) and above (middleware) today.

Why an OS still Important in Cloud Computing

As I have said before, cloud computing is more an evolution than a revolution. Keeping the traditions is important for adoption. One of these traditions is the operating system.

Technically, an OS owns a very important asset: IP addresses. An IP address has two functionalities in networking: 1) helping routing traffic in and out, and 2) identifying a particular operating system.

Hypervisors such as ESX do own IP addresses, but for management purposes not for computing workloads. Middleware and applications do not own IP addresses, but rather bind themselves with a particular service port as needed.

The second part for IP being an ID is critical. It’s like a public interface. Unless we can move the IP up to the middleware or application layer, the OS continues to be a critical component.

With IPv4, it’s not practical to assign an IP to an application due to the limited number of IPv4 addresses available. With IPv6, it’s all possible because there are plenty of IP addresses. But then the question becomes whether it’s really needed or the change buys you anything. For one thing, moving the IP attribute up to middleware or application will totally change people’s perceptions which may hurt adoption.

Is JEOS Enough?

Coming along with virtualization, Just Enough Operating System (JEOS) and virtual appliance (VA) concepts were born. The idea is that you can trim down an OS to the minimum required to support an application. In this comparison, think of the virtual machine as an application.

For one thing, you can significantly reduce the size of an operating system. The challenge there is how to keep it as convenient as before. I personally haven’t seen a perfect solution to the challenge. In general, most people still aren’t comfortable thinking of a virtual appliance as an application. They still look at it as an OS and they have the same expectations (unless a new set of tools could help to manage them in a similar way as applications). It may lead to a new wave of innovations as the next big things.

Diverging of OSes

Because the OS is used in different environments for different purposes, we can’t predict that they’ll all evolve in the same manner.  In the context of cloud computing, I think the future of OSes will diverge based on their purposes.

First, there is the OS for enterprises. As VMware CEO Paul Maritz said, the OS will continue to be a component in the stack. It is still an important and stable component in supporting the cloud infrastructure. Depending on the type of cloud, you may not need to know about the OS but it’s still critical for operations. Instead of innovating new features, the imperative work there is to make the OS reliable, convenient, and secure, and at the same time keep up with new CPU architectures.

Second, there is the OS for end users. Although some people think all you need is a browser, I prefer convenience of a full-fledged desktop OS for work and home. You could build similar desktop user experience within a browser like Google Chrome OS, but it’s still a desktop with features I already familiar with. These OSes can live in the cloud and serve end users remotely. End users will need OSes outside the cloud as well. These OSes may bundle tightly with computer hardware, not as independent software. For better mobility and easy management of personal data across various desktops/netbooks/smart phones/setup boxes, we will need a better way to synchronize them.

Steve Jin is the author of VMware VI and vSphere SDK (Prentice Hall), creator of VMware vSphere Java API. For future articles, please subscribe to Email or RSS, and follow on Twitter.