Archive

Archive for the ‘Cloud Computing’ Category

Key Takeaways from VMForce Announcement

April 28th, 2010 No comments

Today VMware and Salesforce.com announced vmforce.com finally after several weeks of speculations on what the joint project is about. The following diagram I captured from the live webcast of the event answered the question nicely.

The event attracted about 3,500 online viewers, not to mention the audience onsite. This was a very successful event, resulted in more media coverage than anyone can read. If you missed the live webcast, you can check out the recorded one from the website.

Among all the blogs and news coverage, I think you should read the one by Steve Herrod who has done a great job in explaining the joint adventure in a big picture. His blog also has links to other bloggers.

Looking beyond the exciting keynotes and demos, I think the key takeaways from the announcement are as follows:

Zimbra Architecture Overview – A Must Read Document

April 23rd, 2010 2 comments

It’s been a while after VMware acquired Zimbra. In a VMware Console blog, VMware CTO Steve Herrod explained how Zimbra fits in VMware’s mission to simplify IT.

After the acquisition, I actually tried the online demo at Zimbra website. The impression I had was that the Zimbra client was very much like Microsoft Outlook in a browser.

SOA and Cloud Computing: Are They The Same?

April 21st, 2010 No comments

SOA has been a buzzword in enterprise computing for a while. Cloud computing is relatively new one but gaining stronger momentum than SOA. With these two terms, many people get a little confused: is cloud computing just a new name for SOA? And can they play together?

Definitions

Before drawing a conclusion, let’s take a look at the definitions from wikipedia.org:

Service Oriented Architecture (SOA): is a flexible set of design principles used during the phases of systems development and integration. A deployed SOA-based architecture will provide a loosely-integrated suite of services that can be used within multiple business domains.

Cloud Computing: is Internet-based computing, whereby shared resources, software and information are provided to computers and other devices on-demand, like a public utility.

What’s Common?

As we’ve read in various articles and books, SOA is mainly for enterprise; the cloud computing is, as its definition points out, Internet based services. In my previous blog, I mentioned cloud as architecture pattern (CAA), which can be leveraged in enterprises as well. If we compare the SOA and CAA, they look somewhat similar and share some core principles:

Categories: Cloud Computing Tags: ,

Amazon AWS SDK for Java: It’s Not Quite There Yet

April 15th, 2010 1 comment

Amazon released its SDK for Java last month. It’s a complete set of APIs that cover almost all the services from EC2, S3, SQS, RDS to SimpleDB. Overall Amazon has done a consistent job, but the SDK is NOT really object oriented. And that I think is critical for higher development productivity. 

Structure of the SDK

Before explaining why it’s not quite there, let’s take a look at the structure of the API itself. The SDK includes many packages. For each service, you find two or three packages: basic, model, and possibly util package.

In each of the basic packages you can find the two interfaces, and two implementation classes. Let’s pick EC2 as a sample here. The AmazonEC2 and AmazonEC2Async are two interfaces and implemented by AmazonEC2Client and AmazonEC2AsyncClient respectively. More methods are defined in the synchronous than the asynchronous versions with the majority of them overlapping with similar method names.

AllocateAddressResult allocateAddress()
AllocateAddressResult allocateAddress(AllocateAddressRequest allocateAddressRequest)
Future<AllocateAddressResult> allocateAddressAsync(AllocateAddressRequest allocateAddressRequest)

The first two versions wait and get you results upon return. The third version doesn’t wait and gets the result later.

Will Service Providers Dominate? A Business Outlook of Cloud EcoSystem

April 12th, 2010 No comments

When talking about cloud computing, people normally refer it as services provided by service providers over the Internet. These services are normally, at least in theory, elastic and with no limits on resource usage.

To differentiate the levels of services, the cloud computing is categorized into three different types of services: IaaS (Infrastructure As A Service), PaaS(Platform As A Service), and SaaS(Software As A Service).

Why is it layered as such? Simple. These three layers correspond to the traditional computing stack: machine, OS/Middleware platform, application. In light of this mapping, shouldn’t we call SaaS as AaaS?  I think that’s a right change technically. But which service providers would like to be called AaaS?

When more people and more companies use cloud computing as services, we will see a rapid growth of service provider sector. In my previous blog, I made an analog between the cloud services and office rental business, and predict the growth pattern of cloud computing would be similar to the office rental. Size matters when it comes to the scale of economy. The bigger the enterprises, the more likely own their offices and their cloud datacenters.

Cloud Computing: As Service or As Architecture?

April 11th, 2010 2 comments

Last week I saw an incoming link at my blog site from privatecloud.com, a website promoting private cloud computing inside enterprises backed by EMC. Due to curiosity, I browsed the website and found a video by VMware CEO Paul Maritz on cloud computing. BTW, my website is also featured at the home page. Thanks privatecloud.com!

In the video, Paul talked about the cloud computing, mostly referring to services over the Internet, can also be an architecture pattern for enterprises. When that architecture is implemented, you will have a private cloud on premise. Although not using cloud services from any service provider, you still get almost all the benefits in a private cloud.

From the system architecture perspective, your applications built within a private cloud aren’t much different than those built using external cloud services. If both of the services follow the same interface spec, your application may switch between public cloud and private cloud either statically or dynamically.

Cloud Computing: How Much Can It Change IT?

April 5th, 2010 3 comments

There have been many debates on the potentials of cloud computing and how it can change the IT. Some say it’s the future of IT and everyone and every enterprise will have to go with it; others say it’s a hype and just another name for already vanished on-demand computing, utility computing.

So which will be the trend? Or should we take a middle ground between these two?

While predicting the future, we tend to look back and try to leverage historical data. I bet you have seen many such analysis that draw different conclusions. History can be interpreted differently.

In this article, I would like to take a different approach — make an analogy between cloud computing and office rental business, and then predict the future of cloud computing from what’s today in office rental business.

Technology wise, cloud computing and office rental are two totally different things. Business wise, they are actually very similar. Whatever benefits of cloud computing can be found in office rental, for example, no initial capital investment in building either office or data center.

Although new technology companies get started and make impact on many things, the fundamentals of business haven’t changed. You still use the same balance sheets to evaluate high tech companies just like the blue chip companies. When making decisions, companies base more on business than on technology. That’s why I can make a safe analogy here.

Categories: Cloud Computing Tags:

Slides From The Cloud Club March Meetup

April 2nd, 2010 No comments

Almost forget to report last Cloud Club meet-up which took place at Santa Clara Convention Center on the night of March 16. The meet-up was conveniently co-located with the CloudConnect 2010 Conference.

We had several great speakers from companies like Makara, Engine Yard, Heroku, Appirio, etc. As you can guess from the speakers’ company profiles, the theme of the meet-up was about PaaS. Each speaker had about 20 minutes to introduce their technologies.

My Posts at VMware vCloud Blog

March 26th, 2010 No comments

I posted my first blog at VMware vCloud blog site, the company’s official blog on cloud computing, last month. It’s about the high level comparison between vCloud API and Amazon EC2 API: what is common and what is different?

http://blogs.vmware.com/vcloud/2010/02/a-quick-comparison-of-vmware-vcloud-and-amazon-ec2-apis.html

Yesterday I posted my second blog there about moving virtual machines back from the service providers’ cloud to the enterprise. It’s not as easy as we expect today. We need one click sending VMs to and from the public cloud.

Top 10 Best Practices Architecting Applications for VMware Cloud (part 4)

March 22nd, 2010 No comments

This 4th and last part contains best practice No.7 ~ 10. To be notified for future posts, feel free to subscribe to this feed, and follow me at Twitter.

#7 Levarage vApp

vApp is a new addition to vSphere. It’s essentially a group of VMs that work together as a solution. You can manage them as a basic unit like a VM. It provides you higher level granularity for resource allocation and management.

This is an ideal container for your application if you have multiple virtual machines involved. They may or may not form a cluster, but are bundled together for a same goal.

The vApps are not only easily managed by the vSphere, but also imported and export as a bundle. Therefore you can easily move it without worrying what should be included while copying it.

VMware provides tools like VMware Studio using which you can create and configure vApps easily. The VMware Studio has Web based console, customization and build engine, build process automation with CLI (command line interface).

Other alternatives include:

Top 10 Best Practices Architecting Applications for VMware Cloud (part 3)

March 19th, 2010 No comments

This 3rd part contains best practice No.4 ~ 6. To be notified for the rest, feel free to subscribe to this feed, and follow me at Twitter.

#4 Scale Applications as Needed

Most time, people think scalability is to handle more workload when needed. This is true, but not enough. A truly scalable system should scale back. This is how you will save money. This is equally important as the first case where you get more revenue by serving more traffic.

There are different ways to scale:

  • Up and down. This is unique in virtualized environment in which you adjust the memory or CPU allocation and use more or less of them instantly.
  • Out & in. This means you include more machines either physical or virtual into your application.

You have to think over several architecture decision points:

Top 10 Best Practices Architecting Applications for VMware Cloud (part 2)

March 18th, 2010 No comments

This second part contains best practice No.1 ~ 3.

#1 Move Up to Higher Level Software Stack 

“If I have seen a little further it is by standing on the shoulders of Giants.”

 Isaac Newton

Modern software development is all about leverage. You don’t want to build everything from bottom up. Whatever “giant shoulders” you can leverage, you should do so. Remember the keyword here is “giant shoulders.” You got to be selective on what is “a giant” and what is not, for the best quality of your system. Your application’s quality is a function of that of the systems underneath it.

The typical “giant shoulders” includes middleware, high level programming languages, tools. By leveraging these, you should expect your applications portable, and with much less code and higher developer productivity. The portability is very important when you want to deploy your applications in federated cloud environment.

I posted a short article after the cloud demo in VMworld 2009 keynotes. It’s reposted at SpringSource blog. The article introduced “DIY PaaS” concept which you could have a higher level of development platform inside your enterprise in a similar way as would you get from vendors like Google, but without vendor lock-in.

The “DIY PaaS” does not require you to use any specific platforms, middleware or framework. You could use any existing combination of systems on top of Java, .Net, Python, PHP. For example, you could use Java with Spring framework for building your web applications or enterprise integration frameworks. The choice is really yours, not of any vendors. When making a decision, you want to consider various factors like your team’s expertise and preference, total cost of software licenses, design constraints posted by for example existing investments on particular software.

Having decided the combination of software stack, you want to pack them into virtual machine templates that can be re-used by various teams. If you have multiple combinations, you can have multiple virtual machine templates in your catalog.

In general, you want as few templates as possible. Why?

Having less VM templates means less effort to build them, to manage, to upgrade, and to test. This might not seem like a big deal but could become a big deal in a longer term when you have to maintain multiple versions of these templates at the same time.

It also means less storage. vSphere has a special technology called linked clone. The new virtual machine doesn’t fully clone the disks, but links back to the template. If you have least templates, you can have a huge saving on the disk space. High quality storage can be very expensive.

Last but not least benefit is less memory. vSphere has memory page sharing technology which keeps one copy of same page contents, and converts others as pointers to the single copy. It’s only possible when you have identical memory pages. When you have virtual machines cloned from a same templates, the chance of identical memory pages increases dramatically.

There are several techniques to keep the least number of virtual machine templates:

Top 10 Best Practices Architecting Applications for VMware Cloud (part 1)

March 17th, 2010 4 comments

Overview

With more data centers running on purely virtualized systems, more applications are therefore running on top of virtualized environment than ever before. These virtualized systems are interconnected with each other and become a cloud platform. Virtualization is the pre-requisite and starting point of the cloud computing at the IaaS level.

Why Is VMware Intersted in Redis?

March 16th, 2010 2 comments

A high profile open source developer Salvatore Sanfilippo (@antirez) joined VMware engineering team today. He is the project owner of Redis. Welcome Salvatore!

As Derek Collision (@derekcollison) described it at a VMware Console Blog,

Redis is a high performance and scalable advanced key-value store where values can be data structures such as lists, sets, and hashmaps, as well as strings and blobs. Redis supports atomic operations on these data structures, allowing extremely high performance with consistent state to many client applications.

Categories: Cloud Computing Tags:

3 Phases and Challenges in Cloud Journey for Enterprises

March 14th, 2010 No comments

As I quoted VMware CMO Rick Jackson in my previous blog, cloud computing is a journey. You may wonder, “If so, what are the phases for that journey?”

A great question! Understanding the phases helps us to better plan our journey and have a smooth transition from phase to phase.

In this blog, I will introduce 3 phases one by one: 100% virtualization, private cloud, and federated cloud. I will go over each of them and discuss the challenges in each.

What’s Hot in the Virtualization Job Market?

March 12th, 2010 3 comments

While asked how each Spring products are used in the market at the end of today’s training, the instructor showed us a nice website as a reference. Here is the diagram showing the numbers of jobs requiring skills of Spring and EJB. A great answer even though not a direct answer.

 

Strictly speaking, the jobs are not products, but well reflect what products are in use. So this is a good index on market shares of different products. If you have your products too easy to use, this index works against you. :-)

Who is Hyping Cloud Computing? You Will be Surprised!

March 7th, 2010 2 comments

I came across a blog “5 things VMware must do to fend off Microsoft.” The author Jon Brodkin listed the following musts: cut prices, improve Security, win the desktop war, simplify management, don’t overhype the cloud. Here is a response to the article by Steve Kaplan.

Because I am working on cloud related projects, especially I am the creator of the vSphere Java API that manages the “cloud operating system,” I am curious to know whether VMware is overhyping the cloud computing.

Instead of expressing my opinions, I decided to do a simple research using Google and Wikipedia. To my surprise, the “cloud computing” page does not include VMware in “Cloud computing logical diagram.” The companies listed are Microsoft, Google, Saleforce, Amazon, Yahoo, Rackspace, Zoho. Well, that is good for me to do the next step.

Then, I used Google to search each company’s name and “cloud computing.” I wasn’t testing the performance, but to see how many web pages are there including these keywords. Strictly speaking, the number of hits is not an index of hyping cloud computing, but you can get a good sense on how much marketing effort each company invest into “cloud computing.”

To save you time, I captured the screenshots of each search, and list the most important parts we are interested as follows.

Categories: Cloud Computing Tags:

Building Trusted Datacenters in the Cloud

March 6th, 2010 No comments

RSA just had its annual conference at San Francisco this past week. Intel, VMware and RSA demoed how to build up layers of trust in data centers in the conference.

3 Easy Ways Connecting to Your VM in Private Cloud

February 24th, 2010 30 comments

Several folks asked me about how to use vSphere(VI) Java API to connect to a VM running on vSphere. The quick answer is vSphere Java API is not designed for this. You will need VMware Remote Console, browser plug-in, remote desktop/VNC, SSH client etc. However, it can help you to get the information required by the console or plug-in. Tal Altman from CISCO suggested that it be a topic for doublecloud.org. Here it is.

There are 3 ways to connect to the VM from your client side outside the vSphere and Web Access which have built-in support for console access.

  1. Using VMware Remote Console which is a standalone application
  2. Using browser plug-in to either IE or Firefox (Note: this is NOT supported by VMware. Please don’t call the company tech support for this.)
  3. Using Remote Desktop, VNC or SSH

The first two connect to the ESX host, and work even there is no guest OS installed on the VM. The last one assumes you have guest OS installed, and have IP network and server components in place already.

Note that these 3 ways work for the VMs in the public cloud as well if the related ports are open in your firewall. It is, however, not the case for most enterprises, therefore I particularly say it’s for VMs in private cloud. If you don’t have firewall issue, feel free to give it a try with public cloud as well.

Let’s go over one by one in details and see how vSphere Java API helps.

A New Member Joined vCloud Initiative For Cloud Computing

February 20th, 2010 No comments

newScale recently announced it would support VMware vCloud API in a press release.

San Mateo, Calif. February 17, 2010 – newScale®, Inc., pioneers of the self-service IT storefront for the enterprise, today announced it will support the VMware vCloud API, a key component of the VMware vCloud initiative. Enterprises and service providers integrating with the VMware vCloud API can now use the newScale FrontOfficeTM Suite to effectively manage and control self-service requests for cloud resources as well as their physical and virtual environments. 

This announcement underscores newScale’s continuing commitment to supporting multi-vendor, cross-platform data center and cloud infrastructures. The newScale FrontOffice Suite –  a complete set of Service Catalog solutions for managing IT services from cradle to grave –  integrates with VMware vSphereTM 4 and VMware vCenterTM Server. newScale is also a member of the VMware Technology Alliance Partner (TAP) program. By leveraging the VMware vCloud API, newScale demonstrates its ongoing support for a wide range of virtualization and cloud infrastructures, giving newScale customers maximum flexibility, efficiency, and agility in their data center deployments.