If you are considering taking advantage of the new Google App Engine service from Google, I suggest you read this article first. There are some hidden facts that you should be aware of before making your decision to adopt this platform.
First, I'd like to thank Google for providing this service -- it really is a great idea, and can be very useful for people or companies making web applications from scratch without needing to worry about infrastructure. It's also a very smart move on Google's part -- host the world's applications, make money off their success, even if they aren't the owners of successful applications. Popular applications will likely exceed "free" limits, giving Google the green light to start charging money.
Another advantage for Google is the ease of acquiring companies if they are already using Google's infrastructure -- simply make a deposit into their bank account and slap the Google logo on the interface.
But everything that sounds too good to be true, usually is -- right? In this case, I have to agree. When you choose to use Google App Engine, there are a couple of things you need to think long and hard about. If you go through this list and still think it will work for you, then it probably will. Go for it, it really is a great service after everything is said and done. It's very well thought out, and as it promises, it will scale with the growth of your business.
Things you need to think about:
You are putting your application in Google's hands
Think about that for a minute. You are at the mercy of Google -- if disaster strikes and Google one day disappears, you are done too. Or, more realistically, if the Google App Engine goes down for an hour, you are also down for an hour -- and you will have no idea what happened. Even if you try and get an answer from someone at Google, you won't. Just like Google Apps, it will be impossible to explain things to your end users.
What if you are violating some terms of service (which likely won't, but theoretically could happen to people without their knowing)? You thought making your company's revenue dependent on AdSense was risky -- what if your whole application was banned because of something you didn't know about? Like I said, this scenario isn't likely to happen -- but it's true that it could.
Once you are in, you are really in
Using Google's infrastructure is very tempting. But any smart company should have some sort of plan for the future. What if you realized that you didn't want to host your application on Google App Engine anymore? Good luck, almost everything you are given access to is proprietary -- that means all your data is locked into BigTable in a format that isn't like a traditional relational database. It's also very tempting to use the API's Google provides to interface with things like Google accounts.
On top of that, you will be using the "webapp" framework that Google built that makes writing Python applications real nice -- but good luck porting that to another language or putting it on a machine of your own.
- It's free right? Not only are you locked in, you are completely at the mercy of Google's future pricing strategy for the Google App Engine. It's true that it's likely to be cheaper than anything else comparable, but are you willing to take that risk? Right now it's free, so everyone and their dog wants to at least give it a try -- but what if your application actually really takes off? You will one day have to pay for your success, or shut down your service.
Like I said, I am really glad Google has put this service out there. It's a great tool people can and should use if they are comfortable with the risks. If you have any additional things you would like to point out for people who might be considering using Google App Engine, or if you want to debunk anything I have said in this article, please feel free to post them in the Talk Back.