Gawsh logo
Google App Engine logo
 
About (my) Gawsh application framework
Sunday, Jun 15
/ -
I have been building some simple applications, as a way to learn the Google App Engine. While building them, I wound up developed a 'framework' of common supporting software, and called it 'Gawsh', which stands for 'Google App Engine Web Service Helper'. This framework takes care of a lot of the technical hassle of developing applications, in the same way that the Google App Engine takes care of most of the technical hassle of running the applications. For example, the data structures used in these applications are defined in the system, not with program code or SQL code, but in a person-readable format called YAML.
What's different about Google Apps? (4) "Version 1.0 blues"
Sunday, Jun 15
/ -
What's different about Google Apps?
Four important things. Here's the fourth:
Google just released it in April to the public, and it is still classified as a 'beta release'

That's good news and bad news:

The good news is that it's free - totally free for now, and, according to public Google promises, always free to the small-volume user. They will, sooner or later, have a 'commercial' program, where high-volume users and users of special features will pay more. Google released a preliminary price sheet here.

The bad news is that it still has a few rough spots, limitations, and holes. Among the most notable are:
(a) The volume limits: only a few seconds per process, only so-many processes per day, only so-much disk space, etc. The real figures are here.

(b) The storage restriction: you can't write to a regular file, only to Google's "bigtable" storage mechanism, using their almost-SQL interface;

(c) No 'secure' communications - i.e. no HTTPS communication - so any data you send to the Google App Engine is sent in the clear over the wild Internet for anyone to see.
    Update, October 2008: Google is now supporting HTTPS. The announcement is here and documentation is here .

(d) No scheduled processes, e.g. daily 'batch jobs'; everything is triggered by a web request. There are some work-arounds to handle this - the most obvious is to set up a process on a machine of your own that sends a request to the Google App to "do its duty." And it seems pretty likely that the Google Apps developers will find a way to enhance Google App Engine to support this important requirement by itself.

What's different about Google Apps? (3) Google's 'BigTable' storage
Thursday, May 29
/ -
What's different about Google Apps?
Four important things. Here's the third:
3) It uses Google's custom-built data storage mechanism, called 'BigTable', instead of a conventional SQL-driven database.

Google has a detailed description here: http://labs.google.com/papers/bigtable.html

That's good news and bad news:

The bad news is that you have to re-write any existing applications that use SQL.

The good news is that the Google 'BigTable' is really easy to use, so it doesn't take long to write software to access your data ... assuming your data structures are fairly simple.

The bad news is that, if your data structures are complex, or if your current application depends on fancy features built into Oracle or SQL/Server such as stored procedures, JOINS, etc - you have a lot of re-writing to do.

What's different about Google Apps? (2) Google's hardware and system software
Thursday, May 29
/ -
What's different about Google Apps? Four important things. Here's the second:
2) It runs on the Google infrastructure: Google's hardware and system software.

The idea is that Google manages, for you, all of the operational adminstrivia, and they do it well: they have the resources to support multiple-redundancy, reliable backups, and scalability to any conceivable size ... unless your application is more complicated, or more popular, than the Google search engine itself, which just ain't gonna happen. Wouldn't it be nice not to worry about hardware failures, network failures, etc. Wouldn't it be nice not to need a DBA, a System Administrator, a Backup supervisor, a Disaster Recovery expert ...

And wouldn't it be nice to have predictable costs?

Of course, at the moment, the cost is very predictable: during the current 'beta' testing phase, it's free.

What's different about Google Apps? (1) Python
Thursday, May 29
/ -
What's different about Google Apps?
Four important things. Here's the first:
1) Currently, the only language supported is Python.

That's good news and bad news:
The bad news is, of course, that a lot fewer people can write Python programs, and there aren't many existing financial applications written in Python. There are, however, a lot of non-financial applications in Python, in sophisticated areas such as language processing, computer games, and even computer animation. "Every CG image we create has involved Python somewhere in the process," said Philip Peterson, Principal Engineer, Research & Development, Industrial Light & Magic. (as quoted on the Python website) The good news is that Python is a really nice language. Try it: you'll like it. The Google development team tried it, and they like it enough that they use it extensively in-house. They liked it enough that they hired the person who created Python, Guido Van Rossum. See his his personal web page, with a brief bio, on http://www.python.org/~guido/.

I wrote another blog article about Python here.

About the Python language
Wednesday, May 28
/ -
Python is a relatively-new language, first released to the public in 1991. It's - to me - much easier to read, and to write, than most other languages such as Java and C++, to the point that writing Python programs is a lot of fun. Check out the Python website
About the Google Apps application-hosting service
Wednesday, May 28
/ -
Google Apps is something new ... Google describes it here: http://code.google.com/appengine/ Computerworld describes it here: "http://www.computerworld.com/action/article.do?command=viewArticleBasic&articleId=9075698" Google is offering to host entire applications on their own super-sized hardware/software environment, providing all sorts of amenities like (of course) scalability, reliability, security, etc.
In essence, they are offering to be the 'operations department' for anyone's web-based application. They currently have a "beta" release, free, for developers to try out. So ... here I am, trying it out.
About me
Wednesday, May 28
/ -
Hi, I'm Garrett Davis. I'll be your server this evening ... :-)
okay, that was pretty lame. I'll get around to writing a proper bio and put it up here someday soon.