Any application that needs to scale needs to designed to do so from the beginning. Or at least that’s what I used to think. Even when Amazon introduced EC2 and S3 there were still design requirements that you needed to consider. In fact, I actually started this project with S3 as the back-end. The idea was to store the URLs on S3 which had very quick response times and use quick scalable hosting (I hadn’t decided which hosting service at that time) with round-robin DNS to scale the front-end. It was a simple architecture but it would have worked. But…before I was able to go very far with the project, Google launched AppEngine. AppEngine took an entirely different approach to scalability. Use their SDK and platform and don’t even bother with scalability. So, I decided to switch over and give it a try.
This project is the ongoing development effort based on that decision. I will describe and write about design decisions, feature plans and problems and roadblocks caused by the AppEngine platform.
Oh, and feel free to comment. I will approve any and all constructive comments both postitive and negative.