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
Smells like SQL
It's probably best to think of the system as a thin layer of business logic in front of a simple database, the kind that DBAs like to call a "data store" to emphasise the point that you can't do most of the complicated things that Oracle allows. The database is nicely integrated with Python but it only offers the kind of basic search and store functions that developers will need to squirrel away their user's information.
You set up the data objects in Python, hit the save method, and the data disappears into the cloud where all of the instances of the application can find it. The language is pretty close to SQL, but it comes with a slightly different syntax, which means that you won't be able to use any of the millions of tools that sort of speak SQL to generate reports or produce graphs.
Furthermore, the data store API doesn't include old-fashioned joins, an omission that will break some of the code written for traditional databases. The simplicity is nice, but there's a reason why everyone ends up using standard databases for the core of their projects.
So there is a certain amount of lock-in hiding in the API. Porting your application to something like MySQL won't be automatic but we doubt it would be hard at all. Going in the other direction, though, could be both healthy and annoying. Because there's no way to join tables, you're effectively forced to denormalise your tables. Most web developers end up doing this eventually to help things scale, so we assume it makes sense to start out that way even if it seems a bit messy.
Nor are there many of the tools that might be essential. The samples and the tools all run through the command line, probably the preference of the developing team. We can see that developers might want more sophisticated tools for profiling the code and tracking every click. Google suggests profiling by dumping the profile information between tags in an HTML document. Using tags would probably confuse the command line jockeys.
Sky's the limit
The plan is to charge when applications exceed some limits, a perfectly fair plan but one that makes me a bit nervous after years of basic pricing for servers. The terms and conditions suggest that you only get "200 million megacycles of CPU per day".
You can see a snapshot of resource consumption, but this seems like an especially squirrelly metric that could be skewed in odd ways by factors beyond the developer's control. If you send a weird query to the database, it may burn cash in a way that you didn't anticipate.
One of the biggest headaches for Java programmers comes when an instance of an application on one server starts asking for data that happens to be sitting on another server. Inter-server communication can slow fast boxes to a crawl, and entity locking could get scary if two users start nibbling at the same bytes at the same time.
We know we should be happy that App Engine will bring up new servers when the demand arrives, but all we can think about is watching the meter spin when an errant query starts chasing down data on other servers. Getting wildly popular may turn out to be more of a nightmare than a dream because Google will dutifully roll out more versions of your applications, burn more megacycles, and put it on your tab.
We're sure Google will come up with ways of limiting the size of the bill, but all we can think of is firing up a slick website and repeating Woody Allen's line from Manhattan: "God, you're so beautiful we can hardly keep my eyes on the meter."
Google also lets you access Google accounts, the creepy feature that links your search history with your Gmail account. The users of your application don't need to set up a separate log-in or a separate account. You can get a user object with all of this information when they show up, if they've recently been logged in to read their Gmail. If you don't want to use this feature, you could always spin up your own user accounts with the database, of course.
Some of the FUD spread by rival camps suggests that Google just wants to use App Engine as a way to nurture Python developers so that the company can hire them away. Others see it as a cynical way to gain control and lock people into their Google accounts. Others think this is just a technique for Google to build a big plantation with you, the Python developer, toiling away to monetise its app cloud and add more value to the Google account.
Join the PC World newsletter!
Smart LED Bulb LB130
Epson EcoTank Expression ET-2500
Linksys AC5400 MU-MIMO Gigabit router
Microsoft L5V-00027 Sculpt Ergonomic Keyboard Desktop
Lexar® JumpDrive® S57 USB 3.0 flash drive
UE Boom 2 Bluetooth speaker
Samsung portable 1TB T3 drive
Google Daydream VR headset
Acer Swift 7
Lexar® JumpDrive® S45 USB 3.0 flash drive
3SIXT Ultra HD Sports Action Camera
Huawei Mate 9
Logitech G403 Prodigy mouse
Lexar® Portable SSD
Belkin MIXIT Metallic Lightning to USB Cable
Dell XPS 13 laptop
Dell Inspiron 5000 series 2-in-1
Blade 28 backpack by Arc’teryx
HD Pan/Tilt Wi-Fi Camera with Night Vision NC450
Surface Pro 4
Lexar® JumpDrive® C20c USB Type-C flash drive
Garmin Fenix Chronos smartwatch
Lexar® Professional 1800x microSDHC™/microSDXC™ UHS-II cards
HP Pavilion x360 13”
Audio-Technica ATH-ANC70 Noise Cancelling Headphones
Most Popular Reviews
- 1 Huawei Mate 9 full in-depth smartphone review
- 2 ZTE Axon 7 review: Is ZTE dumping old stock on Australia?
- 3 Oppo R9s smartphone full review
- 4 Finally! LG OLED TV 2016 range review
- 5 Huawei Nova Plus smartphone review
Latest News Articles
- Village Roadshow aims to block 40 pirate sites
- Analysts peer into Microsoft's rumored Windows 10 Cloud
- Google lets users get social with Maps
- Microsoft unveils a bonanza of security capabilities
- Google might be gearing up to remove millions of Play Store apps next month
GGG Evaluation Team
I’d happily recommend this touchscreen laptop and Windows 10 as a great way to get serious work done at a desk or on the road.
Ultimately, I think the Windows 10 environment is excellent for me as it caters for so many different uses. The inclusion of the Xbox app is also great for when you need some downtime too!
For me, the Xbox Play Anywhere is a great new feature as it allows you to play your current Xbox games with higher resolutions and better graphics without forking out extra cash for another copy. Although available titles are still scarce, but I’m sure it will grow in time.
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.
- How to quit Pokemon Go (or to start enjoying it again)
- Huawei Mate 9 full in-depth smartphone review
- Time to ditch Foxtel and the iQ3: How to replace Foxtel packages with cheaper alternatives
- What's the difference between an Intel Core i3, i5 and i7?
- Laser vs. inkjet printers: which is better?
- TPDigital Process Business Analyst - Digital Transformation**NSW
- FTMicrosoft Dynamics AX Finance ConsultantWA
- CCBusiness Test Lead - BRT/UATNSW
- FTJava Developer/IntegratorACT
- TPSenior IT Business AnalystVIC
- TPSenior Java Developer / DevOps - ContractQLD
- CCIT Infrastructure ArchitectNSW
- TPOracle Consultant - CC&BQLD
- FTSenior Solution ArchitectSA
- CCTest Capability LeadNSW
- CCSenior Technical SpecialistNSW
- TPTechnical ConsultantNSW
- TPICT Project CoordinatorQLD
- CCData Migration Consultant - LeadNSW
- CCProject Manager - Telco Networks EngineeringVIC
- FTSenior Java EngineerACT
- CCSenior Storage System Engineer -NetApp & TSMNSW
- CCSenior Life 400 DeveloperNSW
- CCProject Manager - Adelaide basedVIC
- FTERP ConsultantQLD
- CCSenior Technical SpecialistNSW
- CCTechnical Consultant - ITSM/HP Service ManagerNSW
- FTDatabase DeveloperACT
- TPSpatial Science OfficerQLD
- TPService Desk ManagerVIC