Cloud Computing

Storm on Demand

Storm on Demand

Until about six months ago I had not heard of Storm on Demand.  But they are a lot cheaper than even Rackspace, and their SSD Drive Servers are amazing!

Pros:

  • Easy to use and intuitive interface
  • Great selection of VM’s up to 32 Cores and 96GB
  • Great customer service
  • Great Prices
  • SSD Drive Servers are amazing – blindingly fast and reliable

Cons:

  • Creating new VM’s can be very slow (although not so much with the SSD drives)
  • Resizing VM’s is also often slow (although not so much with the SSD drives)
  • Backups don’t always work

Because of the speed and reliablity of their SSD Drive Servers I expect to move 90% of our clients to these servers.  It is redonkulous how good they are!

 

The Rackspace Cloud

The Rackspace Cloud

Rackspace was my early favorite although in the last six months that has changed.

Pros:

  • Easy to use and intuitive interface
  • Tiny VM choices down to 256MB
  • Good customer service
  • Good Prices

Cons:

  • Resizing VM’s is slow
  • Backups don’t always work
  • Slightly buggy VM interface
  • No extra disk options at all, everything is in lockstep with RAM
  • Limited choice of high-end servers (cores/RAM)
Amazon Web Services

Amazon Web Services

After working in the cloud for about two years I have a number of thoughts about some key vendors. Each vendor is different and there is no outright winner.

Here goes for Amazon:

Pros:

  • Most advanced set of Cloud features in the industry
  • Largest choice of RAM, Core, and Disk options
  • Most flexibile hard disk solution (EBS)
  • Pre-pay gives generous discounts (41%+)
  • Fastest instance resize solution
  • The one to beat

Cons:

  • Zero free customer service
  • Poor paid customer service
  • They are still over priced
  • A number of big outages over the last couple of years
One Site or Many?

One Site or Many?

After a year of working with various cloud vendors and configurations it has become clear that for many of our existing clients we will not be pursuing the One Site Per Cloud strategy. This works very well for tiny clients and large clients. But for all of the guys in between it is difficult to manage the peaks and so we’re moving towards a model that uses around 8GB RAM and serves from 8-16 clients. This smooths out the traffic flows and is a little more manageable.

For our larger clients we continue to dedicate individual cloud servers to them and have see this model work very well.

One Site Per Cloud

One Site Per Cloud

I’ve been working on the Digital Cheetah Cloud Platform for about six months now and we’re currently in the Alpha test phase. Shortly we’ll begin the Beta phase that will last through May. In many traditional web site set-ups, you minimize cost by adding as many virtual sites per server as you can – sometimes 1000’s of sites physically reside on a single server. Digital Cheetah typically has 10-40 sites per server. However, although this is cost-effective, it is a long way from optimal in a more virtualized world.

Thanks to competition, it is possible to get a full Cloud Server (cloud) or Virtual Machine (VM) for around $11 per month. This allows you to consider using one cloud for each site. This means we’ll have 1000’s of clouds eventually, but as long as our Cloud Platform can support them there are many benefits to this approach:

  • Flexibility
    • You can resize the cloud according to the site’s requirements.
    • You can choose specific versions of a stack per site without worrying if it clashes with other sites on the same stack.
    • You can choose a physical location close to the site.
    • You can try new software for a single site and have limited deployment until you are ready for full deployment.
  • Fault Tolerance
    • Each cloud is likely to be on a different physical server so if the server dies and there is no automatic rollover, only one site goes down, instead of many.
    • It is easy to move sites around.
  • Billing
    • It is easy to know precisely what a site costs you because they each have their own cloud.
    • If you group sites into logical networks or verticals (and possibly individual billing units), it becomes easy to see the cost of each vertical.
  • Individual Time Zones
    • Each cloud can have the precise time zone tailored to the site.
    • By having multiple clouds in a network with different time zones it lowers the load across the network because instead of batch jobs all firing at midnight (say), midnight is now spread across multiple time zones
    • Maintenance starts during the night for each client.  Today when we fire-up a “nightly” job it could actually be running at 9pm in California when the site is still quite busy.
    • Maintenance jobs process concurrently during the night. When you have a 100 sites on a server any nightly jobs can take hours because each site is worked on sequentially. When they are distributed across multiple clouds they all finish sooner.

If you can manage the clouds automatically then it is easily the best approach for the client, and is a huge benefit of Cloud Computing.

So Many Clouds, So Little Time.

So Many Clouds, So Little Time.

I’ve been busy working on the Digital Cheetah Cloud Platform for a few months now and although my early work was focusing on Amazon EC2, it has become clear that there are lots of choices. I now have various cloud projects running at:

I’m primarily working with very small cloud instances (256-512 MB) and although each vendor has various benefits, based on: performance, reliability, price and simplicity I currently plan on using Rackspace for most of our cloud servers.  Things could change over the next 12 months, in fact I’m sure they will, but today Rackspace are the clear choice for what we are looking for.

Django Reinhardt

Django Reinhardt

Fifteen years ago I built my first web development platform or framework called SAGE that was used by garden.com to go public. Nine years ago I built a new platform called The Universal Web Engine (UWE) that we have used at Digital Cheetah since its inception. About three years ago I mapped out a new system that was going to replace the UWE. I actually began to implement it in 2008, but was forced to shelve it’s development due to the economy. This month I began looking at starting this new platform in earnest.

My plan was to use Python as the primary development language and I was going to take all of the ideas from the last fifteen years and develop the “perfect” system for the creation of 1000’s of custom websites. Luckily before I had really started I rediscovered Django.

Django, named after the legendary guitarist Django Reinhardt, appears to be the perfect place to start to develop a new framework. It doesn’t do everything the way I had planned, but it does so much more and is flexible enough to allow me to augment it with at least a few of my own ideas.

To the many happy developers and designers already using Django this is probably no big surprise. But for someone who has been used to developing his own frameworks from scratch this is a huge departure. I for one am really excited that I can start building at a much higher level.

I believe using Cloud Computing and Django I will truly be able to deliver a platform that will allow Digital Cheetah to continue to provide world class custom solutions for the next ten years and beyond. And just maybe we’ll be able to build a new website for ourselves too, instead of the eight year old one we currently have!

Amazon Web Services - A Few Bumps in the Road

Amazon Web Services – A Few Bumps in the Road

So it is clear that I have been impressed by Amazon Web Services and Cloud Computing in general. I remain convinced that virtualization will eventually be the new order of things.

However, I have experienced a few bumps in the road. Firstly, Amazon Support. So far I have been unable to get them to respond to my enquirers. My guess is that unless you pay for support you’ll be primarily stuck with forums and the help docs. This is fine if you know about it up front, and I expect to factor in fees for Silver or Gold support.

Secondly, the Amazon Relational Database Service (RDS) appears to be a lot slower than setting up your own MySQL instance. In my benchmarks, using the standard MySQL Benchmark Suite, RDS runs at about 6 times slower. I tried my tests with MySQL running on the same instance and also a different instance and in both cases RDS was about 6 times slower. This doesn’t mean that RDS is unusable and might be perfect for you. But at this point it feels like more tuning is required.

Finally, the whole issue of security. One of the problems with offering such an all encompassing and compelling service is that you basically hold a big flag up to all would be hackers out there. I’m sure that Amazon are better than most companies at providing security for their web services. However, by being so big and so good the threat of being hacked goes up proportionally too. This is the one area I have to get my head around before I recommend we move our enterprise to Amazon. In the meantime I am looking at other companies that use Eucalyptus to provide a private cloud with similar features to Amazon, but with a little more control and anonymity.

Amazon Web Services

Amazon Web Services

When it comes to execution Amazon truly are amazing. Whether it be in delivering an online order from five different locations in two days or the creation of virtual servers in the clouds, they really have an impressive operation.

I have just been evaluating Amazon Web Services for the last couple of days and thus far I have been utterly impressed. In fact, I can’t remember the last time that a collection of technologies worked so well out of the box. Aside from the Richard Stallman concerns (which are real if a bit dramatic) the only issue I have come across so far is that Amazon have so many impressive features it takes a while to figure out the best selection of options.

I have been creating and deleting “servers”, adding disks, load balancing, databases, monitoring, and firewalls and everything I do takes a minute or two. In the world I come from it takes 7-14 days to buy a server, 1-2 days to provision it, and if I get something wrong I have to deal with it. What is most impressive is how all of this is achieved by the simple web interface with zero external assistance. Quite a contrast to the number of people that I have to rely in my current situation. Also, because things are so fast, it is really easy to try out some packages or installs and if you don’t like them you can instantly go back to where you were before.

I am keeping an eye on the meter too, if you go crazy it seems that prices could get fairly high. However, based on the amount of money we currently pay on our co-location solution I still think we can do things quite a lot cheaper in the cloud. The selection of services appropriate to the size and requirements of your client are imperative to get a handle on costs. This is where the Amazon approach can score because instead of giving all clients the same set of features you choose the appropriate set-up for each client and if they want more features they are there and they pay for them.

Will we save money in the cloud? I think so, but for me it is not so much about saving money as it is in saving time, increasing reliability, providing a better service to our clients, and offering them the options they are looking for – these really are the compelling reasons for cloud computing.

Cloud Computing is a harder sell if you already have a good hardware and software infrastructure. However, if you are starting a new company or a new project that requires new hardware I urge you to try Amazon out. Until a few months ago I was a skeptic but I have looked at clouds from sides now and am very pleased at what I have seen.

Joni Mitchell - Clouds

Joni Mitchell – Clouds

So far I have managed to avoid dealing with Cloud Computing as I like to give new technologies a few years to mature before using them. But this week I am pressing forward with an evaluation of the Amazon Elastic Compute Cloud.

I am optimistic that this will provide a good technology and infrastructure base for the new platform that I am just weeks away from commencing.

Let’s hope that unlike the song they don’t get in my way.