3 ms·
Google's AppEngine is NOT a good option for a startup today and may never be a good option for most startups. Today, there is no service level agreement; there
by mdasen 18y ago
Google's AppEngine is NOT a good option for a startup today and may never be a good option for most startups.
Today, there is no service level agreement; there is no way to buy more capacity; the service has rigid standards that can be unreasonable for many applications.
I like the idea of AppEngine for both reliability and scalability, but today it offers neither. It has seen a good bit of downtime and it's limited to small sites (5 million page-views a month). Without those two things, what does it offer? Nothing that you couldn't do better on another host.
Probably more important are the rigid standards you must adhere to. File uploads are capped at 1MB. Someone tries to upload a photo larger than that and it just fails. Likewise, the datastore isn't flexible. Your advantage as a startup is that you don't have to worry about scalling to 100 million users at launch. You can use things like database joins to make your development faster.
Not only that, but the AppEngine can't handle this simple SQL:
select * from articles where author_id in (:mike_id, :adam_id) order by date desc
Why? Because you must order based on the first filter in the where clause! Now, that's an important restriction when you're dealing with a petabyte of information. It's just a handicap when you're a startup. There are restrictions all over like this - restrictions that make sense when you're storing information for hundreds of millions of users.
Basically, AppEngine forces you to scale your app from day one. That means that you loose your main advantage that you as a startup have against large firms.
And it just isn't that hard to set up a server. Install Apache and a SQL database and start coding! It's a lot easier than AppEngine's restrictions.
- DocSavage 18y ago> "Because you must order based on the first filter in the where clause! Now, that's an important restriction when you're dealing with a petabyte of information." If you're dealing with queries on a petabyte of information, you'd likely have to deal with a number of issues, whether sharding, managing clusters of DB servers, etc. Sure, you have to structure your queries differently if you use Google's datastore but it's a trade-off. Being forced to think about scale-friendly coding isn't necessarily a bad thing. > "the datastore isn't flexible" I think you mean the datastore doesn't support the full spectrum of queries you expect from relational DBs. You can add new properties on-the-fly, so the schemas are extremely flexible in that regard. Just throw data at your datastore.