<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;CEIGQHk6fSp7ImA9WhBbGE8.&quot;"><id>tag:blogger.com,1999:blog-5589634522109419319</id><updated>2013-05-17T13:28:41.715-07:00</updated><category term="toolkit" /><category term="rental" /><category term="developer-insights" /><category term="html5" /><category term="taskqueue" /><category term="entity group" /><category term="cloud-storage" /><category term="events" /><category term="websockets" /><category term="api" /><category term="open source" /><category term="mapreduce" /><category term="put" /><category term="sustainability" /><category term="location" /><category term="green" /><category term="delete" /><category term="agile" /><category term="bicycle" /><category term="python" /><category term="norex" /><category term="twilio" /><category term="video" /><category term="email" /><category term="io2010" /><category term="workflows" /><category term="app engine" /><category term="devfests" /><category term="IO2013" /><category term="java" /><category term="kaazing" /><category term="datastore" /><category term="canoe" /><category term="pipeline" /><category term="1.1.2" /><category term="cloud" /><category term="django" /><category term="getting started" /><category term="batch" /><category term="gps" /><category term="googlenew" /><category term="research project" /><category term="android" /><category term="appengine" /><category term="paypal" /><category term="index" /><category term="developer days" /><category term="payment" /><category term="casestudy" /><category term="conferences" /><category term="google" /><title>Cloud Platform Blog</title><subtitle type="html">Product updates, customer stories, and tips and tricks on the Google Cloud Platform</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://googlecloudplatform.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://googlecloudplatform.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Omkar Kulkarni</name><uri>http://www.blogger.com/profile/06571587416665901187</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>248</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/ClPlBl" /><feedburner:info uri="clplbl" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>ClPlBl</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><entry gd:etag="W/&quot;CEIGQHk4eip7ImA9WhBbGE8.&quot;"><id>tag:blogger.com,1999:blog-5589634522109419319.post-1779201640745667513</id><published>2013-05-16T14:49:00.000-07:00</published><updated>2013-05-17T13:28:41.732-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-05-17T13:28:41.732-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="IO2013" /><title>Get started with App Engine for PHP - scalable, secure and reliable</title><content type="html">At &lt;a href="https://developers.google.com/events/io/"&gt;Google I/O&lt;/a&gt;, we announced &lt;a href="https://developers.google.com/appengine/docs/php"&gt;PHP&lt;/a&gt; as the latest supported runtime for &lt;a href="https://cloud.google.com/products/"&gt;Google App Engine&lt;/a&gt; in Limited Preview. PHP is one of the world's most popular programming languages, used by developers to power everything from simple web forms to complex enterprise applications.&lt;br /&gt;
&lt;br /&gt;
Now PHP developers can take advantage of the scale, reliability and security features of App Engine. In addition, PHP runs well with other parts of &lt;a href="https://cloud.google.com/"&gt;Google Cloud Platform&lt;/a&gt;. Let's look at how this works.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Connecting to Google Cloud SQL from App Engine for PHP&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Many PHP developers start with MySQL when choosing a database to store critical information, and a wide variety of products and frameworks such as Wordpress make extensive use of MySQL’s rich feature set. Google Cloud SQL provides a reliable, managed database service that is MySQL 5.5 compatible and works well with App Engine.&lt;br /&gt;
&lt;br /&gt;
To set up a Cloud SQL database, sign into &lt;a href="https://cloud.google.com/console"&gt;Google Cloud Console&lt;/a&gt; - create a new project, choose Cloud SQL and create a new instance. &lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-ImmZwPUUzdA/UZSTbDveVFI/AAAAAAAAABg/bnupdin4uk0/s1600/Screen+Shot+2013-05-09+at+9.33.55+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-ImmZwPUUzdA/UZSTbDveVFI/AAAAAAAAABg/bnupdin4uk0/s1600/Screen+Shot+2013-05-09+at+9.33.55+PM.png" height="176" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
After you create the instance, it's automatically associated with your App Engine app.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-P9RXhZfx29A/UZSVdkVYqOI/AAAAAAAAACI/m_oAh4rwqDk/s1600/authorize.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-P9RXhZfx29A/UZSVdkVYqOI/AAAAAAAAACI/m_oAh4rwqDk/s1600/authorize.png" /&gt;&lt;/a&gt;&lt;/div&gt;You will notice Cloud SQL instances don’t need an IP address. Instead they can be accessed via a compound identifier made up of their project name and instance name, such as hello-php-gae:my-cloudsql-instance.&lt;br /&gt;
&lt;br /&gt;
From within PHP, you can access Cloud SQL directly using the standard PHP MySQL libraries - mysql, mysqli or PDO_MySQL. Just specify your Cloud SQL database with its identifier, such as:&lt;br /&gt;
&lt;pre&gt;&amp;lt;?php

$db = new PDO(
  'mysql:unix_socket=/cloudsql/hello-php-gae:my-cloudsql-instance;dbname=demo_db;charset=utf8',
  'demo_user',
  'demo_password'
);

foreach($db-&amp;gt;query('SELECT * FROM users') as $row) {
  echo $row['username'].' '.$row['first_name']; //etc...
}
&lt;/pre&gt;Methods such as query() work just as you’d expect with any MySQL database. This example uses the popular PDO library, although other libraries such as mysql and mysqli work just as well.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Storing files with PHP and Google Cloud Storage&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Reading and writing files is a common task in many PHP projects, whether you are reading stored application state, or generating formatted output (e.g., writing PDF files). The challenge is to find a storage system that is as scalable and secure as Google App Engine itself. Fortunately, we have exactly this in Google Cloud Storage (GCS).&lt;br /&gt;
&lt;br /&gt;
The first step in setting up Google Cloud Storage is to create a bucket:&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-9e0q8xj16Qw/UZST2V047iI/AAAAAAAAABw/gDc7ihSz8mg/s1600/Screen+Shot+2013-05-10+at+1.11.02+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-9e0q8xj16Qw/UZST2V047iI/AAAAAAAAABw/gDc7ihSz8mg/s1600/Screen+Shot+2013-05-10+at+1.11.02+PM.png" height="227" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;With the PHP runtime, we’ve implemented native support for GCS. In particular, we’ve made it possible for PHP’s native filesystem functions to read and write to a GCS bucket.&lt;br /&gt;
&lt;br /&gt;
This code writes all prime numbers less than 2000 into a file on GCS:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;&amp;lt;?php

$handle = fopen('gs://hello-php-gae-files/prime_numbers.txt','w');

fwrite($handle, "2");
for($i = 3; $i &amp;lt;= 2000; $i = $i + 2) {
  $j = 2;
  while($i % $j != 0) {
    if($j &amp;gt; sqrt($i)) {
      fwrite($handle, ", ".$i);
      break;
    }
    $j++;
  }
}

fclose($handle);
&lt;/pre&gt;The same fopen() and fwrite() commands are used just as if you were writing to a local file. The difference is we’ve specified a Google Cloud Storage URL instead of a local filepath. &lt;br /&gt;
&lt;br /&gt;
And this code reads the same file back into memory and pulls out the 100th prime number, using file_get_contents():&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;&amp;lt;?php

$primes = explode(",",
  file_get_contents('gs://hello-php-gae-files/prime_numbers.txt')
);

if(isset($primes[100]))
  echo "The 100th prime number is ".$primes[100];
&lt;/pre&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt; &lt;b&gt;And more features supported in PHP&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Many of our most popular App Engine APIs are now supported in PHP, including our zero-configuration Memcache, Task Queues for asynchronous processing, Users API, Mail API and more. The standard features you’d expect from App Engine, including SSL support, Page Speed Service, versioning and traffic splitting are all available as well.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Open today in Limited Preview&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://cloud.google.com/appengine/php"&gt;Today we’re making App Engine for PHP available &lt;/a&gt;in Limited Preview. Read more about the runtime in our online documentation, download an early developer SDK, and sign up to deploy applications at &lt;a href="https://cloud.google.com/appengine/php"&gt;https://cloud.google.com/appengine/php&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
- Posted by Andrew Jessup, Product Manager&lt;img src="http://feeds.feedburner.com/~r/ClPlBl/~4/MtHm7Iq7sTI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecloudplatform.blogspot.com/feeds/1779201640745667513/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecloudplatform.blogspot.com/2013/05/app-engine-adds-php-support.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/1779201640745667513?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/1779201640745667513?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ClPlBl/~3/MtHm7Iq7sTI/app-engine-adds-php-support.html" title="Get started with App Engine for PHP - scalable, secure and reliable" /><author><name>John Do</name><uri>https://plus.google.com/110350131288337198042</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-ImmZwPUUzdA/UZSTbDveVFI/AAAAAAAAABg/bnupdin4uk0/s72-c/Screen+Shot+2013-05-09+at+9.33.55+PM.png" height="72" width="72" /><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://googlecloudplatform.blogspot.com/2013/05/app-engine-adds-php-support.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A04HQXk7eyp7ImA9WhBbF04.&quot;"><id>tag:blogger.com,1999:blog-5589634522109419319.post-4128245514407498633</id><published>2013-05-16T09:00:00.000-07:00</published><updated>2013-05-16T14:32:10.703-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-05-16T14:32:10.703-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="IO2013" /><title>Get started with Google Cloud Datastore - a fast, powerful, NoSQL database</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;At &lt;a href="https://developers.google.com/events/io/"&gt;Google I/O&lt;/a&gt;, we announced &lt;a href="http://developers.google.com/datastore"&gt;Google Cloud Datastore&lt;/a&gt;, a fully managed solution for storing non-relational data.  Based on the popular Google App Engine High Replication Datastore (HRD), Cloud Datastore provides a schemaless, non-relational datastore with the same accessibility of &lt;a href="https://cloud.google.com/products/cloud-storage"&gt;Google Cloud Storage&lt;/a&gt; and &lt;a href="https://cloud.google.com/products/cloud-sql"&gt;Google Cloud SQL&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Cloud Datastore builds off the strong growth and performance of HRD, which has over 1PB of data stored, 4.5 trillion transactions per month and a 99.95% uptime.  It also comes with the following features:&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;&lt;li&gt;Built-in query support: near SQL functionality that allows you to search, sort and filter across multiple indexes that are automatically maintained&amp;nbsp;&lt;/li&gt;
&lt;li&gt;ACID transactions: data consistency (both Strong and Eventual) that spans multiple replicas and requests&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Automatic scaling: built on top of Google’s &lt;a href="http://research.google.com/archive/bigtable-osdi06.pdf"&gt;BigTable infrastructure&lt;/a&gt;, the Cloud Datastore will automatically scale with your data&amp;nbsp;&lt;/li&gt;
&lt;li&gt;High availability: by utilizing Google’s underlying &lt;a href="http://www.cidrdb.org/cidr2011/Papers/CIDR11_Paper32.pdf"&gt;Megastore&lt;/a&gt; service, the Cloud Datastore ensures that data is replicated across multiple datacenters and is highly available&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Local development environment: the Cloud Datastore SDK provides a full-featured local environment that allows you to develop, iterate and manage your Cloud Datastore instances efficiently&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Free to get started: 50k read &amp;amp; write operations, 200 indexes, and 1GB of stored data for free per month &amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;b&gt;Getting started with Cloud Datastore&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
To get started, head over to the &lt;a href="https://cloud.google.com/console"&gt;Google Cloud Console&lt;/a&gt; and create a new project. After supplying a few pieces of information you will have a Cloud Project that has the Cloud Datastore enabled by default. For this post we’ll use the project ID &lt;i&gt;cloud-demo&lt;/i&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-KO38x9zrcU4/UYxVoE04ynI/AAAAAAAAAKw/Ecmq8EYwaO8/s1600/landing_page.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="329" src="http://2.bp.blogspot.com/-KO38x9zrcU4/UYxVoE04ynI/AAAAAAAAAKw/Ecmq8EYwaO8/s1600/landing_page.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
With the project created and the Cloud Datastore enabled, we’ll need to download the &lt;a href="https://developers.google.com/datastore/docs/downloads"&gt;Cloud Datastore client library&lt;/a&gt;. Once extracted, it’s time to start writing some code. For the sake of this post, we’ll focus on accessing the Cloud Datastore from a Python application running on a Compute Engine VM (&lt;a href="http://googlecloudplatform.blogspot.com/2013/05/google-compute-engine-is-now-open-to-all.html"&gt;which is also now in Preview&lt;/a&gt;). We’ll assume that you’ve already created a new VM instance. &lt;br /&gt;
&lt;pre&gt;import googledatastore as datastore

def main()
  writeEntity()
  readEntity()
&lt;/pre&gt;Next include writeEntity() and readEntity() functions: &lt;br /&gt;
&lt;pre&gt;def WriteEntity():
  req = datastore.BlindWriteRequest()
  entity = req.mutation.upsert.add()
  path = entity.key.path_element.add()
  path.kind = 'Greeting'
  path.name = 'foo'
  message = entity.property.add()
  message.name = 'message'
  value = message.value.add()
  value.string_value = 'to the cloud and beyond!'
  try:
    datastore.blind_write(req)
  except datastore.RPCError as e:
    # remember to do something useful with the exception
    pass

def ReadEntity(): 
  req = datastore.LookupRequest()
  key = req.key.add()
  path = key.path_element.add()
  path.kind = 'Greeting0'
  path.name = 'foo0'
  try:
    resp = datastore.lookup(req)
    return resp
  except datastore.RPCError as e:
    # remember to do something useful with the exception
    pass
&lt;/pre&gt;First create a new file called “demo.py”. Inside demo.py, we’ll add code to write and then read an entity from the Cloud Datastore. &amp;nbsp;Finally we can update main() to print out the property values within the fetched entity: &lt;br /&gt;
&lt;pre&gt;def main():
  writeEntity();
  resp = readEntity();

  entity = resp.found[0].entity
  for p in entity.property:
    print 'Entity property name: %s', p.name
    v = p.value[0]
    print 'Entity property value: %s', v.string_value
&lt;/pre&gt;Before we can run this code we need to tell the client library which Cloud Datastore instance we would like to use. This is done by exporting the following environment variable: &lt;br /&gt;
&lt;pre&gt;~$ export DATASTORE_DATASET cloud-datastore-demo
&lt;/pre&gt;Finally we’re able to run the application by simply issuing the following:  &lt;br /&gt;
&lt;pre&gt;~$ python demo.py&lt;/pre&gt;Besides the output that we see in console window, we’re also able to monitor our interactions within the Cloud Console. By navigating back to Cloud Console, selecting our cloud-datastore-demo project, and then selecting the Cloud Datastore we’re taken to our instance’s dashboard page that includes number of entities, properties, and property types, as well as index management, ad-hoc query support and breakdown of stored data.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-c-NsVpB1-m0/UZSQMpZXjFI/AAAAAAAAABI/d8Q8SSobNfg/s1600/metrics_page.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="409" src="http://3.bp.blogspot.com/-c-NsVpB1-m0/UZSQMpZXjFI/AAAAAAAAABI/d8Q8SSobNfg/s1600/metrics_page.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
And that’s really just the beginning. To fully harness the features and functionality that the Cloud Datastore offers, be sure to check out the larger &lt;a href="https://developers.google.com/datastore/docs/getstarted/"&gt;Getting Started guide&lt;/a&gt; and the &lt;a href="http://developers.google.com/datastore"&gt;Cloud Datastore documentation&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Cloud Datastore is the latest addition to the Cloud Platform storage family, joining Cloud Storage for storing blob data, Cloud SQL for storing relational data, and Persistent Disk for storing block data.  All fully managed so that you can focus on creating amazing solutions and leave the rest to us.&lt;br /&gt;
&lt;br /&gt;
And while this is a Preview Release, the team is off to a great start. As we move the service towards General Availability we’re looking forward to improving JSON support, more deeply integrating with the Cloud Console, streamlining our billing and driving every bit of performance that we can out of the API and underlying service.&lt;br /&gt;
&lt;br /&gt;
Happy coding!&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;-Posted by Chris Ramsdale, Product Manager   &lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ClPlBl/~4/40a0ZxgHmmQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecloudplatform.blogspot.com/feeds/4128245514407498633/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecloudplatform.blogspot.com/2013/05/get-started-with-google-cloud-datastore-nosql-database.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/4128245514407498633?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/4128245514407498633?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ClPlBl/~3/40a0ZxgHmmQ/get-started-with-google-cloud-datastore-nosql-database.html" title="Get started with Google Cloud Datastore - a fast, powerful, NoSQL database" /><author><name>John Do</name><uri>https://plus.google.com/110350131288337198042</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-KO38x9zrcU4/UYxVoE04ynI/AAAAAAAAAKw/Ecmq8EYwaO8/s72-c/landing_page.png" height="72" width="72" /><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://googlecloudplatform.blogspot.com/2013/05/get-started-with-google-cloud-datastore-nosql-database.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEUERXk6cSp7ImA9WhBbFks.&quot;"><id>tag:blogger.com,1999:blog-5589634522109419319.post-3198995227652236097</id><published>2013-05-15T18:03:00.000-07:00</published><updated>2013-05-15T18:03:24.719-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-05-15T18:03:24.719-07:00</app:edited><title>Google Compute Engine is now open to all</title><content type="html">Last year we announced Google Compute Engine to enable any business or developer to use Google’s infrastructure for their applications. Now we’re taking the next step: &lt;a href="https://cloud.google.com/products/compute-engine"&gt;Google Compute Engine&lt;/a&gt; is open to everyone in preview, and you can &lt;a href="https://cloud.google.com/products/compute-engine"&gt;sign up online&lt;/a&gt; now.&lt;br /&gt;
&lt;br /&gt;
Over the past year, we’ve &lt;a href="http://googlecloudplatform.blogspot.com/2013/04/google-compute-engine-expanded.html"&gt;launched several features&lt;/a&gt; and made significant improvements behind the scenes. We’re now announcing several new capabilities that make it easier and more economical to use Compute Engine for a broader set of applications.&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Sub-Hour Billing:&lt;/b&gt; We heard feedback from our early users who wanted more granular billing increments so they could run short-lived workloads. Now all instances are charged for in one-minute increments with a ten-minute minimum, so you don’t pay for compute minutes that you don’t use.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;New shared-core instance types:&lt;/b&gt; Compute Engine’s new micro and small instance types are designed as a cost-effective option for running small workloads that don’t need a lot of CPU power, like development and test workloads.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Larger Persistent Disks:&lt;/b&gt; We’re increasing the size of Persistent Disks that can be attached to instances by up to 8,000%. You can now attach up to 10 terabytes of persistent disk to a Compute Engine virtual machine, giving you plenty of persistent storage for a wide variety of applications.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Advanced Routing Capabilities:&lt;/b&gt; Compute Engine now supports &lt;a href="http://developers.google.com/compute/docs/networking#routing"&gt;software-defined routing capabilities&lt;/a&gt; based on our broad &lt;a href="http://research.google.com/pubs/Networking.html"&gt;SDN innovation&lt;/a&gt;.  These capabilities are designed to handle your advanced network routing needs like configuring instances to function as gateways, configuring VPN servers and building applications that span your local network and Google’s cloud.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ISO 27001 Certification:&lt;/b&gt; We’ve also completed ISO 27001:2005 certification for Compute Engine, App Engine, and Cloud Storage to demonstrate that these products meet the international standard for managing information security.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
To get started, go to the &lt;a href="https://cloud.google.com/console"&gt;Google Cloud Console&lt;/a&gt;, select Compute Engine and click the “New Instance” button.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-woWTOYjKAL8/UZM25Ohe2-I/AAAAAAAAAA0/OtNZfQnIUFo/s1600/png;base6492a3e8c88ed5452e.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-woWTOYjKAL8/UZM25Ohe2-I/AAAAAAAAAA0/OtNZfQnIUFo/s1600/png;base6492a3e8c88ed5452e.png" height="320" style="cursor: move;" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Fill out the required information and click “Create” on the right hand side. Your new virtual machine will be ready to use in about a minute.&lt;br /&gt;
&lt;br /&gt;
To all of our customers who helped us evolve the product over the past months, thank you; your feedback has helped shape Compute Engine. To those of you who have been eager to try Compute Engine, the wait is over and you can &lt;a href="https://cloud.google.com/products/compute-engine"&gt;sign up for Compute Engine online&lt;/a&gt; today.&lt;br /&gt;
&lt;br /&gt;
- Posted by Navneet Joneja, Product Manager&lt;img src="http://feeds.feedburner.com/~r/ClPlBl/~4/pmoLgoIP1Rk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecloudplatform.blogspot.com/feeds/3198995227652236097/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecloudplatform.blogspot.com/2013/05/google-compute-engine-is-now-open-to-all.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/3198995227652236097?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/3198995227652236097?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ClPlBl/~3/pmoLgoIP1Rk/google-compute-engine-is-now-open-to-all.html" title="Google Compute Engine is now open to all" /><author><name>John Do</name><uri>https://plus.google.com/110350131288337198042</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-woWTOYjKAL8/UZM25Ohe2-I/AAAAAAAAAA0/OtNZfQnIUFo/s72-c/png;base6492a3e8c88ed5452e.png" height="72" width="72" /><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://googlecloudplatform.blogspot.com/2013/05/google-compute-engine-is-now-open-to-all.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUAHQnw9eSp7ImA9WhBbFkg.&quot;"><id>tag:blogger.com,1999:blog-5589634522109419319.post-6505786186479939418</id><published>2013-05-15T14:35:00.000-07:00</published><updated>2013-05-15T14:35:33.261-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-05-15T14:35:33.261-07:00</app:edited><title>Ushering in the next generation of computing at Google I/O</title><content type="html">Over the last fourteen years we have been developing some of the best infrastructure in the world to power Google’s global-scale services. With &lt;a href="https://cloud.google.com/"&gt;Google Cloud Platform&lt;/a&gt;, our goal is to open that infrastructure and make it available to any business or developer anywhere. Today, we are introducing improvements to the platform and making &lt;a href="https://cloud.google.com/products/compute-engine"&gt;Google Compute Engine&lt;/a&gt; available for anyone to use.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Google Compute Engine - now available for everyone&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Google Compute Engine provides a fast, consistently high-performance environment for running virtual machines. Later today, you’ll be able to go online to cloud.google.com and start using Compute Engine.&lt;br /&gt;
&lt;br /&gt;
In addition, we’re introducing new Compute Engine features:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Sub-hour billing&lt;/b&gt; charges for instances in one-minute increments with a ten-minute minimum, so you don’t pay for compute minutes that you don’t use&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Shared-core instances&lt;/b&gt; provide smaller instance shapes for low-intensity workloads&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Advanced Routing&lt;/b&gt; features help you create gateways and VPN servers, and enable you to build applications that span your local network and Google’s cloud&lt;/li&gt;
&lt;li&gt;Large &lt;b&gt;persistent disks&lt;/b&gt; support up to 10 terabytes per volume, which translates to 10X the industry standard&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
We’ve also completed ISO 27001:2005 international security certification for Compute Engine, &lt;a href="https://cloud.google.com/appengine"&gt;Google App Engine&lt;/a&gt;, and &lt;a href="https://cloud.google.com/products/cloud-storage"&gt;Google Cloud Storage&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Google App Engine adds the PHP runtime&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="https://code.google.com/p/googleappengine/w/list"&gt;App Engine 1.8.0&lt;/a&gt; is now available and includes a Limited Preview of the &lt;a href="http://cloud.google.com/appengine/php"&gt;PHP runtime&lt;/a&gt; - your &lt;a href="https://code.google.com/p/googleappengine/issues/list"&gt;top requested feature&lt;/a&gt;. We’re bringing one of the most popular web programming languages to App Engine so that you can run open source apps like Wordpress. It also offers deep integration with other parts of Cloud Platform including &lt;a href="https://cloud.google.com/products/cloud-sql"&gt;Google Cloud SQL&lt;/a&gt; and Cloud Storage. &lt;br /&gt;
&lt;br /&gt;
We’ve also heard that we need to make building modularized applications on App Engine easier. We are &lt;a href="https://docs.google.com/a/google.com/forms/d/1qjuLxnAHQeq2YQMCMAITbC6St_NrfzHDxrbkuTqvmfY/viewform"&gt;introducing&lt;/a&gt; the ability to partition apps into components with separate scaling, deployments, versioning and performance settings.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Introducing Google Cloud Datastore&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://developers.google.com/datastore"&gt;Google Cloud Datastore&lt;/a&gt; is a fully managed and schemaless solution for storing non-relational data. Based on the popular &lt;a href="https://developers.google.com/appengine/docs/python/datastore/"&gt;App Engine High Replication Datastore&lt;/a&gt;, Cloud Datastore is a standalone service that features automatic scalability and high availability while still providing powerful capabilities such as ACID transactions, SQL-like queries, indexes and more.&lt;br /&gt;
&lt;br /&gt;
Over the last year we have continued our focus on feature enhancement and developer experience across &lt;a href="http://googlecloudplatform.blogspot.com/2013/04/app-engine-177-released_9.html"&gt;App Engine&lt;/a&gt;, &lt;a href="http://googlecloudplatform.blogspot.com/2013/04/google-compute-engine-expanded.html"&gt;Compute Engine,&lt;/a&gt; &lt;a href="http://googledevelopers.blogspot.com/2013/03/bigquery-gets-big-new-features-to-make.html"&gt;Google BigQuery&lt;/a&gt;, &lt;a href="http://googledevelopers.blogspot.com/2012/11/google-cloud-storage-more-value-for.html"&gt;Cloud Storage&lt;/a&gt; and &lt;a href="http://googledevelopers.blogspot.com/2012/11/get-started-at-no-cost-with-faster.html"&gt;Cloud SQL&lt;/a&gt;. We also introduced  &lt;a href="http://googlecloudplatform.blogspot.com/2013/02/java-7-and-cloud-endpoints-preview.html"&gt;Google Cloud Endpoints&lt;/a&gt; and &lt;a href="https://cloud.google.com/console"&gt;Google Cloud Console&lt;/a&gt;.  &lt;br /&gt;
&lt;br /&gt;
With these improvements, we have seen increased usage with over 3 million applications and over 300,000 unique developers using Cloud Platform in a given month. Our developers inspire us everyday, and we can’t wait to see what you build next.&lt;br /&gt;
&lt;br /&gt;
-Posted by &lt;a class="g-profile" href="https://plus.google.com/100873628951632372330" target="_blank"&gt;Urs Hölzle&lt;/a&gt;, Senior Vice President&lt;img src="http://feeds.feedburner.com/~r/ClPlBl/~4/773FCylUsnI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecloudplatform.blogspot.com/feeds/6505786186479939418/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecloudplatform.blogspot.com/2013/05/ushering-in-next-generation-of.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/6505786186479939418?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/6505786186479939418?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ClPlBl/~3/773FCylUsnI/ushering-in-next-generation-of.html" title="Ushering in the next generation of computing at Google I/O" /><author><name>John Do</name><uri>https://plus.google.com/110350131288337198042</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://googlecloudplatform.blogspot.com/2013/05/ushering-in-next-generation-of.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk8HQHwzeyp7ImA9WhBbFEs.&quot;"><id>tag:blogger.com,1999:blog-5589634522109419319.post-8280775652801790558</id><published>2013-05-13T10:03:00.000-07:00</published><updated>2013-05-13T10:07:11.283-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-05-13T10:07:11.283-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="IO2013" /><title>Data Sensing Lab at Google I/O 2013: Google Cloud Platform meets the Internet of Things</title><content type="html">&lt;i&gt;Cross-posted with the &lt;a href="http://googledevelopers.blogspot.com/"&gt;Google Developers Blog&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
After last year's Google I/O conference, the Google Cloud Platform Developer Relations team started to think about how attendees experienced the event. We wanted to help attendees gain more insight about the conference space and the environment itself. Which developer Sandboxes were the busiest? Which were the loudest locations, and which were the best places to take a quick nap? We think about data problems all the time, and this looked like an interesting big data challenge that we could try to solve. So this year, we decided to try to answer our questions with a project that's a bit different, kind of futuristic, and maybe a little crazy.&lt;br /&gt;
&lt;br /&gt;
Since we love open source hardware hacking as much as we love to share open source code, we decided to team up with the &lt;a href="http://datasensinglab.com/google-io-2013/"&gt;O'Reilly Data Sensing Lab&lt;/a&gt; to deploy hundreds of &lt;a href="http://arduino.cc/"&gt;Arduino&lt;/a&gt;-based environmental sensors at Google I/O 2013. Using software built with the Google Cloud Platform, we'll be collecting and visualizing ambient data about the conference, such as temperature, humidity, air quality, in real time! Altogether, the sensors network will provide over 4,000 continuous data streams over a ZigBee mesh network managed by &lt;a href="http://www.etherios.com/products/devicecloud/"&gt;Device Cloud by Etherios&lt;/a&gt;.&lt;br /&gt;
&lt;div class="separator" style="text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;a href="https://developers.google.com/events/io/sessions/332908798"&gt;&lt;img alt="photo of sensors" src="http://3.bp.blogspot.com/-weihm3GwvCw/UY_4wAvSsiI/AAAAAAAAAIA/L80p6PYn0w8/s1600/motes.jpg" style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; text-align: center;" width="500" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
In addition, our motes will be able to detect fluctuations in noise level, and some will be attached to footstep counters, to understand collective movement around the conference floor. Of course, since a key goal of Google I/O is to promote innovation in the open, the project's Cloud Platform code, the Arduino hardware designs, and even the data collected, will be open source and available online after the conference.&lt;br /&gt;
&lt;br /&gt;
Google Cloud Platform, which provides the software backend for this project, has a variety of features for building applications that collect and process data from a large number of client devices - without having to spend time managing hardware or infrastructure. &lt;a href="https://developers.google.com/appengine/docs/python/datastore/overview"&gt;Google App Engine Datastore&lt;/a&gt;, along with &lt;a href="https://developers.google.com/appengine/docs/python/endpoints/"&gt;Google Cloud Endpoints&lt;/a&gt;, provides a scalable front end API for collecting data from devices. &lt;a href="https://cloud.google.com/products/compute-engine"&gt;Google Compute Engine&lt;/a&gt; is used to process and analyse data with software tools you may already be familiar with, such as R and Hadoop. &lt;a href="https://developers.google.com/bigquery/"&gt;Google BigQuery&lt;/a&gt; provides fast aggregate analysis of terabyte datasets. Finally, App Engine's web application framework is able to surface interactive visualizations to users.&lt;br /&gt;
&lt;br /&gt;
Networked sensor technology is in the early stages of revolutionizing business logistics, city planning, and consumer products.  We are looking forward to sharing the Data Sensing Lab with Google I/O attendees, because we want to show how using open hardware together with the Google Cloud Platform can make this technology accessible to anyone.&lt;br /&gt;
&lt;br /&gt;
With the help of the Google Maps DevRel team, we'll be displaying visualizations of interesting trends on several screens around the conference. Members of the Data Sensing Lab will be on hand in the Google I/O Cloud Sandbox to show off prototypes and talk to attendees about open hardware development.  Lead software developer Amy Unruh and Kim Cameron from the Cloud Platform Developer Relations team will talk about how we built the software involved in this project in a talk called "&lt;a href="https://developers.google.com/events/io/sessions/332908798"&gt;Behind the Data Sensing Lab&lt;/a&gt;". In case you aren't able to attend Google I/O 2013, this session will be available online after the conference. Learn more about the &lt;a href="https://cloud.google.com/"&gt;Google Cloud Platform&lt;/a&gt; on our site, and to dive in to building applications, check out our &lt;a href="https://developers.google.com/cloud/"&gt;developer documentation&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
-Posted by &lt;a class="g-profile" href="http://plus.google.com/106641576811513429422" target="_blank"&gt;Michael Manoochehri&lt;/a&gt;, Developer Programs Engineer&lt;br /&gt;
&lt;blockquote&gt;&lt;/blockquote&gt;&lt;img src="http://feeds.feedburner.com/~r/ClPlBl/~4/DXW-Y6GZzHQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecloudplatform.blogspot.com/feeds/8280775652801790558/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecloudplatform.blogspot.com/2013/05/data-sensing-lab-at-google-io-2013.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/8280775652801790558?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/8280775652801790558?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ClPlBl/~3/DXW-Y6GZzHQ/data-sensing-lab-at-google-io-2013.html" title="Data Sensing Lab at Google I/O 2013: Google Cloud Platform meets the Internet of Things" /><author><name>John Do</name><uri>https://plus.google.com/110350131288337198042</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-weihm3GwvCw/UY_4wAvSsiI/AAAAAAAAAIA/L80p6PYn0w8/s72-c/motes.jpg" height="72" width="72" /><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://googlecloudplatform.blogspot.com/2013/05/data-sensing-lab-at-google-io-2013.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0UBSX45eyp7ImA9WhBbEkw.&quot;"><id>tag:blogger.com,1999:blog-5589634522109419319.post-1602969340389873353</id><published>2013-05-09T19:43:00.000-07:00</published><updated>2013-05-10T11:40:58.023-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-05-10T11:40:58.023-07:00</app:edited><title>Welcome to the Google Cloud Platform blog</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Welcome to the Google Cloud Platform blog, the evolution of the &lt;a href="http://googleappengine.blogspot.com/2013/05/the-google-app-engine-blog-is-moving.html"&gt;Google App Engine blog&lt;/a&gt;, which continues as a key component of our broader Google Cloud Platform vision.  On this blog, you can find product updates, developer tips, and other content related to Google Cloud Platform.&lt;br /&gt;
&lt;br /&gt;
Our goal is to build the best cloud platform for developers; one that is comprised of multiple services that work together in harmony.  A key component of delivering on this goal is creating a centralized communication channel to discuss updates across the entire Google Cloud Platform.&lt;br /&gt;
&lt;br /&gt;
Moving forward, you can find all of the same content that we posted on the App Engine blog here.  In addition to App Engine releases, updates, and customer stories, you can expect similar content for the rest of the platform - including &lt;a href="https://cloud.google.com/products/compute-engine"&gt;Google Compute Engine&lt;/a&gt;, &lt;a href="https://cloud.google.com/products/big-query"&gt;Google BigQuery&lt;/a&gt;, &lt;a href="https://cloud.google.com/products/cloud-sql"&gt;Google Cloud SQL&lt;/a&gt;, &lt;a href="https://cloud.google.com/products/cloud-storage"&gt;Google Cloud Storage&lt;/a&gt;, &lt;a href="https://developers.google.com/appengine/docs/java/endpoints/overview"&gt;Google Cloud Endpoints&lt;/a&gt;&amp;nbsp;and all future Cloud Platform products and services.&amp;nbsp;   &lt;br /&gt;
&lt;br /&gt;
Looking back at the &lt;a href="http://googlecloudplatform.blogspot.com/2008/04/introducing-google-app-engine-our-new.html"&gt;first post on the App Engine blog&lt;/a&gt; is a reminder that our ambitious mission remains the same.  That is, we want to give you access to the same building blocks that Google uses for its own applications, so you can continue to build amazing things. We are committed to providing the best possible technology for you to build your business in the cloud.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
Okay, time to get back to building.  &lt;a href="http://googlecloudplatform.blogspot.com/atom.xml"&gt;Subscribe here&lt;/a&gt; to get notifications for our new blog.  And while you’re at it, follow us on &lt;a href="http://google.com/+googlecloudplatform"&gt;Google+&lt;/a&gt; and &lt;a href="https://twitter.com/app_engine"&gt;Twitter&lt;/a&gt; too.&lt;br /&gt;
&lt;br /&gt;
-Posted by Chris Ramsdale, Product Manager &lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/ClPlBl/~4/eabaqmxyVxU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecloudplatform.blogspot.com/feeds/1602969340389873353/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecloudplatform.blogspot.com/2013/05/welcome-to-google-cloud-platform-blog_9.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/1602969340389873353?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/1602969340389873353?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ClPlBl/~3/eabaqmxyVxU/welcome-to-google-cloud-platform-blog_9.html" title="Welcome to the Google Cloud Platform blog" /><author><name>zk</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://googlecloudplatform.blogspot.com/2013/05/welcome-to-google-cloud-platform-blog_9.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU8HQXw_fyp7ImA9WhBbFEU.&quot;"><id>tag:blogger.com,1999:blog-5589634522109419319.post-7483874043333410946</id><published>2013-05-09T19:34:00.000-07:00</published><updated>2013-05-13T16:30:30.247-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-05-13T16:30:30.247-07:00</app:edited><title>Tune in live to Google Cloud Platform at Google I/O 2013</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;a href="https://developers.google.com/events/io/"&gt;Google I/O 2013&lt;/a&gt; is only a week away!  We look forward to sharing updates across &lt;a href="https://cloud.google.com/"&gt;Google Cloud Platform&lt;/a&gt;.  Here’s everything you need to know to keep up with the latest happenings at I/O.&lt;br /&gt;
&lt;br /&gt;
This year, we will have a Google Cloud Platform track kickoff given by &lt;a href="https://plus.google.com/+UrsH%C3%B6lzle/posts"&gt;Urs Holzle&lt;/a&gt;, Senior Vice President of Technical Infrastructure, on Wednesday, May 15th at 12:45 PM Pacific. You can watch the stream on the &lt;a href="https://developers.google.com/events/io/io-live"&gt;I/O Live Stream page&lt;/a&gt;.  Urs will make a few special announcements, so you won’t want to miss it.&lt;br /&gt;
&lt;br /&gt;
At I/O, we have an &lt;a href="https://developers.google.com/events/io/sessions#t-google-cloud-platform"&gt;entire Cloud Platform track&lt;/a&gt; complete with code labs and conference sessions. Even if you aren’t attending, you can still tune in to the following sessions on the live stream, which you’ll also be able to find on the homepage of cloud.google.com:&lt;br /&gt;
&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;&lt;li&gt;&lt;a href="https://developers.google.com/events/io/sessions/333265959"&gt;Track Kickoff: Ushering in the Next Generation of Cloud Computing&lt;/a&gt; (5/15 12:45PM PT)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/events/io/sessions/333117643"&gt;What’s New and Cool with Google Compute Engin&lt;/a&gt;e (5/15 3:50PM PT)&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/events/io/sessions/327696300"&gt;All the Ships in the World: Visualizing Data with Google Cloud and Maps&lt;/a&gt;&amp;nbsp;(5/16 12:45PM PT)&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/events/io/sessions/333508149"&gt;From Nothing to Nirvana in Minutes: Cloud Backend for Your Android Application&lt;/a&gt;&amp;nbsp;(5/16 3:30PM PT)&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.google.com/events/io/sessions/333055646"&gt;A New Language for App Engine&lt;/a&gt; (5/16 4:25PM PT)&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
All of our &lt;a href="https://developers.google.com/events/io/sessions#t-google-cloud-platform"&gt;sessions&lt;/a&gt; (including the live ones above) will be available on demand as soon as we can get them posted.  We’ll post live updates on &lt;a href="http://google.com/+googlecloudplatform"&gt;Google+&lt;/a&gt; and &lt;a href="http://twitter.com/app_engine"&gt;Twitter&lt;/a&gt;, so be sure to follow us and take part in the conversation.&lt;br /&gt;
&lt;br /&gt;
Until I/O!&lt;br /&gt;
&lt;br /&gt;
-Posted by Zafir Khan, Product Marketing Manager&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ClPlBl/~4/rrXpBw10nUU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecloudplatform.blogspot.com/feeds/7483874043333410946/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecloudplatform.blogspot.com/2013/05/tune-in-live-to-google-cloud-platform.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/7483874043333410946?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/7483874043333410946?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ClPlBl/~3/rrXpBw10nUU/tune-in-live-to-google-cloud-platform.html" title="Tune in live to Google Cloud Platform at Google I/O 2013" /><author><name>zk</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://googlecloudplatform.blogspot.com/2013/05/tune-in-live-to-google-cloud-platform.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE4HSXw-eyp7ImA9WhBbEUg.&quot;"><id>tag:blogger.com,1999:blog-5589634522109419319.post-840408881999692107</id><published>2013-05-09T19:28:00.004-07:00</published><updated>2013-05-09T19:28:58.253-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-05-09T19:28:58.253-07:00</app:edited><title>Bringing Debian to Google Compute Engine</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
This was an exciting week for the Debian community who &lt;a href="http://www.debian.org/News/2013/20130504"&gt;released&lt;/a&gt; Debian 7.0 “wheezy” that brings big improvements including hardened security, improved 32/64-bit compatibility and addresses a lot of community feedback.  Today we’re adding Debian images for &lt;a href="https://cloud.google.com/products/compute-engine"&gt;Google Compute Engine&lt;/a&gt;.  Debian, in collaboration with us, is providing images for both Debian 7.0 “wheezy” and the previous stable release, Debian 6.0 “squeeze.”   This support will make it easy for anyone using Debian today to migrate their workloads onto Compute Engine.&lt;br /&gt;
&lt;br /&gt;
For fast performance and to reduce bandwidth costs, Google is hosting a Debian package mirror for use by Google Compute Engine Debian instances. We’ve updated our &lt;a href="https://developers.google.com/compute/docs/images"&gt;docs&lt;/a&gt; and will support Debian via our usual &lt;a href="http://cloud.google.com/support"&gt;support options&lt;/a&gt; or you can also check out what &lt;a href="http://www.debian.org/support"&gt;Debian offers&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
We are continually evaluating other operating systems that we can enable with Compute Engine. However, going forward, Debian will be the default image type for Compute Engine.  We look forward to hearing your feedback.&lt;br /&gt;
&lt;br /&gt;
-Posted by Jimmy Kaplowitz, Site Reliability Engineer and Debian developer&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/ClPlBl/~4/wC7jIbFij6A" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecloudplatform.blogspot.com/feeds/840408881999692107/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecloudplatform.blogspot.com/2013/05/bringing-debian-to-google-compute-engine_9.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/840408881999692107?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/840408881999692107?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ClPlBl/~3/wC7jIbFij6A/bringing-debian-to-google-compute-engine_9.html" title="Bringing Debian to Google Compute Engine" /><author><name>zk</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://googlecloudplatform.blogspot.com/2013/05/bringing-debian-to-google-compute-engine_9.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEAHQH4-fSp7ImA9WhBbFk0.&quot;"><id>tag:blogger.com,1999:blog-5589634522109419319.post-8749172355891829487</id><published>2013-05-09T19:26:00.000-07:00</published><updated>2013-05-15T01:32:11.055-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-05-15T01:32:11.055-07:00</app:edited><title>Automatically Process Cloud Storage Uploads with Change Notifications</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Do your customers upload files to &lt;a href="https://cloud.google.com/storage"&gt;Google Cloud Storage&lt;/a&gt; for your applications to process? For example, a photo app may want to create thumbnails of new images as soon as they are uploaded. Normally you would have to poll for updated objects which can be a resource waste or cause you to react slowly. Most times writing and deploying custom scripts to trigger your application is cumbersome.&lt;br /&gt;
&lt;br /&gt;
Today, we're releasing &lt;a href="https://developers.google.com/storage/docs/object-change-notification"&gt;object change notification&lt;/a&gt; as a preview feature, allowing you to watch your Google Cloud Storage buckets for new, modified, or deleted objects with a webhook you provide. Now your application can be automatically triggered when an important change happens and start processing data immediately. We've also updated gsutil with a &lt;a href="https://developers.google.com/storage/docs/gsutil/commands/notifyconfig"&gt;notifyconfig&lt;/a&gt; command.  A &lt;a href="https://cloud.google.com/appengine/"&gt;Google App Engine&lt;/a&gt; webhook can be as simple as the following:&lt;br /&gt;
&lt;pre name="code" class="brush: c-sharp;"&gt;class MainPage(webapp2.RequestHandler):
  def post(self):
    resource_state = self.request.headers['X-Goog-Resource-State']
    if resource_state == 'sync':
      # Initial message that the notification channel is active.
      pass
    elif resource_state == ‘exists’:
      an_object = json.loads(self.request.body)
      bucket = an_object['bucket']
      object_name = an_object['name']
      # Take action!
    elif resource_state == ‘not_exists’:
      # Object was deleted.
      pass
&lt;/pre&gt;We're also releasing an &lt;a href="https://developers.google.com/storage/docs/json_api/release_notes#april222013"&gt;update&lt;/a&gt; to the &lt;a href="https://developers.google.com/storage/docs/json_api/v1"&gt;Google Cloud Storage JSON API&lt;/a&gt;, bringing it into parity with our existing XML API, including exposing new methods such as &lt;a href="http://copy/"&gt;Copy&lt;/a&gt; and &lt;a href="https://developers.google.com/storage/docs/json_api/v1/objects/compose"&gt;Compose&lt;/a&gt;. As a part of this release, we are making the API available to everyone without requiring an invitation.&lt;br /&gt;
&lt;br /&gt;
Enjoy, and as always, we watch &lt;a href="http://stackoverflow.com/questions/tagged/google-cloud-storage"&gt;StackOverflow&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
- Posted by Dave Barth, Product Manager&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ClPlBl/~4/hM-yY3LTNhY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecloudplatform.blogspot.com/feeds/8749172355891829487/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecloudplatform.blogspot.com/2013/05/automatically-process-cloud-storage_9.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/8749172355891829487?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/8749172355891829487?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ClPlBl/~3/hM-yY3LTNhY/automatically-process-cloud-storage_9.html" title="Automatically Process Cloud Storage Uploads with Change Notifications" /><author><name>zk</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://googlecloudplatform.blogspot.com/2013/05/automatically-process-cloud-storage_9.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEECQHs7fyp7ImA9WhBWFUo.&quot;"><id>tag:blogger.com,1999:blog-5589634522109419319.post-1717381696115723382</id><published>2013-04-09T13:25:00.000-07:00</published><updated>2013-04-09T23:51:01.507-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-04-09T23:51:01.507-07:00</app:edited><title>App Engine 1.7.7 Released</title><content type="html">&lt;b style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b id="internal-source-marker_0.01894257264211774" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;3 weeks following our last release, the App Engine team is happy to announce 1.7.7. &amp;nbsp;We plan to deliver our &lt;/span&gt;&lt;a href="https://developers.google.com/events/io/" style="text-decoration: none;"&gt;&lt;span style="background-color: white; color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;Google I/O&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt; release next month. &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="font-family: inherit;"&gt;&lt;b style="font-weight: normal;"&gt;&lt;span style="background-color: white; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"&gt;Outbound sockets moved to Preview&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b style="font-family: inherit; font-weight: normal;"&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;Outbound sockets is now in preview in this release for &lt;/span&gt;&lt;a href="https://developers.google.com/appengine/docs/java/sockets/overview" style="text-decoration: none;"&gt;&lt;span style="background-color: white; color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;Java&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt; and &lt;/span&gt;&lt;a href="https://developers.google.com/appengine/docs/python/sockets/overview" style="text-decoration: none;"&gt;&lt;span style="background-color: white; color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;Python&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;. &amp;nbsp;With outbound sockets, billing-enabled App Engine applications can now make outbound connections with TCP or UDP sockets. &amp;nbsp;This allows developers to build applications that weren’t previously possible on App Engine, such as IMAP or DNS clients. &lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;span style="font-family: inherit;"&gt;&lt;b style="font-weight: normal;"&gt; &lt;/b&gt;&lt;b style="font-weight: normal;"&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="font-family: inherit;"&gt;&lt;b style="font-weight: normal;"&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;In the Python runtime, we’ve &lt;/span&gt;&lt;a href="https://developers.google.com/appengine/docs/python/sockets/ssl_support" style="text-decoration: none;"&gt;&lt;span style="background-color: white; color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;added support for the Python SSL Library&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;, so you can now open secure connections to remote services such as Apple’s Push Notification service. Similarly, Java developers can now use the &lt;/span&gt;&lt;a href="http://docs.oracle.com/javase/7/docs/api/javax/net/ssl/package-summary.html" style="text-decoration: none;"&gt;&lt;span style="background-color: white; color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;javax.net.ssl&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt; package to make outbound SSL connections.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style="font-family: inherit;"&gt;&lt;b style="font-weight: normal;"&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="font-family: inherit;"&gt;&lt;b style="font-weight: normal;"&gt;&lt;span style="background-color: white; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"&gt;Java 7 runtime upgraded to General Availability &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="font-family: inherit;"&gt;&lt;b style="font-weight: normal;"&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;The App Engine team is committed to quickly releasing features to General Availability. &amp;nbsp;You may recall we announced that the Java 7 runtime was in preview &lt;/span&gt;&lt;a href="http://googleappengine.blogspot.com/2013/02/java-7-and-cloud-endpoints-preview.html" style="text-decoration: none;"&gt;&lt;span style="background-color: white; color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;just 2 months ago&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;. &amp;nbsp;Since then we have seen 200% adoption week over week, and today are happy to announce the General Availability of the runtime. &amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="font-family: inherit;"&gt;&lt;b style="font-weight: normal;"&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style="font-family: inherit;"&gt;&lt;b style="font-weight: normal;"&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;In order to help developers move over, all app deployments initiated using the new 1.7.7 SDK will use Java 7 unless you explicitly opt out with a command line flag. &amp;nbsp;In the near future, we plan to automatically update all existing Java 6 applications to Java 7. &amp;nbsp;Most applications shouldn’t be affected by this change, but we encourage you to start testing your application in advance. &amp;nbsp;For more compatibility information, we suggest that you check out the &lt;/span&gt;&lt;a href="http://www.oracle.com/technetwork/java/javase/compatibility-417013.html" style="text-decoration: none;"&gt;&lt;span style="background-color: white; color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;Java SE 7 and JDK 7 Compatibility notes&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;.&lt;/span&gt;&lt;/div&gt;
&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;/div&gt;
&lt;/b&gt;&lt;b style="font-weight: normal;"&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="background-color: white; color: #222222; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"&gt;Google App Engine Maven Plugin&lt;/span&gt;&lt;/div&gt;
&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="background-color: white; color: #222222; vertical-align: baseline; white-space: pre-wrap;"&gt;The &lt;/span&gt;&lt;a href="https://developers.google.com/appengine/docs/java/tools/maven" style="text-decoration: none;"&gt;&lt;span style="background-color: white; color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;Google App Engine Maven plugin&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; color: #222222; vertical-align: baseline; white-space: pre-wrap;"&gt; has been updated to support new goals: now you can directly enhance Datanucleus classes, and generate &lt;/span&gt;&lt;a href="https://developers.google.com/appengine/docs/java/endpoints/overview" style="text-decoration: none;"&gt;&lt;span style="background-color: white; color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;Google Cloud Endpoints&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; color: #222222; vertical-align: baseline; white-space: pre-wrap;"&gt; service discovery and client libraries. &lt;/span&gt;&lt;/div&gt;
&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="background-color: white; color: #222222; vertical-align: baseline; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;/div&gt;
&lt;/b&gt;&lt;b style="font-weight: normal;"&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="background-color: white; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"&gt;Improving the developer experience - goodbye $2.10!&lt;/span&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;We’re happy to announce that billing-enabled applications will no longer be required to spend a minimum of $2.10 per week. This means that you can enable billing for a free tier application and continue running within the free tier without concern that a spike in traffic will terminate serving (note that you can always specify a daily dollar budget). The minimum spend was originally intended to prevent abuse and ensure that we can offer a stable, reliable system with a free tier. &amp;nbsp;We have determined that we can continue to support the free tier, without relying on the minimum spend. &amp;nbsp;So, goodbye $2.10!&lt;/span&gt;&lt;/div&gt;
&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;/div&gt;
&lt;/b&gt;&lt;b style="font-weight: normal;"&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="background-color: white; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"&gt;Cloud SDK Preview&lt;/span&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;In our continuing effort to make developers’ lives easier, we are happy to share with you a preview release of the &lt;/span&gt;&lt;a href="https://developers.google.com/cloud/sdk/" style="text-decoration: none;"&gt;&lt;span style="background-color: white; color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;Google Cloud SDK&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt; which includes everything from the App Engine SDKs for Java, Python or Go as well as all the tools needed to target &lt;/span&gt;&lt;a href="https://cloud.google.com/products/compute-engine" style="text-decoration: none;"&gt;&lt;span style="background-color: white; color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;Google Compute Engine&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;, &lt;/span&gt;&lt;a href="https://cloud.google.com/products/cloud-sql" style="text-decoration: none;"&gt;&lt;span style="background-color: white; color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;Google Cloud SQL&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;, &lt;/span&gt;&lt;a href="https://cloud.google.com/products/cloud-storage" style="text-decoration: none;"&gt;&lt;span style="background-color: white; color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;Google Cloud Storage&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt; and &lt;/span&gt;&lt;a href="https://cloud.google.com/products/big-query" style="text-decoration: none;"&gt;&lt;span style="background-color: white; color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;Google BigQuery&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt; in one easy-to-use package. &amp;nbsp;Please try it out; we are eager to hear your feedback.&lt;/span&gt;&lt;/div&gt;
&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;/div&gt;
&lt;/b&gt;&lt;b style="font-weight: normal;"&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="background-color: white; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"&gt;A note on reliability improvements&lt;/span&gt;&lt;/div&gt;
&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;A key benefit of running on a managed service like App Engine is the changes that occur behind the scenes that automatically improve the performance of your applications. &amp;nbsp;In just the past two months, we’ve made many such improvements:&lt;/span&gt;&lt;/div&gt;
&lt;/b&gt;&lt;b style="font-weight: normal;"&gt;&lt;ul style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;li dir="ltr" style="background-color: white; list-style-type: disc; vertical-align: baseline;"&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;Faster and more consistent deployments. &amp;nbsp;Many customers are seeing up to 10x reductions in time to deploy a new application version.&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li dir="ltr" style="background-color: white; list-style-type: disc; vertical-align: baseline;"&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;We have fully deployed an entirely new scheduler system which autoscales applications more smoothly and efficiently.&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/b&gt;&lt;b style="font-weight: normal;"&gt;&lt;ul style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;li dir="ltr" style="background-color: white; color: #333333; list-style-type: disc; vertical-align: baseline;"&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="color: #222222; vertical-align: baseline; white-space: pre-wrap;"&gt;Admin console dashboard charts and current load/error reports have moved to a new, more reliable backend&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li dir="ltr" style="background-color: white; color: #333333; list-style-type: disc; vertical-align: baseline;"&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="color: #222222; vertical-align: baseline; white-space: pre-wrap;"&gt;The release version of App Engine is now visible in the Admin Console and in request logs&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li dir="ltr" style="background-color: white; color: #333333; list-style-type: disc; vertical-align: baseline;"&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="color: #222222; vertical-align: baseline; white-space: pre-wrap;"&gt;Several stability and scheduling improvements to Task Queue&lt;/span&gt;&lt;span style="color: black; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="color: #222222; vertical-align: baseline; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/b&gt;&lt;b style="font-weight: normal;"&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;The complete list of features and bug fixes for 1.7.7 can be found in our&lt;/span&gt;&lt;span style="background-color: white; color: black; vertical-align: baseline; white-space: pre-wrap;"&gt; &lt;a href="http://code.google.com/p/googleappengine/w/list"&gt;release notes&lt;/a&gt;&lt;/span&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;. For App Engine coding questions and answers check us out on&lt;/span&gt;&lt;span style="background-color: white; color: black; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;span style="background-color: white; color: black; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;a href="http://stackoverflow.com/questions/tagged/google-app-engine"&gt;Stack Overflow&lt;/a&gt;&lt;/span&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;, and for general discussion and feedback, find us on our&lt;/span&gt;&lt;span style="background-color: white; color: black; vertical-align: baseline; white-space: pre-wrap;"&gt; &lt;a href="https://groups.google.com/forum/?fromgroups#!forum/google-appengine"&gt;Google Group&lt;/a&gt;&lt;/span&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;. &lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;div dir="ltr" style="display: inline !important; margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;div style="display: inline !important;"&gt;
&lt;b style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="background-color: white; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"&gt;- &lt;/span&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;Posted by Chris Ramsdale, Product Manager&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/b&gt;&lt;/span&gt;&lt;b style="font-weight: normal;"&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="background-color: white; font-family: Arial; font-size: 13px; text-decoration: line-through; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="background-color: white; font-family: Arial; font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;/b&gt;&lt;img src="http://feeds.feedburner.com/~r/ClPlBl/~4/tGwW0sk84KA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecloudplatform.blogspot.com/feeds/1717381696115723382/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecloudplatform.blogspot.com/2013/04/app-engine-177-released_9.html#comment-form" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/1717381696115723382?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/1717381696115723382?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ClPlBl/~3/tGwW0sk84KA/app-engine-177-released_9.html" title="App Engine 1.7.7 Released" /><author><name>Emily Wood</name><uri>https://plus.google.com/112374322230920073195</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>4</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://googlecloudplatform.blogspot.com/2013/04/app-engine-177-released_9.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEEERX08fCp7ImA9WhBWFU8.&quot;"><id>tag:blogger.com,1999:blog-5589634522109419319.post-8742332091442897426</id><published>2013-04-09T09:56:00.001-07:00</published><updated>2013-04-09T09:56:44.374-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-04-09T09:56:44.374-07:00</app:edited><title>Python 2.5, thanks for the good times</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;b id="internal-source-marker_0.549146625213325" style="font-family: inherit; font-weight: normal;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;Python 2.5 has a special place in the heart of any &lt;a href="https://cloud.google.com/products/"&gt;Google App Engine&lt;/a&gt; developer, as it was the first runtime we launched way back in 2008. Since then, both Python and App Engine have advanced a great deal. &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style="font-family: inherit;"&gt;&lt;b id="internal-source-marker_0.549146625213325" style="font-weight: normal;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;A year ago we &lt;a href="http://googleappengine.blogspot.com/2012/02/announcing-general-availability-of.html"&gt;announced&lt;/a&gt; our support for Python 2.7, which brings syntactic and semantic improvements to the language and includes powerful features like threading and a large selection of third-party libraries.&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;Not only does Python 2.7 make developers’ lives easier, the runtime is extremely cost-effective. Our customers have taken advantage of features like concurrent requests to &lt;/span&gt;&lt;a href="http://googleappengine.blogspot.com.au/2012/11/upgrading-to-python-27-simple-and.html"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;reduce their front-end instance costs by more than 70%&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt; while handling the same amount of traffic.&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;Not surprisingly, the Python 2.7 runtime has proven to be extremely popular. Just over a year after launch, more than 78% of active Python applications on App Engine are using the new runtime, and more are being added every minute.&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;As both Python and App Engine evolve, we must occasionally make hard choices about which legacy runtimes we should continue to support. Today we are announcing the deprecation of the Python 2.5 runtime. The deprecation period will follow the guidelines set in our &lt;/span&gt;&lt;a href="https://developers.google.com/appengine/terms#Deprecation"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;terms of service&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;What does this mean?&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;ul style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"&gt;&lt;b id="internal-source-marker_0.549146625213325" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;We will continue to run Python 2.5 applications throughout the deprecation period. For most customers, upgrading to Python 2.7 is trivial as most elements of Python 2.5 are forwards-compatible with Python 2.7. We’ve &lt;/span&gt;&lt;a href="https://developers.google.com/appengine/docs/python/python25/migrate27"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;prepared a handy migration guide&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt; that covers the steps to migrate in detail.&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"&gt;&lt;b id="internal-source-marker_0.549146625213325" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;If your application is still using the already deprecated &lt;/span&gt;&lt;a href="https://developers.google.com/appengine/docs/python/datastore/usingmasterslave"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;Master/Slave Datastore&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;, then you should first plan the migration to our more reliable &lt;/span&gt;&lt;a href="https://developers.google.com/appengine/docs/adminconsole/migration"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;High Replication Datastore&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;, as the Master/Slave Datastore is not accessible from Python 2.7.&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"&gt;&lt;b id="internal-source-marker_0.549146625213325" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit; vertical-align: baseline; white-space: pre-wrap;"&gt;Future versions of the App Engine Python Development SDK will display warnings to developers deploying updates to a deprecated runtime.&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"&gt;&lt;b id="internal-source-marker_0.549146625213325" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;Starting from January 2014, we will no longer allow new applications to be created using the Python 2.5 runtime.&lt;/span&gt;&lt;span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;b id="internal-source-marker_0.549146625213325" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;We encourage all developers using Python 2.5 to consider migrating as soon as possible. We’re confident that the vast majority of our customers will find the upgrade straightforward and the benefits substantial&lt;/span&gt;&lt;span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"&gt;.&lt;/span&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;If you’re considering migrating, here are some useful resources:&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;ul style="margin-bottom: 0pt; margin-top: 0pt;"&gt;&lt;b id="internal-source-marker_0.549146625213325" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;
&lt;li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"&gt;&lt;a href="https://developers.google.com/appengine/docs/python/python25/diff27"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;Our summary of the new features&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt; we’ve introduced in Python 2.7 including additional standard libraries and third-party libraries that are supported.&lt;/span&gt;&lt;/li&gt;
&lt;li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"&gt;&lt;a href="https://developers.google.com/appengine/docs/python/python25/migrate27"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;A handy migration guide&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;, explaining the steps to move a Python 2.5 app to Python 2.7&lt;/span&gt;&lt;/li&gt;
&lt;li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;App Engine engineers give an&lt;/span&gt;&lt;a href="https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=VPHHlnyoGfk#!"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt; in-depth discussion during Google I/O&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt; on the many improvements in Python 2.7, and how to quickly take advantage of them.&lt;/span&gt;&lt;/li&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/ul&gt;
&lt;b id="internal-source-marker_0.549146625213325" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;If you have any questions about this deprecation, we encourage you to contact us at &lt;/span&gt;&lt;a href="mailto:google-appengine-python25-deprecation@googlegroups.com"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;google-appengine-python25-deprecation@googlegroups.com&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;-Posted by Andrew Jessup, Product Manager&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/ClPlBl/~4/Dl--9vwgU90" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecloudplatform.blogspot.com/feeds/8742332091442897426/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecloudplatform.blogspot.com/2013/04/python-25-thanks-for-good-times.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/8742332091442897426?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/8742332091442897426?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ClPlBl/~3/Dl--9vwgU90/python-25-thanks-for-good-times.html" title="Python 2.5, thanks for the good times" /><author><name>zk</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://googlecloudplatform.blogspot.com/2013/04/python-25-thanks-for-good-times.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEECQHs6cSp7ImA9WhBWFUo.&quot;"><id>tag:blogger.com,1999:blog-5589634522109419319.post-1111410135246756137</id><published>2013-04-04T10:17:00.000-07:00</published><updated>2013-04-09T23:51:01.519-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-04-09T23:51:01.519-07:00</app:edited><title>Google Compute Engine - Expanded Availability, New Features, and Lower Prices</title><content type="html">&lt;b id="internal-source-marker_0.5432888728100806" style="font-weight: normal;"&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;b style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;i&gt;Cross-posted with the &lt;a href="http://googledevelopers.blogspot.com/2013/04/google-compute-engine-expanded.html"&gt;Google Developers Blog&lt;/a&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;b style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;b id="internal-source-marker_0.5432888728100806" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;Starting today, &lt;/span&gt;&lt;span style="background-color: white; color: black; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;a href="http://developers.google.com/compute"&gt;Google Compute Engine&lt;/a&gt;&lt;/span&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt; is &lt;a href="http://developers.google.com/compute/docs/signup"&gt;available&lt;/a&gt; to all customers who &lt;/span&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;s&lt;/span&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;ign up&lt;/span&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt; for our &lt;/span&gt;&lt;span style="background-color: white; color: black; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;a href="https://cloud.google.com/support/packages"&gt;Gold Support package&lt;/a&gt;&lt;/span&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;. We’re also happy to announce a 4% reduction on all &lt;/span&gt;&lt;a href="https://cloud.google.com/pricing/compute-engine" style="text-decoration: none;"&gt;&lt;span style="background-color: white; color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;Compute Engine pricing&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;b id="internal-source-marker_0.5432888728100806" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;In the nine months since announcing Compute Engine, customers have been using Google’s Infrastructure as a Service product and giving us valuable feedback. Sebastian Stadil of Scalr wrote, in a &lt;/span&gt;&lt;a href="http://gigaom.com/2013/03/15/by-the-numbers-how-google-compute-engine-stacks-up-to-amazon-ec2/" style="text-decoration: none;"&gt;&lt;span style="color: black; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;recent review&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;"&gt;
&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;“Google Compute Engine is not just fast. It’s Google fast. In fact, it’s a class of fast that enables new service architectures entirely.”&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;We’re happy to hear that, because one of our main goals in building Compute Engine is to enable a new generation of applications with direct access to the capabilities of Google’s vast computing infrastructure. &lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;b id="internal-source-marker_0.5432888728100806" style="font-weight: normal; line-height: normal;"&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;b id="internal-source-marker_0.5432888728100806" style="font-weight: normal; line-height: normal;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;Based on user feedback, we’ve added a number of major features including:&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;b id="internal-source-marker_0.5432888728100806" style="font-weight: normal; line-height: normal;"&gt;&lt;br /&gt;&lt;ul style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;li dir="ltr" style="background-color: white; color: #222222; list-style-type: disc; vertical-align: baseline;"&gt;&lt;div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;The option to boot from &lt;/span&gt;&lt;a href="https://developers.google.com/compute/docs/disks#rootfrompd" style="text-decoration: none;"&gt;&lt;span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;persistent disks&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt; mounted as the root file system, &lt;/span&gt;&lt;a href="https://developers.google.com/compute/docs/disks#snapshots" style="text-decoration: none;"&gt;&lt;span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;persistent disk snapshots&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;, the ability to checkpoint and restore the contents of network resident persistent disks on demand, and the ability to &lt;/span&gt;&lt;a href="https://developers.google.com/compute/docs/disks#attachdiskrunninginstance" style="text-decoration: none;"&gt;&lt;span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;attach and detach persistent disks&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt; from running instances.&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;&lt;ul style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;li dir="ltr" style="background-color: white; color: #222222; list-style-type: disc; vertical-align: baseline;"&gt;&lt;div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="background-color: transparent; color: black; vertical-align: baseline; white-space: pre-wrap;"&gt;An improved administration console, the &lt;/span&gt;&lt;span style="background-color: transparent; color: black; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;a href="http://cloud.google.com/console"&gt;Google Cloud Console&lt;/a&gt;&lt;/span&gt;&lt;span style="background-color: transparent; color: black; vertical-align: baseline; white-space: pre-wrap;"&gt; (preview), which allows you to administer all your Google Cloud Platform services via a unified interface. &lt;/span&gt;&lt;/div&gt;
&lt;div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="background-color: transparent; color: black; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-0LlDFGw8GGs/UV2vaB5EWMI/AAAAAAAAARA/LfALGv4eCF0/s1600/image2+(1).png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-0LlDFGw8GGs/UV2vaB5EWMI/AAAAAAAAARA/LfALGv4eCF0/s1600/image2+(1).png" height="310" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Screenshot of new Cloud Console in action&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: inherit;"&gt;&lt;b id="internal-source-marker_0.5432888728100806" style="font-weight: normal;"&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;ul style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;li dir="ltr" style="background-color: white; color: #222222; list-style-type: disc; vertical-align: baseline;"&gt;&lt;div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;b id="internal-source-marker_0.5432888728100806" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="color: black; vertical-align: baseline; white-space: pre-wrap;"&gt;Five new &lt;/span&gt;&lt;a href="https://developers.google.com/compute/docs/instances" style="text-decoration: none;"&gt;&lt;span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;instance&lt;/span&gt;&lt;/a&gt;&lt;span style="color: black; vertical-align: baseline; white-space: pre-wrap;"&gt; type familie&lt;/span&gt;&lt;span style="background-color: transparent; color: black; vertical-align: baseline; white-space: pre-wrap;"&gt;s (diskless versions of our standard instance types, plus diskful and diskless versions of high-memory and high-cpu configurations), w&lt;/span&gt;&lt;span style="color: black; vertical-align: baseline; white-space: pre-wrap;"&gt;ith 16 new instance types.&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;b id="internal-source-marker_0.5432888728100806" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;li dir="ltr" style="background-color: white; color: #222222; list-style-type: disc; vertical-align: baseline;"&gt;&lt;div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="font-family: inherit;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;Two new supported &lt;/span&gt;&lt;a href="https://developers.google.com/compute/docs/zones" style="text-decoration: none;"&gt;&lt;span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;zones&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt; in Europe, which provide lower latency and higher performance for our European customers. We’ve also made it easy to migrate virtual machine instances from one zone to another via an enhancement to our &lt;/span&gt;&lt;a href="https://developers.google.com/compute/docs/gcutil/" style="text-decoration: none;"&gt;&lt;span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;gcutil command line tool&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #222222; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;li dir="ltr" style="background-color: white; color: #222222; list-style-type: disc; vertical-align: baseline;"&gt;&lt;div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="font-family: inherit;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;An &lt;/span&gt;&lt;a href="https://developers.google.com/compute/docs/metadata?hl=en" style="text-decoration: none;"&gt;&lt;span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;enhanced metadata server&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;, with the ability to support recursive queries, blocking gets and selectable response formats, along with support for updating virtual machine &lt;/span&gt;&lt;a href="https://developers.google.com/compute/docs/instances#tags" style="text-decoration: none;"&gt;&lt;span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;tags&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt; and &lt;/span&gt;&lt;a href="https://developers.google.com/compute/docs/metadata?hl=en" style="text-decoration: none;"&gt;&lt;span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;metadata&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt; on running instances (which enables dynamic reconfiguration scenarios).&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="font-family: inherit;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;While we've been hard at work developing new features, we've also had the opportunity to play. Check out the amazing &lt;/span&gt;&lt;a href="http://www.chrome.com/maze/" style="text-decoration: none;"&gt;&lt;span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;World Wide Maze Chrome Experiment&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;, developed by the Chrome team in Japan. This game converts any web site of your choice into an interactive, three dimensional maze, navigated remotely via your smartphone. Compute Engine virtual machines run Node.js to manage the game state and synchronization with the mobile device, while Google App Engine hosts the game’s web UI. This application provides an excellent example of the new kinds of rich, high performance back end services enabled by Google Cloud Platform.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;span style="font-family: inherit;"&gt;With today’s announcement, we look forward to welcoming many new customers, and bringing exciting new applications to Google Cloud Platform!&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;span style="font-family: inherit;"&gt;-Posted by Marc Cohen, Developer Relations&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/b&gt;&lt;img src="http://feeds.feedburner.com/~r/ClPlBl/~4/Ho36Lcjy4YY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecloudplatform.blogspot.com/feeds/1111410135246756137/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecloudplatform.blogspot.com/2013/04/google-compute-engine-expanded.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/1111410135246756137?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/1111410135246756137?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ClPlBl/~3/Ho36Lcjy4YY/google-compute-engine-expanded.html" title="Google Compute Engine - Expanded Availability, New Features, and Lower Prices" /><author><name>Emily Wood</name><uri>https://plus.google.com/112374322230920073195</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-0LlDFGw8GGs/UV2vaB5EWMI/AAAAAAAAARA/LfALGv4eCF0/s72-c/image2+(1).png" height="72" width="72" /><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://googlecloudplatform.blogspot.com/2013/04/google-compute-engine-expanded.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEECQHs5cSp7ImA9WhBWFUo.&quot;"><id>tag:blogger.com,1999:blog-5589634522109419319.post-212113318283846976</id><published>2013-04-02T07:17:00.000-07:00</published><updated>2013-04-09T23:51:01.529-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-04-09T23:51:01.529-07:00</app:edited><title>Integrate Voice and SMS with Twilio on Google Cloud Platform</title><content type="html">&lt;b id="internal-source-marker_0.2594573206733912" style="font-weight: normal;"&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;b id="internal-source-marker_0.2594573206733912" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;Have you ever wanted to integrate SMS or voice communications into your app? We’ve been working with our friends over at &lt;/span&gt;&lt;a href="http://www.twilio.com/blog/2013/04/twilio-and-google-app-engine.html" style="text-decoration: none;"&gt;&lt;span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;Twilio&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt; to make it easier to do so. Today we’re announcing &lt;/span&gt;&lt;a href="https://developers.google.com/appengine/articles/twilio" style="text-decoration: none;"&gt;&lt;span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;native Python and Java libraries&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt; for working with Twilio APIs onto Google Cloud Platform.&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b id="internal-source-marker_0.2594573206733912" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;Lots of apps on App Engine have already been built with phone functionality. Check out the sample code for a &lt;/span&gt;&lt;a href="https://gist.github.com/kwhinnery/5185303" style="text-decoration: none;"&gt;&lt;span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;group messaging app&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt; and the sample code for an &lt;/span&gt;&lt;a href="https://github.com/dsshafer/phoneduty" style="text-decoration: none;"&gt;&lt;span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;app that dispatches voicemails and SMS messages to PagerDuty&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;. Learn how to &lt;/span&gt;&lt;a href="http://www.twilio.com/blog/2013/03/send-business-cards-via-sms-with-twilio-and-google-app-engine.html" style="text-decoration: none;"&gt;&lt;span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;send business cards via sms through this step by step guide&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;. &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;br /&gt;
&lt;b id="internal-source-marker_0.2594573206733912" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;You can start building voice and SMS features into your App Engine apps today. Together with Twilio, we’ll help you get started with &lt;/span&gt;&lt;a href="http://ahoy.twilio.com/appengine" style="text-decoration: none;"&gt;&lt;span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;2,000 free text message or voice minutes&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; white-space: normal;"&gt;
&lt;b id="internal-source-marker_0.2594573206733912" style="font-weight: normal;"&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;b id="internal-source-marker_0.2594573206733912" style="font-weight: normal;"&gt;&lt;span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;span style="font-family: inherit;"&gt;Ready to get started?&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;ol style="margin-bottom: 0pt; margin-top: 0pt; white-space: normal;"&gt;
&lt;li dir="ltr" style="list-style-type: decimal; vertical-align: baseline;"&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;b id="internal-source-marker_0.2594573206733912" style="font-weight: normal;"&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;b id="internal-source-marker_0.2594573206733912" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;a href="https://cloud.google.com/products?utm_source=appengine&amp;amp;utm_medium=blog&amp;amp;utm_campaign=twilio-integration" style="text-decoration: none;"&gt;&lt;span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;Sign up&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt; for App Engine.&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;b id="internal-source-marker_0.2594573206733912" style="font-weight: normal;"&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;b id="internal-source-marker_0.2594573206733912" style="font-weight: normal;"&gt;
&lt;li dir="ltr" style="list-style-type: decimal; vertical-align: baseline;"&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="font-family: inherit;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;Get your &lt;/span&gt;&lt;a href="http://ahoy.twilio.com/appengine" style="text-decoration: none;"&gt;&lt;span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;Twilio account&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt; and 2,000 free text message or voice minutes.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li dir="ltr" style="list-style-type: decimal; vertical-align: baseline;"&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="font-family: inherit;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;Check out our guide on &lt;/span&gt;&lt;a href="https://developers.google.com/appengine/articles/twilio" style="text-decoration: none;"&gt;&lt;span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;how to integrate Twilio services into your app&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/ol&gt;
&lt;b id="internal-source-marker_0.2594573206733912" style="font-weight: normal;"&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;b id="internal-source-marker_0.2594573206733912" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt; &lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt; &lt;br /&gt;
&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;div style="white-space: normal;"&gt;
&lt;b id="internal-source-marker_0.2594573206733912" style="font-weight: normal;"&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;b id="internal-source-marker_0.2594573206733912" style="font-weight: normal;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;span style="font-family: inherit;"&gt;Here’s a quick peek at how easy it can be to send a text message from App Engine using Python. After installing the Twilio library, it just takes a few lines of code to send an SMS.&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b style="font-weight: normal;"&gt;&lt;span style="vertical-align: baseline;"&gt;&lt;b style="font-weight: normal;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;
&lt;script src="https://gist.github.com/robertdo/5267494.js"&gt;&lt;/script&gt;&lt;/div&gt;
&lt;div style="white-space: normal;"&gt;
&lt;span style="font-family: inherit; white-space: pre-wrap;"&gt;-Posted by Robert Do, Product Marketing Manager&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/ClPlBl/~4/es73KkzshPs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecloudplatform.blogspot.com/feeds/212113318283846976/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecloudplatform.blogspot.com/2013/04/integrate-voice-and-sms-with-twilio-on.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/212113318283846976?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/212113318283846976?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ClPlBl/~3/es73KkzshPs/integrate-voice-and-sms-with-twilio-on.html" title="Integrate Voice and SMS with Twilio on Google Cloud Platform" /><author><name>Emily Wood</name><uri>https://plus.google.com/112374322230920073195</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>2</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://googlecloudplatform.blogspot.com/2013/04/integrate-voice-and-sms-with-twilio-on.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEECQHs4cSp7ImA9WhBWFUo.&quot;"><id>tag:blogger.com,1999:blog-5589634522109419319.post-7085740429751345598</id><published>2013-03-27T10:28:00.000-07:00</published><updated>2013-04-09T23:51:01.539-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-04-09T23:51:01.539-07:00</app:edited><title>Education Awards on Google App Engine</title><content type="html">&lt;span style="font-family: inherit;"&gt;&lt;span style="font-size: small;"&gt;&lt;b id="internal-source-marker_0.2596499817445874" style="color: black; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="font-size: small;"&gt;&lt;b id="internal-source-marker_0.2596499817445874" style="color: black; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Last year we&lt;/span&gt;&lt;a href="http://googleresearch.blogspot.com/2012/07/education-in-cloud.html" style="text-decoration: none;"&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;span style="background-color: transparent; color: #1155cc; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;invited&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; proposals for innovative projects built on Google’s infrastructure. Today we are pleased to announce the 11 recipients of a&lt;/span&gt;&lt;a href="http://research.google.com/university/relations/appengine/education_awards.html" style="text-decoration: none;"&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;span style="background-color: transparent; color: #1155cc; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;Google App Engine Education Award&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;. Professors and their students are using the award in cloud computing courses to study databases, distributed systems, web mashups and to build educational applications. Each selected project received $1000 in Google App Engine credits.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="font-size: small;"&gt;&lt;b id="internal-source-marker_0.2596499817445874" style="color: black; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Awarding computational resources to classroom projects is always gratifying. It is impressive to see the creative ideas students and educators bring to these programs.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="font-size: small;"&gt;&lt;b id="internal-source-marker_0.2596499817445874" style="color: black; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Below is a brief introduction to each project. Congratulations to the recipients!&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style="font-size: small;"&gt;&lt;b id="internal-source-marker_0.2596499817445874" style="color: black; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;a href="http://myweb.lmu.edu/dondi/" style="text-decoration: none;"&gt;&lt;span style="background-color: transparent; color: #1155cc; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;John David N. Dionisio&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;, &lt;/span&gt;&lt;span style="background-color: white; color: #222222; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Loyola Marymount University&lt;/span&gt;&lt;/div&gt;
&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Project description&lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;: The objective of this &lt;/span&gt;&lt;span style="background-color: white; color: #222222; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;undergraduate database systems course is for students to implement one database application in two technology stacks, a traditional relational database and on Google App Engine. Students are asked to study both models and provide concrete comparison points.&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;&lt;span style="background-color: white; color: #222222; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;a href="http://www.csc.ncsu.edu/faculty/gu/" style="text-decoration: none;"&gt;&lt;span style="background-color: white; color: #1155cc; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;Xiaohui (Helen) Gu&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; color: black; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;, North Carolina State University&lt;/span&gt;&lt;/div&gt;
&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Project description&lt;/span&gt;&lt;span style="background-color: white; color: black; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;:&lt;/span&gt;&lt;a href="http://courses.ncsu.edu/csc724/lec/001/" style="text-decoration: none;"&gt;&lt;span style="background-color: white; color: black; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;span style="background-color: white; color: #1155cc; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;Advanced Distributed Systems Class&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="background-color: white; color: #222222; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;The goal of the project is to allow the students to learn distributed system concepts by developing real distributed system management systems and testing them on real world cloud computing infrastructures such as Google App Engine.&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;&lt;span style="background-color: white; color: #222222; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;a href="http://cs.brown.edu/~sk/" style="text-decoration: none;"&gt;&lt;span style="background-color: white; color: #1155cc; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;Shriram Krishnamurthi&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; color: black; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;, Brown University&lt;/span&gt;&lt;/div&gt;
&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Project description:&lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&lt;/span&gt;&lt;a href="http://www.wescheme.org/" style="text-decoration: none;"&gt;&lt;span style="background-color: white; color: #1155cc; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;WeScheme&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; color: #222222; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; is a programming environment that runs in the Web browser and supports interactive development. &lt;/span&gt;&lt;span style="background-color: white; color: black; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;WeScheme uses App Engine to handle user accounts, serverside compilation, and file management.&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;&lt;span style="background-color: white; color: black; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;a href="http://www.cs.utah.edu/~lifeifei/" style="text-decoration: none;"&gt;&lt;span style="background-color: white; color: #1155cc; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;Feifei Li&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; color: black; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;, University of Utah&lt;/span&gt;&lt;/div&gt;
&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="background-color: white; color: black; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Project description:&lt;/span&gt;&lt;span style="background-color: white; color: black; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;span style="background-color: white; color: #222222; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;A graduate-level course that will be offered in Fall 2013 on the design and implementation of large data management system kernels. &amp;nbsp;The objective is to integrate features from a relational database engine with some of the new features from NoSQL systems to enable efficient and scalable data management over a cluster of commodity machines.&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;&lt;span style="background-color: white; color: #222222; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;a href="http://www.iwu.edu/cs/faculty/liffiton.html" style="text-decoration: none;"&gt;&lt;span style="background-color: white; color: #1155cc; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;Mark Liffiton&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; color: black; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;, Illinois Wesleyan University&lt;/span&gt;&lt;/div&gt;
&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="background-color: white; color: black; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Project description:&lt;/span&gt;&lt;span style="background-color: white; color: black; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;span style="background-color: white; color: #222222; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;TeacherTap is a free, simple classroom-response system built on Google App Engine. It lets students give instant, anonymous feedback to teachers about a lecture or discussion from any computer or mobile device with a web browser, facilitating more adaptive class sessions.&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;&lt;span style="background-color: white; color: #222222; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;a href="http://cs.wellesley.edu/~eni/" style="text-decoration: none;"&gt;&lt;span style="background-color: white; color: #1155cc; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;Eni Mustafaraj&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; color: #222222; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;,&lt;/span&gt;&lt;span style="background-color: white; color: black; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; Wellesley College&lt;/span&gt;&lt;/div&gt;
&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Project description:&lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;span style="background-color: white; color: #222222; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Topics in Computer Science: Web Mashups. A CS2 course that combines Google App Engine and MIT App Inventor. Students will learn to build apps with App Inventor to collect data about their life on campus. They will use Google App Engine to build web services and apps to host the data and remix it to create web mashups. Offered in the 2013 Spring semester.&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;&lt;span style="background-color: white; color: #222222; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;a href="http://parashar.rutgers.edu/" style="text-decoration: none;"&gt;&lt;span style="background-color: white; color: #1155cc; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;Manish Parashar&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; color: black; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;, Rutgers University&lt;/span&gt;&lt;/div&gt;
&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="background-color: white; color: #222222; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Project description:&lt;/span&gt;&lt;span style="background-color: white; color: #222222; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; Cloud Computing for Scientific Applications -- Autonomic Cloud Computing teaches students how a hybrid HPC/Grid + Cloud cyber infrastructure can be effectively used to support real-world science and engineering applications. The goal of our efforts is to explore application formulations, Cloud and hybrid HPC/Grid + Cloud infrastructure usage modes that are meaningful for various classes of science and engineering application workflows.&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;&lt;span style="background-color: white; color: #222222; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;a href="http://cs.wellesley.edu/~oshaer/" style="text-decoration: none;"&gt;&lt;span style="background-color: transparent; color: #1155cc; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;Orit Shaer&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;, Wellesley College&lt;/span&gt;&lt;/div&gt;
&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Project description:&lt;/span&gt;&lt;a href="http://cs.wellesley.edu/~hcilab/greentouch.html" style="text-decoration: none;"&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;span style="background-color: transparent; color: #1155cc; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;GreenTouch&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="background-color: white; color: #222222; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;GreenTouch is a collaborative environment that enables novice users to engage in authentic scientific inquiry. It consists of a mobile user interface for capturing data in the field, a web application for data curation in the cloud, and a tabletop user interface for exploratory analysis of heterogeneous data.&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;&lt;span style="background-color: white; color: #222222; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;a href="http://www.soe.umich.edu/people/profile/elliot_soloway/" style="text-decoration: none;"&gt;&lt;span style="background-color: transparent; color: #1155cc; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;Elliot Soloway&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; color: black; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;, &lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;University of Michigan&lt;/span&gt;&lt;/div&gt;
&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Project description:&lt;/span&gt;&lt;span style="background-color: white; color: black; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; WeLearn Mobile Platform: Making Mobile Devices Effective Tools for K-12. The platform &lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;makes mobile devices (Android, iOS, WP8) effective, essential tools for all-the-time, everywhere learning. &lt;/span&gt;&lt;span style="background-color: white; color: black; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&amp;nbsp;WeLearn’s suite of productivity and communication apps enable learners to work collaboratively; WeLearn’s portal, hosted on Google App Engine, enables teachers to send assignments, review, and grade student artifacts. WeLearn is available to educators at no charge.&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;&lt;span style="background-color: white; color: black; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;a href="http://www.harding.edu/white/" style="text-decoration: none;"&gt;&lt;span style="background-color: transparent; color: #1155cc; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;Jonathan White&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;, Harding University&lt;/span&gt;&lt;/div&gt;
&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Project description:&lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;span style="background-color: white; color: #222222; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Teaching Cloud Computing in an &lt;/span&gt;&lt;span style="background-color: white; color: #222222; font-style: italic; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Introduction to Engineering&lt;/span&gt;&lt;span style="background-color: white; color: #222222; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; class for freshmen. &amp;nbsp;We explore how well-designed systems are built to withstand unpredictable stresses, whether that system is a building, a piece of software or even the human body. &amp;nbsp;The grant from Google is allowing us to add an overview of cloud computing as a platform that is robust under diverse loads.&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;&lt;span style="background-color: white; color: #222222; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;a href="http://www.ucmo.edu/math-cs/facstaff/zhong.cfm" style="text-decoration: none;"&gt;&lt;span style="background-color: transparent; color: #1155cc; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;Dr. Jiaofei Zhong&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;, University of Central Missouri&lt;/span&gt;&lt;/div&gt;
&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Project description:&lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; By &lt;/span&gt;&lt;span style="background-color: white; color: #222222; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;building an online Course Management System, students will be able to work on their team projects in the cloud. &amp;nbsp;The system allows instructors and students to manage the course materials, including course syllabus, slides, assignments and tests in the cloud; the tool can be shared with educational institutions worldwide.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: inherit;"&gt;&lt;span style="font-size: small;"&gt;&lt;b id="internal-source-marker_0.2596499817445874" style="color: black; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"&gt;&lt;span style="background-color: white; color: #222222; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;-&lt;/span&gt;&lt;/b&gt;&lt;b id="internal-source-marker_0.2596499817445874" style="color: black; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"&gt;&lt;span style="background-color: white; color: #222222; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;b id="internal-source-marker_0.2596499817445874" style="color: black; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Posted by Andrea Held, Google University Relations&lt;/span&gt;&lt;/b&gt; &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;img src="http://feeds.feedburner.com/~r/ClPlBl/~4/_px9a9hnblo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecloudplatform.blogspot.com/feeds/7085740429751345598/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecloudplatform.blogspot.com/2013/03/education-awards-on-google-app-engine.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/7085740429751345598?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/7085740429751345598?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ClPlBl/~3/_px9a9hnblo/education-awards-on-google-app-engine.html" title="Education Awards on Google App Engine" /><author><name>Emily Wood</name><uri>https://plus.google.com/112374322230920073195</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://googlecloudplatform.blogspot.com/2013/03/education-awards-on-google-app-engine.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEECQHs-eCp7ImA9WhBWFUo.&quot;"><id>tag:blogger.com,1999:blog-5589634522109419319.post-5021603556025884782</id><published>2013-03-19T13:10:00.000-07:00</published><updated>2013-04-09T23:51:01.550-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-04-09T23:51:01.550-07:00</app:edited><title>App Engine 1.7.6 Released</title><content type="html">&lt;b id="internal-source-marker_0.7052743672393262" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;b id="internal-source-marker_0.7052743672393262" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="background-color: white; color: #333333; vertical-align: baseline; white-space: pre-wrap;"&gt;The App Engine team is continuing to make monthly improvements to our platform. &amp;nbsp;We have a number of new features and fixes for this month’s release. &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;b id="internal-source-marker_0.7052743672393262" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #333333; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="background-color: white; color: #333333; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"&gt;New App Engine billing system for paid applications&lt;/span&gt;&lt;/div&gt;
&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="background-color: white; color: #333333; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style="background-color: white; color: #333333; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="background-color: white; color: #333333; vertical-align: baseline; white-space: pre-wrap;"&gt;We’re making it easier to pay for App Engine each billing cycle by transitioning to a new billing system. &amp;nbsp;This change will happen automatically for billing-enabled applications, with no action required on your part. &amp;nbsp;&lt;/span&gt;&lt;span style="background-color: white; color: #222222; vertical-align: baseline; white-space: pre-wrap;"&gt;With the new system you can now:&lt;/span&gt;&lt;/div&gt;
&lt;ul style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;li dir="ltr" style="background-color: white; color: #333333; list-style-type: disc; margin-left: 15px; vertical-align: baseline;"&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="color: #222222; vertical-align: baseline; white-space: pre-wrap;"&gt;take advantage of monthly billing cycles&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li dir="ltr" style="background-color: white; color: #333333; list-style-type: disc; margin-left: 15px; vertical-align: baseline;"&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="color: #222222; vertical-align: baseline; white-space: pre-wrap;"&gt;make a payment at any time during the month&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li dir="ltr" style="background-color: white; color: #333333; list-style-type: disc; margin-left: 15px; vertical-align: baseline;"&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="color: #222222; vertical-align: baseline; white-space: pre-wrap;"&gt;specify direct debit as a form of payment&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li dir="ltr" style="background-color: white; color: #333333; list-style-type: disc; margin-left: 15px; vertical-align: baseline;"&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="color: #222222; vertical-align: baseline; white-space: pre-wrap;"&gt;assign a primary and backup credit card&lt;/span&gt;&lt;/div&gt;
&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="color: #222222; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;span style="background-color: white; color: #222222; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="background-color: white; color: #222222; vertical-align: baseline; white-space: pre-wrap;"&gt;We’ll start moving applications to this new billing system over the next few weeks. &amp;nbsp;You don’t need to make any changes and the migration itself will be transparent.&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;&lt;span style="background-color: white; color: #333333; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="background-color: white; color: #333333; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"&gt;Other notable features&lt;/span&gt;&lt;/div&gt;
&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="background-color: white; color: #333333; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;ul style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;li dir="ltr" style="background-color: white; color: #333333; list-style-type: disc; vertical-align: baseline;"&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;a href="https://developers.google.com/appengine/docs/python/search/overview"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;Full Text Search API&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt; stats are now available in the admin console. &amp;nbsp;You can start viewing these stats in advance of being able to pay for additional search resources in an upcoming release.&lt;/span&gt;&lt;span style="color: #222222; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li dir="ltr" style="background-color: white; color: #333333; list-style-type: disc; vertical-align: baseline;"&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="color: #222222; vertical-align: baseline; white-space: pre-wrap;"&gt;We’ve added &lt;/span&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;a href="https://developers.google.com/appengine/docs/python/taskqueue/tasks"&gt;asynchronous methods&lt;/a&gt;, &lt;/span&gt;&lt;span style="color: #222222; vertical-align: baseline; white-space: pre-wrap;"&gt;which is now in Preview, &lt;/span&gt;&lt;a href="https://developers.google.com/appengine/docs/python/taskqueue/tasks"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;to the Task Queue API&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #222222; vertical-align: baseline; white-space: pre-wrap;"&gt;. &amp;nbsp;This feature improves utilization by allowing your app to add, lease and delete multiple tasks in parallel. &lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li dir="ltr" style="background-color: white; color: #333333; list-style-type: disc; vertical-align: baseline;"&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="color: #222222; vertical-align: baseline; white-space: pre-wrap;"&gt;A major overhaul to the Python &lt;/span&gt;&lt;a href="https://developers.google.com/appengine/docs/python/tools/devserver"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;dev_appserver&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #222222; vertical-align: baseline; white-space: pre-wrap;"&gt;, the software used to simulate App Engine while in development. The new dev_appserver is multi-threaded, meaning development is faster, and provides a more accurate simulation of the production environment. &lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li dir="ltr" style="background-color: white; color: #333333; list-style-type: disc; vertical-align: baseline;"&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="color: #222222; vertical-align: baseline; white-space: pre-wrap;"&gt;Admin console dashboard charts and current load/errors reports are moving to a new, more reliable backend over the next few weeks.&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li dir="ltr" style="background-color: white; color: #333333; list-style-type: disc; vertical-align: baseline;"&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="color: #222222; vertical-align: baseline; white-space: pre-wrap;"&gt;Improved support for Python libraries, with Django 1.4.2 and webob 1.2.3 now Generally Available.&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;&lt;span style="background-color: white; color: #333333; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="background-color: white; color: #333333; vertical-align: baseline; white-space: pre-wrap;"&gt;The complete list of features and bug fixes for 1.7.6 can be found in our &lt;/span&gt;&lt;a href="http://code.google.com/p/googleappengine/w/list"&gt;&lt;span style="background-color: white; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;release notes&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; color: #333333; vertical-align: baseline; white-space: pre-wrap;"&gt;. For App Engine coding questions and answers check us out on &lt;/span&gt;&lt;a href="http://stackoverflow.com/questions/tagged/google-app-engine"&gt;&lt;span style="background-color: white; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;Stack Overflow&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; color: #333333; vertical-align: baseline; white-space: pre-wrap;"&gt;, and for general discussion and feedback, find us on our&lt;/span&gt;&lt;a href="https://groups.google.com/forum/?fromgroups#!forum/google-appengine"&gt;&lt;span style="background-color: white; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt; Google Group&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; color: #333333; vertical-align: baseline; white-space: pre-wrap;"&gt;. &lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;&lt;span style="background-color: white; color: #333333; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"&gt;-&lt;/span&gt;&lt;span style="background-color: white; color: #333333; vertical-align: baseline; white-space: pre-wrap;"&gt;Posted by Chris Ramsdale, Product Manager&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;img src="http://feeds.feedburner.com/~r/ClPlBl/~4/ZcynZxPv_Ow" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecloudplatform.blogspot.com/feeds/5021603556025884782/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecloudplatform.blogspot.com/2013/03/app-engine-176-released.html#comment-form" title="11 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/5021603556025884782?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/5021603556025884782?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ClPlBl/~3/ZcynZxPv_Ow/app-engine-176-released.html" title="App Engine 1.7.6 Released" /><author><name>Emily Wood</name><uri>https://plus.google.com/112374322230920073195</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>11</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://googlecloudplatform.blogspot.com/2013/03/app-engine-176-released.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEECQHs-cCp7ImA9WhBWFUo.&quot;"><id>tag:blogger.com,1999:blog-5589634522109419319.post-7798395775589542073</id><published>2013-03-18T10:50:00.000-07:00</published><updated>2013-04-09T23:51:01.558-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-04-09T23:51:01.558-07:00</app:edited><title>Using Tailbone to talk to App Engine with JavaScript </title><content type="html">&lt;b id="internal-source-marker_0.3394807877484709" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;b id="internal-source-marker_0.3394807877484709" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;b id="internal-source-marker_0.3394807877484709" style="font-weight: normal; white-space: normal;"&gt;&lt;i&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;Today’s post comes &lt;/span&gt;&lt;span style="color: #222222; vertical-align: baseline; white-space: pre-wrap;"&gt;from Doug Fritz from the Data Arts Team of the Google Creative Lab.&lt;/span&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&lt;/span&gt;&lt;span style="color: #222222; vertical-align: baseline; white-space: pre-wrap;"&gt;In this post, Doug shares a small open source project for reading and writing to the Google App Engine Datastore with JavaScript.&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;b id="internal-source-marker_0.3394807877484709" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;b id="internal-source-marker_0.3394807877484709" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;Today, the Google Creative Lab is sharing a small open source project called &lt;/span&gt;&lt;a href="https://github.com/dataarts/tailbone"&gt;&lt;span style="background-color: white; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;Tailbone&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt; that lets developers read and write to the &lt;/span&gt;&lt;a href="https://developers.google.com/appengine/docs/python/datastore/"&gt;&lt;span style="background-color: white; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;Google App Engine Datastore&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt; using JavaScript. We’re hoping that it makes App Engine a bit more accessible to developers who aren’t familiar with Python, Java or Go, or prefer not to use them.&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;b id="internal-source-marker_0.3394807877484709" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;I share an office with three creative programmers who work almost entirely in HTML5 and JavaScript. An important part of our work is writing server-side code for new projects that read or write data to to the App Engine Datastore or use Google accounts to store authenticated user-specific information. To make that process easier for my JavaScript-fluent colleagues, I created Tailbone to act as a RESTful API for an app’s Datastore.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-kWPZUqg1eZs/UUdOct_Vv0I/AAAAAAAAAQw/Cu7OI0uoEho/s1600/Screen+Shot+2013-03-11+at+1.23.51+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-kWPZUqg1eZs/UUdOct_Vv0I/AAAAAAAAAQw/Cu7OI0uoEho/s1600/Screen+Shot+2013-03-11+at+1.23.51+PM.png" height="305" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;b id="internal-source-marker_0.3394807877484709" style="font-weight: normal; white-space: normal;"&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;To get started, you still have to install App Engine’s SDK and Python, but after that you’re all set. We’ve written a &lt;/span&gt;&lt;a href="http://workshop.chromeexperiments.com/examples/tailbone/"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;detailed tutorial&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt; that guides you through the installation and an example app for creating an authenticated profile page with an editable name and photo. &lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;It’s my hope that Tailbone makes App Engine a little bit less intimidating for people who don’t have much experience with server-side coding. I know there are a few in my office. If there are any others out there, this is for you.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;b id="internal-source-marker_0.3394807877484709" style="font-weight: normal; white-space: normal;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;-Posted by Doug Fritz, Creative Lab, Data Arts Team&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/span&gt;&lt;/b&gt;&lt;img src="http://feeds.feedburner.com/~r/ClPlBl/~4/6npZImM9frY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecloudplatform.blogspot.com/feeds/7798395775589542073/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecloudplatform.blogspot.com/2013/03/using-tailbone-to-talk-to-app-engine.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/7798395775589542073?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/7798395775589542073?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ClPlBl/~3/6npZImM9frY/using-tailbone-to-talk-to-app-engine.html" title="Using Tailbone to talk to App Engine with JavaScript " /><author><name>Emily Wood</name><uri>https://plus.google.com/112374322230920073195</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-kWPZUqg1eZs/UUdOct_Vv0I/AAAAAAAAAQw/Cu7OI0uoEho/s72-c/Screen+Shot+2013-03-11+at+1.23.51+PM.png" height="72" width="72" /><thr:total>2</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://googlecloudplatform.blogspot.com/2013/03/using-tailbone-to-talk-to-app-engine.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEECQHs9fyp7ImA9WhBWFUo.&quot;"><id>tag:blogger.com,1999:blog-5589634522109419319.post-7816965702624407083</id><published>2013-03-08T11:20:00.000-08:00</published><updated>2013-04-09T23:51:01.567-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-04-09T23:51:01.567-07:00</app:edited><title>Python 2.5, thanks for the good times</title><content type="html">&lt;b style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;
&lt;b id="internal-source-marker_0.549146625213325" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;Python 2.5 has a special place in the heart of any &lt;a href="https://cloud.google.com/products/"&gt;Google App Engine&lt;/a&gt; developer, as it was the first runtime we launched way back in 2008. Since then, both Python and App Engine have advanced a great deal. &lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;A year ago we &lt;a href="http://googleappengine.blogspot.com/2012/02/announcing-general-availability-of.html"&gt;announced&lt;/a&gt; our support for Python 2.7, which brings syntactic and semantic improvements to the language and includes powerful features like threading and a large selection of third-party libraries.&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;Not only does Python 2.7 make developers’ lives easier, the runtime is extremely cost-effective. Our customers have taken advantage of features like concurrent requests to &lt;/span&gt;&lt;a href="http://googleappengine.blogspot.com.au/2012/11/upgrading-to-python-27-simple-and.html"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;reduce their front-end instance costs by more than 70%&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt; while handling the same amount of traffic.&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;Not surprisingly, the Python 2.7 runtime has proven to be extremely popular. Just over a year after launch, more than 78% of active Python applications on App Engine are using the new runtime, and more are being added every minute.&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;As both Python and App Engine evolve, we must occasionally make hard choices about which legacy runtimes we should continue to support. Today we are announcing the deprecation of the Python 2.5 runtime. The deprecation period will follow the guidelines set in our &lt;/span&gt;&lt;a href="https://developers.google.com/appengine/terms#Deprecation"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;terms of service&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;What does this mean?&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;ul style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"&gt;&lt;b id="internal-source-marker_0.549146625213325" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;We will continue to run Python 2.5 applications throughout the deprecation period. For most customers, upgrading to Python 2.7 is trivial as most elements of Python 2.5 are forwards-compatible with Python 2.7. We’ve &lt;/span&gt;&lt;a href="https://developers.google.com/appengine/docs/python/python25/migrate27"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;prepared a handy migration guide&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt; that covers the steps to migrate in detail.&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"&gt;&lt;b id="internal-source-marker_0.549146625213325" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;If your application is still using the already deprecated &lt;/span&gt;&lt;a href="https://developers.google.com/appengine/docs/python/datastore/usingmasterslave"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;Master/Slave Datastore&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;, then you should first plan the migration to our more reliable &lt;/span&gt;&lt;a href="https://developers.google.com/appengine/docs/adminconsole/migration"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;High Replication Datastore&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;, as the Master/Slave Datastore is not accessible from Python 2.7.&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"&gt;&lt;b id="internal-source-marker_0.549146625213325" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;Future versions of the App Engine Python Development SDK will display warnings to developers deploying updates to a deprecated runtime.&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"&gt;&lt;b id="internal-source-marker_0.549146625213325" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;Starting from January 2014, we will no longer allow new applications to be created using the Python 2.5 runtime.&lt;/span&gt;&lt;span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;b id="internal-source-marker_0.549146625213325" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;We encourage all developers using Python 2.5 to consider migrating as soon as possible. We’re confident that the vast majority of our customers will find the upgrade straightforward and the benefits substantial&lt;/span&gt;&lt;span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"&gt;.&lt;/span&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;If you’re considering migrating, here are some useful resources:&lt;/span&gt;&lt;br /&gt;&lt;ul style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"&gt;&lt;a href="https://developers.google.com/appengine/docs/python/python25/diff27"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;Our summary of the new features&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt; we’ve introduced in Python 2.7 including additional standard libraries and third-party libraries that are supported.&lt;/span&gt;&lt;/li&gt;
&lt;li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"&gt;&lt;a href="https://developers.google.com/appengine/docs/python/python25/migrate27"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;A handy migration guide&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;, explaining the steps to move a Python 2.5 app to Python 2.7&lt;/span&gt;&lt;/li&gt;
&lt;li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;App Engine engineers give an&lt;/span&gt;&lt;a href="https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=VPHHlnyoGfk#!"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt; in-depth discussion during Google I/O&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt; on the many improvements in Python 2.7, and how to quickly take advantage of them.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;If you have any questions about this deprecation, we encourage you to contact us at &lt;/span&gt;&lt;a href="mailto:google-appengine-python25-deprecation@googlegroups.com"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;google-appengine-python25-deprecation@googlegroups.com&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;-Posted by Andrew Jessup, Product Manager&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;img src="http://feeds.feedburner.com/~r/ClPlBl/~4/B3I9hdqEKFU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecloudplatform.blogspot.com/feeds/7816965702624407083/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecloudplatform.blogspot.com/2013/03/python-25-thanks-for-good-times.html#comment-form" title="8 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/7816965702624407083?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/7816965702624407083?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ClPlBl/~3/B3I9hdqEKFU/python-25-thanks-for-good-times.html" title="Python 2.5, thanks for the good times" /><author><name>Emily Wood</name><uri>https://plus.google.com/112374322230920073195</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>8</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://googlecloudplatform.blogspot.com/2013/03/python-25-thanks-for-good-times.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEECQHs8fip7ImA9WhBWFUo.&quot;"><id>tag:blogger.com,1999:blog-5589634522109419319.post-742106020613722840</id><published>2013-02-28T14:22:00.000-08:00</published><updated>2013-04-09T23:51:01.576-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-04-09T23:51:01.576-07:00</app:edited><title>Improve your App Engine skills with Google Developers Academy</title><content type="html">&lt;span class="byline-author" style="font-family: inherit;"&gt;&lt;b style="font-weight: normal;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span class="byline-author" style="font-family: inherit;"&gt;&lt;b id="internal-source-marker_0.470601340290159" style="font-weight: normal;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;Are you developing on &lt;a href="https://cloud.google.com/products/"&gt;Google App Engine&lt;/a&gt; today or interested in learning how to use it? If you've gone through all the great &lt;/span&gt;&lt;a href="http://developers.google.com/appengine/docs/"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;App Engine docs&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt; and Getting Started tutorials (&lt;/span&gt;&lt;a href="https://developers.google.com/appengine/docs/python/gettingstartedpython27/"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;Python&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;, &lt;/span&gt;&lt;a href="https://developers.google.com/appengine/docs/java/gettingstarted/"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;Java&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;, or &lt;/span&gt;&lt;a href="https://developers.google.com/appengine/docs/go/gettingstarted/"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;Go&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;) but want to take your App Engine skills a step further, then Google Developers Academy (GDA) is the place to go! We &lt;/span&gt;&lt;a href="http://googledevelopers.blogspot.com/2012/06/google-launches-new-developer-education.html"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;launched GDA this past summer at Google I/O 2012&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;, with content for beginners as well as seasoned developers. What can you find on App Engine in GDA today?&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="byline-author" style="font-family: inherit;"&gt;&lt;b style="font-weight: normal;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-MjYME9rht-U/US_XynQt0bI/AAAAAAAAAQg/CNPY2dH6zXk/s1600/classroom.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-MjYME9rht-U/US_XynQt0bI/AAAAAAAAAQg/CNPY2dH6zXk/s1600/classroom.jpg" height="130" width="400" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span class="byline-author" style="font-family: inherit;"&gt;&lt;b style="font-weight: normal;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span class="byline-author" style="font-family: inherit;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;If you’re interested in getting more background on what cloud computing is and where App Engine fits into that ecosystem, then this intro class (&lt;/span&gt;&lt;a href="http://developers.google.com/academy/apis/cloud/appengine/intro"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;Introduction to Google App Engine&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;) is for you. Once you’re done with this class, you’ll be ready to tackle the Getting Started tutorial, and after that, move on to the &lt;/span&gt;&lt;a href="http://developers.google.com/appengine/docs/python/gettingstartedpython27"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;App Engine 101 in Python&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt; class.&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;While some of the material found in App Engine 101 is similar to what's in the Getting Started tutorial, the 101 class targets developers who skipped the tutorial or completed it at some point in the past but don't want to repeat the exact same thing. The main differences include the following changes to the tutorial's content:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="byline-author" style="font-family: inherit;"&gt;&lt;span style="white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;ul style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"&gt;&lt;span class="byline-author" style="font-family: inherit;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;Use of the &lt;/span&gt;&lt;a href="http://developers.google.com/appengine/docs/python/ndb"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;Python NDB API&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"&gt;&lt;span class="byline-author" style="font-family: inherit;"&gt;&lt;a href="http://jinja.pocoo.org/"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;Jinja2&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt; templates&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"&gt;&lt;span class="byline-author" style="font-family: inherit;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;Discussion of &lt;/span&gt;&lt;a href="http://developers.google.com/appengine/docs/python/datastore/overview#Queries_and_Indexes"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;data consistency and datastore indexes&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;span class="byline-author" style="font-family: inherit;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;You can use the relational MySQL-compatible &lt;/span&gt;&lt;a href="http://developers.google.com/cloud-sql"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;Google Cloud SQL&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt; service as an alternative to App Engine's native non-relational datastore. Some applications do require a relational database, especially if you’re porting an existing app that relies on one. In this case, you want to learn about Cloud SQL and how to use it with App Engine. That’s why we have the &lt;/span&gt;&lt;a href="http://developers.google.com/academy/apis/cloud/appengine/cloud-sql"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;Using Python App Engine with Google Cloud SQL&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt; class.&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;Of course, Google is best known for search. With App Engine's powerful &lt;/span&gt;&lt;a href="http://developers.google.com/appengine/docs/python/search"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;Search API&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;, you can index not only plain text, but also HTML, atoms, numbers, dates, and locations (lat/long). &lt;/span&gt;&lt;a href="http://developers.google.com/academy/apis/cloud/appengine/fts_intro"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;Getting Started with the Python Search API&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt; is a two-part class that will indeed get you started: in the first part of the class, you’ll create an application using a variety of data and learn how to index such data (using “documents”). In Part 2, you’ll learn how to execute queries as well as how to update your indexes when you modify your data.&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;If variety is what you're after, then look no further than the newest class in GDA: &lt;/span&gt;&lt;a href="https://developers.google.com/appengine/training/go-plus-appengine/"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;Getting Started with Go, App Engine and Google+ API&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;. You will not only learn how to create an App Engine app using the &lt;/span&gt;&lt;a href="http://golang.org/"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;Go programming language&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;, but also learn how to connect to the &lt;/span&gt;&lt;a href="http://developers.google.com/+"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;Google+ API&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt; with the &lt;/span&gt;&lt;a href="http://code.google.com/p/google-api-go-client"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;Google APIs Client Library for Go&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;These are just a few examples of the types of classes you'll find in GDA. We also have content that features many other Google technologies, including Android, Chrome, YouTube, Maps, Drive, and Wallet. We invite you to swing by for a visit soon. &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="byline-author" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="font-family: inherit;"&gt;&lt;span class="byline-author"&gt;-&lt;/span&gt;&lt;b id="internal-source-marker_0.470601340290159" style="font-weight: normal;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;Posted by Wesley Chun, Google Developer Relations team&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;img src="http://feeds.feedburner.com/~r/ClPlBl/~4/DJ-GjDp8-l8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecloudplatform.blogspot.com/feeds/742106020613722840/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecloudplatform.blogspot.com/2013/02/improve-your-app-engine-skills-with.html#comment-form" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/742106020613722840?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/742106020613722840?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ClPlBl/~3/DJ-GjDp8-l8/improve-your-app-engine-skills-with.html" title="Improve your App Engine skills with Google Developers Academy" /><author><name>Emily Wood</name><uri>https://plus.google.com/112374322230920073195</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-MjYME9rht-U/US_XynQt0bI/AAAAAAAAAQg/CNPY2dH6zXk/s72-c/classroom.jpg" height="72" width="72" /><thr:total>4</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://googlecloudplatform.blogspot.com/2013/02/improve-your-app-engine-skills-with.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEECQHg9fSp7ImA9WhBWFUo.&quot;"><id>tag:blogger.com,1999:blog-5589634522109419319.post-1572853138517869259</id><published>2013-02-27T11:20:00.000-08:00</published><updated>2013-04-09T23:51:01.665-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-04-09T23:51:01.665-07:00</app:edited><title>Deploying App Engine apps with DevTable</title><content type="html">&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;b id="internal-source-marker_0.2176542782690376" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="font-style: italic; vertical-align: baseline; white-space: pre-wrap;"&gt;Today’s post comes from Jake Moshenko, founder of DevTable. DevTable is a collaborative hosted IDE which aims to provide a single development environment that can be accessed online from any device or location. It also allows you to collaborate on projects in real-time with your teammates. DevTable supports development and deployment of Google App Engine projects in the cloud.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #666666; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;At &lt;/span&gt;&lt;a href="http://try.devtable.com/"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;DevTable&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;, we support development of &lt;/span&gt;&lt;a href="http://cloud.google.com/products"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;Google App Engine&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt; apps with Python directly on the cloud, without having to install and run the App Engine SDK locally. &amp;nbsp;While the App Engine SDK development experience is excellent, it is not yet supported on mobile or web platforms.&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;Some of the major reasons to use DevTable for App Engine are:&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;ul style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"&gt;&lt;b id="internal-source-marker_0.2176542782690376" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;Cloud based editing and deployment of your App Engine projects&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"&gt;&lt;b id="internal-source-marker_0.2176542782690376" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;Autocomplete for Python code, including built-in App Engine libraries&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"&gt;&lt;b id="internal-source-marker_0.2176542782690376" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;OAuth deployment, so DevTable never has access to your Google Credentials&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"&gt;&lt;b id="internal-source-marker_0.2176542782690376" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;Native App Engine deployment for production releases&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"&gt;&lt;b id="internal-source-marker_0.2176542782690376" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;a href="http://git-scm.com/"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;Git&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt; DVCS integration, including&lt;/span&gt;&lt;a href="https://github.com/"&gt;&lt;span style="color: black; text-decoration: initial; vertical-align: baseline; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;GitHub&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt; support&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"&gt;&lt;b id="internal-source-marker_0.2176542782690376" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;a href="http://code.google.com/p/cloud-playground/source/checkout?repo=mimic"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;Mimic&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt; deploy, for faster intermediate testing feedback&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;b id="internal-source-marker_0.2176542782690376" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;To get started, first log in to your DevTable account and create a new project using our Google App Engine template. &amp;nbsp;This template loads the basic webapp "hello world" project that you’re probably already familiar with from the &lt;a href="https://developers.google.com/appengine/docs/python/gettingstarted/helloworld"&gt;App Engine documentation&lt;/a&gt;. &amp;nbsp;Follow the instructions to create a new App Engine app and to authorize DevTable to deploy on your behalf. &amp;nbsp;Don’t worry, we use OAuth deployment, which means we will never ask you for your Google password.&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b style="font-weight: normal;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;span style="font-family: inherit;"&gt;&lt;object width="320" height="266" class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="https://ytimg.googleusercontent.com/vi/aLrWlwBmu4o/0.jpg"&gt;&lt;param name="movie" value="https://www.youtube.com/v/aLrWlwBmu4o&amp;fs=1&amp;source=uds" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;embed width="320" height="266"  src="https://www.youtube.com/v/aLrWlwBmu4o&amp;fs=1&amp;source=uds" type="application/x-shockwave-flash" allowfullscreen="true"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/span&gt;&lt;/div&gt;
&lt;b style="font-weight: normal;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;
&lt;b id="internal-source-marker_0.2176542782690376" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;Now that you have everything set up, press the &lt;/span&gt;&lt;span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"&gt;Run Project&lt;/span&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt; button and select &lt;/span&gt;&lt;span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"&gt;View on App Engine Mimic&lt;/span&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;, which will deploy the Mimic bootstrap code to a special version of your app. &amp;nbsp;This may take up to a few minutes, but each test deploy after this should happen instantaneously. &amp;nbsp;Once Mimic has been deployed, you will see “Hello, world.” proudly displayed in a new browser tab. &amp;nbsp;Each time you refresh this page, the newest code is pulled from your DevTable project, so editing and testing code is seamless. &amp;nbsp;Try it now; change the message in your app’s main .py file, then refresh the tab which is showing your project.&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b style="font-weight: normal;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-vBstNxqF8S4/US5an7acJhI/AAAAAAAAAQI/Z7yAL-WdnOI/s1600/autocomplete+(1).png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-vBstNxqF8S4/US5an7acJhI/AAAAAAAAAQI/Z7yAL-WdnOI/s1600/autocomplete+(1).png" height="222" width="400" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;span style="font-family: inherit; font-size: small;"&gt;Python autocomplete and documentation in DevTable&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;b id="internal-source-marker_0.2176542782690376" style="font-weight: normal;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;span style="font-family: inherit;"&gt;Mimic works by creating a proxy which intercepts requests to your app and loads your app code dynamically from the datastore. &amp;nbsp;DevTable keeps this code in sync with your latest changes. &amp;nbsp;One added bonus to testing your code using DevTable and Mimic is that your test code will be running in the production App Engine environment, so some APIs and capabilities will work that don’t work on the Development Server, such as the App Identity API and making multiple concurrent requests.&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b style="font-weight: normal;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-Gb6ENu2loiw/US5a0Kss_LI/AAAAAAAAAQQ/ln6rIUy5q44/s1600/mimicdeploy+(1).png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-Gb6ENu2loiw/US5a0Kss_LI/AAAAAAAAAQQ/ln6rIUy5q44/s1600/mimicdeploy+(1).png" height="223" width="400" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;span style="font-family: inherit; font-size: small;"&gt;Mimic bootstrap code deployment&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;b id="internal-source-marker_0.2176542782690376" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;Once you are happy with how your app works in Mimic, you may want to deploy your application to production. Click the &lt;/span&gt;&lt;span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"&gt;Deploy&lt;/span&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt; button, to deploy your app directly to App Engine, which may take a few minutes. &amp;nbsp;Once deployment is complete, you can view your app at the production url, which is probably something like &lt;yourapp&gt;.appspot.com.&lt;/yourapp&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;What can you do with this? You can build and deploy apps completely in the cloud. &amp;nbsp;You can use DevTable as an emergency backup editor to check out your code from Git, fix a small bug, and push to production, without having access to your development machine, from the beach! &amp;nbsp;You can use our real-time collaboration support to pair program an App Engine app concurrently across the world. &amp;nbsp;Our users are constantly surprising us with new ways to use DevTable, and we’re excited to see what you can come up with too!&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;We encourage you to get started now building apps using DevTable on App Engine. &amp;nbsp;If you have any questions or suggestions, we are always available at &lt;/span&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;support@devtable.com&lt;/span&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;. &amp;nbsp;Just send us an email and we’ll get back to you as quickly as we can.&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span class="byline-author" style="font-family: inherit;"&gt;- Contributed by Jake Moshenko, founder of DevTable&lt;/span&gt;&lt;img src="http://feeds.feedburner.com/~r/ClPlBl/~4/A6rMAsxfmZ0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecloudplatform.blogspot.com/feeds/1572853138517869259/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecloudplatform.blogspot.com/2013/02/deploying-app-engine-apps-with-devtable.html#comment-form" title="7 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/1572853138517869259?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/1572853138517869259?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ClPlBl/~3/A6rMAsxfmZ0/deploying-app-engine-apps-with-devtable.html" title="Deploying App Engine apps with DevTable" /><author><name>Emily Wood</name><uri>https://plus.google.com/112374322230920073195</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-vBstNxqF8S4/US5an7acJhI/AAAAAAAAAQI/Z7yAL-WdnOI/s72-c/autocomplete+(1).png" height="72" width="72" /><thr:total>7</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://googlecloudplatform.blogspot.com/2013/02/deploying-app-engine-apps-with-devtable.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEECQHk-fip7ImA9WhBWFUo.&quot;"><id>tag:blogger.com,1999:blog-5589634522109419319.post-7449290165858691861</id><published>2013-02-26T10:34:00.000-08:00</published><updated>2013-04-09T23:51:01.756-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-04-09T23:51:01.756-07:00</app:edited><title>New Google Cloud Platform case studies - including Angry Birds and more</title><content type="html">&lt;b style="font-weight: normal;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;
&lt;b id="internal-source-marker_0.1739749580156058" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;One of the most rewarding parts of working on &lt;/span&gt;&lt;a href="http://cloud.google.com/products"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;Google App Engine&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt; is seeing our developers create groundbreaking new applications on top of our infrastructure. &amp;nbsp;To help our current and prospective users gain insight into the vast array of these applications, we recently added a section to the &lt;a href="http://cloud.google.com/"&gt;Google Cloud Platform&lt;/a&gt; site with a &lt;/span&gt;&lt;a href="http://cloud.google.com/customers/index.html"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;collection of case studies&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;. &amp;nbsp;Whether you’re interested in learning about how businesses are building on our platform or just&lt;/span&gt;&lt;span style="vertical-align: baseline;"&gt; &lt;/span&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;looking for inspiration for your next project, we hope you find these pieces informative.&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="https://cloud.google.com/files/Rovio.pdf"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;Rovio&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;Creator of the blockbuster “Angry Birds” game series used App Engine when creating web versions of their game. &amp;nbsp;They were able to create customized versions of their game in just 2 weeks using App Engine, allowing them to capitalize on opportunities to grow their business.&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="https://cloud.google.com/files/getaround.pdf"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;GetAround&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;TechCrunch Disrupt award-winning car sharing service used App Engine to build a marketplace connecting car owners to people looking to rent cars. &amp;nbsp;They scaled their product without adding additional staff.&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="https://cloud.google.com/files/MAG.pdf"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;MAG Interactive&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;Developer of mobile casual games, including the hit game Ruzzle, scaled their backend using App Engine. &amp;nbsp;They grew to over 5 million users, and experienced “no scalability issues at all.”&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="https://cloud.google.com/files/Nubbius.pdf"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;Nubbius&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;The Cloud Gate used App Engine to create nubbius, a software-as-a-service offering for lawyers to manage their workflow from anywhere. &amp;nbsp;They saved more than $130,000 per year while scaling rapidly.&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="https://cloud.google.com/files/Redbus.pdf"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;RedBus&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;Online travel agency used &lt;a href="https://cloud.google.com/products/big-query"&gt;Google BigQuery&lt;/a&gt; to unify tens of thousands of bus schedules into a single booking operation. &amp;nbsp;They analyzed data sets as large as 2 TB in less than 30 seconds, and spent 80% less than they would have on a Hadoop infrastructure,&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;This is a sample of the many case studies we have on our site. &amp;nbsp;Check out &lt;/span&gt;&lt;a href="http://cloud.google.com/customers"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;cloud.google.com/customers&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt; to see the full list. &amp;nbsp;You can read about companies varying in size, industry, and use cases, who are using Google Cloud Platform to build their products and businesses.&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="font-family: inherit;"&gt;- Posted by Zafir Khan, Product Marketing Manager&lt;/span&gt;&lt;img src="http://feeds.feedburner.com/~r/ClPlBl/~4/fvxai77qaro" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecloudplatform.blogspot.com/feeds/7449290165858691861/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecloudplatform.blogspot.com/2013/02/new-google-cloud-platform-case-studies.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/7449290165858691861?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/7449290165858691861?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ClPlBl/~3/fvxai77qaro/new-google-cloud-platform-case-studies.html" title="New Google Cloud Platform case studies - including Angry Birds and more" /><author><name>Emily Wood</name><uri>https://plus.google.com/112374322230920073195</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://googlecloudplatform.blogspot.com/2013/02/new-google-cloud-platform-case-studies.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEECQHY_fCp7ImA9WhBWFUo.&quot;"><id>tag:blogger.com,1999:blog-5589634522109419319.post-5783101312784311875</id><published>2013-02-21T11:00:00.000-08:00</published><updated>2013-04-09T23:51:01.844-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-04-09T23:51:01.844-07:00</app:edited><title>Google Cloud Platform introduces new support packages</title><content type="html">&lt;b style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;
&lt;b id="internal-source-marker_0.6365196965634823" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;Support is as important as product features when choosing a platform for your applications. And let’s face it, sometimes we all need a bit of help. No matter which &lt;/span&gt;&lt;a href="http://cloud.google.com/"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;Google Cloud Platform&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt; services you are using—App Engine, Compute Engine, Cloud Storage, Cloud SQL, BigQuery, etc.—or what time of day, you should be able to get the answers you need. While you can go to Stack Overflow or Google Groups, we realize some of you may need 24x7 coverage, phone support or direct access to a Technical Account Manager team. &lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;To meet your support requirements, we’re introducing a comprehensive collection of support packages for services on Google Cloud Platform, so you can decide what level best fits your needs:&lt;/span&gt;&lt;br /&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;ul style="margin-bottom: 0pt; margin-top: 0pt;"&gt;
&lt;li dir="ltr" style="background-color: white; font-weight: bold; list-style-type: disc; vertical-align: baseline;"&gt;&lt;b id="internal-source-marker_0.6365196965634823" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;Bronze&lt;/span&gt;&lt;span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;: All customers get access to online documentation, community forums, and billing support. (Free)&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li dir="ltr" style="background-color: white; font-weight: bold; list-style-type: disc; vertical-align: baseline;"&gt;&lt;b id="internal-source-marker_0.6365196965634823" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;Silver&lt;/span&gt;&lt;span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;: In addition to Bronze, you can email our support team for questions related to product functionality, best practices, and service errors. ($150/month)&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li dir="ltr" style="background-color: white; font-weight: bold; list-style-type: disc; vertical-align: baseline;"&gt;&lt;b id="internal-source-marker_0.6365196965634823" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;Gold&lt;/span&gt;&lt;span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;: In addition to Silver, you'll receive 24x7 phone support&lt;/span&gt;&lt;span style="background-color: transparent; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"&gt; and consultation on application development, best practices or architecture for your specific use case. &lt;/span&gt;&lt;span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;(Starts at $400/month)&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li dir="ltr" style="background-color: white; font-weight: bold; list-style-type: disc; vertical-align: baseline;"&gt;&lt;b id="internal-source-marker_0.6365196965634823" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;Platinum&lt;/span&gt;&lt;span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;: The most comprehensive and personalized support. In addition to Gold, you’ll get direct access to a Technical Account Manager team. (&lt;/span&gt;&lt;a href="https://cloud.google.com/support/signup"&gt;&lt;span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;Contact Sales&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"&gt; for more information)&lt;/span&gt;&lt;span style="background-color: transparent; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;b id="internal-source-marker_0.6365196965634823" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="https://cloud.google.com/support/signup"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;Sign up&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt; or click &lt;/span&gt;&lt;a href="https://cloud.google.com/support/packages"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;here&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt; to find out more information about the new Google Cloud Platform support options.&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span class="byline-author" style="font-family: inherit;"&gt;Posted by Brett McCully, Google Cloud Platform team&lt;/span&gt;&lt;img src="http://feeds.feedburner.com/~r/ClPlBl/~4/GcA5jixqobw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecloudplatform.blogspot.com/feeds/5783101312784311875/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecloudplatform.blogspot.com/2013/02/google-cloud-platform-introduces-new.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/5783101312784311875?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/5783101312784311875?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ClPlBl/~3/GcA5jixqobw/google-cloud-platform-introduces-new.html" title="Google Cloud Platform introduces new support packages" /><author><name>Emily Wood</name><uri>https://plus.google.com/112374322230920073195</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>2</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://googlecloudplatform.blogspot.com/2013/02/google-cloud-platform-introduces-new.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEECQHc4eyp7ImA9WhBWFUo.&quot;"><id>tag:blogger.com,1999:blog-5589634522109419319.post-8963087144298938684</id><published>2013-02-21T10:16:00.000-08:00</published><updated>2013-04-09T23:51:01.933-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-04-09T23:51:01.933-07:00</app:edited><title>Java 7 and Cloud Endpoints Preview</title><content type="html">&lt;br /&gt;
&lt;span style="font-family: inherit;"&gt;Today we are announcing two new preview features: Google App Engine Java 7 runtime support and Google Cloud Endpoints.   Preview features are ‘experimental’ features on a path towards general availability.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style="font-family: inherit;"&gt;Java 7 Runtime Support for App Engine&lt;/span&gt;&lt;/h3&gt;
&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;
&lt;/span&gt; &lt;span style="font-family: inherit;"&gt;The App Engine Java 7 runtime allows App Engine developers to keep pace with innovations in the Java language and runtime. It is important that you begin testing your applications with the new Java 7 runtime before the complete rollout in a few months.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;
&lt;/span&gt; &lt;span style="font-family: inherit;"&gt;Some of the language features you now have access to include:&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;
&lt;/span&gt; &lt;span style="font-family: inherit;"&gt;&lt;b&gt;invokedynamic&lt;/b&gt; support, which allows developers, tools providers, and language implementations to take advantage of a new bytecode, invokedynamic, to handle method invocations efficiently even when there is no static type information. For example:&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;
 &lt;br /&gt;
&lt;pre&gt;&lt;b id="internal-source-marker_0.9474801623728126" style="font-weight: normal; white-space: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="background-color: white; color: #0000aa; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;public&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;span style="background-color: white; color: #0000aa; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;static&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;span style="background-color: white; color: #00aaaa; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;void&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;span style="background-color: white; color: #00aa00; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;invokeExample&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;() {
 &amp;nbsp;&amp;nbsp;String s;
 &amp;nbsp;&amp;nbsp;MethodType mt; 
 &amp;nbsp;&amp;nbsp;MethodHandle mh;
 &amp;nbsp;&amp;nbsp;&lt;/span&gt;
&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;MethodHandles.&lt;/span&gt;&lt;span style="background-color: white; color: dodgerblue; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;Lookup&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt; lookup = MethodHandles.&lt;/span&gt;&lt;span style="background-color: white; color: dodgerblue; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;lookup&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;();
 &amp;nbsp;&amp;nbsp;MethodType mt = MethodType.&lt;/span&gt;&lt;span style="background-color: white; color: dodgerblue; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;methodType&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;(String.&lt;/span&gt;&lt;span style="background-color: white; color: dodgerblue; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;class&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;, &lt;/span&gt;&lt;span style="background-color: white; color: #00aaaa; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;char&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;.&lt;/span&gt;&lt;span style="background-color: white; color: dodgerblue; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;class&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;,
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: white; color: #00aaaa; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;char&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;.&lt;/span&gt;&lt;span style="background-color: white; color: dodgerblue; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;class&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;);
 &amp;nbsp;&amp;nbsp;MethodHandle mh = lookup.&lt;/span&gt;&lt;span style="background-color: white; color: dodgerblue; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;findVirtual&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;(String.&lt;/span&gt;&lt;span style="background-color: white; color: dodgerblue; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;class&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;, &lt;/span&gt;&lt;span style="background-color: white; color: #aa5500; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;"replace"&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;, mt);
 &amp;nbsp;&amp;nbsp;s = (String) mh.&lt;/span&gt;&lt;span style="background-color: white; color: dodgerblue; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;invokeExact&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;(&lt;/span&gt;&lt;span style="background-color: white; color: #aa5500; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;"App Engine Java 6 runtime"&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;,&lt;/span&gt;&lt;span style="background-color: white; color: #aa5500; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;'6'&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;,&lt;/span&gt;&lt;span style="background-color: white; color: #aa5500; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;'7'&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;);
 &amp;nbsp;&amp;nbsp;System.&lt;/span&gt;&lt;span style="background-color: white; color: dodgerblue; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;out&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;.&lt;/span&gt;&lt;span style="background-color: white; color: dodgerblue; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;println&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;(s);
}&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: inherit;"&gt;
&lt;/span&gt;&lt;/pre&gt;
&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;
&lt;/span&gt; &lt;span style="font-family: inherit;"&gt;&lt;b&gt;Try-with-resources&lt;/b&gt;, which helps avoid memory leaks and related bugs by automatically closing resources that are used in a try-catch statement.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;
&lt;/span&gt; &lt;br /&gt;
&lt;pre&gt;&lt;span style="font-family: inherit;"&gt;&lt;b id="internal-source-marker_0.9474801623728126" style="font-weight: normal; white-space: normal;"&gt;&lt;span style="background-color: white; color: #0000aa; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;public&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;span style="background-color: white; color: #0000aa; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;static&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;span style="background-color: white; color: #00aaaa; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;void&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;span style="background-color: white; color: #00aa00; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;viewTable&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;(Connection con, String query) &lt;/span&gt;&lt;span style="background-color: white; color: #0000aa; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;throws&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt; SQLException {
 &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: white; color: #0000aa; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;try&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt; (&lt;/span&gt;
&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Statement stmt = con.&lt;/span&gt;&lt;span style="background-color: white; color: dodgerblue; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;createStatement&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;();&lt;/span&gt;
&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ResultSet rs = stmt.&lt;/span&gt;&lt;span style="background-color: white; color: dodgerblue; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;executeQuery&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;(query)&lt;/span&gt;
&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;) {
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: white; color: #0000aa; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;while&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt; (rs.&lt;/span&gt;&lt;span style="background-color: white; color: dodgerblue; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;next&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;()) {
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: white; color: #aaaaaa; font-size: 12px; font-style: italic; vertical-align: baseline; white-space: pre-wrap;"&gt;// process results&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: white; color: #aaaaaa; font-size: 12px; font-style: italic; vertical-align: baseline; white-space: pre-wrap;"&gt;//&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
 &amp;nbsp;&amp;nbsp;} &lt;/span&gt;&lt;span style="background-color: white; color: #0000aa; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;catch&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt; (SQLException e) {
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: white; color: #aaaaaa; font-size: 12px; font-style: italic; vertical-align: baseline; white-space: pre-wrap;"&gt;// con resource is auto-closed, no need to do anything here!&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: white; color: #aaaaaa; font-size: 12px; font-style: italic; vertical-align: baseline; white-space: pre-wrap;"&gt;//&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;
 &amp;nbsp;&amp;nbsp;}
}&lt;/span&gt;&lt;/b&gt;
&lt;/span&gt;&lt;/pre&gt;
&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;
&lt;/span&gt; &lt;span style="font-family: inherit;"&gt;&lt;b&gt;Flexible Type Creation&lt;/b&gt; when using generics, enabling you to create parameterized types more succinctly. For example, you can write:&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;
&lt;/span&gt; &lt;br /&gt;
&lt;pre&gt;&lt;b id="internal-source-marker_0.9474801623728126" style="font-weight: normal; white-space: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;Map&lt;string list="" tring=""&gt;&amp;gt; myMap = &lt;/string&gt;&lt;/span&gt;&lt;span style="background-color: white; color: #0000aa; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;new&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt; HashMap&amp;lt;&amp;gt;();&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: inherit;"&gt;
&lt;/span&gt;&lt;/pre&gt;
&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;
&lt;/span&gt; &lt;span style="font-family: inherit;"&gt;instead of:&lt;/span&gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;pre&gt;&lt;b id="internal-source-marker_0.9474801623728126" style="font-weight: normal; white-space: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;Map&lt;string list="" tring=""&gt;&amp;gt; myMap = &lt;/string&gt;&lt;/span&gt;&lt;span style="background-color: white; color: #0000aa; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;new&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt; HashMap&lt;string list="" tring=""&gt;&amp;gt;();&lt;/string&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: inherit;"&gt;
&lt;/span&gt;&lt;/pre&gt;
&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;
&lt;/span&gt; &lt;span style="font-family: inherit;"&gt;In addition to the language features listed above, the App Engine Java 7 runtime also includes:&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-family: inherit;"&gt;Use of String class in Switch statements.&lt;br /&gt;
&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: inherit;"&gt;Expression of binary literals using simple prefixes 0b or 0B.&lt;br /&gt;
&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: inherit;"&gt;Single catch blocks that can handle multiple exceptions.&lt;br /&gt;
&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: inherit;"&gt;Simplified varargs method invocation.&lt;br /&gt;
&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;span style="font-family: inherit;"&gt;Want to get started now? Download the latest &lt;a href="https://developers.google.com/appengine/downloads#Google_App_Engine_SDK_for_Java"&gt;App Engine Java SDK&lt;/a&gt; and then check out the docs &lt;a href="https://developers.google.com/appengine/docs/java/java7"&gt;here&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;
&lt;h3&gt;
&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;h3&gt;
&lt;span style="font-family: inherit;"&gt;Cloud Endpoints Preview&lt;/span&gt;&lt;/h3&gt;
&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;
&lt;/span&gt; &lt;span style="font-family: inherit;"&gt;Have you ever wanted a simple way to get a cloud backend for that Android or iPhone app you are working on?  Wish it was easier to expose RESTful APIs from your web application?  &lt;a href="https://developers.google.com/appengine/docs/java/endpoints/"&gt;Google Cloud Endpoints&lt;/a&gt; simplifies building highly scalable and flexible backends for your web and mobile applications. Use Cloud Endpoints to store application data in the cloud that spans both devices and users. You can now easily expose your own authenticated, reliable, REST-based APIs hosted from an App Engine application and consume them in your Android, iOS, or web clients. Deeply integrated authentication support allows your users to have a transparent yet secure experience accessing your services. You have access to strongly typed client libraries for your custom service optimized for Android and iOS.&lt;/span&gt;&lt;br /&gt;
&lt;div style="margin-left: 1em; margin-right: 1em;"&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-RdGWxzcl74o/USaf8m38n7I/AAAAAAAAAP4/bkZtzL_f1KE/s1600/endpoints_architecture+(1).png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-RdGWxzcl74o/USaf8m38n7I/AAAAAAAAAP4/bkZtzL_f1KE/s1600/endpoints_architecture+(1).png" height="187" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;span style="font-family: inherit;"&gt;To use Cloud Endpoints, you simply write a Java or Python class with methods you want to expose to web or mobile clients. You then annotate the methods with attributes that control exactly how they are represented in REST interfaces on the wire. Finally, use Cloud Endpoints to generate your strongly-typed client libraries for Android, iOS and a lightweight JavaScript library. &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: inherit;"&gt;For example, you can create a simple class to list some important data:&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;pre&gt;&lt;span style="font-family: inherit;"&gt;&lt;b id="internal-source-marker_0.9474801623728126" style="font-weight: normal; white-space: normal;"&gt;&lt;span style="background-color: white; color: #0000aa; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;public&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;span style="background-color: white; color: #0000aa; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;class&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;span style="background-color: white; color: #00aa00; font-size: 12px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;SuperHeroes&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt; {
 &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: white; color: #0000aa; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;public&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt; List&lt;superhero&gt; &lt;/superhero&gt;&lt;/span&gt;&lt;span style="background-color: white; color: #00aa00; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;listSuperHeroes&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;() {
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;List&lt;superhero&gt; list = &lt;/superhero&gt;&lt;/span&gt;&lt;span style="background-color: white; color: #0000aa; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;new&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt; ArrayList&lt;superhero&gt;();
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;list.&lt;/superhero&gt;&lt;/span&gt;&lt;span style="background-color: white; color: dodgerblue; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;add&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;(&lt;/span&gt;&lt;span style="background-color: white; color: #0000aa; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;new&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt; SuperHero (&lt;/span&gt;&lt;span style="background-color: white; color: #aa5500; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;"Champion of the Obvious"&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;, &lt;/span&gt;&lt;span style="background-color: white; color: #aa5500; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;"Brad Abrams"&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;));
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;list.&lt;/span&gt;&lt;span style="background-color: white; color: dodgerblue; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;add&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;(&lt;/span&gt;&lt;span style="background-color: white; color: #0000aa; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;new&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt; SuperHero (&lt;/span&gt;&lt;span style="background-color: white; color: #aa5500; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;"Mr. Justice"&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;, &lt;/span&gt;&lt;span style="background-color: white; color: #aa5500; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;"Chris Ramsdale"&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;));

 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: white; color: #0000aa; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;return&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt; list;
 &amp;nbsp;&amp;nbsp;}
}&lt;/span&gt;&lt;/b&gt;&lt;superhero&gt;&lt;superhero&gt;&lt;superhero&gt;
&lt;/superhero&gt;&lt;/superhero&gt;&lt;/superhero&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="font-family: inherit;"&gt;&lt;superhero&gt;&lt;superhero&gt;&lt;superhero&gt;
&lt;/superhero&gt;&lt;/superhero&gt;&lt;/superhero&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;span style="font-family: inherit;"&gt;Then, expose it over a standard REST interface with a simple attribute and a versioning pattern.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;
&lt;/span&gt; &lt;br /&gt;
&lt;b id="internal-source-marker_0.9474801623728126" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="background-color: white; color: #888888; font-size: 12px; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"&gt;@Api&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"&gt;(name = &lt;/span&gt;&lt;span style="background-color: white; color: #aa5500; font-size: 12px; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"&gt;"superheroes"&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"&gt;, version = &lt;/span&gt;&lt;span style="background-color: white; color: #aa5500; font-size: 12px; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"&gt;"v1"&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"&gt;)&lt;/span&gt;&lt;span style="background-color: white; color: #0000aa; font-size: 12px; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"&gt;public&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;span style="background-color: white; color: #0000aa; font-size: 12px; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"&gt;class&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;span style="background-color: white; color: #00aa00; font-size: 12px; font-weight: bold; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;SuperHeroesV1&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"&gt; {&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"&gt;...&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;pre&gt;&lt;b id="internal-source-marker_0.9474801623728126" style="font-weight: normal;"&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;span style="font-family: inherit;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="font-family: inherit;"&gt;
&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="font-family: inherit;"&gt;Now you have a simple REST interface.&lt;/span&gt;&lt;/pre&gt;
&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;
&lt;/span&gt; &lt;br /&gt;
&lt;pre&gt;&lt;b id="internal-source-marker_0.9474801623728126" style="font-weight: normal; white-space: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="background-color: white; color: #aa0000; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;$ &lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;curl http://localhost:8888/_ah/api/superheroes/v1/superheroes&lt;/span&gt;&lt;span style="font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;
&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;{
 &lt;/span&gt;&lt;span style="background-color: white; color: #aa5500; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;"items"&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;: [
 &amp;nbsp;{
 &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: white; color: #aa5500; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;"knownAs"&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt; : &lt;/span&gt;&lt;span style="background-color: white; color: #aa5500; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;"Champion of the Obvious"&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;,
 &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: white; color: #aa5500; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;"realName"&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt; : &lt;/span&gt;&lt;span style="background-color: white; color: #aa5500; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;"Brad Abrams"&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;
 &amp;nbsp;},
 &amp;nbsp;{
 &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: white; color: #aa5500; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;"knownAs"&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt; : &lt;/span&gt;&lt;span style="background-color: white; color: #aa5500; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;"Mr. Justice"&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;,
 &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: white; color: #aa5500; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;"realName"&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt; : &lt;/span&gt;&lt;span style="background-color: white; color: #aa5500; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;"Chris Ramsdale"&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;
 &amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: inherit;"&gt;
&lt;/span&gt;&lt;/pre&gt;
&lt;span style="font-family: inherit;"&gt;And you can make strongly typed calls from your Android clients:&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;
&lt;/span&gt; &lt;br /&gt;
&lt;pre&gt;&lt;b id="internal-source-marker_0.9474801623728126" style="font-weight: normal; white-space: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;Real result = superheroes.&lt;/span&gt;&lt;span style="background-color: white; color: dodgerblue; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;list&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;().&lt;/span&gt;&lt;span style="background-color: white; color: dodgerblue; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;execute&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;();&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: inherit;"&gt;
&lt;/span&gt;&lt;/pre&gt;
&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="font-family: inherit;"&gt;Or Objective-C iOS client:&lt;/span&gt;&lt;br /&gt;
&lt;pre&gt;&lt;b style="font-weight: normal; white-space: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="color: #674ea7; font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;b id="internal-source-marker_0.9474801623728126" style="font-weight: normal; white-space: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="color: #674ea7; font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"&gt;GTLQuerySuperHeroesV1 &lt;/span&gt;&lt;span style="font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"&gt;*query = [&lt;/span&gt;&lt;span style="color: #674ea7; font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"&gt;GTLQuerySuperHeroesV1 &lt;/span&gt;&lt;span style="font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"&gt;queryForSuperHeroesList];&lt;/span&gt;
&lt;span style="font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"&gt;[&lt;/span&gt;&lt;span style="color: #d5a6bd; font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"&gt;service&lt;/span&gt;&lt;span style="font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"&gt; executeQuery:query completionHandler:^(&lt;/span&gt;&lt;span style="color: #674ea7; font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"&gt;GTLServiceTicket &lt;/span&gt;&lt;span style="font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"&gt;*ticket, &lt;/span&gt;
&lt;div dir="ltr" style="margin-bottom: 0pt; margin-left: 216pt; margin-top: 0pt;"&gt;
&lt;span style="color: #674ea7; font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"&gt;GTLSuperHeroes &lt;/span&gt;&lt;span style="font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"&gt;*object, &lt;/span&gt;&lt;span style="color: #674ea7; font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"&gt;NSError&lt;/span&gt;&lt;span style="font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"&gt; *error) {&lt;/span&gt;&lt;/div&gt;
&lt;span style="font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"&gt; &amp;nbsp;&lt;/span&gt;&lt;span style="color: #674ea7; font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"&gt;NSArray&lt;/span&gt;&lt;span style="font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"&gt; *items = [object items];&lt;/span&gt;
&lt;span style="font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"&gt;}];&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: inherit;"&gt;
&lt;/span&gt;&lt;/pre&gt;
&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="font-family: inherit;"&gt;Or the web client in JavaScript:&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;
&lt;/span&gt; &lt;br /&gt;
&lt;pre&gt;&lt;b id="internal-source-marker_0.9474801623728126" style="font-weight: normal; white-space: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="background-color: white; color: #aaaaaa; font-size: 12px; font-style: italic; vertical-align: baseline; white-space: pre-wrap;"&gt;// ...&lt;/span&gt;&lt;span style="font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;
&lt;span style="background-color: white; color: #0000aa; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;var&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt; ROOT = &lt;/span&gt;&lt;span style="background-color: white; color: #aa5500; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;'https://'&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt; + &lt;/span&gt;&lt;span style="background-color: white; color: #00aaaa; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;window&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;.location.host + &lt;/span&gt;&lt;span style="background-color: white; color: #aa5500; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;'/_ah/api'&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;;
gapi.client.load(&lt;/span&gt;&lt;span style="background-color: white; color: #aa5500; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;'superheroes'&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;, &lt;/span&gt;&lt;span style="background-color: white; color: #aa5500; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;'v1'&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;,
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;loadSuperheroesCallback, ROOT);
&lt;/span&gt;&lt;span style="background-color: white; color: #aaaaaa; font-size: 12px; font-style: italic; vertical-align: baseline; white-space: pre-wrap;"&gt;// Get the list of superheroes&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;
gapi.client.superheroes.superheroes.list().execute(&lt;/span&gt;&lt;span style="background-color: white; color: #0000aa; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;function&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;(resp) {
 &amp;nbsp;displaySuperheroesList(resp);
});&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;b style="font-family: Times; font-weight: normal; white-space: normal;"&gt;&lt;span style="background-color: white; color: #333333; font-family: Consolas; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;
&lt;span style="font-family: inherit;"&gt;Read the documentation for &lt;a href="https://developers.google.com/appengine/docs/java/endpoints/overview"&gt;Java&lt;/a&gt; or &lt;a href="https://developers.google.com/appengine/docs/python/endpoints/overview"&gt;Python&lt;/a&gt; to discover how you can build a &lt;a href="https://github.com/GoogleCloudPlatform/appengine-endpoints-tictactoe-python"&gt;simple tic-tac-toe game&lt;/a&gt; using Cloud Endpoints. &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;
&lt;/span&gt; &lt;span style="font-family: inherit;"&gt;To get started with Cloud Endpoints, download the &lt;a href="https://developers.google.com/appengine/downloads"&gt;App Engine 1.7.5 SDK&lt;/a&gt; and the latest &lt;a href="https://developers.google.com/eclipse/"&gt;Google Plugin for Eclipse&lt;/a&gt;. Be sure to look at &lt;a href="https://developers.google.com/eclipse/docs/endpoints-overview"&gt;the docs&lt;/a&gt; and follow along in &lt;a href="http://stackoverflow.com/questions/tagged/google-app-engine+google-cloud-endpoints"&gt;the discussion forums on Stack Overflow&lt;/a&gt;. &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;
&lt;/span&gt; &lt;span style="font-family: inherit;"&gt;For more on using Cloud Endpoints with Python, check out &lt;a href="https://plus.google.com/114760865724135687241/"&gt;+Danny Hermes&lt;/a&gt; and &lt;a href="https://plus.google.com/112953471808394921173/"&gt;+Dan Holevoet&lt;/a&gt; on &lt;a href="https://developers.google.com/live/shows/76184973/"&gt;Google Developers Live&lt;/a&gt;. &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: inherit;"&gt;&lt;span class="byline-author"&gt;-Posted by Brad Abrams, Product Manager, and Chris Ramsdale, Product Manager&lt;/span&gt;&lt;/span&gt;&lt;img src="http://feeds.feedburner.com/~r/ClPlBl/~4/h8FTdeO9FpM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecloudplatform.blogspot.com/feeds/8963087144298938684/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecloudplatform.blogspot.com/2013/02/java-7-and-cloud-endpoints-preview.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/8963087144298938684?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/8963087144298938684?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ClPlBl/~3/h8FTdeO9FpM/java-7-and-cloud-endpoints-preview.html" title="Java 7 and Cloud Endpoints Preview" /><author><name>Emily Wood</name><uri>https://plus.google.com/112374322230920073195</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-RdGWxzcl74o/USaf8m38n7I/AAAAAAAAAP4/bkZtzL_f1KE/s72-c/endpoints_architecture+(1).png" height="72" width="72" /><thr:total>1</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://googlecloudplatform.blogspot.com/2013/02/java-7-and-cloud-endpoints-preview.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEECQ3w7fyp7ImA9WhBWFUo.&quot;"><id>tag:blogger.com,1999:blog-5589634522109419319.post-2749356805111799491</id><published>2013-02-14T12:33:00.000-08:00</published><updated>2013-04-09T23:51:02.207-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-04-09T23:51:02.207-07:00</app:edited><title>New Google App Engine training videos now available</title><content type="html">&lt;b style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;
&lt;b id="internal-source-marker_0.9853289730381221" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;Do you wonder how &lt;/span&gt;&lt;a href="https://cloud.google.com/products/"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;App Engine&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt; orchestrates hundreds of instances so smoothly? Can you imagine how &lt;/span&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;a href="https://developers.google.com/appengine/docs/python/datastore/"&gt;Datastore &lt;/a&gt;&lt;/span&gt;&lt;a href="https://developers.google.com/appengine/docs/python/datastore/queries"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;queries&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt; and &lt;/span&gt;&lt;a href="https://developers.google.com/appengine/docs/python/datastore/transactions"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;transactions&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt; work behind the scenes? Do you want to know the magic of how App Engine experts dramatically reduce traffic costs using edge caching?&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;
&lt;span style="font-family: inherit;"&gt;&lt;b style="font-weight: normal;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;We’ve just published &lt;/span&gt;&lt;a href="https://developers.google.com/appengine/docs/videoresources#training"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;a series of great App Engine training videos&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt; to help you better understand our platform. These seven voice-over technical videos provide insight for both newbies as well as seasoned App Engine developers. &amp;nbsp;The videos delve into each major App Engine component’s operation and how a developer can best utilize them.&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-RN6rQsVg3LM/UR1JE_Q9FAI/AAAAAAAAAPY/zK6mduHcHp8/s1600/Screen+Shot+2013-02-07+at+11.43.31+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-RN6rQsVg3LM/UR1JE_Q9FAI/AAAAAAAAAPY/zK6mduHcHp8/s1600/Screen+Shot+2013-02-07+at+11.43.31+AM.png" height="301" width="400" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;b style="font-weight: normal;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;
&lt;b id="internal-source-marker_0.9853289730381221" style="font-weight: normal;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;span style="font-family: inherit;"&gt;Each video runs for half an hour or less. We recommend you follow the videos in sequence if you are new to App Engine, or you can pick and choose if you’re already familiar with the platform.&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b style="font-weight: normal;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;
&lt;b style="font-weight: normal;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;Throughout the year, we intend to publish codelabs to complement the voice-over training videos, not only for App Engine, but for &amp;nbsp;&lt;/span&gt;&lt;a href="https://cloud.google.com/products/cloud-storage"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;Google Cloud Storage&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;, &lt;/span&gt;&lt;a href="https://cloud.google.com/products/cloud-sql"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;Google Cloud SQL&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;, &lt;/span&gt;&lt;a href="https://cloud.google.com/products/big-query"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;Google BigQuery&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;, and &lt;/span&gt;&lt;a href="https://cloud.google.com/products/compute-engine"&gt;&lt;span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;Google Compute Engine&lt;/span&gt;&lt;/a&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt; as well. &amp;nbsp;So stay tuned for updates!&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style="white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;b style="font-weight: normal;"&gt;&lt;span style="vertical-align: baseline; white-space: pre-wrap;"&gt;-Posted by Gary Downing, Cloud Platform Solutions Technical Training Manager&lt;/span&gt;&lt;/b&gt;&lt;img src="http://feeds.feedburner.com/~r/ClPlBl/~4/-V1KU0vouhs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecloudplatform.blogspot.com/feeds/2749356805111799491/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecloudplatform.blogspot.com/2013/02/new-google-app-engine-training-videos.html#comment-form" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/2749356805111799491?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/2749356805111799491?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ClPlBl/~3/-V1KU0vouhs/new-google-app-engine-training-videos.html" title="New Google App Engine training videos now available" /><author><name>Emily Wood</name><uri>https://plus.google.com/112374322230920073195</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-RN6rQsVg3LM/UR1JE_Q9FAI/AAAAAAAAAPY/zK6mduHcHp8/s72-c/Screen+Shot+2013-02-07+at+11.43.31+AM.png" height="72" width="72" /><thr:total>5</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://googlecloudplatform.blogspot.com/2013/02/new-google-app-engine-training-videos.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEECQ307eCp7ImA9WhBWFUo.&quot;"><id>tag:blogger.com,1999:blog-5589634522109419319.post-1048970860302422660</id><published>2013-02-13T12:09:00.000-08:00</published><updated>2013-04-09T23:51:02.300-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-04-09T23:51:02.300-07:00</app:edited><title>App Engine 1.7.5 Released</title><content type="html">&lt;b style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;
&lt;b id="internal-source-marker_0.42759501771070063" style="font-weight: normal;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;After a brief break last month, the App Engine team is back on our monthly release cycle. &amp;nbsp;We made lots of improvements to our platform in 2012 and look forward to delivering more this year.&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;In 1.7.5, we are releasing &lt;/span&gt;&lt;a href="https://developers.google.com/appengine/docs/adminconsole/performancesettings"&gt;&lt;span style="background-color: white; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;High-Memory Instances&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt; and &lt;/span&gt;&lt;a href="https://developers.google.com/appengine/docs/python/mail/bounce"&gt;&lt;span style="background-color: white; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;Mail Bounce Notifications&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt; to General Availability. &amp;nbsp;We’ve heard the feedback that you would like to have more memory without having to pay for more CPU. &amp;nbsp;With this release, you can now utilize F4 or B4 instances with 1GB memory, which is double the amount of memory available before. Mail Bounce Notifications notify apps when mail sent through App Engine fails to deliver, so you’ll always know whether your communications are going through.&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;We are also introducing Experimental support for the &lt;/span&gt;&lt;a href="http://developers.google.com/appengine/docs/java/java7"&gt;&lt;span style="background-color: white; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;Java 7 runtime&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt; and &lt;/span&gt;&lt;a href="https://developers.google.com/appengine/docs/java/endpoints/"&gt;&lt;span style="background-color: white; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;Google Cloud Endpoints&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;. &amp;nbsp;Improvements in Java 7 include strings in switch statements, improved type inference for generic instance creation, and the ability to use InvokeDynamic(). &amp;nbsp;Cloud Endpoints makes it easy to expose your code as RESTful and RPC services that can be easily consumed by your own web and mobile applications. Finally, an update to the &lt;/span&gt;&lt;a href="https://developers.google.com/eclipse/"&gt;&lt;span style="background-color: white; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;Google Plugin for Eclipse&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt; makes it possible for developers to build App Engine backends that communicate with client-side Android applications via &lt;/span&gt;&lt;a href="http://developer.android.com/google/gcm/index.html"&gt;&lt;span style="background-color: white; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;Google Cloud Messaging for Android&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt; and Cloud Endpoints.&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;The complete list of features and bug fixes for 1.7.5 can be found in our&lt;/span&gt;&lt;a href="http://code.google.com/p/googleappengine/w/list"&gt;&lt;span style="background-color: white; color: black; text-decoration: initial; vertical-align: baseline; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;span style="background-color: white; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;release notes&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;. For App Engine coding questions and answers check us out on&lt;/span&gt;&lt;a href="http://stackoverflow.com/questions/tagged/google-app-engine"&gt;&lt;span style="background-color: white; color: black; text-decoration: initial; vertical-align: baseline; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;span style="background-color: white; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;Stack Overflow&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;, and for general discussion and feedback, find us on our&lt;/span&gt;&lt;a href="https://groups.google.com/forum/?fromgroups#!forum/google-appengine"&gt;&lt;span style="background-color: white; color: black; text-decoration: initial; vertical-align: baseline; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;span style="background-color: white; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;Google Group&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;. &amp;nbsp;You can also subscribe to the &lt;/span&gt;&lt;a href="http://t.co/NYpTlw9x"&gt;&lt;span style="background-color: white; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;Google Cloud Platform newsletter&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt; and read our &lt;/span&gt;&lt;a href="http://t.co/ZdnJwshA"&gt;&lt;span style="background-color: white; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"&gt;February edition&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;. &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"&gt;-&lt;/span&gt;&lt;span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"&gt;Posted by Chris Ramsdale, Product Manager&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/ClPlBl/~4/Ds9cSP9Xob4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecloudplatform.blogspot.com/feeds/1048970860302422660/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecloudplatform.blogspot.com/2013/02/app-engine-175-released.html#comment-form" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/1048970860302422660?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/1048970860302422660?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ClPlBl/~3/Ds9cSP9Xob4/app-engine-175-released.html" title="App Engine 1.7.5 Released" /><author><name>Emily Wood</name><uri>https://plus.google.com/112374322230920073195</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>5</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://googlecloudplatform.blogspot.com/2013/02/app-engine-175-released.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEECQ30zcCp7ImA9WhBWFUo.&quot;"><id>tag:blogger.com,1999:blog-5589634522109419319.post-5730250923145844944</id><published>2013-02-12T10:15:00.000-08:00</published><updated>2013-04-09T23:51:02.388-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-04-09T23:51:02.388-07:00</app:edited><title>Research Projects on Google App Engine</title><content type="html">&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;
 Last spring &lt;a href="http://research.google.com/university/relations/index.html"&gt;Google University Relations&lt;/a&gt; &lt;a href="http://googleresearch.blogspot.com/2012/03/google-app-engine-research-awards-for.html"&gt;announced&lt;/a&gt; an open call for proposals for &lt;a href="http://research.google.com/university/relations/appengine/index.html"&gt;Google App Engine Research Awards&lt;/a&gt;. We invited academic researchers to use &lt;a href="https://cloud.google.com/products/"&gt;Google App Engine&lt;/a&gt; for research experiments and analysis, encouraging them to take advantage of the platform’s ability to manage heavy data loads and run large-scale applications. Submissions included proposals in various subject areas such as mathematics, computer vision, bioinformatics, climate and computer science. We selected seven projects and have awarded each $60,000 in Google App Engine credits recognizing their innovation and vision.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;
Today we would like to share a brief introduction of the winning projects and their Principal Investigators:&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-family: inherit;"&gt;&lt;a href="http://www.infospheres.caltech.edu/people/mani"&gt;K. Mani Chandy&lt;/a&gt;, Simon Ramo Professor and Professor of Computer Science, California Institute of Technology&lt;br /&gt;
&lt;i&gt;Cloud-based Event Detection for Sense and Response:&lt;/i&gt; Develop a low-cost alternative to traditional seismic networks. The image below is taken from the Community Seismic Network map showing active clients and events in real time.&lt;/span&gt;&lt;/li&gt;
&lt;span style="font-family: inherit;"&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-36ISolgDNlg/URpWATJYx6I/AAAAAAAACeg/vNXn5JHHtz0/s1600/chandy.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-36ISolgDNlg/URpWATJYx6I/AAAAAAAACeg/vNXn5JHHtz0/s400/chandy.png" height="240" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;b id="internal-source-marker_0.6703736898489296" style="font-weight: normal; text-align: start;"&gt;&lt;span style="background-color: white; color: #222222; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;A dense network of seismic stations enables the Community Seismic Network to perform a finer-grained analysis of seismic events than possible with existing seismic networks.&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;li&gt;&lt;a href="http://www.utdallas.edu/~chung/Lawrence-Chung-2-Page-CV-01-16-2013.pdf"&gt;Lawrence Chung&lt;/a&gt;, Associate Professor, The University of Texas at Dallas&lt;br /&gt;
&lt;i&gt;Google App Engine: &lt;a href="http://www.utdallas.edu/~axg118830/silverlining.html"&gt;Software Benchmark and Google App Engine Simulation Forecaster&lt;/a&gt;:&lt;/i&gt; Develop a tool to estimate software performance and cost on Google App Engine.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://bioinformatics.bris.ac.uk/people/julian_gough.php"&gt;Julian Gough&lt;/a&gt;, Professor, University of Bristol, UK&lt;br /&gt;
&lt;i&gt;Personalised DNA Analysis:&lt;/i&gt; Develop a service that provides personal DNA analysis.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://web.media.mit.edu/~raskar/"&gt;Ramesh Raskar&lt;/a&gt;, PhD, MIT Media Lab;  Dr. &lt;a href="http://sertao3d.com/"&gt;Erick Baptista Passos&lt;/a&gt;, IFPI (Federal Institute of Technology, Brazil)&lt;br /&gt;
&lt;i&gt;VisionBlocks:&lt;/i&gt; develop a tool that delivers computer vision to people everywhere. The image below shows a current prototype implementation of VisionBlocks.&lt;/li&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-wq-x6rSSySU/URpWIDdRl7I/AAAAAAAACes/LrfeUqxfHgo/s1600/raskar.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-wq-x6rSSySU/URpWIDdRl7I/AAAAAAAACes/LrfeUqxfHgo/s400/raskar.png" height="225" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;b id="internal-source-marker_0.6703736898489296" style="font-weight: normal; text-align: start;"&gt;&lt;span style="background-color: white; color: #222222; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;i&gt;&lt;span style="font-size: x-small;"&gt;Many algorithms are already included, and you'll be able create your own blocks as well.&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;li&gt;&lt;a href="http://www.normsadeh.org/"&gt;Norman Sadeh&lt;/a&gt;, Professor, Director of Mobile Commerce Lab, School of&lt;br /&gt;
Computer Science, Carnegie Mellon University&lt;br /&gt;
&lt;i&gt;Mapping the Dynamics of a City &amp;amp; Nudging Twitter Users:&lt;/i&gt; uncovering local collective knowledge about the a city using social media.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://wstein.org/"&gt;William Stein&lt;/a&gt;, Professor of Mathematics, University of Washington&lt;br /&gt;
&lt;i&gt;Sage:&lt;/i&gt; Creating a Viable Free Open Source Alternative to Magma, Maple, Matlab, and Mathematica.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://vivoni.asu.edu/"&gt;Enrique Vivoni&lt;/a&gt;, Associate Professor, &lt;a href="http://hydrology.asu.edu/wiki/index.php/Home_page"&gt;Hydrologic Science, Engineering &amp;amp; Sustainability&lt;/a&gt;, Arizona State University&lt;br /&gt;
&lt;i&gt;Cloud Computing-Based Visualization and Access of Global Climate Data Sets:&lt;/i&gt; provide scientific data on global climate trends.&lt;/li&gt;
&lt;/span&gt;&lt;/ul&gt;
&lt;span style="font-family: inherit;"&gt;Congratulations to the award winners! We are excited about the proposals’ creativity and innovation and look forward to learning about their discoveries. To read more about specific projects, go &lt;a href="http://googleresearch.blogspot.com/2013/02/research-projects-on-google-app-engine.html"&gt;here&lt;/a&gt;. &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: inherit;"&gt;-Posted by Andrea Held, Program Manager, Google University Relations&lt;/span&gt;&lt;br /&gt;
&lt;blockquote&gt;
&lt;/blockquote&gt;
&lt;img src="http://feeds.feedburner.com/~r/ClPlBl/~4/8E9uHu-R708" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://googlecloudplatform.blogspot.com/feeds/5730250923145844944/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://googlecloudplatform.blogspot.com/2013/02/research-projects-on-google-app-engine.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/5730250923145844944?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5589634522109419319/posts/default/5730250923145844944?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ClPlBl/~3/8E9uHu-R708/research-projects-on-google-app-engine.html" title="Research Projects on Google App Engine" /><author><name>Emily Wood</name><uri>https://plus.google.com/112374322230920073195</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-36ISolgDNlg/URpWATJYx6I/AAAAAAAACeg/vNXn5JHHtz0/s72-c/chandy.png" height="72" width="72" /><thr:total>1</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://googlecloudplatform.blogspot.com/2013/02/research-projects-on-google-app-engine.html</feedburner:origLink></entry></feed>
