Tue, 08 Apr 2008
Google's AppEngine OneThousand
At Google Campfire One, v 2.0 -- introducing AppEngine.
IT'S FREEZING. The cider ran out. Brr.
Deploying Web apps is annoyingly difficult. Technical hurdles, etc. Need machines. Blech. Costly.
AppEngine solves all these problems. Runs web apps, handles app lifecycles, apps are run on Google infrastructure can make use of GFS, auth etc. etc. etc.
Components
- Scalable serving infrastructure
- Python runtime
- Soft Dev Kit
- Web-based admin console
- Data
Config is in YAML, with mapping done by regexp.
from google.appengine.ext import webapp, looks like Java to me.
Naah, that was mean. It's python.
Oooh, WSGI built in.
def get, def post -- looks like web.py. why do people do that?
Using introspection, building SQL-like GQL, to drop stuff into/suck stuff out of database with proper names.
Django templates.
Single-command deployment.
Scalable serving infrastructure: when app pushed, pushed to multiple fault tolerant servers. Any one may fail, but request will always go through. THE ROADS MUST ROLL.
All Python runtime and many third-party libraries available. (How do they deal with security? What about SQL and ORMs?)
SDK: releasing for Linux etc.
Web-based admin console. Standard stuff, stats collected in "near-real time".
Data store. BigTable. Yah. Horizontally distributed fault-tolerant system.
No joins in GQL?! Rationale: joins may need to work across computers and individual ram capacity.
Send e-mail, make HTTP reqs, auth with Google accounts, use a variety of frameworks.
Went to get cider, they replenished. There are also meatballs wrapped in dough (!?!) It is still FREEZING.
Guido gets up. He's on the AppEngine team.
All about making tools for developers. But hates root password. Thinks AppEngine solves this.
"First time Google lets other people run stuff on their servers."
Isn't this a support nightmare? Software versions etc?? Well, can upload your own frameworks.
Stdlib emasculated in three ways: writing to the file system is forebidden; cannot talk directly to the network (urlfetch & mail sending API); no threads (chuckle, I think GvR not so secretly hates threads).
Python is not the only language (you heard it from Guido). Perl? COBOL? Assembly?
Stuff about admin infrastructure.
Lots of nice error logging/tracking stuff.
Data viewer. Interactive query. Nifty. (Hmm, how do you upload bulks of data??)
Version control built in. Yay.
Is testing built in???
Adding a domain...
Host limits: 5mn page views a month for a well written application is free.
Over and out. I'm freezing. Still.
--titus
posted at: 00:23 | path: /apr-08 | 1 comments
Tue, 27 Nov 2007
Python and the Google Highly Open Participation Contest
I'm happy to announce that the Python Software Foundation is part of a new Google Open Source program, the Highly Open Participation Contest. This contest is an effort by Google to engage pre-college students in open source programming: Google is offering prizes and awards for completing a variety of tasks for several organizations.
You can read the official announcement of the PSF's involvement over on the Python Software Foundation blog (in a bit), or read about the overall Google Highly Open Participation Contest at the official announcement. Python's GHOP project page is here.
Ten organizations were invited to take part in this pilot: they are Plone, SilverStripe, Moodle, the Apache Software Foundation, Python, Joomla!, Mono, GNOME, Drupal, and MoinMoin. (Note that Plone and MoinMoin are both written in Python, so I think Python has a very good representation!)
On a more sober note, it is clear to me that this is Google's latest foray in their continuing efforts to gain control of the world and Do Evil. What could be more diabolical than paying young students to work on other people's projects?? Google's perfidy knows no bounds.
Seriously, I'm very enthusiastic about this contest. I have no idea how it's going to turn out, but I think the Python GHOP team put together a great list of tasks and I'm looking forward to the results.
How can I help?
YOU can help in two ways: suggest more tasks, and help mentor participants. Instructions for doing both are available on the project Wiki under NewTaskGuidelines and MentorPage. (If you know eligible programmers, you might also point them at the Google Code project -- there are some cherries ripe to be picked ;).
Who is to blame?
About two dozen people came up with the initial task ideas, including some who had no idea to what they were contributing ;). This includes Brett Cannon, Collin Winter, Michal Kwiatkowski, Georg Brandl, Grig Gheorghiu, Greg Wilson, Terry Peppers, Shannon Behrens, Michael Carter, Phil Hassey, and Michael Mol. The blog comments on my blog for the two posts Projects for people new to Python? and Hidden Gems in stdlib were very helpful as well!
A group of five people actually wrote up most of the tasks and checked them over for obvious inanities: Will Guaraldi, Andre Roberge, Doug Hellmann, Georg Brandl, and me. This same group is largely responsible for the Google Code project pages.
Andre Roberge, Doug Helmann, Georg Brandl, Grig Gheorghiu, Steve Holden and I are the current "project mentors". Won't you join us?
Leslie Hawthorn at Google did an amazing job of coordinating everyone. She deserves a great big heap o' thanks from the entire Python community!
--titus
posted at: 20:49 | path: /nov-07 | 1 comments