Miva Merchant Ecommerce Blog

Cloud Computing and E-commerce: 4 Important Questions

Posted by Miva Merchant to on March 12th, 2010

This is a guest post by Brian Raboin, Vice President of Operations at Hosting.com. The author’s views are entirely his or her own and may not reflect the views of Miva Merchant.

So, you’ve heard about the cloud, thought about the cloud, maybe even had a beta account somewhere that was hosted on the cloud. But, what is the cloud? And, how can it impact e-commerce or storefront-based sites? First, let’s talk about what cloud computing is. In some ways cloud is a very advanced shared platform. Very advanced. On the evolutionary scale of hosting, if traditional shared hosting is the early man who drug his hands on the ground and whose survival was based on his ability to avoid being the first course for a lion and not getting stepped on by a mammoth, then cloud computing is the highly evolved man who remembers to always put the seat down and chews with his mouth closed.

Here is the Wikipedia definition of cloud computing:

Cloud computing is Internet-based computing, whereby shared resources, software and information are used by computers and other devices on-demand, like a traditional utility.”

(Source: http://en.wikipedia.org/wiki/Cloud_computing)

Clouds are usually a whole bunch of front-end application servers with a Storage Area Network (SAN) on the back end storing the data. The idea is that you take all the resources on each of the application servers and treat them as a single pool of resources. All the RAM and processors are available to any Virtual Machine (VM) or application hosted in the cloud, ready to be called on when needed, and all the data is housed on a SAN platform. So, the failure of a single server (known as hardware nodes) will not impact any of the applications or VMs hosted on the cloud. The idea is that the application or VM gets moved to another hardware node, and the VM never goes down or loses data. At least, that’s the idea. There have been some high profile “cloud outages” that have hit big name providers in the past. Looking at those, many of them came down to facilities issues within the data center (“hey, who unplugged the cloud?”) or the data stores failing; however, the design of the cloud is such that it gives you the most reliable, and highly available, option without having geo-diverse, site-to-site replication architecture. It is a lot like saying flying is the safest way to travel, until the plane you are on decides to convert itself into a riverboat cruise while over the Hudson.

The other major advantage of the cloud is the ability to add computing on demand. This is huge for e-commerce/storefronts that have seasonal businesses or are the lucky victims of something like having your product being featured on Oprah. If you suddenly need a lot more RAM, CPU, or storage, you get it without having to purchase additional servers on a long-term contract, incur significant downtime, or even re-load your application. Conversely, when you no longer need it, it goes away. This is an important concept to understand with cloud. You can size your resources to what you need when you need it.

Now, there are a lot of technical details and cloud types that you can learn and read about. Most clouds are powered by Hypervisors like VMWare, MS’s HyperV and Xen, but unless you are really into the technical details of cloud—a cloud geek perhaps—there are only a few things you’ll want to know when you go cloud shopping.

1) Is this cloud like a server with RDP or SSH access or do I load my application via an API or FTP or some other magic?

Compare Google’s App Engine to Amazon’s EC2. Google says this about their App engine:

App Engine applications are easy to build, easy to maintain, and easy to scale as your traffic and data storage needs grow. With App Engine, there are no servers to maintain: You just upload your application, and it’s ready to serve your users.”

And Amazon on their Windows EC2:

Amazon EC2 running Windows is provided through an Amazon Machine Image (AMI). The Amazon-provided Windows AMIs are, as much as possible, configured the way you would expect a Windows Server to be configured if you just installed it from Microsoft-issued media. It is our goal to deliver an instance that behaves exactly the way you would expect and to avoid any surprises with respect to features and functionality.”

What does this mean? Well, if you want to have the ability to install an application such as say Miva Merchant (I love those guys!), Google’s App engine is not for you. But if you are a coder who just wants to code, and not be bothered with server administration, then learning how to code on the Google App Engine Platform is a good fit.

At Hosting.com (shameless plug time) we’ve followed the Amazon way in giving SSH and RDP access to Linux-based and Windows-based VMs. It basically functions as if it were a dedicated server with regards to management. It does require the end user to have server administration skills.

One is not better than the other; it is a matter of knowing what you want and the right questions to ask.

2) What is this going to cost me?

A lot of the confusion around cloud stems from the billing aspects. Cloud is usually priced in one of two ways: utility or traditional.

Utility means you pay for cloud services as if it were a utility like electricity or water. The more you use, the more you pay. Amazon on-demand and reserved cloud pricing models charge by the hour. For their standard on-demand instances, you’ll pay anywhere from $0.12 to $0.96/hour. The benefit is that you pay as you go, but the risk is you may not know how far you’ve gone until you get the bill. Since there is a lack of visibility into the current cost if you go with this model, I suggest also looking at RightScale. RightScale provides cloud management, and among their set of tools is a counter/calculator that will let you know how many minutes your cloud has been running so you can manage cost.

The more traditional method is just like buying a dedicated server. You get a price for bandwidth, disk, CPU, memory, and software. The difference is that adding or removing resources is done through an interface or an API and is done on the fly, usually without taking down the cloud instance. The upside of this billing method is you’ll know what your bill will be upfront; the downside is that you will have unused resources. Providers that can provide either/or options are, in my mind, going about it the smart way.

3) How do I manage this thing?

Getting on the cloud is one thing, using the tools that manage it is another. When you are evaluating a cloud provider, get a demo of their cloud management tools. Understanding how to manage the cloud instance itself is almost as critical as using the cloud for your application. If the management interface is too hard to use, you’ll find yourself frustrated at a very inopportune time—that’ll probably be the time you need to add more resources in a hurry to keep your store from crashing.

Also, find out if resources are added automatically or if you have to add then manually. If you can set thresholds to allow your cloud instance to expand and contract without your having to go into the control panel to do it, that is great, but understand that will also mean your costs can climb suddenly. If you go with the manual addition of resources, make sure you are monitoring your instance closely and that you know exactly how to add resources when needed.

4) If I need help, can I get it?

At some point, you will have a question that the user guides, forums, and Google (or Bing) just won’t have an answer for. You’ll want to know how well the cloud support team performs. Before you buy, contact the support department and see how knowledgeable they are about their cloud products. Are the sales people and the support people on the same page? Can you talk directly with someone in support who will fix your problem? Do they take the time to answer your questions well? Do they know your storefront application and can they help with that? When things go wrong, having a good support department to back you up is the best feeling in the world. Ask yourself, “If my store is on fire, will these guys show up with hoses or marshmallows?”

Join the Discussion

There are no comments on this article, be the first to leave one!

Leave a Comment

Notify me of follow-up comments?