Google App Engine beta
Easy dynamic Web sites
- Fast and easy Web-app development, uses Google's cloud of computers
- API not as rich as Amazon's SimpleDB, limit on resources
With Google's App Engine, you write a bit of code in Python, customise some HTML and bingo, you've got your database-backed dynamic website up and running in a few short minutes. When the world starts flocking to your web application Google's cloud of computers adapts to the load, handling everything the public demands.
One of the joys of being a Web programmer is heading to a dinner party, a haircut or a reunion and fielding the pitches for everyone's dream for a brilliant Web application. Everyone is always happy to cut you in for 5, 10, maybe even 15 per cent of the equity if you just build out the website that's sort of like a combination of Twitter, AltaVista, Eliza, TurboTax and the corner chemist, but cooler.
Google App Engine is meant for dreams such as these. You write a bit of code in Python, customise some HTML, and bingo, you've got your database-backed dynamic website up and running in a few short minutes. The magic comes when the world starts flocking to your web application, and Google's cloud of computers quickly adapts to the load, handling everything the public demands. There's no need for you to buy servers, load balancers, or special DNS tables. Google's application cloud handles all of the grungy deployment headaches.
We played around with the App Engine SDK and, sure enough, developed and deployed applications on the desktop with just a few minutes of work. We didn't upload them to the cloud because we didn't make it into the beta program, but we were able to simulate the experience on our office server. The billions of hits haven't shown up yet, but it has only been a few hours now. It works and it is quite simple.
Google me this
A trickier question is deciding whether this is really what a future Web application really needs. There is little doubt that App Engine makes it simple to get incoming data, make some decisions, store it in a database and then move on. The more complicated questions are often political, technical and almost aesthetic. There will be a number of programmers who look at App Engine and melt with excitement, and there will be many who tilt their head like a dog that can't understand his master.
Being a Google Python lover certainly helps, but it isn't necessary because the language isn't that much different from the other scripting languages. A good programmer should be able to shift gears quickly and easily. There are rumours that Google has a number of other languages waiting around the corner, but there are equally good arguments that this may not be happening as soon as some devotees would like.
Java programmers, in particular, are used to being known as providing the most scalable and flexible applications because the language and the API are some of the most sophisticated ensembles around. The J2EE standard nurtured tools that simplified some of these problems, even though it never really turned out to be as simple as the sales literature promised.
Today, Java's sophistication is probably hurting the language as much as helping it. A quick survey of Web-hosting services shows that shared hosting for JSP applications begins at a price up to 10 times that of some Python shared services. The JVM may speed things up and provide better service, but it comes with a hefty memory footprint. If the brutally competitive Web-hosting business can support five Python sites for every Java site, then perhaps Google is more interested in the long tail, the niche Web sites, than the big iron.
There are other advantages that probably encouraged Google's choice of Python. The most popular implementations are open source. and the language's creator, Guido van Rossum, works there.
This must have made it much simpler for the company to create the slightly crippled version of Python that runs on the app server. This sandbox forbids some potentially dangerous operations such as writing to the file system, a feature that could pretty much prevent building Flickr-like upload services unless you feel like storing these big blocks of data in the database.
Your code isn't allowed to spawn subthreads, and it better be efficient because it looks like App Engine will kill any thread that takes too long. This is probably necessary given the endless loops that will be created by newbies, but it pretty much means that App Engine is really just for front ends to databases that don't do much independent thinking or computation.
Join the Good Gear Guide newsletter!
Most Popular Reviews
- 1 Review: TCL C1 series 4K TV
- 2 Sony 75-inch UHD TV (X9400C) review: Sony and Android are a winning duo
- 3 LG 55EG960T OLED UHD TV
- 4 Panasonic Viera UHD TV review: good hardware, fragmented software
- 5 Microsoft Lumia 640 review: Honouring Nokia's legacy
Best Deals on Good Gear Guide
Latest News Articles
- Microsoft dials back Windows 10 upgrades to 2X a year
- First look: Nuheara IQbuds smart Bluetooth ear buds do more than just music
- Use Feedback Hub to complain to Microsoft about Windows 10
- Netflix's Fast.com download tester takes its war against slow ISPs directly to the user
- New Windows 10 Mobile preview adds handy web features, but kills Wi-Fi Sense
GGG Evaluation Team
First impression on unpacking the Q702 test unit was the solid feel and clean, minimalist styling.
For work use, Microsoft Word and Excel programs pre-installed on the device are adequate for preparing short documents.
The Fujitsu LifeBook UH574 allowed for great mobility without being obnoxiously heavy or clunky. Its twelve hours of battery life did not disappoint.
The screen was particularly good. It is bright and visible from most angles, however heat is an issue, particularly around the Windows button on the front, and on the back where the battery housing is located.
My first impression after unboxing the Q702 is that it is a nice looking unit. Styling is somewhat minimalist but very effective. The tablet part, once detached, has a nice weight, and no buttons or switches are located in awkward or intrusive positions.
- CCIT Assistant (Lotus Notes/LAN/Anti-Virus) 160524/ITA/074Asia
- FTNetwork Engineer | Routing & switching | Design, implementation, L3 supportNSW
- CCContract Analyst Programmer (JAVA/J2EE/SQL) 160523/AP/568Asia
- FTPeopleSoft Finance Functional ConsultantNSW
- FTInformatica Powercenter SpecialistNSW
- CCInfrastructure and Cloud Project ManagerVIC
- CCSenior Process AnalystVIC
- CCSecurity Administrative Support OfficerACT
- CCChange Manager- Success Factors/HCMNSW
- CCSnr Technical System Engineer (IBM/Oracle/SQL) 160524/STSE/vmtAsia
- FTScrum MasterVIC
- FTSenior Business AnalystVIC
- CCSenior Service Desk ManagerNSW
- CCCCB & MDM ConsultantNSW
- FTOPEN_ASAP_Network Security AdministratorACT
- FTCloud ArchitectAsia
- CCSecurity Clearances Vetting Services OfficerACT
- CCIT Environment and Deployment SpecialistQLD
- FTDelivery Lead- AWSNSW
- FTIT Support - Level 1NSW
- FTPerformance Test AnalystNSW
- CCData Center ArchitectNSW
- FTFront End DeveloperACT
- CCQA OfficerACT
- FTNetwork EngineerNSW