Skip to main content

Looking for alternative to Google App Engine? Wait!

The recent news about Google App Engine has taken the developer community by a surprise. There is a lot of hue and cry. Some have claimed that they have been betrayed, lost trust. Some even thought the rug got pulled out from under them. Some have even warned this as Google's biggest mistake that could cost them dearly. But is it really that big of a deal? How much of this is a concern?



image

The idea has spurred to a series of extensive discussions. Did Google make the biggest blunder of all time? Why would a company that values brand name and open source, do a gesture that would diplomatically kill the relationship with its largest fan base, Developers? Probably, they just din't. Not yet, atleast. The new pricing is said to be needing a ironing out.

Despite that fact - One of the most adverse effect, that may happen, which Google would very badly, is mentioned by johnP
"Yes, your business or school can start using Google Apps.  But Google has suddenly raised pricing in the past, and you must assume they will do it again."  Or "Yes, Android is free right now.  But Google has broken trust with developers before."
The Main Changes (objectionable) :

Pay-as-you-go is gone. Not completely, but in essence. Here is how - CPU/hr is now Instance/hr. What this means is that an app instance if live, is counted, even if the CPU cycles were not burnt.  From Google's point of view, this switch is to reduce instance spin ups and spin downs. It is also easy to calculate usage from a business perspective. For a Developer: If the instance is NOT reserved, it should not be counted for usage, when not using. This was the main idea promoted by Google from App Engine's launch. It would be pay as you go. Worse yet, for Python - there is no multithreading support. Which means every real-time request translates to one running instance. There is a dedicated discussion on this here. Unless the unit of measure is by msec (as in CPU usage), this may put you in the costly end of the bargain.

Steep price increase. There is an upfront $9/month to "go billing-enabled". And an additional $0.05/hr (reserved) on each instance. This would in effect remove the current very inexpensive $0.30/day for 3 instances. Although Google has promised a detailed report on cost comparison, this sole change will make a 0.30 * 30 = $9 to 3 * 0.05 * 24 * 30  + 9 = $117.

(drastically) Lower limits for free quota. its free, so Google is excursing their right (as defined clearly in the usage policy) to reduce limits on some calls (email, XMPP) in the free quota. This will mean, you will be shelling more money for email, XMPP, and Channel API sooner than you used to. This is still pay-per-use, despite the fact the threshold is low.

A silver lining to these changes, although pittance, is that Memcache API, URL fetch API calls are going to become unlimited.

Right on the overlook, This looks completely NOT Google. We saw stuff like this from Yahoo, when it made pop3 access paid. And many a time from M$FT. But Not Google. For Now, The best guess is to wait and watch, at least they din't put it on stone just yet. All things said, Google is not a charity. Everything it does looks for avenues of income. For the least the announcement has removed doubts that GAE might be another Wave! Lets just wait and watch. Until then, Happy Coding!

Popular posts from this blog

Javascript: Convert Strings to Binary (and representing in a nerdy way!)

I follow those GoogleDevelopers Videos . Sometime back, in one of the presentations on GoogleIO, there was this interesting string of dots at the bottom of each page of the presentation . They looked like random big and small dots. A similar bunch of dots were also on the T-shirt of a presenter was wearing in another presentation . While it seemed something in the pattern, I could not find what it was. Finally, another presenter cleared the matter that those dots are just binary representation of "GOOGLEIO" (So much for advertizing Google IO, Impressive!). So I wanna do it. Takes me back to days of those DSP classes at school. Nerdy me had to churn some old brain cells. I remember those first programming language classes in Pascal and C when you were asked to do fibonacci series and converting a binary string to ascii codes. That *experience* came handy here: Check it out! Text to Binarize: For those who came to copy the javascript code to convert string to binary,

MySql Copying Table Structures.

Some times you need to copy only table structures across databases. This article describes two ways of doing it. If the whole database schema need to be exported, mysqldump is very effective. A --nodata flag will dump all tables' schema. Like this. mysqldump --nodata -p -u username databaseName But if you want to copy a specific table, individually, you could use "create table like" feature. You could create it even from a different database. However it must be on the same mysqld instance. Like this. create table newtable like oldtable; --Or from a table in other database create table mytable like otherdatabase.tablename;

javascript maxlength for textarea with \r\n breaks in java (esp Firefox)

Textareas allow new lines to enter. These are represented by \n (1) or \r\n (2) characters. But when you save to DB you have a limit to certain length of chars. There is no maxlength attribute in HTML that will stop you from entering data. This is generally acomplished by Javascript. You do a onkeyup hook and stop event or trim after textarea.value.length > maxlength. There are many other solutions out there.. But.. Here is the problem that most of those solutions overlook, How do you deal with the count on \n and \r\n representations. Lets first see how it matters. If the text entered has new lines, the length is calculated differently in Firefox and IE. When you enter a Text like 01234 567890 You expect the textarea.value.length to be 11. (10 chars + new line).On the backend, however, java would recieve it as 12 chars (10 chars + \r\n) (this is irrespective of FF or IE). So you are effectively saving 12 chars to DB. Worse yet, IE seems to figure textarea.value.length as 12 (