Monday, October 10, 2011

An Embarrassment of Riches


Update: Details on new stuff in Python 2.7 for appengine here: http://code.google.com/appengine/docs/python/python27/newin27.html

AppEngine is all colour and movement at the moment.


  • MySQL compatible db layer, Google Cloud SQL. 
  • Python 2.7 now available as an experimental runtime for all apps. 
  • Cross group (XG) transactions. 
  • Increased limits for all kinds of cool stuff.


First, Cloud SQL is released. Yo Dawg, we heard you like databases, so we put a database in your database so you can query while you query. Or, more clearly, this:


Thursday, October 6, 2011


Google Cloud SQL: Your database in the cloud

Cross-posted from the Google Code Blog

One of App Engine’s most requested features has been a simple way to develop traditional database-driven applications. In response to your feedback, we’re happy to announce the limited preview of Google Cloud SQL. You can now choose to power your App Engine applications with a familiar relational database in a fully-managed cloud environment. This allows you to focus on developing your applications and services, free from the chores of managing, maintaining and administering relational databases. Google Cloud SQL brings many benefits to the App Engine community:
  • No maintenance or administration - we manage the database for you.
  • High reliability and availability - your data is replicated synchronously to multiple data centers. Machine, rack and data center failures are handled automatically to minimize end-user impact.
  • Familiar MySQL database environment with JDBC support (for Java-based App Engine applications) and DB-API support (for Python-based App Engine applications).
  • Comprehensive user interface for administering databases.
  • Simple and powerful integration with Google App Engine.
The service includes database import and export functionality, so you can move your existing MySQL databases to the cloud and use them with App Engine. Cloud SQL is available free of charge for now, and we will publish pricing at least 30 days before charging for it. The service will continue to evolve as we work out the kinks during the preview, but let us know if you’d like to take it for a spin. 


Here's the FAQ: http://code.google.com/apis/sql/faq.html
And the Group: https://groups.google.com/forum/#!forum/google-cloud-sql-discuss 


The signup form implied that we'll be able to mix and match SQL and datastore, which is damned fine.


Then, the prerelease of the new SDK is announced by Ikai Lan:

Hey everyone,

Prerelease SDK 1.5.5 is now available for download! You can get it here:

Python:

Java:

We provide prerelease SDKs as previews for things to come. New features should not work in production yet, and documentation is typically still a work in progress. Release notes are below as well as in the prerelease packages:

Python
===============================
- Python 2.7 is now available as an experimental runtime for all applications
  using the High Replication Datastore. To upload your app to the Python 2.7
  runtime, change the runtime argument in your app.yaml to python27.
- We have released an experimental utility, available in the Admin Console, to
  assist in migrating your application to the High Replication datastore. This
  utility allows you to copy the bulk of your data in the background, while the
  source application is still serving. You then need a brief read-only period to
  migrate your application data while you copy the data that has changed from
  the time the original copy started.
- We have increased the number of files you can upload with your application
  from 3,000 to 10,000.
- We have increased the size limit for a single file uploaded to App Engine from
  10MB to 32MB.
- We have increased the Frontend request deadline from 30 seconds to 60 seconds.
- We have increased the URLFetch maximum deadline from 10 seconds to 60 seconds.
- We have increased the URLFetch Post payload from 1MB to 5MB.
- App Engine now supports Cross Group (XG) transactions with the High
  Replication Datastore, which allow you to perform transactions across
  multiple entity groups.
- We have released an experimental API that can write to Google Storage for
  Developers directly from App Engine.
- We have added a graph to the admin console that displays the number of
  instances for which you will be billed.
- In the XMPP API, get_presence() is deprecated in favor of using the inbound
  presence handlers documented in
- The Task Queue API 'target' parameter now accepts a new value,
  taskqueue.DEFAULT_APP_VERSION, which will send the task to the default
  frontend version, rather than the version or backend where the 'add' method is
  being called.
- In the URLFetch API, make_fetch_call() now returns an RPC object.
- Fixed an issue in the Admin Console where the "Run Now" button did not work
  for tasks with a '-' in the name.
- Fixed an issue where the SDK did not decode Base64 encoded blobs.
- Fixed an issue to provide a better error message when using the Mail API to
  send email to an invalid user address.
- Fixed an issue in the SDK where a skip_files entry caused an ImportError when
  the library was located elsewhere in the PYTHONPATH.
- Fixed an issue in the SDK index viewer where the arrows indicating whether a
  query was ascending or descending were not properly rendered.
- Fixed an issue where httplib did not support the deadline argument for
  URLFetch calls.
- Fixed an issue where you could not schedule a cron job to run every 100
  minutes.
- Fixed an issue in the SDK where failed tasks retried immediately instead of
  waiting for 30 seconds.
- Fixed an issue making it possible to modify request headers using the deferred
  library.

Java
=============
- We have released an experimental utility, available in the Admin Console, to
  assist in migrating your application to the High Replication datastore. This
  utility allows you to copy the bulk of your data in the background, while the
  source application is still serving. You then need to take a short downtime to
  migrate your application data while you copy the data that has changed from
  the time the original copy started.
- We have increased the number of files you can upload with your application to
  from 3,000 to 10,000.
- We have increased the size limit for a single file uploaded to App Engine from
  10MB to 32MB.
- We have increased the Frontend request deadline from 30 seconds to 60 seconds.
- We have increased the URLFetch maximum deadline from 10 seconds to 60 seconds.
- We have increased the URLFetch Post payload from 1MB to 5MB.
- App Engine now supports Cross Group (XG) transactions with the High
  Replication Datastore, which allow you to perform transactions across multiple
  entity groups.
- We have released an experimental API that can write to Google Storage for
  Developers directly from App Engine.
- We have added a graph to the admin console that displays the number of
  instances for which you will be billed.
- In the XMPP API, getPresence() is deprecated in favor of using the inbound
  presence handlers documented in
- Fixed an issue in the Admin Console where the "Run Now" button did not work
  for tasks with a '-' in the name.
- Fixed an issue to provide a better error message when a user tries to parse an
  HttpRequest's input stream more than once in a request.
- Fixed an issue to provide a better error message when using the Mail API to
  send email to an invalid user address.
- Fixed an issue in the SDK where HttpServletRequest.getInputStream().read()
  always returned -1.
- Fixed an issue where you could not schedule a cron job to run every 100
  minutes.



--
Ikai Lan
Developer Programs Engineer, Google App Engine



No comments:

Post a Comment