We're Hiring!  
Toll Free US & Canada: 1(877) 946-4743   Worldwide: +1(415) 869-7444

Don’t let the media fool you. Which of these actually make cloud computing financially compelling?

  1. Super cheap power, such as hydro-electric
  2. Shipping container datacenters
  3. Massive datacenters
  4. Blade servers
  5. Datacenters with super-efficient cooling
  6. VMware virtualization licenses
  7. Pay-as-you-go pricing
  8. Automation
  9. Shared platforms
  10. Commodity hardware

The answer is NOT “all of the above”! If you said “pay-as-you-go pricing, automation, shared platforms, and commodity hardware” then you win. In fact, these four concepts are so powerful that I believe that they will shrink the entire IT economy. IT shrinking? How could that be possible? Yes, I think that the $3.3 trillion dollar global IT economy could be cut in half. When I’ve made this declaration before I’ve been likened to the commissioner of the US Patent Office who was rumored to have said:

“Everything that can be invented has been invented.”

Charles H. Duell, Commissioner, U.S. patent office, 1899 (attributed)

In truth he didn’t say this. http://en.wikipedia.org/wiki/Charles_H._Duell

But I’m still saying that I think we’re currently seeing the peak of complexity and cost in IT. IT is going to get easier and less expensive from this point forward. There. You have it in writing.

#1. Pay-as-you-go pricing

Pay-as-you-go pricing can reduce total IT costs by 90% or more in many cases. The tech industry always has huge claims like this so why is this one such an incredibly big deal? For example, Intel is always coming out with processors that are a zillion times faster. This is a big deal because we’re not talking about a single component getting much better, we’re talking about the whole IT budget. The whole IT economy. This most powerful force driving the economics of cloud computing really has two components, you “pay for only what you need” and you can “switch what you do pay for”.

Pay for what you need

Paying for only what you need means that you don’t need to over-provision. This part of cloud computing is analogous to the electrical power grid that “GoGrid” is named after. Businesses don’t need to generate their own power anymore.

clip_image002

The average IT department would never confess to how guilty they are of over-provisioning. I’ve been the CEO of colocation, dedicated hosting and cloud hosting companies. Each of these models provides an improvement in your ability to provision only the IT resources that you need. And because I have been exposed to thousands of installations in each of these business models, I have a unique perspective on the efficiencies of each model. Basically, the average colo customer “wastes” about 90% of their infrastructure, dedicated server customers do better but still “waste” about 70% of what they are paying for, and with our cloud platform we’re seeing “waste” as low as 10%.

Colocation:

With colocation you don’t need to have your own datacenter so you can generally control how much space and power you want to pay for. You still need to commit to 1 to 5 years’ worth of space and power so you almost certainly will have periods when you have too much space and power or not enough space and power. IT loads are never static.

stair_step_economics

You tend to alternate periods of too much which is wasteful, or too little which is potentially even more damaging to your business. The bigger problem with collocating your IT equipment is that you still need to buy the equipment. You don’t want to risk running out of capacity so you buy big. You estimate what you need at peak load, say the demand you hope to see during the holidays, and that is what you buy for and live with for several years.

We’ve studied the aggregate waste of our 1,000s of colo customers and estimate that 90% of their CPU power, 70% of their RAM and 50% of storage space is wasted. This means that somewhere around 70% of the electricity needed to power and cool this equipment is also wasted.

Dedicated Servers:

Dedicated servers give you much improved granularity in your purchasing and significantly shorter contracts but we still estimate that over 70% of the CPU power, 60% of the RAM and even more of the storage space is wasted, along with the corresponding use of electricity. Among other challenges, you still can’t scale your individual servers to re-size them as loads change without somebody getting out a screw-driver, so you tend to over-provision.

Cloud computing:

Cloud can be paid for by the hour. Because your infrastructure can scale up and down automatically, it is just like turning on and off the lights. Waste can be minimized. You can scale in two ways that aren’t as easy in the real, physical world, both horizontally by adding and deleting servers automatically, and also vertically, by enlarging and shrinking the servers themselves. Paying for servers by the hour even gives you the ability to de-provision servers at night and GoGrid has many customers that are doing this quite effectively. GoGrid servers are being turned on and off at a super high rate of speed. In fact, the number of “adds” per month at GoGrid is much higher than the number of servers that customers just leave running for the month.

Switch what you do pay for

Now here’s a concept that works… don’t agonize over your IT decisions. You aren’t as stuck with them as you have been in the past. It took many years for the client-server revolution to occur because embracing this architecture was an incredibly costly endeavor with a 10 year plus commitment. It took many years for that generation of computing to happen, but cloud is happening much more quickly. With the cloud, you don’t own anything so if you don’t like what you have you can dump it and switch. It is hard to put a percentage savings on this but isn’t freedom an incredibly powerful economic advantage that will give incredible flexibility to business?

In summary, Pay-as-you-go is number one this list for good reason. Pay-as-you-go is an “order of magnitude” force…a “90% cheaper” force…a “10,000% better” force on the economics of IT.

#2. Automation

Labor is the single biggest piece of the IT economy according to Gartner. Equipment isn’t even close. People make mistakes, they are super-expensive, and they just can’t do as good of a job running infrastructure as software that can run infrastructure for itself. That is the big change here… programmable infrastructure. “Dev Ops”.

While automation isn’t itself the single biggest economic factor in the cloud revolution, it is the key technological factor. The big change of the cloud generation is that now software controls infrastructure. In the old world software was developed by one group of people and then a completely different group operated the software. Now developers run the whole show. The datacenter has been automated and a whole bunch of labor, complexity and cause for error has been eliminated.

#3. Shared Platforms

SalesForce.com delivers a complex CRM solution to 97,700 customers using 3,000 servers, a ratio of 0.031 servers per customer. 1,500 of the 3,000 servers are turned off according to Mark Benioff at 0:52 into this speech:

0.03 servers per customer for a complex CRM service is incredible. In the “old world,” this would take at least 2 servers, a hot one plus one for disaster recovery / business continuity. Many businesses deploy a whole bunch more than 2 servers for a complex CRM installation. Zero-point-zero-three servers per customer is a 65 X improvement over the old days. Not 50% or 100% but 6,500%. But wait, there’s more, this isn’t just a savings in server hardware, think of how much more efficiently SalesForce.com manages these 3,000 servers than 100,000 random companies could manage more than 200,000 servers themselves. Crazy. Keep in mind that labor is the single biggest piece of the $3.3 Trillion global IT economy.

There are lots of obvious and powerful reasons when shared platforms make clouds incredibly cost-effective to operate, including scale and an easy-to-operate homogeneous environment that fits all customers. Service providers have capabilities and tools and best practices that they can share amongst thousands of customers and do a much better job than any customer could possibly do individually. Shared platforms also let the service provider capitalize on the mis-matched peak load periods amongst the customers. For example, consumer services (yes, including porn) are popular in the evening while business services are popular during the day and number crunching can be done in the middle of the night.

#4. Commodity Hardware

The programmability of cloud infrastructure enables designing for failure. Things heal automatically so now you can use “throw away” components. No more paying ten times as much for an “enterprise” server that has 3 power supplies but does the same job. Did the hardware powering your Web server fail? No biggie. You should have at least three small ones running anyway instead of one big one, all load-balanced to automatically handle this failure while a replacement is spun up. The leading public cloud vendors and the largest Internet properties are achieving fantastic uptime using super-cheap hardware. No cloud based on “enterprise-grade” hardware from IBM or HP could possibly be price competitive.

The “Doesn’t Matter” list:

  1. Super cheap power, such as hydro-electric
  2. Shipping container datacenters
  3. Massive datacenters
  4. Blade servers
  5. Datacenters with super-efficient cooling
  6. VMware virtualization licenses

1. Super cheap power, such as hydro-electric

At GoGrid, power represents less than 5% of our cost of goods sold. We’re a nicely profitable company despite buying some of the most expensive power and cooling on the planet. Theoretically, we could knock a few points out of our COGS if we used a datacenter next to the Columbia River in Eastern Oregon. Great fishing there, too. But then we’d have new costs that we don’t have now such as the costs of managing people who are native to Eastern Oregon and paying people from Silicon Valley to travel to Eastern Oregon to manage those people and lots of networking costs to take traffic to and from there which increases latency and also the costs of fishing lures.

2. Shipping container datacenters

Maybe somebody else can tell me why these things have anything to do with cloud computing? They are not cheap, not even on a per server basis if you use them completely. And you can’t just park them anywhere. Any claims that these are relevant to cloud computing are likely good examples of “cloud washing”.

3. Massive datacenters

These are critical to Google, which has been rumored to own 2% of the World’s servers:

http://royal.pingdom.com/2009/08/24/google-may-own-more-than-2-of-all-servers-in-the-world/

Google-most-servers1

(image source: intac)

However, the efficiencies that this scale provides just aren’t relevant in today’s SaaS and IaaS markets yet. Margins are super high and businesses pay well for complex infrastructure. Super low-cost PaaS offerings aren’t yet seeing traction from power users. Nobody is giving away free complex infrastructure (yet) on an ad supported model.

4. Blade servers

These are incredibly expensive and always out of date. If you want to use the latest processors, don’t expect to find them on blades. And if you are using blades, you are likely tied into other hardware and software too, which also is quite expensive and inflexible. The leading public clouds don’t use blades and never will.

5. Datacenters with super-efficient cooling

Green is great. Cloud computing is incredibly green for the same reasons that the economics are powerful… a whole lot less infrastructure needs to be provisioned, in many cases 90% less or even 65 times less as is the case with SalesForce.com. But green datacenters really aren’t relevant to the economics of cloud computing at this time.

6. VMware virtualization licenses

VMware is expensive. Virtualization is free. Amazon is the runaway market leader for cloud infrastructure and they do not use VMware and I’d be surprised if they ever did. GoGrid uses open source XEN, and so do other leading public clouds. There is even a third open-source (free) virtualization alternative called “KVM” that has wild technical acclaim.

Summary:

There is good reason why all businesses need a cloud computing strategy even though it is so new. Cloud computing doesn’t deliver a small improvement; cloud will reduce existing IT costs by a factor of 10 or more in many cases. Pay-as-you pricing is the number one economic force driving the cloud. Most importantly, cloud computing is making IT simpler, greener and more reliable in addition to far less expensive.


Measuring the Performance of Clouds – GoGrid

Written by on Mar 17th, 2009 | Filed under: Cloud Computing, GoGrid, Storage
5,932 views

Raditha Dissanayake posted a blog entry comparing Amazon EC2 and GoGrid performance. Unfortunately, we think Raditha did not use the most rigorous methodology possible for doing his comparison. It would be inappropriate for GoGrid to performance test Amazon’s EC2. In fact, their Customer Agreement may actually make such activity questionable, but IANAL (I Am Not A Lawyer).

Let’s take a more rigorous look at GoGrid disk subsystem performance.

Framing the Issue

As a start the entire issue is a LOT more complex than can potentially be covered here. Today’s disks, hard drive controllers, and operating systems have many different kinds of caching mechanisms. In addition, virtualization systems like Xen can impact results in unexpected ways. For example, did you know that Xen can be deployed in two major manners?

Either ‘paravirtualized’ or ‘hardware virtualized’. The two different models almost certainly impact any testing methodology. And yes, you guessed it, Amazon and GoGrid don’t configure Xen in the same way. Amazon uses paravirtualization and GoGrid uses hardware virtualization. Beyond this public information neither Amazon nor GoGrid provide significant details about their infrastructure considering it, rightfully so, proprietary intellectual property.

Without a deep understanding of all of the issues it’s difficult to do a test much less a proper comparison.

But we are certain of a few very important things.

Clouds Are Multi-Tenant

First off, it’s hard to do a serious comparison like this using one server on each system. Clouds are inherently multi-tenant systems and since end users have no visibility into who else is using or sharing their disk resources at any given time there is no real way to verify that the results aren’t tainted by other activity.

Use the Right Tool

Secondly, hdparm -t isn’t a very good way to measure disk speed. It’s susceptible to noise from background activity, in fact the man page says:

-t Perform timings of device reads for benchmark and comparison purposes. For meaningful results, this operation should be repeated 2-3 times on an otherwise inactive system (no other active processes) with at least a couple of megabytes of free memory. [...]

As you can see in Raditha’s test, hdparm doesn’t really do enough I/O to get consistent results in a multi-tenant environment. In the tests, hdparm is only active for a very short period of time allowing tenancy to have a dramatic effect on the results.  hdparm requires an inactive system and since that can’t be guaranteed in the cloud it fails the sniff test for a robust tool for cloud performance testing.

Another factor here that is unaccounted for is that hdparm is a utility tuned for real physical disks, not virtual disks.

Better Measurements

Ideally if you want to measure the streaming performance of a block device in a more reliable way in a multi-tenant environment, then use a larger amount of I/O. When doing this I/O you want to try to eliminate:

  • Hard disk controller layer cache effects
  • Hard disk layer cache effects
  • OS level cache effects
  • Effects of disk activity from other VMs

All current GoGrid nodes have caches in the storage layer. These are designed to be robust and to absorb burst of write activity. These caches are sufficiently large though that if you do repetitive small I/Os what you end up measuring in the performance in pulling this data out of the storage layers caches, not from the storage itself.

To avoid OS level cache effects use ‘direct I/O’. High performance applications and databases tend to use this internally for similar reasons (because they want to avoid OS level cache pollution and do their own caching). Oracle is probably the most obvious example here.

Testing Performance

On a ‘small VM’ located on a fairly busy node:

[root@foo ~]# dd if=/dev/hda bs=10M of=/dev/null iflag=direct count=100
100+0 records in
100+0 records out
1048576000 bytes (1.0 GB) copied, 3.50983 seconds, 299 MB/s
[root@foo ~]# dd if=/dev/hda bs=10M of=/dev/null iflag=direct count=100
100+0 records in
100+0 records out
1048576000 bytes (1.0 GB) copied, 3.06811 seconds, 342 MB/s
[root@foo ~]# dd if=/dev/hda bs=10M of=/dev/null iflag=direct count=100
100+0 records in
100+0 records out
1048576000 bytes (1.0 GB) copied, 2.14147 seconds, 490 MB/s

That’s using enough I/O to minimize noise from other VM activity and large enough to avoid hitting cache effects.

If the I/O load is small enough you can hit storage layer cache effects:

[root@foo ~]# dd if=/dev/hda bs=10M of=/dev/null iflag=direct count=10
10+0 records in
10+0 records out
104857600 bytes (105 MB) copied, 0.116491 seconds, 900 MB/s
[root@foo ~]# dd if=/dev/hda bs=10M of=/dev/null iflag=direct count=10
10+0 records in
10+0 records out
104857600 bytes (105 MB) copied, 0.16058 seconds, 653 MB/s
[root@foo ~]# dd if=/dev/hda bs=10M of=/dev/null iflag=direct count=10
10+0 records in
10+0 records out
104857600 bytes (105 MB) copied, 0.115701 seconds, 906 MB/s

While this is a fairly contrived example, it’s useful in other ways because it shows you can get very good burst throughput (consider a database updating a few thousand pages).

A larger memory instance (where average performance should be a lot better).

Sustained (large) IO:

[root@ubdev1 ~]# dd if=/dev/hda bs=10M count=100 of=/dev/null iflag=direct
100+0 records in
100+0 records out
1048576000 bytes (1.0 GB) copied, 1.80415 seconds, 581 MB/s
[root@ubdev1 ~]# dd if=/dev/hda bs=10M count=100 of=/dev/null iflag=direct
100+0 records in
100+0 records out
1048576000 bytes (1.0 GB) copied, 1.70448 seconds, 615 MB/s
[root@ubdev1 ~]# dd if=/dev/hda bs=10M count=100 of=/dev/null iflag=direct
100+0 records in
100+0 records out
1048576000 bytes (1.0 GB) copied, 1.6799 seconds, 624 MB/s

Burst (small) IO:

[root@ubdev1 ~]# dd if=/dev/hda bs=10M count=10 of=/dev/null iflag=direct
10+0 records in
10+0 records out
104857600 bytes (105 MB) copied, 0.105183 seconds, 997 MB/s
[root@ubdev1 ~]# dd if=/dev/hda bs=10M count=10 of=/dev/null iflag=direct
10+0 records in
10+0 records out
104857600 bytes (105 MB) copied, 0.089827 seconds, 1.2 GB/s
[root@ubdev1 ~]# dd if=/dev/hda bs=10M count=10 of=/dev/null iflag=direct
10+0 records in
10+0 records out
104857600 bytes (105 MB) copied, 0.090264 seconds, 1.2 GB/s

Don’t take my word for any of this. Try it out. If you’re really bored graph I/O performance vs I/O size and you’ll likely see a step function with a soft edge that will give you some idea of what the storage system is capable of and the degree of I/O variation.

Bottom Line

It’s great that people are kicking the tires of various clouds, but let’s be careful to make sure our testing is rigorous and makes sense for the environment.  If you have questions about how to measure performance on clouds, please send them to us.  Or if you’re a performance and virtualization system guru and have some knowledge to share, please do so.

We always want to improve our cloud and take seriously any feedback that shows a real problem, but in this case the test needs tweaking, not GoGrid.


I spent some time analyzing search trends of different computing keywords to try to put everything in perspective. Google trends is a nice too that gives insight into broad search patterns.

Google_Trends_logo_sm

We all know that the term “Cloud Computing” is relatively new to the Technology buzz. But just how new is it? For starters, I ran a quick comparison of “Cloud Computing,” “Grid Computing” and “Utility Computing”.

trends_cloud_grid_utility

The term Grid Computing has been around for a while (even before Google Trends tracking shows it). But as you can see from the graphic above, it is trending downwards. Utility Computing has pretty much remained below the radar in comparison. But, the newcomer Cloud Computing, which made its full entrance into this trend analysis around 2007 is rapidly gaining momentum. 2008 seems to be a pivotal time where it surpassed Grid Computing (and continues to grow).

Cloud computing is relatively new as a server hosting term. People are starting to loosely associate it with traditional hosted server solutions. So to put this all in perspective as well as add some other “hot” keywords in to the mix, I trended the following:

  • Cloud computing
  • Grid computing
  • Dedicated server
  • Colocation
  • Virtualization

The results were quite interesting:

trend_cloud-grid-dedicated-virtualization

My read on this is as follows:

  • Cloud Computing and Virtualization are the next hot hosting platforms. It is important to keep in mind that the term “Virtualization” can apply to many things, not simply hosting, in fact, Virtualization within the hosting environment is comparable to Cloud Computing. Virtualization has existed for some time, but mainly within a host’s computer (e.g., a desktop). But as Parallels, VMWare, Xen and even Microsoft’s Hyper-V gain momentum as virtualized servers within a hosted environment, this term will continue to grow. See the chart below for further details (VMware is the clear leader but Hyper-V is clearly going to gain market-share quickly).
    trends_parallels-vmware-xen-hyperv
  • The Dedicated server term is slowly starting to lose ground vs. Virtualization and Cloud Computing, but it is fairly obvious that it is still a term that people know and look for. There are always developers or companies who will ONLY go with a dedicated server for one reason or another. I predict, though, that as they start getting on the virtualization and cloud bandwagons, that this term will continue to erode. Another term “VPS” (Virtual Private Server) is fairly common among hosting solutions but differs from Virtualization in many ways. With a VPS, you share resources with the other clients on a particular server, whereas Virtualized servers (like GoGrid which is built on top of Xen) dedicate RAM and CPU usage to the predefined server instances running on a particular node. To again put it all into perspective, see the chart below. VPS is one of the terms that seems to be remaining steady as a searched term. This is most likely due to the fact that most of the main-stream hosting providers offer VPS hosting as their “bread & butter.”
    trends_cloud-grid-dedicated-vps-virtualization

In general, these terms all seem to be converging, which means only one thing, confusion and clutter within the marketplace. With so many options now available, potential server customers are presented with even more choices, and these choices frequently can’t be directly compared. One can look at RAM allocation, Hard Drive sizes and CPU speeds as sort of a rudimentary measure, but that is where the simple comparisons end. Now one is forced to choose between scalability options, server and data persistence, operating system images, peripherals (like firewalling and load-balancing), data storage, clone-ability…the list goes on. Attempts are being made to standardize these comparisons with check-lists, but since the market is so new and mutating with new entrants and updated feature sets, the IT Professional may be challenged when making decisions.

Lastly to put things all in perspective a bit, I ran a couple of other search terms, comparing “Twitter”  against Cloud, Grid and Utility Computing…the results aren’t surprising (the green line is Twitter):

trends_cloud-grid-utility-twitter

And put the iPhone into the mix and everything drops off the map (note, this graph is just for Cloud, Grid, Twitter and iPhone - iPhone is the green line below):

trends_cloud-grid-twitter-iphone

Also, the Cloud just got another potential injection of PR from Apple as well with their announcement of MobileMe. To take directly from the source:

“MobileMe stores all your email, contacts, and calendars on a secure online server — or “cloud” — and pushes them down to your iPhone, iPod touch, Mac, and PC. When you make a change on one device, the cloud updates the others.”

Apple has brought a new technology term, the “Cloud”, previously reserved for developers, IT managers and the like to the main-stream public. Watch the cloud continue to grow now almost exponentially, I predict, even down to common-place iconography:

mobileme

So, how can you “keep your head out of the clouds” with all of this clutter? I can offer the following points to help:

  • Look beyond the hardware – it’s becoming virtualized and virtually upgraded constantly; some companies will tout just one piece of the mix, look at Support, the company’s history, their Terms of Service or Service Level Agreements as other non-tangible measures
  • Don’t just jump on the bandwagon – a solution for one company or competitor may not be the solution for you; shop carefully
  • Get involved with the community – the fact that you are reading this article means that you are doing the right thing in doing your research first. Read blogs and forums as well as attend meetings to talk to end users
  • Don’t over-extend your resources – IT budgets are tight so make your decision based on that. Dedicated servers are frequently premium monthly payments; virtualized hosting can even be price by usage
  • Follow the K.I.S.S. rule – keep things simple; over-engineered network topologies can actually hurt your presence.

Where does GoGrid come into play? For starters, it offers “control in the cloud” by crystallizing real, on-demand servers into an experience that is simple, scaleable and powerful. If you want to visit Cloud Computing in a way that is both understandable and attainable, look no further than GoGrid.


GoGrid FAQs – Part 1

Written by on Mar 28th, 2008 | Filed under: FAQs, Features, General, GoGrid
6,620 views

It is pretty obvious that the interest is high with GoGrid. And to that end, you have plenty of questions. We have been listening and hope that this first set of answers will help you in choosing GoGrid as your next hosting solution.

General

Question: Do I have full root access to each machine I’m running?

Answer:
Yes. All Linux machines have “root” access. All Windows machines have “administrator” access.

Question: Do I have to add new machines manually?

Answer:
Yes. Currently all new machines must be added via the GoGrid web interface.

Question: Can I set up a rule to have my GoGrid server scale automatically with demand?

Answer:
Not currently. However this is a feature that is on the product roadmap.

Question: Am I charged when my GoGrid server is in a stopped state and if so, how much?

Answer:
Servers in a “stopped” or “shut down” state will still count against your server RAM hour allotment and will still incur charges. This is because a stopped server still occupies RAM on our grid as well as “reserves” the resources for your server should you need to restart it quickly. At this time the only way to stop being billed for a server is to “Delete” the server, and in this case your server will be deleted forever and any data will not be recoverable. We are working on developing a solution so that stopped servers do not incur charges since we understand this is not an optimal solution for some of our customers.

Server Images

Question: Will you support Windows Server 2008?

Answer:
Yes, we will support Windows Server 2008 in the July time-frame.

Question: Can I use my own server image?

Answer:
Not initially. However this functionality will be supported in the future. And, as you have root and administrator access to your servers, you can customize your instances as you see fit (with the exception of modifying the kernel on Linux instances).

Question: Will GoGrid offer a scalable environment to support Facebook applications?

Answer:
GoGrid currently offers scalable servers for Facebook and other applications. Simply create new servers and load balance as needed. There will be a Facebook-ready server template (Facebook accelerators) added shortly.

Question: If I do set up an environment and I add another server, I would like to be able to clone my existing server as a new server. Is this possible?

Answer:
While server cloning is not available in the beta launch, it will be available soon as this is a popular request. Other customers of GoGrid have had success using some OpenSource tools to clone their servers across multiple instances.

Question: I want Windows, but I have no interest in IIS or MS SQL. I suppose I could get either server type and just turn off the services I don’t need, and install what I want (PostgreSQL, Java, etc.).

Answer:
Yes, you have full Administrator access to your Windows server which means that you can enable or disable the services that you want, as well as install other Third Party applications.

Technical Specifications

Question: Can I have more than just 1GB of RAM per server?

Answer:
GoGrid servers can be added with 512MB, 1GB, or 2GB of RAM today. We plan on increasing the maximum deployable amount of RAM to 4GB and 8GB very shortly.

Question: What load balancer do you use?

Answer:
F5 Networks LTM (http://www.f5.com/products/big-ip/). Our load balancers are configured in active-standby clustered pairs to prevent outages caused by hardware failures. These load balancers are included with each GoGrid account free of charge.

Question. Can I modify the type of load balancing or the persistence of my F5 load balancer?

Answer:
Yes. We give you the option to choose one of the following two load balancing types: “round robin” or “least connection,” and also provide the following persistence options: “SSL sticky” or “source address.”

Question: How much CPU do I get with every server?

Answer:
GoGrid is built upon a Grid of servers (nodes), managed by a hardware virtualization layer (Xen-based hypervisor) which allows several guest operating systems (virtual servers) to be executed on the same computer hardware at the same time. Our nodes are custom built multi-processor, Intel-based computers. In order for GoGrid to guarantee a minimum CPU to a virtual server, we will always maintain a ratio of 1 Xeon core (equivalent to a P4 2.0 chip) to 4 GB of RAM across our entire grid.

The maximum CPU utilization per virtual server is equivalent to the amount of cores assigned to that virtual server, per the below table.

The Xen CPU scheduler allows us to control CPU priorities per virtual server so that adjacent virtual servers cannot “steal” your CPU resources. The table below illustrates the current breakdown in CPU allocations and burst-ability by server-RAM configuration:

Server RAM Core Guaranteed (P4 2.0 GHz equivalent) Core Burst
512 MB 1/8 1
1 GB 1/4 1
2 GB 1/2 1

Note: you will soon be able to add 4GB & 8GB virtual servers.

Question: Can my GoGrid server support more than 1 Xeon processor if I’m running Windows OS?

Answer:
Not at this time. When we implement the 4GB and 8GB server options, that server will be guaranteed 1 full core and 2 full cores on both Windows and Linux respectively.

Question: Is my RAM dedicated to my server?

Answer:
Yes. The Xen hypervisor guarantees that the RAM is allocated to only your server.

Question: How much Storage can I have?

Answer:
In GoGrid, server storage is tied to the amount of RAM in your server.

Server RAM Storage
512 MB 30 GB
1 GB 60 GB
2 GB 125 GB

Question: Can I add additional Storage?

Answer:
You cannot add additional storage to a server at this time.

Question: Why am I seeing a load above 1.0 when I do ‘top’ on my Linux server? This is happening even when my server is completely idle.

Answer:
The Xen hypervisor will report the load baseline as the number of cores assigned to your GoGrid server. This means that if your system has 1 core assigned to it, ‘top’ will report a baseline load of 1.0. To ascertain your actual load, subtract the number of cores assigned to your server from the load reported by ‘top’, in order to get the actual load of your server.

Question: What happens if there is a failure of a physical server node?

Answer:
The GoGrid resource scheduler ensures that your GoGrid servers are spread across as many different physical nodes as possible. This is to minimize the impact of an unlikely hardware failure to as few GoGrid servers as possible. Please also note that GoGrid hardware nodes are enterprise-grade machines with dual-power supplies connected to two different UPS systems, and RAID protected storage volumes. All nodes are proactively monitored by the GoGrid Network Operations Center (NOC).

More FAQs are in the works. Keep your questions coming!


Author’s Note: This post was revised on 6/23/08. The nature of computing is under going a revolution and rather than fully remove this post, I elected to refresh it so as to provide a better framework for readers.

There seems to be a lot of debate around different types of Computing Terms being used to describe server and hosting solutions. In fact, in the past, the blogosphere seemed to throw around terms like Grid, Cloud, Utility, Distributed and Cluster computing almost interchangeably. But, as of this revision, one term is rising to the top: Cloud Computing. (See recent trend analysis here.)

The definitions vary from source to source, author to author. While I cannot (and will not) attempt to articulate the end-all definition, I can write about how I view these terms and how they apply to the products that we offer, namely GoGrid. But before I dive into MY interpretation, providing what others view on these subjects may shed some light on our framework.

Terms as defined by Wikipedia

wikipedia_logo_sm Many people view Wikipedia as an authoritative source of information but that is always subject to debate. Wikipedia defines some of these terms as follows (not the end-all definitions though) and I have taken some liberties of removing non-relevant information for argument’s sake:

  • Grid Computinghttp://en.wikipedia.org/wiki/Grid_computing
    • Multiple independent computing clusters which act like a “grid” because they are composed of resource nodes not located within a single administrative domain. (formal)
    • Offering online computation or storage as a metered commercial service, known as utility computing, computing on demand, or cloud computing.
    • The creation of a “virtual supercomputer” by using spare computing resources within an organization.
  • Cloud Computinghttp://en.wikipedia.org/wiki/Cloud_computing
    • Cloud computing is a computing paradigm shift where computing is moved away from personal computers or an individual application server to a “cloud” of computers. Users of the cloud only need to be concerned with the computing service being asked for, as the underlying details of how it is achieved are hidden. This method of distributed computing is done through pooling all computer resources together and being managed by software rather than a human.
    • The services being requested of a cloud are not limited to using web applications, but can also be IT management tasks such as requesting of systems, a software stack or a specific web appliance.
  • Utility Computinghttp://en.wikipedia.org/wiki/Utility_computing :
    • Conventional Internet hosting services have the capability to quickly arrange for the rental of individual servers, for example to provision a bank of web servers to accommodate a sudden surge in traffic to a web site.
    • “Utility computing” usually envisions some form of virtualization so that the amount of storage or computing power available is considerably larger than that of a single time-sharing computer. Multiple servers are used on the “back end” to make this possible. These might be a dedicated computer cluster specifically built for the purpose of being rented out, or even an under-utilized supercomputer. The technique of running a single calculation on multiple computers is known as distributed computing.
  • Distributed Computinghttp://en.wikipedia.org/wiki/Distributed_computing
    • A method of computer processing in which different parts of a program are run simultaneously on two or more computers that are communicating with each other over a network. Distributed computing is a type of segmented or parallel computing, but the latter term is most commonly used to refer to processing in which different parts of a program run simultaneously on two or more processors that are part of the same computer. While both types of processing require that a program be segmented—divided into sections that can run simultaneously, distributed computing also requires that the division of the program take into account the different environments on which the different sections of the program will be running. For example, two computers are likely to have different file systems and different hardware components.

Upon initial read, Wikipedia seems to be fairly close to my definitions but still not exact. Of note, “metered commercial service” rings true within both the Grid Computing and Cloud Computing definitions. However, it also seems to spill into the Utility Computing mantra. As a side note, our newest product, GoGrid, utilizes a metered service similar to how an energy company would charge you for electricity or gas, basing charges simply on what you use.

Traditional “Clouds” vs. Modern “Clouds”

Grid Computing seems to also have some origins in the idea of harnessing multiple computer resources to gain a more powerful source of shared power and computational resources. folding@home However, I would like to suggest that this definition is showing some age and, in my opinion, falls more under Distributed Computing. When I think about Distributed Computing, SETI@Home or Folding@Home come to mind, which is definitely very different from where things are moving now. So, let’s put Distributed Computing aside for this discussion.

Traditionally, the “cloud” was loosely defined as anything outside of a controlled network. When we, as Hosting Providers, discussed “the cloud” in the past with our customers, it was about the nebulous network that is known as the Internet. The cloud is loosely managed and traditionally unreliable. To that end, we do not refer to anything within our control or our networks as “the cloud” as it is too vague and un-manageable. It is outside of our Service Level Agreement and nothing that we can guarantee or deem reliable. However, once traffic enters our network, we manage it. That is where the modern interpretation of the “Cloud” comes into play. Products like Amazon’s EC2 and ServePath’s GoGrid have internalized Cloud Computing by building a reliable infrastructure around it. While the Internet remains as a Cloud of coupled servers and networks, GoGrid, for example, extends this by creating an infrastructure that offers “control in the cloud.”

Originally, I wrote that “Cloud Computing does not necessarily equate to reliable service.” This, obviously, is a contradiction in itself if you apply both the historic and modern definitions at the same time. If one views the Internet as “Cloud Computing,” there are obvious weaknesses within this vast network. With the Internet, you are at the whim of various service providers, Internet backbones and routers managing the traffic within the Cloud. But if one applies the more modern interpretations of this, Cloud Computing now offers robust infrastructure, features and services that were previously unavailable.

Tying the Grid to the Cloud

In order to provide “modern” Cloud Computing, a provider must have some sort of an organized and controlled network infrastructure and topology. What any particular service provider chooses is up to them. For GoGrid, we elected to build our Cloud offering on top of a Grid of servers as well as utilize a Utility-based billing model to only charge the end-user for what they use within our “Cloud.” The end-result is a tightly controlled Grid infrastructure that provides a Cloud Computing experience, more so than most if not all of the other hosting providers out there.

However, what is important here is looking at Cloud, Grid and/or Utility Computing from the perspective of a Hosting Provider. Definitely this is where things get contentious. As I mentioned before, GoGrid offers a traditional utility billing process where you simply pay for what you uses. This breaks from many “old school” hosting billing processes of paying up-front for server(s) and bandwidth, month or year-long contracts and then paying for overages. Does this mean that it is Utility Computing? Not really. One has to dig into this a bit more. GoGrid uses a network of similarly-configured servers bound together by management and administrative servers and virtualization tools to provide a very unique Cloud offering that is distinct from traditional hosting.

Dedicated, Managed and Cloud Servers offered by ServePath guarantee hardware resources like RAM and Load Balancing and full root and administrator access but these paths rapidly diverge at this point. Once one steps into the virtualization arena, or dare I say “the cloud,” new features are available including rapid deployments, cloning, snapshots, fault tolerance, and on-demand scalability.

ServePath chose Grid Computing to power GoGrid and provide the flexibility, scalability and robust infrastructure as the fundamental foundation of an award-winning Cloud Infrastructure product, GoGrid. The end results is a Cloud Hosting Provider offering that delivers better environmental properties, faster vertical and horizontal scalability and ultimately better fits for cost, performance and energy-concerned customers.