Sorry…The EC2 Cloud Is Full, Come Back Later

Current Job Listings

We all envision the cloud to be an on demand resource where at anytime we can add computing and storage capacity at the drop of the hat. Simply bring on as many virtual servers or as much disk storage as needed, when needed. That’s one of the most important value propositions of cloud computing and storage services. That’s the idea and vision behind cloud computing anyway, though I’ve had that bubble kind of burst for me last week while using Amazon’s EC2 service.

If you aren’t familiar with Amazon’s service, simply stated (very simply stated), you are provided with a complement of system images ranging from Red Hat Linux to Windows Server in just about as many variations as you might want. You load an image, add some of your own individuality to it, and then “bundle” (save) the image, called an Amazon Machine Image (AMI), and register the AMI.

You can then bring up one or more instances of that AMI image, and attach any needed network S3 storage to each instance of the AMI. When bringing up an AMI, one of the things you can specify is the machine size the image will run on, and there are half a dozen or so virtual machine capacity configurations to chose from. You can also specify which region to bring the image up in (east, west, for example) though it’s important to bring up the AMI instance in the same region where the network storage is located. An important thing to remember.

While bringing up an EC2 AMI instance last week, up popped the following error message:

No capacity was available for the machine size I wanted to bring the AMI up on.

Obviously Amazon’s EC2 service isn’t comprised of an infinite amount of computers and storage. There’s got to be a limit somewhere along the line, but I was a little bit shocked to have hit the limit relatively soon into using Amazon’s service. I wanted this image to come up on one of the small machine configurations and you would figure there’d be a lot of unused capacity available to run an instance on a small machine.

The solutions available in this case were to either wait for instance capacity to become available, i.e. someone else terminates one of their instances, making the capacity available for you to grab before the next person does. The other solution in this case was to bump up the machine size setting, and keep doing that until capacity was found on a larger machine size. The latter approach was the path we went down, though going to a large machine size meant paying significantly more in per minute service costs.

Having done this, the question popped into my head asking, what if this situation required the largest machine configuration and none were available. Down grading in machine size might not be an option for everyone in every situation. In that case, you could be just plain ol’ stuck until capacity on the needed machine size freed up. How long would that take? Who knows.

I’m not aware of any interfaces in the EC2 APIs or in the Firefox web browser plug-in, Elasticfox, that tell you or at least gives you some indication of available capacity, but it sure would be nice knowing how close to capacity the cloud service is. Then you can get in there and reserve the needed resources in those situations.

Beyond some type of capacity information or warning system, some queuing logic is needed in EC2. Something like in WoW, where you are queued and informed you’re “23rd in line to sign on, estimate 4 minutes remaining”. At a minimum, if you have to move to a larger machine size you should be able to do so at a cost of the original size requested.

I don’t know if the situation I ran into with Amazon EC2 was a fluke or something frequently experienced. I hadn’t seen it over the 2-3 months I’d been using the service. But it does serve as a reminder that even the cloud doesn’t have unlimited resources. Cloud computing is no different than any other technology - it’s always best to have a back up option.

Like this? Here are some of Mitchell's recent posts. Mitchell's Book Recommendations: Also visit Mitchell's other blogs and podcasts:

Visit Microsoft Subnet for more news, blogs, opinion from around the Web. Sign up for the bi-weekly Microsoft newsletter. (Click on News/Microsoft News Alert.)

Join the Network World communities on Facebook and LinkedIn to comment on topics that are top of mind.
Now read: Getting grounded in IoT