So if you ever want to change the name of a WordPress or Drupal site you might be in for some fun. Somewhere along the line it became acceptable to embed serialized data into the database. This seems like a great idea (?) until you do a search and replace on exported database files, and notice that many things stop working.
Using serialized data like this in the Database goes against the grain. I’m sure Dr. Codd is rolling in his grave.
Luckily I have found a very useful script that I have used many times now and it works very well for wordpress, and in theory Drupal too. It is from David Coveney and can be found here. Thanks Dave!
I had no idea it would be so painful to convert my site from Drupal (6.x) to WordPress (3.x). A web search returns many solutions to the problem. The post I finally used was this one from Scott Anderson. It worked ok but it did not bring over any of my attached images and I had to assign categories and add some menu and page items.
I was grateful for what it did do (including dates, posts, and tags) and luckily I haven’t written many posts so it was not too bad. But if you had 100’s of posts I think I would choose a service like: gConverter – for $75 it is hard to beat.
So even though I rarely post on this blog, which I’m hoping to change, I have decided to switch to WordPress. Drupal is still an impressive CMS but if all you want is a blog, I believe WordPress wins hands down.
- It is more robust. Frequently when I update Drupal things break. This very rarely happens with WordPress.
- Writing posts with one or many images is much easier.
- Many more plugins to choose from. In Drupal when you are looking for a feature there might only be one option, that is in beta. In wordpress there could be 10 or 50 and most of them work fine.
- Configuration is easier.
- Upgrading is easier.
- Security is easier, if you don’t have many roles to deal with.
- WordPress appears to be faster and requires much less DB resources.
- WordPress has better Mobile options (one of the reasons I decided to switch).
- …
This is not to say that Drupal is not useful. It surely is. But unless you are in need some of their more complex features, e.g.: Views, CCK, Panels, Workflow, Permissions, Forms, etc, it is not worth the pain. There are certainly areas where Drupal shines, but for this blog I’m pleased tha I’m using WordPress now.
Who knows, maybe in three more years I’ll move back!
Well at least not every site is as dead as this blog! I just noticed that Double Fox Websites (the company that hosts this blog) have put up a brand new website … and what a beauty it is. It looks like they have switched from Drupal to WordPress and I can understand why for the type of site they need.
I love the new design – very clean and professional – and a vast improvement on the old one they had.
Go Foxes!
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!
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)
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
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.
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.
Like many companies every year Digital Cheetah holds a Holiday Party. We have two events that make our Holiday Party special to us: I perform a magic show and we have a spirited gift exchange. Along with music, food, and drink the evening is always very well received and it is talked about long after the event.
It takes a lot of planning and effort to pull this event off each year, but it is always worth it as the party brings us closer together as a company and gives our employees something to look forward to. When you think about your own Holiday Party think about going the extra mile, you’ll enjoy it more and your employees will too. And in the end that is really what counts.
Here is where I attempt to cut the head off of Digital Cheetah’s President: Aj Tidwell. Enjoy!
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.
Well it has been over eight years since Digital Cheetah has changed it’s website. We build websites for a living, so there really is no excuse – we were just too busy to get to it …
But now it is live and I’m very happy with it. If only I could update this blog more often then everything would be right with the world! Check out our new site here: digitalcheetah.com.
With so many Linux distributions out there it gets tricky to know which is the best one to use. Of course “the best” depends on what you are looking for, but in our case ten years ago we were looking for a stable server platform which really didn’t change much, so we chose Red Hat Enterprise. However about four years ago when Red Hat was becoming expensive to maintain and painful to update we moved to CentOS.
It seemed perfect at the time. However, these days I am working on a few more technologies that have changed frequently in the last 3 years (including Django and Python) so having a system that appears to be almost always 2-3 years out of date was painful. You’d find yourself constantly hunting down packages that you have to build yourself or from repositories that are questionable. Which of course starts to defeat the point of having a stable distribution.
I recently switched to Ubuntu 10.04 LTS, and I now can pretty much get all that I need from the main distribution. The “LTS” in the name is important and it stands for “Long Term Support”, and versions are supported for a full three years after they come out. The tools are a bit different, but it is really refreshing to be able to use the system without constantly having to go off to the internet to find some recent patch.
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
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.