Why we chose the Google App Engine

Posted Wednesday, December 23rd, 2009 by Phil Smith.

We chose to use the Google App Engine (also called the GAE) as our primary development platform for a number of reasons which I’ll discuss here.

We reviewed a number possible approaches, we started with what I’ll call a classic web development platform which is developing a solution and hosting it on an account with an Internet host provider. We also reviewed Cloud based platforms. Particularly we paid attention to the GAE and to Microsoft’s cloud offering Windows Azure. A cloud based solution just means that the platform is hosted on the Internet, in software development diagrams the Internet is depicted as a cloud, hence we have cloud solutions.

We had three requirements starting out:

It had to be stable.

This is a vital. Our, and your, data needs to be in a good data center. They need to have redundancies in place to handle unseen events, such as a server going down or a power cut in the local supply grid, so your data isn’t lost. Google and Microsoft have data centers around the world, these are state of the art and have huge redundancies in place. Should an entire data center go down then the other centers will step in a do its job for it. The upshot for users is that you’re never aware of this happening, your stuff is always available.

It had to be scalable.

Businesses grow and their I.T. infrastructure has to grow with them. An application has to work with 1500 people as well as it did when there were only 15 people using it. For us, going with a cloud based solution means that our apps scale with demand, we don’t have to purchase additional resources before the fact to ensure an uninterrupted service.

It had to be cost effective.

Again, cloud based solutions mean that apps scale with demand, you’re only paying for the resources used. The python programming language was also cost effective for us, I’ve explained this further below.

So we decided cloud based platform was going to be the platform for our development, we then had to decide between Google’s and Microsoft’s offerings. Note: Amazon Web Services were also reviewed, we felt that the skills available with Ayble.com right now weighed heavily in favour of the other two choices.

What won us over to the GAE was it’s primary programming language which is called Python. For us it was a lightweight development language, let me clarify what lightweight means at Ayble.com. Lightweight means a short turn around time, this allows us to respond to clients’ demands quickly. We can respond to market demands quickly too, so if a new feature is required, or an existing feature needs to be enhanced we can turn that around rapidly.

Lightweight also reduces our time to release. Applications can be developed, tested and delivered quickly. A smaller code-base of our applications reduces the learning curve for developers new to a project and keeps our over all maintenance costs down. All of these lightweight features give us a significant advantage over our larger competitors who produce more bloated code. Python gave us all of these things.

The GAE also supports Java and with Azure we would have gone for C#. These are fantastic languages, I’ve worked with both in the past, but for us the didn’t give the lightweight advantages of Python.

Finally our applications would be built from the same stuff Google’s own applications are built from. This sealed the deal for us. That’s why we chose the Google App Engine.

Leave a Reply