<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Google Data &#187; The App Engine Team</title>
	<atom:link href="/author/the-app-engine-team/feed/" rel="self" type="application/rss+xml" />
	<link>https://googledata.org</link>
	<description>Everything Google: News, Products, Services, Content, Culture</description>
	<lastBuildDate>Thu, 19 Mar 2015 17:15:47 +0000</lastBuildDate>
	<language>en-US</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.7.5</generator>
	<item>
		<title>The Google App Engine blog is moving!</title>
		<link>https://googledata.org/uncategorized/the-google-app-engine-blog-is-moving/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-google-app-engine-blog-is-moving</link>
		<comments>https://googledata.org/uncategorized/the-google-app-engine-blog-is-moving/#comments</comments>
		<pubDate>Fri, 10 May 2013 19:19:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
		
		<guid isPermaLink="false">https://googledata.org/?guid=c0df7724af5051c7e2c830feeef7fdd6</guid>
		<description><![CDATA[<br />
Since this blog's inception, <a href="https://cloud.google.com/products/">Google App Engine</a> has gone from the primary component of our nascent <a href="https://cloud.google.com/">Cloud Platform</a> to one of the many services we offer developers building in the cloud. In recognition of the growth of the platform in both usage and number of components, it's time to take a more holistic approach to our communications channels. With this in mind, we are introducing a new, comprehensive <a href="http://googlecloudplatform.blogspot.com/">Google Cloud Platform blog</a>.<br /><br />
The Google Cloud Platform blog will be the home for all new App Engine blog content: the release updates, tips and tricks and customer stories you've grown accustomed to finding here. You'll still be able to read existing posts in the archives, and all links to this blog should continue to function.<br /><br />
App Engine has been, and continues to be, one of the cornerstones of our vision for developing in the cloud.  It has been exciting to see what over 300,000 of you have built and we can&#8217;t wait to see what you do next. <br /><br /><span>-Posted by Chris Ramsdale, Product Manager</span>]]></description>
				<content:encoded><![CDATA[<br />
Since this blog's inception, <a href="https://cloud.google.com/products/">Google App Engine</a> has gone from the primary component of our nascent <a href="https://cloud.google.com/">Cloud Platform</a> to one of the many services we offer developers building in the cloud. In recognition of the growth of the platform in both usage and number of components, it's time to take a more holistic approach to our communications channels. With this in mind, we are introducing a new, comprehensive <a href="http://googlecloudplatform.blogspot.com/">Google Cloud Platform blog</a>.<br />
<br />
The Google Cloud Platform blog will be the home for all new App Engine blog content: the release updates, tips and tricks and customer stories you've grown accustomed to finding here. You'll still be able to read existing posts in the archives, and all links to this blog should continue to function.<br />
<br />
App Engine has been, and continues to be, one of the cornerstones of our vision for developing in the cloud.  It has been exciting to see what over 300,000 of you have built and we can’t wait to see what you do next. <br />
<br />
<span class="byline-author">-Posted by Chris Ramsdale, Product Manager</span>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/uncategorized/the-google-app-engine-blog-is-moving/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Tune in live to Google Cloud Platform at Google I/O 2013</title>
		<link>https://googledata.org/uncategorized/tune-in-live-to-google-cloud-platform-at-google-io-2013/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=tune-in-live-to-google-cloud-platform-at-google-io-2013</link>
		<comments>https://googledata.org/uncategorized/tune-in-live-to-google-cloud-platform-at-google-io-2013/#comments</comments>
		<pubDate>Thu, 09 May 2013 19:54:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
		
		<guid isPermaLink="false">https://googledata.org/?guid=8bfe5068444b01ed5a36c2290205d245</guid>
		<description><![CDATA[<b><div dir="ltr">
<br /></div>
<div dir="ltr">
<span><a href="https://developers.google.com/events/io/">Google I/O 2013</a> is only a week away! &#160;We look forward to sharing updates across <a href="https://cloud.google.com/">Google Cloud Platform</a>. &#160;Here&#8217;s everything you need to know to keep up with the latest happenings at I/O.</span></div>
<br /><span></span><div dir="ltr">
<span>This year, we will have a Google Cloud Platform track kickoff given by <a href="https://plus.google.com/+UrsH%C3%B6lzle/posts">Urs Holzle</a>, Senior Vice President of Technical Infrastructure, on Wednesday, May 15th at 12:45 PM Pacific. You can watch the stream on the </span><a href="https://developers.google.com/events/io/io-live"><span>I/O Live Stream page</span></a><span>. &#160;Urs will make a few special announcements, so you won&#8217;t want to miss it.</span></div>
<br /><span></span><div dir="ltr">
<span>At I/O, we have an </span><a href="https://developers.google.com/events/io/sessions#t-google-cloud-platform"><span>entire Cloud Platform track </span></a><span>complete with code labs and conference sessions. Even if you aren&#8217;t attending, you can still tune in to the following sessions on the live stream, which you&#8217;ll also be able to find on the homepage of </span><a href="https://cloud.google.com/"><span>cloud.google.com</span></a><span>:</span></div>
<div dir="ltr">
<br /></div>
<ul><li><div dir="ltr">
<a href="https://developers.google.com/events/io/sessions/333265959"><span>Track Kickoff: Ushering in the Next Generation of Cloud Computing</span></a><span> (5/1512:45PM PT)</span></div>
</li>
<li><div dir="ltr">
<a href="https://developers.google.com/events/io/sessions/333508149"><span>From Nothing to Nirvana in Minutes: Cloud Backend for Your Android Application</span></a><span> (5/16 3:30PM PT)</span></div>
</li>
<li><div dir="ltr">
<a href="https://developers.google.com/events/io/sessions/333117643"><span>What&#8217;s New and Cool with Google Compute Engine </span></a><span>(5/15 3:50PM PT)</span></div>
</li>
<li><div dir="ltr">
<span>A New Language for App Engine (5/16 3:30PM PT)</span></div>
</li>
</ul><br /><span></span><div dir="ltr">
<span>All of our </span><a href="https://developers.google.com/events/io/sessions#t-google-cloud-platform"><span>sessions</span></a><span> (including the live ones above) will be available on demand as soon as we can get them posted. &#160;We&#8217;ll post live updates on </span><a href="http://google.com/+googlecloudplatform"><span>Google+</span></a><span> and </span><a href="http://twitter.com/app_engine"><span>Twitter</span></a><span>, so be sure to follow us and take part in the conversation. &#160;</span></div>
<br /><span></span><div dir="ltr">
<span>Until I/O!</span></div>
<br /><span></span><div dir="ltr">
<span>-Posted by Zafir Khan, Product Marketing Manager</span></div>
</b>]]></description>
				<content:encoded><![CDATA[<b id="docs-internal-guid-2542707a-8ad3-2136-6f06-0a6339bf302a" style="font-weight: normal;"><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<br /></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<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;"><a href="https://developers.google.com/events/io/">Google I/O 2013</a> is only a week away! &nbsp;We look forward to sharing updates across <a href="https://cloud.google.com/">Google Cloud Platform</a>. &nbsp;Here’s everything you need to know to keep up with the latest happenings at I/O.</span></div>
<br /><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;"></span><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<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;">This year, we will have a Google Cloud Platform track kickoff given by <a href="https://plus.google.com/+UrsH%C3%B6lzle/posts">Urs Holzle</a>, Senior Vice President of Technical Infrastructure, on Wednesday, May 15th at 12:45 PM Pacific. You can watch the stream on the </span><a href="https://developers.google.com/events/io/io-live" style="text-decoration: none;"><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;">I/O Live Stream page</span></a><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;">. &nbsp;Urs will make a few special announcements, so you won’t want to miss it.</span></div>
<br /><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;"></span><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<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;">At I/O, we have an </span><a href="https://developers.google.com/events/io/sessions#t-google-cloud-platform" style="text-decoration: none;"><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;">entire Cloud Platform track </span></a><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;">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 </span><a href="https://cloud.google.com/" style="text-decoration: none;"><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;">cloud.google.com</span></a><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;">:</span></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<br /></div>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<a href="https://developers.google.com/events/io/sessions/333265959" style="text-decoration: none;"><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;">Track Kickoff: Ushering in the Next Generation of Cloud Computing</span></a><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;"> (5/1512:45PM PT)</span></div>
</li>
<li dir="ltr" style="background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<a href="https://developers.google.com/events/io/sessions/333508149" style="text-decoration: none;"><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;">From Nothing to Nirvana in Minutes: Cloud Backend for Your Android Application</span></a><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;"> (5/16 3:30PM PT)</span></div>
</li>
<li dir="ltr" style="background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<a href="https://developers.google.com/events/io/sessions/333117643" style="text-decoration: none;"><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;">What’s New and Cool with Google Compute Engine </span></a><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;">(5/15 3:50PM PT)</span></div>
</li>
<li dir="ltr" style="background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<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;">A New Language for App Engine (5/16 3:30PM PT)</span></div>
</li>
</ul>
<br /><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;"></span><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<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;">All of our </span><a href="https://developers.google.com/events/io/sessions#t-google-cloud-platform" style="text-decoration: none;"><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;">sessions</span></a><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;"> (including the live ones above) will be available on demand as soon as we can get them posted. &nbsp;We’ll post live updates on </span><a href="http://google.com/+googlecloudplatform" style="text-decoration: none;"><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;">Google+</span></a><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;"> and </span><a href="http://twitter.com/app_engine" style="text-decoration: none;"><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;">Twitter</span></a><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;">, so be sure to follow us and take part in the conversation. &nbsp;</span></div>
<br /><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;"></span><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<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;">Until I/O!</span></div>
<br /><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;"></span><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<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;">-Posted by Zafir Khan, Product Marketing Manager</span></div>
</b>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/uncategorized/tune-in-live-to-google-cloud-platform-at-google-io-2013/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Bringing Debian to Google Compute Engine</title>
		<link>https://googledata.org/uncategorized/bringing-debian-to-google-compute-engine-2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=bringing-debian-to-google-compute-engine-2</link>
		<comments>https://googledata.org/uncategorized/bringing-debian-to-google-compute-engine-2/#comments</comments>
		<pubDate>Thu, 09 May 2013 18:31:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
		
		<guid isPermaLink="false">https://googledata.org/?guid=c3a99b46a93bae3f9d41f81cdf20ce48</guid>
		<description><![CDATA[<b></b><br /><div dir="ltr">
<b><br /></b></div>
<div dir="ltr">
<b><span>This was an exciting week for the Debian community who </span><a href="http://www.debian.org/News/2013/20130504"><span>released</span></a><span> Debian 7.0 &#8220;wheezy&#8221; that brings big improvements including hardened security, improved 32/64-bit compatibility and addresses a lot of community feedback. &#160;Today we&#8217;re adding Debian images for </span><a href="https://cloud.google.com/products/compute-engine"><span>Google Compute Engine</span></a><span>. &#160;Debian, in collaboration with us, is providing images for both Debian 7.0 &#8220;wheezy&#8221; and the previous stable release, Debian 6.0 &#8220;squeeze.&#8221; &#160;&#160;This support will make it easy for anyone using Debian today to migrate their workloads onto Compute Engine.</span></b></div>
<b><br /><span></span></b><br /><div dir="ltr">
<b><span>For fast performance and to reduce bandwidth costs, Google is hosting a Debian package mirror for use by Google Compute Engine Debian instances. We&#8217;ve updated our </span><a href="https://developers.google.com/compute/docs/images"><span>docs</span></a><span> and will support Debian via our usual </span><a href="http://cloud.google.com/support"><span>support options</span></a><span> or you can also check out what </span><a href="http://www.debian.org/support"><span>Debian offers</span></a><span>. &#160;</span></b></div>
<b>
<br /><span></span></b><br /><div dir="ltr">
<b><span>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. &#160;We look forward to hearing your feedback.</span></b></div>
<b>
<br /><span></span><span>-Posted by Jimmy Kaplowitz, Site Reliability Engineer and Debian developer</span></b>]]></description>
				<content:encoded><![CDATA[<b id="docs-internal-guid-1152fe4f-8a8d-1410-6a7a-9fc0ab7d7685" style="font-weight: normal;"></b><br />
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<b id="docs-internal-guid-1152fe4f-8a8d-1410-6a7a-9fc0ab7d7685" style="font-weight: normal;"><br /></b></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<b id="docs-internal-guid-1152fe4f-8a8d-1410-6a7a-9fc0ab7d7685" style="font-weight: normal;"><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;">This was an exciting week for the Debian community who </span><a href="http://www.debian.org/News/2013/20130504" style="text-decoration: none;"><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;">released</span></a><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;"> Debian 7.0 “wheezy” that brings big improvements including hardened security, improved 32/64-bit compatibility and addresses a lot of community feedback. &nbsp;Today we’re adding Debian images for </span><a href="https://cloud.google.com/products/compute-engine" style="text-decoration: none;"><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;">Google Compute Engine</span></a><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;">. &nbsp;Debian, in collaboration with us, is providing images for both Debian 7.0 “wheezy” and the previous stable release, Debian 6.0 “squeeze.” &nbsp;&nbsp;This support will make it easy for anyone using Debian today to migrate their workloads onto Compute Engine.</span></b></div>
<b id="docs-internal-guid-1152fe4f-8a8d-1410-6a7a-9fc0ab7d7685" style="font-weight: normal;"><br />
<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;"></span></b><br />
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<b id="docs-internal-guid-1152fe4f-8a8d-1410-6a7a-9fc0ab7d7685" style="font-weight: normal;"><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;">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 </span><a href="https://developers.google.com/compute/docs/images" style="text-decoration: none;"><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;">docs</span></a><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;"> and will support Debian via our usual </span><a href="http://cloud.google.com/support" style="text-decoration: none;"><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;">support options</span></a><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;"> or you can also check out what </span><a href="http://www.debian.org/support" style="text-decoration: none;"><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;">Debian offers</span></a><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;">. &nbsp;</span></b></div>
<b id="docs-internal-guid-1152fe4f-8a8d-1410-6a7a-9fc0ab7d7685" style="font-weight: normal;">
<br />
<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;"></span></b><br />
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<b id="docs-internal-guid-1152fe4f-8a8d-1410-6a7a-9fc0ab7d7685" style="font-weight: normal;"><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;">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. &nbsp;We look forward to hearing your feedback.</span></b></div>
<b id="docs-internal-guid-1152fe4f-8a8d-1410-6a7a-9fc0ab7d7685" style="font-weight: normal;">
<br />
<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;"></span><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;">-Posted by Jimmy Kaplowitz, Site Reliability Engineer and Debian developer</span></b>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/uncategorized/bringing-debian-to-google-compute-engine-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Bringing Debian to Google Compute Engine</title>
		<link>https://googledata.org/uncategorized/bringing-debian-to-google-compute-engine/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=bringing-debian-to-google-compute-engine</link>
		<comments>https://googledata.org/uncategorized/bringing-debian-to-google-compute-engine/#comments</comments>
		<pubDate>Wed, 08 May 2013 17:35:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
		
		<guid isPermaLink="false">https://googledata.org/?guid=11385fcee95d0cd3aec6c1d56736dc92</guid>
		<description><![CDATA[<b><span></span></b><br /><div dir="ltr">
<b><span><span>This was an exciting week for the Debian community who </span><a href="http://www.debian.org/News/2013/20130504"><span>released</span></a><span> Debian 7.0 &#8220;wheezy&#8221; that brings big improvements including hardened security, improved 32/64-bit compatibility and addresses a lot of community feedback. &#160;Today we&#8217;re adding Debian images for </span><a href="https://cloud.google.com/products/compute-engine"><span>Google Compute Engine</span></a><span>. &#160;Debian, in collaboration with us, is providing images for both Debian 7.0 &#8220;wheezy&#8221; and the previous stable release, Debian 6.0 &#8220;squeeze.&#8221; &#160;&#160;This support will make it easy for anyone using Debian today to migrate their workloads onto Compute Engine.</span></span></b><br /><b><span><span>
</span></span></b> <b><span><span>For fast performance and to reduce bandwidth costs, Google is hosting a Debian package mirror for use by Google Compute Engine Debian instances. We&#8217;ve updated our </span><a href="https://developers.google.com/compute/docs/images"><span>docs</span></a><span> and will support Debian via our usual </span><a href="http://cloud.google.com/support"><span>support options</span></a><span> or you can also check out what </span><a href="http://www.debian.org/support"><span>Debian offers</span></a><span>. &#160;</span></span></b><br /><b><span></span></b><br /><div dir="ltr">
<div>
<b><span><span>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. &#160;We look forward to hearing your feedback.</span></span></b></div>
</div>
</div>
<b><span><br /><span></span><span>-Posted by Jimmy Kaplowitz, Site Reliability Engineer and Debian Developer</span></span></b>]]></description>
				<content:encoded><![CDATA[<b id="docs-internal-guid-58d61ded-8016-2c2f-a35f-9ba729348c03" style="font-weight: normal;"><span style="font-family: inherit;"></span></b><br />
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<b id="docs-internal-guid-58d61ded-8016-2c2f-a35f-9ba729348c03" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">This was an exciting week for the Debian community who </span><a href="http://www.debian.org/News/2013/20130504" style="text-decoration: none;"><span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">released</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> Debian 7.0 “wheezy” that brings big improvements including hardened security, improved 32/64-bit compatibility and addresses a lot of community feedback. &nbsp;Today we’re adding Debian images for </span><a href="https://cloud.google.com/products/compute-engine" style="text-decoration: none;"><span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Google Compute Engine</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">. &nbsp;Debian, in collaboration with us, is providing images for both Debian 7.0 “wheezy” and the previous stable release, Debian 6.0 “squeeze.” &nbsp;&nbsp;This support will make it easy for anyone using Debian today to migrate their workloads onto Compute Engine.</span></span></b><br />
<b style="font-weight: normal; line-height: 1.15;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">
</span></span></b> <b id="docs-internal-guid-58d61ded-8016-2c2f-a35f-9ba729348c03" style="font-weight: normal; line-height: 1.15;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">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 </span><a href="https://developers.google.com/compute/docs/images" style="text-decoration: none;"><span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">docs</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> and will support Debian via our usual </span><a href="http://cloud.google.com/support" style="text-decoration: none;"><span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">support options</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> or you can also check out what </span><a href="http://www.debian.org/support" style="text-decoration: none;"><span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Debian offers</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">. &nbsp;</span></span></b><br />
<b id="docs-internal-guid-58d61ded-8016-2c2f-a35f-9ba729348c03" style="font-weight: normal; line-height: 1.15;"><span style="font-family: inherit;"></span></b><br />
<div dir="ltr" style="display: inline !important; line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<div style="display: inline !important;">
<b id="docs-internal-guid-58d61ded-8016-2c2f-a35f-9ba729348c03" style="font-weight: normal; line-height: 1.15;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">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. &nbsp;We look forward to hearing your feedback.</span></span></b></div>
</div>
</div>
<b id="docs-internal-guid-58d61ded-8016-2c2f-a35f-9ba729348c03" style="font-weight: normal;"><span style="font-family: inherit;"><br />
<span style="vertical-align: baseline; white-space: pre-wrap;"></span><span style="vertical-align: baseline; white-space: pre-wrap;">-Posted by Jimmy Kaplowitz, Site Reliability Engineer and Debian Developer</span></span></b>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/uncategorized/bringing-debian-to-google-compute-engine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Automatically Process Cloud Storage Uploads with Change Notifications</title>
		<link>https://googledata.org/uncategorized/automatically-process-cloud-storage-uploads-with-change-notifications/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=automatically-process-cloud-storage-uploads-with-change-notifications</link>
		<comments>https://googledata.org/uncategorized/automatically-process-cloud-storage-uploads-with-change-notifications/#comments</comments>
		<pubDate>Wed, 08 May 2013 01:52:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
		
		<guid isPermaLink="false">https://googledata.org/?guid=c46df467f3b65641874ae7fa1850eed5</guid>
		<description><![CDATA[
Do your customers upload files to Google Cloud Storage 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 b...]]></description>
				<content:encoded><![CDATA[<br />
<b id="docs-internal-guid-4a8c2094-80f5-a392-9e57-9121f5300d84" style="font-weight: normal; line-height: 1.15;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">Do your customers upload files to </span><a href="https://cloud.google.com/storage" style="text-decoration: none;"><span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Google Cloud Storage</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> 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.</span></span></b><br />
<b id="docs-internal-guid-4a8c2094-80f5-a392-9e57-9121f5300d84" style="font-weight: normal;"><span style="font-family: inherit;"><br />
<span style="background-color: white; color: #222222; vertical-align: baseline; white-space: pre-wrap;"></span><span style="vertical-align: baseline; white-space: pre-wrap;">Today, we're releasing </span><a href="https://developers.google.com/storage/docs/object-change-notification" style="text-decoration: none;"><span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">object change notification</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> 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 <a href="https://developers.google.com/storage/docs/gsutil/commands/notifyconfig">notifyconfig command</a>.  A </span><a href="https://cloud.google.com/appengine/" style="text-decoration: none;"><span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Google App Engine</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> webhook can be as simple as the following:</span></span></b><br />
<br />
<div><script src="https://gist.github.com/robertdo/57de2cdcd938af5b6050.js"></script><br />
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"><b id="docs-internal-guid-4a8c2094-80f5-8b26-c2de-cd88b8fd0614" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">We're also releasing an </span><a href="https://developers.google.com/storage/docs/json_api/release_notes#april222013" style="text-decoration: none;"><span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">update</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> to the </span><a href="https://developers.google.com/storage/docs/json_api/v1" style="text-decoration: none;"><span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Google Cloud Storage JSON API</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">, bringing it into parity with our existing XML API, including exposing new methods such as </span><a href="https://developers.google.com/storage/docs/json_api/v1/objects/copy" style="text-decoration: none;"><span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Copy</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> and </span><a href="https://developers.google.com/storage/docs/json_api/v1/objects/compose" style="text-decoration: none;"><span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Compose</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">. As a part of this release, we are making the API available to everyone without requiring an invitation.</span></span></b></div><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;"><b id="docs-internal-guid-4a8c2094-80f5-8b26-c2de-cd88b8fd0614" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">Enjoy, and as always, we watch </span><span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"><a href="http://stackoverflow.com/questions/tagged/google-cloud-storage" style="text-decoration: none;">StackOverflow</a>.</span></span></b></div><br />
<div>- Posted by Dave Barth, Product Manager</div></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/uncategorized/automatically-process-cloud-storage-uploads-with-change-notifications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>App Engine 1.7.7 Released</title>
		<link>https://googledata.org/google-app-engine/app-engine-1-7-7-released/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=app-engine-1-7-7-released</link>
		<comments>https://googledata.org/google-app-engine/app-engine-1-7-7-released/#comments</comments>
		<pubDate>Tue, 09 Apr 2013 20:25:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=e2e4b5c3cea738b3eef3eef3b81c20fa</guid>
		<description><![CDATA[<b><span><span><br /></span></span></b><b><span><span>3 weeks following our last release, the App Engine team is happy to announce 1.7.7. &#160;We plan to deliver our </span><a href="https://developers.google.com/events/io/"><span>Google I/O</span></a><span> release next month. &#160;</span></span></b><br /><br /><div dir="ltr">
<span><b><span>Outbound sockets moved to Preview</span></b></span><br /><b><span>Outbound sockets is now in preview in this release for </span><a href="https://developers.google.com/appengine/docs/java/sockets/overview"><span>Java</span></a><span> and </span><a href="https://developers.google.com/appengine/docs/python/sockets/overview"><span>Python</span></a><span>. &#160;With outbound sockets, billing-enabled App Engine applications can now make outbound connections with TCP or UDP sockets. &#160;This allows developers to build applications that weren&#8217;t previously possible on App Engine, such as IMAP or DNS clients. </span></b></div>
<span><b> </b><b><span></span></b></span><br /><div dir="ltr">
<span><b><span>In the Python runtime, we&#8217;ve </span><a href="https://developers.google.com/appengine/docs/python/sockets/ssl_support"><span>added support for the Python SSL Library</span></a><span>, so you can now open secure connections to remote services such as Apple&#8217;s Push Notification service. Similarly, Java developers can now use the </span><a href="http://docs.oracle.com/javase/7/docs/api/javax/net/ssl/package-summary.html"><span>javax.net.ssl</span></a><span> package to make outbound SSL connections.</span></b></span></div>
<span><b><span></span></b></span><br /><div dir="ltr">
<span><b><span>Java 7 runtime upgraded to General Availability </span></b></span></div>
<div dir="ltr">
<span><b><span>The App Engine team is committed to quickly releasing features to General Availability. &#160;You may recall we announced that the Java 7 runtime was in preview </span><a href="http://googleappengine.blogspot.com/2013/02/java-7-and-cloud-endpoints-preview.html"><span>just 2 months ago</span></a><span>. &#160;Since then we have seen 200% adoption week over week, and today are happy to announce the General Availability of the runtime. &#160;</span></b></span></div>
<div dir="ltr">
<span><b><span> </span></b></span></div>
<span><b><span></span><div dir="ltr">
<span>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. &#160;In the near future, we plan to automatically update all existing Java 6 applications to Java 7. &#160;Most applications shouldn&#8217;t be affected by this change, but we encourage you to start testing your application in advance. &#160;For more compatibility information, we suggest that you check out the </span><a href="http://www.oracle.com/technetwork/java/javase/compatibility-417013.html"><span>Java SE 7 and JDK 7 Compatibility notes</span></a><span>.</span></div>
<div dir="ltr">
<span> </span></div>
</b><b><span></span><div dir="ltr">
<span>Google App Engine Maven Plugin</span></div>
<div dir="ltr">
<span>The </span><a href="https://developers.google.com/appengine/docs/java/tools/maven"><span>Google App Engine Maven plugin</span></a><span> has been updated to support new goals: now you can directly enhance Datanucleus classes, and generate </span><a href="https://developers.google.com/appengine/docs/java/endpoints/overview"><span>Google Cloud Endpoints</span></a><span> service discovery and client libraries. </span></div>
<div dir="ltr">
<span> </span></div>
</b><b><span></span><div dir="ltr">
<span>Improving the developer experience - goodbye $2.10!</span><span></span></div>
<div dir="ltr">
<span>We&#8217;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. &#160;We have determined that we can continue to support the free tier, without relying on the minimum spend. &#160;So, goodbye $2.10!</span></div>
<div dir="ltr">
<span> </span></div>
</b><b><span></span><div dir="ltr">
<span>Cloud SDK Preview</span><span></span></div>
<div dir="ltr">
<span>In our continuing effort to make developers&#8217; lives easier, we are happy to share with you a preview release of the </span><a href="https://developers.google.com/cloud/sdk/"><span>Google Cloud SDK</span></a><span> which includes everything from the App Engine SDKs for Java, Python or Go as well as all the tools needed to target </span><a href="https://cloud.google.com/products/compute-engine"><span>Google Compute Engine</span></a><span>, </span><a href="https://cloud.google.com/products/cloud-sql"><span>Google Cloud SQL</span></a><span>, </span><a href="https://cloud.google.com/products/cloud-storage"><span>Google Cloud Storage</span></a><span> and </span><a href="https://cloud.google.com/products/big-query"><span>Google BigQuery</span></a><span> in one easy-to-use package. &#160;Please try it out; we are eager to hear your feedback.</span></div>
<div dir="ltr">
<span> </span></div>
</b><b><span></span><div dir="ltr">
<span>A note on reliability improvements</span></div>
<div dir="ltr">
<span>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. &#160;In just the past two months, we&#8217;ve made many such improvements:</span></div>
</b><b><ul><li><div dir="ltr">
<span>Faster and more consistent deployments. &#160;Many customers are seeing up to 10x reductions in time to deploy a new application version.</span></div>
</li>
<li><div dir="ltr">
<span>We have fully deployed an entirely new scheduler system which autoscales applications more smoothly and efficiently.</span></div>
</li>
</ul></b><b><ul><li><div dir="ltr">
<span>Admin console dashboard charts and current load/error reports have moved to a new, more reliable backend</span></div>
</li>
<li><div dir="ltr">
<span>The release version of App Engine is now visible in the Admin Console and in request logs</span></div>
</li>
<li><div dir="ltr">
<span>Several stability and scheduling improvements to Task Queue</span><span></span></div>
<div dir="ltr">
<span> </span></div>
</li>
</ul></b><b><span></span><div dir="ltr">
<span>The complete list of features and bug fixes for 1.7.7 can be found in our</span><span> <a href="http://code.google.com/p/googleappengine/w/list">release notes</a></span><span>. For App Engine coding questions and answers check us out on</span><span> </span><span><a href="http://stackoverflow.com/questions/tagged/google-app-engine">Stack Overflow</a></span><span>, and for general discussion and feedback, find us on our</span><span> <a href="https://groups.google.com/forum/?fromgroups#!forum/google-appengine">Google Group</a></span><span>. </span><br /><span><br /></span></div>
<div dir="ltr">
<div dir="ltr">
<div>
<b><span><span>- </span><span>Posted by Chris Ramsdale, Product Manager</span></span></b></div>
</div>
</div>
</b></span><b><div dir="ltr">
<span></span></div>
<div>
<span><br /></span></div>
</b>]]></description>
				<content:encoded><![CDATA[<b style="font-weight: normal;"><span style="font-family: inherit;"><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"><br /></span></span></b><b id="internal-source-marker_0.01894257264211774" style="font-weight: normal;"><span style="font-family: inherit;"><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">3 weeks following our last release, the App Engine team is happy to announce 1.7.7. &nbsp;We plan to deliver our </span><a href="https://developers.google.com/events/io/" style="text-decoration: none;"><span style="background-color: white; color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Google I/O</span></a><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"> release next month. &nbsp;</span></span></b><br />
 <br />
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="background-color: white; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Outbound sockets moved to Preview</span></b></span><br />
<b style="font-family: inherit; font-weight: normal;"><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">Outbound sockets is now in preview in this release for </span><a href="https://developers.google.com/appengine/docs/java/sockets/overview" style="text-decoration: none;"><span style="background-color: white; color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Java</span></a><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"> and </span><a href="https://developers.google.com/appengine/docs/python/sockets/overview" style="text-decoration: none;"><span style="background-color: white; color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Python</span></a><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">. &nbsp;With outbound sockets, billing-enabled App Engine applications can now make outbound connections with TCP or UDP sockets. &nbsp;This allows developers to build applications that weren’t previously possible on App Engine, such as IMAP or DNS clients. </span></b></div>
<span style="font-family: inherit;"><b style="font-weight: normal;"> </b><b style="font-weight: normal;"><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"></span></b></span><br />
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">In the Python runtime, we’ve </span><a href="https://developers.google.com/appengine/docs/python/sockets/ssl_support" style="text-decoration: none;"><span style="background-color: white; color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">added support for the Python SSL Library</span></a><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">, so you can now open secure connections to remote services such as Apple’s Push Notification service. Similarly, Java developers can now use the </span><a href="http://docs.oracle.com/javase/7/docs/api/javax/net/ssl/package-summary.html" style="text-decoration: none;"><span style="background-color: white; color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">javax.net.ssl</span></a><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"> package to make outbound SSL connections.</span></b></span></div>
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"></span></b></span><br />
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="background-color: white; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Java 7 runtime upgraded to General Availability </span></b></span></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">The App Engine team is committed to quickly releasing features to General Availability. &nbsp;You may recall we announced that the Java 7 runtime was in preview </span><a href="http://googleappengine.blogspot.com/2013/02/java-7-and-cloud-endpoints-preview.html" style="text-decoration: none;"><span style="background-color: white; color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">just 2 months ago</span></a><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">. &nbsp;Since then we have seen 200% adoption week over week, and today are happy to announce the General Availability of the runtime. &nbsp;</span></b></span></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"> </span></b></span></div>
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"></span><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">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. &nbsp;In the near future, we plan to automatically update all existing Java 6 applications to Java 7. &nbsp;Most applications shouldn’t be affected by this change, but we encourage you to start testing your application in advance. &nbsp;For more compatibility information, we suggest that you check out the </span><a href="http://www.oracle.com/technetwork/java/javase/compatibility-417013.html" style="text-decoration: none;"><span style="background-color: white; color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Java SE 7 and JDK 7 Compatibility notes</span></a><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">.</span></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"> </span></div>
</b><b style="font-weight: normal;"><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"></span><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: white; color: #222222; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Google App Engine Maven Plugin</span></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: white; color: #222222; vertical-align: baseline; white-space: pre-wrap;">The </span><a href="https://developers.google.com/appengine/docs/java/tools/maven" style="text-decoration: none;"><span style="background-color: white; color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Google App Engine Maven plugin</span></a><span style="background-color: white; color: #222222; vertical-align: baseline; white-space: pre-wrap;"> has been updated to support new goals: now you can directly enhance Datanucleus classes, and generate </span><a href="https://developers.google.com/appengine/docs/java/endpoints/overview" style="text-decoration: none;"><span style="background-color: white; color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Google Cloud Endpoints</span></a><span style="background-color: white; color: #222222; vertical-align: baseline; white-space: pre-wrap;"> service discovery and client libraries. </span></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: white; color: #222222; vertical-align: baseline; white-space: pre-wrap;"> </span></div>
</b><b style="font-weight: normal;"><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"></span><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: white; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Improving the developer experience - goodbye $2.10!</span><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"></span></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">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. &nbsp;We have determined that we can continue to support the free tier, without relying on the minimum spend. &nbsp;So, goodbye $2.10!</span></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"> </span></div>
</b><b style="font-weight: normal;"><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"></span><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: white; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Cloud SDK Preview</span><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"></span></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">In our continuing effort to make developers’ lives easier, we are happy to share with you a preview release of the </span><a href="https://developers.google.com/cloud/sdk/" style="text-decoration: none;"><span style="background-color: white; color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Google Cloud SDK</span></a><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"> which includes everything from the App Engine SDKs for Java, Python or Go as well as all the tools needed to target </span><a href="https://cloud.google.com/products/compute-engine" style="text-decoration: none;"><span style="background-color: white; color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Google Compute Engine</span></a><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">, </span><a href="https://cloud.google.com/products/cloud-sql" style="text-decoration: none;"><span style="background-color: white; color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Google Cloud SQL</span></a><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">, </span><a href="https://cloud.google.com/products/cloud-storage" style="text-decoration: none;"><span style="background-color: white; color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Google Cloud Storage</span></a><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"> and </span><a href="https://cloud.google.com/products/big-query" style="text-decoration: none;"><span style="background-color: white; color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Google BigQuery</span></a><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"> in one easy-to-use package. &nbsp;Please try it out; we are eager to hear your feedback.</span></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"> </span></div>
</b><b style="font-weight: normal;"><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"></span><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: white; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">A note on reliability improvements</span></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">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. &nbsp;In just the past two months, we’ve made many such improvements:</span></div>
</b><b style="font-weight: normal;"><ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: white; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="vertical-align: baseline; white-space: pre-wrap;">Faster and more consistent deployments. &nbsp;Many customers are seeing up to 10x reductions in time to deploy a new application version.</span></div>
</li>
<li dir="ltr" style="background-color: white; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="vertical-align: baseline; white-space: pre-wrap;">We have fully deployed an entirely new scheduler system which autoscales applications more smoothly and efficiently.</span></div>
</li>
</ul>
</b><b style="font-weight: normal;"><ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: white; color: #333333; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="color: #222222; vertical-align: baseline; white-space: pre-wrap;">Admin console dashboard charts and current load/error reports have moved to a new, more reliable backend</span></div>
</li>
<li dir="ltr" style="background-color: white; color: #333333; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="color: #222222; vertical-align: baseline; white-space: pre-wrap;">The release version of App Engine is now visible in the Admin Console and in request logs</span></div>
</li>
<li dir="ltr" style="background-color: white; color: #333333; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="color: #222222; vertical-align: baseline; white-space: pre-wrap;">Several stability and scheduling improvements to Task Queue</span><span style="color: black; vertical-align: baseline; white-space: pre-wrap;"></span></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="color: #222222; vertical-align: baseline; white-space: pre-wrap;"> </span></div>
</li>
</ul>
</b><b style="font-weight: normal;"><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"></span><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">The complete list of features and bug fixes for 1.7.7 can be found in our</span><span style="background-color: white; color: black; vertical-align: baseline; white-space: pre-wrap;"> <a href="http://code.google.com/p/googleappengine/w/list">release notes</a></span><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">. For App Engine coding questions and answers check us out on</span><span style="background-color: white; color: black; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: white; color: black; vertical-align: baseline; white-space: pre-wrap;"><a href="http://stackoverflow.com/questions/tagged/google-app-engine">Stack Overflow</a></span><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">, and for general discussion and feedback, find us on our</span><span style="background-color: white; color: black; vertical-align: baseline; white-space: pre-wrap;"> <a href="https://groups.google.com/forum/?fromgroups#!forum/google-appengine">Google Group</a></span><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">. </span><br />
<span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<div dir="ltr" style="display: inline !important; margin-bottom: 0pt; margin-top: 0pt;">
<div style="display: inline !important;">
<b style="font-weight: normal;"><span style="font-family: inherit;"><span style="background-color: white; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">- </span><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">Posted by Chris Ramsdale, Product Manager</span></span></b></div>
</div>
</div>
</b></span><b style="font-weight: normal;"><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: white; font-family: Arial; font-size: 13px; text-decoration: line-through; vertical-align: baseline; white-space: pre-wrap;"></span></div>
<div>
<span style="background-color: white; font-family: Arial; font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"><br />
</span></div>
</b>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/app-engine-1-7-7-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Google Compute Engine &#8211; Expanded Availability, New Features, and Lower Prices</title>
		<link>https://googledata.org/google-app-engine/google-compute-engine-expanded-availability-new-features-and-lower-prices/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=google-compute-engine-expanded-availability-new-features-and-lower-prices</link>
		<comments>https://googledata.org/google-app-engine/google-compute-engine-expanded-availability-new-features-and-lower-prices/#comments</comments>
		<pubDate>Thu, 04 Apr 2013 17:17:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=8e316b99a7905dd684930320d44c7167</guid>
		<description><![CDATA[<b></b><br /><div dir="ltr">
<b><span><span><i>Cross-posted with the <a href="http://googledevelopers.blogspot.com/2013/04/google-compute-engine-expanded.html">Google Developers Blog</a></i></span></span></b></div>
<div dir="ltr">
<b><span><span><br /></span></span></b></div>
<div dir="ltr">
<b><span><span>Starting today, </span><span><a href="http://developers.google.com/compute">Google Compute Engine</a></span><span> is <a href="http://developers.google.com/compute/docs/signup">available</a> to all customers who </span><span>s</span><span>ign up</span><span> for our </span><span><a href="https://cloud.google.com/support/packages">Gold Support package</a></span><span>. We&#8217;re also happy to announce a 4% reduction on all </span><a href="https://cloud.google.com/pricing/compute-engine"><span>Compute Engine pricing</span></a><span>.</span></span></b></div>
<b><span><br /><span></span><div dir="ltr">
<span>In the nine months since announcing Compute Engine, customers have been using Google&#8217;s Infrastructure as a Service product and giving us valuable feedback. Sebastian Stadil of Scalr wrote, in a </span><a href="http://gigaom.com/2013/03/15/by-the-numbers-how-google-compute-engine-stacks-up-to-amazon-ec2/"><span>recent review</span></a><span>:</span></div>
<br /><span></span><div dir="ltr">
<span>&#8220;Google Compute Engine is not just fast. It&#8217;s Google fast. In fact, it&#8217;s a class of fast that enables new service architectures entirely.&#8221;</span></div>
<br /><span></span><div dir="ltr">
<span>We&#8217;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&#8217;s vast computing infrastructure. </span></div>
<br /><span></span><div dir="ltr">
<b></b></div>
<div dir="ltr">
<b><span>Based on user feedback, we&#8217;ve added a number of major features including:</span></b></div>
<b><br /><ul><li><div dir="ltr">
<span>The option to boot from </span><a href="https://developers.google.com/compute/docs/disks#rootfrompd"><span>persistent disks</span></a><span> mounted as the root file system, </span><a href="https://developers.google.com/compute/docs/disks#snapshots"><span>persistent disk snapshots</span></a><span>, the ability to checkpoint and restore the contents of network resident persistent disks on demand, and the ability to </span><a href="https://developers.google.com/compute/docs/disks#attachdiskrunninginstance"><span>attach and detach persistent disks</span></a><span> from running instances.</span></div>
</li>
</ul><br /><ul><li><div dir="ltr">
<span>An improved administration console, the </span><span><a href="http://cloud.google.com/console">Google Cloud Console</a></span><span> (preview), which allows you to administer all your Google Cloud Platform services via a unified interface. </span></div>
<div dir="ltr">
<span><br /></span></div>
<table align="center" cellpadding="0" cellspacing="0"><tbody><tr><td><a href="http://4.bp.blogspot.com/-0LlDFGw8GGs/UV2vaB5EWMI/AAAAAAAAARA/LfALGv4eCF0/s1600/image2+(1).png"><img border="0" src="http://4.bp.blogspot.com/-0LlDFGw8GGs/UV2vaB5EWMI/AAAAAAAAARA/LfALGv4eCF0/s1600/image2+(1).png" height="310" width="400"></a></td></tr><tr><td>Screenshot of new Cloud Console in action</td></tr></tbody></table></li>
</ul></b></span></b><span><b></b></span><br /><ul><li><div dir="ltr">
<b><span><span>Five new </span><a href="https://developers.google.com/compute/docs/instances"><span>instance</span></a><span> type familie</span><span>s (diskless versions of our standard instance types, plus diskful and diskless versions of high-memory and high-cpu configurations), w</span><span>ith 16 new instance types.</span></span></b></div>
</li>
</ul><b><span><br /><span></span></span><ul><li><div dir="ltr">
<span><span>Two new supported </span><a href="https://developers.google.com/compute/docs/zones"><span>zones</span></a><span> in Europe, which provide lower latency and higher performance for our European customers. We&#8217;ve also made it easy to migrate virtual machine instances from one zone to another via an enhancement to our </span><a href="https://developers.google.com/compute/docs/gcutil/"><span>gcutil command line tool</span></a><span>.</span></span></div>
</li>
</ul><span><br /><span></span></span><ul><li><div dir="ltr">
<span><span>An </span><a href="https://developers.google.com/compute/docs/metadata?hl=en"><span>enhanced metadata server</span></a><span>, with the ability to support recursive queries, blocking gets and selectable response formats, along with support for updating virtual machine </span><a href="https://developers.google.com/compute/docs/instances#tags"><span>tags</span></a><span> and </span><a href="https://developers.google.com/compute/docs/metadata?hl=en"><span>metadata</span></a><span> on running instances (which enables dynamic reconfiguration scenarios).</span></span></div>
</li>
</ul><span><br /><span></span></span><div dir="ltr">
<span><span>While we've been hard at work developing new features, we've also had the opportunity to play. Check out the amazing </span><a href="http://www.chrome.com/maze/"><span>World Wide Maze Chrome Experiment</span></a><span>, 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&#8217;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.</span></span></div>
<span><br /><span></span></span><div dir="ltr">
<span><span>With today&#8217;s announcement, we look forward to welcoming many new customers, and bringing exciting new applications to Google Cloud Platform!</span></span></div>
<div dir="ltr">
<span><span><br /></span></span></div>
<div dir="ltr">
<span><span>-Posted by Marc Cohen, Developer Relations</span></span></div>
<div>
<span><br /></span></div>
</b>]]></description>
				<content:encoded><![CDATA[<b id="internal-source-marker_0.5432888728100806" style="font-weight: normal;"></b><br />
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<b style="font-weight: normal;"><span style="font-family: inherit;"><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"><i>Cross-posted with the <a href="http://googledevelopers.blogspot.com/2013/04/google-compute-engine-expanded.html">Google Developers Blog</a></i></span></span></b></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<b style="font-weight: normal;"><span style="font-family: inherit;"><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"><br /></span></span></b></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<b id="internal-source-marker_0.5432888728100806" style="font-weight: normal;"><span style="font-family: inherit;"><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">Starting today, </span><span style="background-color: white; color: black; vertical-align: baseline; white-space: pre-wrap;"><a href="http://developers.google.com/compute">Google Compute Engine</a></span><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"> is <a href="http://developers.google.com/compute/docs/signup">available</a> to all customers who </span><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">s</span><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">ign up</span><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"> for our </span><span style="background-color: white; color: black; vertical-align: baseline; white-space: pre-wrap;"><a href="https://cloud.google.com/support/packages">Gold Support package</a></span><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">. We’re also happy to announce a 4% reduction on all </span><a href="https://cloud.google.com/pricing/compute-engine" style="text-decoration: none;"><span style="background-color: white; color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Compute Engine pricing</span></a><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">.</span></span></b></div>
<b id="internal-source-marker_0.5432888728100806" style="font-weight: normal;"><span style="font-family: inherit;"><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="vertical-align: baseline; white-space: pre-wrap;">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 </span><a href="http://gigaom.com/2013/03/15/by-the-numbers-how-google-compute-engine-stacks-up-to-amazon-ec2/" style="text-decoration: none;"><span style="color: black; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">recent review</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">:</span></div>
<br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;">
<span style="vertical-align: baseline; white-space: pre-wrap;">“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.”</span></div>
<br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="vertical-align: baseline; white-space: pre-wrap;">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. </span></div>
<br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<b id="internal-source-marker_0.5432888728100806" style="font-weight: normal; line-height: normal;"></b></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<b id="internal-source-marker_0.5432888728100806" style="font-weight: normal; line-height: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;">Based on user feedback, we’ve added a number of major features including:</span></b></div>
<b id="internal-source-marker_0.5432888728100806" style="font-weight: normal; line-height: normal;"><br /><ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: white; color: #222222; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="vertical-align: baseline; white-space: pre-wrap;">The option to boot from </span><a href="https://developers.google.com/compute/docs/disks#rootfrompd" style="text-decoration: none;"><span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">persistent disks</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> mounted as the root file system, </span><a href="https://developers.google.com/compute/docs/disks#snapshots" style="text-decoration: none;"><span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">persistent disk snapshots</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">, the ability to checkpoint and restore the contents of network resident persistent disks on demand, and the ability to </span><a href="https://developers.google.com/compute/docs/disks#attachdiskrunninginstance" style="text-decoration: none;"><span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">attach and detach persistent disks</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> from running instances.</span></div>
</li>
</ul>
<br /><ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: white; color: #222222; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; vertical-align: baseline; white-space: pre-wrap;">An improved administration console, the </span><span style="background-color: transparent; color: black; vertical-align: baseline; white-space: pre-wrap;"><a href="http://cloud.google.com/console">Google Cloud Console</a></span><span style="background-color: transparent; color: black; vertical-align: baseline; white-space: pre-wrap;"> (preview), which allows you to administer all your Google Cloud Platform services via a unified interface. </span></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/-0LlDFGw8GGs/UV2vaB5EWMI/AAAAAAAAARA/LfALGv4eCF0/s1600/image2+(1).png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="http://4.bp.blogspot.com/-0LlDFGw8GGs/UV2vaB5EWMI/AAAAAAAAARA/LfALGv4eCF0/s1600/image2+(1).png" height="310" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Screenshot of new Cloud Console in action</td></tr>
</tbody></table>
</li>
</ul>
</b></span></b><span style="font-family: inherit;"><b id="internal-source-marker_0.5432888728100806" style="font-weight: normal;"></b></span><br />
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: white; color: #222222; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<b id="internal-source-marker_0.5432888728100806" style="font-weight: normal;"><span style="font-family: inherit;"><span style="color: black; vertical-align: baseline; white-space: pre-wrap;">Five new </span><a href="https://developers.google.com/compute/docs/instances" style="text-decoration: none;"><span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">instance</span></a><span style="color: black; vertical-align: baseline; white-space: pre-wrap;"> type familie</span><span style="background-color: transparent; color: black; vertical-align: baseline; white-space: pre-wrap;">s (diskless versions of our standard instance types, plus diskful and diskless versions of high-memory and high-cpu configurations), w</span><span style="color: black; vertical-align: baseline; white-space: pre-wrap;">ith 16 new instance types.</span></span></b></div>
</li>
</ul>
<b id="internal-source-marker_0.5432888728100806" style="font-weight: normal;"><span style="font-family: inherit;"><br /><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"></span></span><ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: white; color: #222222; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">Two new supported </span><a href="https://developers.google.com/compute/docs/zones" style="text-decoration: none;"><span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">zones</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> 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 </span><a href="https://developers.google.com/compute/docs/gcutil/" style="text-decoration: none;"><span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">gcutil command line tool</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">.</span></span></div>
</li>
</ul>
<span style="font-family: inherit;"><br /><span style="background-color: white; color: #222222; vertical-align: baseline; white-space: pre-wrap;"></span></span><ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: white; color: #222222; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">An </span><a href="https://developers.google.com/compute/docs/metadata?hl=en" style="text-decoration: none;"><span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">enhanced metadata server</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">, with the ability to support recursive queries, blocking gets and selectable response formats, along with support for updating virtual machine </span><a href="https://developers.google.com/compute/docs/instances#tags" style="text-decoration: none;"><span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">tags</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> and </span><a href="https://developers.google.com/compute/docs/metadata?hl=en" style="text-decoration: none;"><span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">metadata</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> on running instances (which enables dynamic reconfiguration scenarios).</span></span></div>
</li>
</ul>
<span style="font-family: inherit;"><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span></span><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">While we've been hard at work developing new features, we've also had the opportunity to play. Check out the amazing </span><a href="http://www.chrome.com/maze/" style="text-decoration: none;"><span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">World Wide Maze Chrome Experiment</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">, 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.</span></span></div>
<span style="font-family: inherit;"><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span></span><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">With today’s announcement, we look forward to welcoming many new customers, and bringing exciting new applications to Google Cloud Platform!</span></span></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;"><br /></span></span></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">-Posted by Marc Cohen, Developer Relations</span></span></div>
<div>
<span style="font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div>
</b>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/google-compute-engine-expanded-availability-new-features-and-lower-prices/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Integrate Voice and SMS with Twilio on Google Cloud Platform</title>
		<link>https://googledata.org/google-app-engine/integrate-voice-and-sms-with-twilio-on-google-cloud-platform/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=integrate-voice-and-sms-with-twilio-on-google-cloud-platform</link>
		<comments>https://googledata.org/google-app-engine/integrate-voice-and-sms-with-twilio-on-google-cloud-platform/#comments</comments>
		<pubDate>Tue, 02 Apr 2013 14:17:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=dfd3e1b25c577c78d18f519f835aaa37</guid>
		<description><![CDATA[<b></b><br /><div dir="ltr">
<b><span><span>Have you ever wanted to integrate SMS or voice communications into your app? We&#8217;ve been working with our friends over at </span><a href="http://www.twilio.com/blog/2013/04/twilio-and-google-app-engine.html"><span>Twilio</span></a><span> to make it easier to do so. Today we&#8217;re announcing </span><a href="https://developers.google.com/appengine/articles/twilio"><span>native Python and Java libraries</span></a><span> for working with Twilio APIs onto Google Cloud Platform.</span></span></b><br /><br /><b><span><span>Lots of apps on App Engine have already been built with phone functionality. Check out the sample code for a </span><a href="https://gist.github.com/kwhinnery/5185303"><span>group messaging app</span></a><span> and the sample code for an </span><a href="https://github.com/dsshafer/phoneduty"><span>app that dispatches voicemails and SMS messages to PagerDuty</span></a><span>. Learn how to </span><a href="http://www.twilio.com/blog/2013/03/send-business-cards-via-sms-with-twilio-and-google-app-engine.html"><span>send business cards via sms through this step by step guide</span></a><span>. </span></span></b></div>
<div dir="ltr">
<br /><b><span><span>You can start building voice and SMS features into your App Engine apps today. Together with Twilio, we&#8217;ll help you get started with </span><a href="http://ahoy.twilio.com/appengine"><span>2,000 free text message or voice minutes</span></a><span>.</span></span></b></div>
<div>
<br /><div dir="ltr">
<b><span><b><span><span>Ready to get started?</span></span></b></span></b></div>
<ol><li><div dir="ltr">
<b><span><b><span><a href="https://cloud.google.com/products?utm_source=appengine&#38;utm_medium=blog&#38;utm_campaign=twilio-integration"><span>Sign up</span></a><span> for App Engine.</span></span></b></span></b></div>
</li>
<b><span><b>
<li><div dir="ltr">
<span><span>Get your </span><a href="http://ahoy.twilio.com/appengine"><span>Twilio account</span></a><span> and 2,000 free text message or voice minutes.</span></span></div>
</li>
<li><div dir="ltr">
<span><span>Check out our guide on </span><a href="https://developers.google.com/appengine/articles/twilio"><span>how to integrate Twilio services into your app</span></a><span>.</span></span></div>
</li>
</b></span></b></ol><b><span><b><span> <span></span></span></b></span></b> <br /><div dir="ltr">
<div>
<b><span><b><span><span>Here&#8217;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.</span></span></b></span></b><br /><b><span><b><span><span><br /></span></span></b></span></b>
</div>
<div>
<span>-Posted by Robert Do, Product Marketing Manager</span></div>
</div>
</div>]]></description>
				<content:encoded><![CDATA[<b id="internal-source-marker_0.2594573206733912" style="font-weight: normal;"></b><br />
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<b id="internal-source-marker_0.2594573206733912" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">Have you ever wanted to integrate SMS or voice communications into your app? We’ve been working with our friends over at </span><a href="http://www.twilio.com/blog/2013/04/twilio-and-google-app-engine.html" style="text-decoration: none;"><span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Twilio</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> to make it easier to do so. Today we’re announcing </span><a href="https://developers.google.com/appengine/articles/twilio" style="text-decoration: none;"><span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">native Python and Java libraries</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> for working with Twilio APIs onto Google Cloud Platform.</span></span></b><br />
<br />
<b id="internal-source-marker_0.2594573206733912" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">Lots of apps on App Engine have already been built with phone functionality. Check out the sample code for a </span><a href="https://gist.github.com/kwhinnery/5185303" style="text-decoration: none;"><span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">group messaging app</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> and the sample code for an </span><a href="https://github.com/dsshafer/phoneduty" style="text-decoration: none;"><span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">app that dispatches voicemails and SMS messages to PagerDuty</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">. Learn how to </span><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;"><span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">send business cards via sms through this step by step guide</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">. </span></span></b></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<br />
<b id="internal-source-marker_0.2594573206733912" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">You can start building voice and SMS features into your App Engine apps today. Together with Twilio, we’ll help you get started with </span><a href="http://ahoy.twilio.com/appengine" style="text-decoration: none;"><span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">2,000 free text message or voice minutes</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">.</span></span></b></div>
<div>
<br />
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; white-space: normal;">
<b id="internal-source-marker_0.2594573206733912" style="font-weight: normal;"><span style="vertical-align: baseline;"><b id="internal-source-marker_0.2594573206733912" style="font-weight: normal;"><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">Ready to get started?</span></span></b></span></b></div>
<ol style="margin-bottom: 0pt; margin-top: 0pt; white-space: normal;">
<li dir="ltr" style="list-style-type: decimal; vertical-align: baseline;"><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<b id="internal-source-marker_0.2594573206733912" style="font-weight: normal;"><span style="vertical-align: baseline;"><b id="internal-source-marker_0.2594573206733912" style="font-weight: normal;"><span style="font-family: inherit;"><a href="https://cloud.google.com/products?utm_source=appengine&amp;utm_medium=blog&amp;utm_campaign=twilio-integration" style="text-decoration: none;"><span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Sign up</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> for App Engine.</span></span></b></span></b></div>
</li>
<b id="internal-source-marker_0.2594573206733912" style="font-weight: normal;"><span style="vertical-align: baseline;"><b id="internal-source-marker_0.2594573206733912" style="font-weight: normal;">
<li dir="ltr" style="list-style-type: decimal; vertical-align: baseline;"><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">Get your </span><a href="http://ahoy.twilio.com/appengine" style="text-decoration: none;"><span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">Twilio account</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> and 2,000 free text message or voice minutes.</span></span></div>
</li>
<li dir="ltr" style="list-style-type: decimal; vertical-align: baseline;"><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">Check out our guide on </span><a href="https://developers.google.com/appengine/articles/twilio" style="text-decoration: none;"><span style="color: #1155cc; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">how to integrate Twilio services into your app</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">.</span></span></div>
</li>
</b></span></b></ol>
<b id="internal-source-marker_0.2594573206733912" style="font-weight: normal;"><span style="vertical-align: baseline;"><b id="internal-source-marker_0.2594573206733912" style="font-weight: normal;"><span style="font-family: inherit;"> <span style="vertical-align: baseline; white-space: pre-wrap;"></span></span></b></span></b> <br />
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<div style="white-space: normal;">
<b id="internal-source-marker_0.2594573206733912" style="font-weight: normal;"><span style="vertical-align: baseline;"><b id="internal-source-marker_0.2594573206733912" style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">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.</span></span></b></span></b><br />
<b style="font-weight: normal;"><span style="vertical-align: baseline;"><b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;"><br /></span></span></b></span></b>
<script src="https://gist.github.com/robertdo/5267494.js"></script></div>
<div style="white-space: normal;">
<span style="font-family: inherit; white-space: pre-wrap;">-Posted by Robert Do, Product Marketing Manager</span></div>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/integrate-voice-and-sms-with-twilio-on-google-cloud-platform/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Education Awards on Google App Engine</title>
		<link>https://googledata.org/google-app-engine/education-awards-on-google-app-engine/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=education-awards-on-google-app-engine</link>
		<comments>https://googledata.org/google-app-engine/education-awards-on-google-app-engine/#comments</comments>
		<pubDate>Wed, 27 Mar 2013 17:28:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=cacc19d3318cc3af2b0d95423bf9cdeb</guid>
		<description><![CDATA[<span><span><b></b></span></span><br /><div dir="ltr">
<span><b><span>Last year we</span><a href="http://googleresearch.blogspot.com/2012/07/education-in-cloud.html"><span> </span><span>invited</span></a><span> proposals for innovative projects built on Google&#8217;s infrastructure. Today we are pleased to announce the 11 recipients of a</span><a href="http://research.google.com/university/relations/appengine/education_awards.html"><span> </span><span>Google App Engine Education Award</span></a><span>. 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.</span></b></span></div>
<div dir="ltr">
<br /></div>
<div dir="ltr">
<span><b><span>Awarding computational resources to classroom projects is always gratifying. It is impressive to see the creative ideas students and educators bring to these programs.</span></b></span></div>
<div dir="ltr">
<br /></div>
<div dir="ltr">
<span><b><span>Below is a brief introduction to each project. Congratulations to the recipients!</span></b></span></div>
<span><b><br /><span></span><div dir="ltr">
<a href="http://myweb.lmu.edu/dondi/"><span>John David N. Dionisio</span></a><span>, </span><span>Loyola Marymount University</span></div>
<div dir="ltr">
<span>Project description</span><span>: The objective of this </span><span>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.</span></div>
<br /><span></span><div dir="ltr">
<a href="http://www.csc.ncsu.edu/faculty/gu/"><span>Xiaohui (Helen) Gu</span></a><span>, North Carolina State University</span></div>
<div dir="ltr">
<span>Project description</span><span>:</span><a href="http://courses.ncsu.edu/csc724/lec/001/"><span> </span><span>Advanced Distributed Systems Class</span></a></div>
<div dir="ltr">
<span>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.</span></div>
<br /><span></span><div dir="ltr">
<a href="http://cs.brown.edu/~sk/"><span>Shriram Krishnamurthi</span></a><span>, Brown University</span></div>
<div dir="ltr">
<span>Project description:</span><span> &#160;</span><a href="http://www.wescheme.org/"><span>WeScheme</span></a><span> is a programming environment that runs in the Web browser and supports interactive development. </span><span>WeScheme uses App Engine to handle user accounts, serverside compilation, and file management.</span></div>
<br /><span></span><div dir="ltr">
<a href="http://www.cs.utah.edu/~lifeifei/"><span>Feifei Li</span></a><span>, University of Utah</span></div>
<div dir="ltr">
<span>Project description:</span><span> </span><span>A graduate-level course that will be offered in Fall 2013 on the design and implementation of large data management system kernels. &#160;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.</span></div>
<br /><span></span><div dir="ltr">
<a href="http://www.iwu.edu/cs/faculty/liffiton.html"><span>Mark Liffiton</span></a><span>, Illinois Wesleyan University</span></div>
<div dir="ltr">
<span>Project description:</span><span> </span><span>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.</span></div>
<br /><span></span><div dir="ltr">
<a href="http://cs.wellesley.edu/~eni/"><span>Eni Mustafaraj</span></a><span>,</span><span> Wellesley College</span></div>
<div dir="ltr">
<span>Project description:</span><span> </span><span>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.</span></div>
<br /><span></span><div dir="ltr">
<a href="http://parashar.rutgers.edu/"><span>Manish Parashar</span></a><span>, Rutgers University</span></div>
<div dir="ltr">
<span>Project description:</span><span> 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.</span></div>
<br /><span></span><div dir="ltr">
<a href="http://cs.wellesley.edu/~oshaer/"><span>Orit Shaer</span></a><span>, Wellesley College</span></div>
<div dir="ltr">
<span>Project description:</span><a href="http://cs.wellesley.edu/~hcilab/greentouch.html"><span> </span><span>GreenTouch</span></a></div>
<div dir="ltr">
<span>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.</span></div>
<br /><span></span><div dir="ltr">
<a href="http://www.soe.umich.edu/people/profile/elliot_soloway/"><span>Elliot Soloway</span></a><span>, </span><span>University of Michigan</span></div>
<div dir="ltr">
<span>Project description:</span><span> WeLearn Mobile Platform: Making Mobile Devices Effective Tools for K-12. The platform </span><span>makes mobile devices (Android, iOS, WP8) effective, essential tools for all-the-time, everywhere learning. </span><span>&#160;WeLearn&#8217;s suite of productivity and communication apps enable learners to work collaboratively; WeLearn&#8217;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.</span></div>
<br /><span></span><div dir="ltr">
<a href="http://www.harding.edu/white/"><span>Jonathan White</span></a><span>, Harding University</span></div>
<div dir="ltr">
<span>Project description:</span><span> </span><span>Teaching Cloud Computing in an </span><span>Introduction to Engineering</span><span> class for freshmen. &#160;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. &#160;The grant from Google is allowing us to add an overview of cloud computing as a platform that is robust under diverse loads.</span></div>
<br /><span></span><div dir="ltr">
<a href="http://www.ucmo.edu/math-cs/facstaff/zhong.cfm"><span>Dr. Jiaofei Zhong</span></a><span>, University of Central Missouri</span></div>
<span>Project description:</span><span> By </span><span>building an online Course Management System, students will be able to work on their team projects in the cloud. &#160;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.</span></b></span><br /><br /><span><span><b><span>-</span></b><b><span><b><span>Posted by Andrea Held, Google University Relations</span></b> </span></b></span></span>]]></description>
				<content:encoded><![CDATA[<span style="font-family: inherit;"><span style="font-size: small;"><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;"></b></span></span><br />
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-size: small;"><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;"><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;">Last year we</span><a href="http://googleresearch.blogspot.com/2012/07/education-in-cloud.html" style="text-decoration: none;"><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;"> </span><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;">invited</span></a><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;"> proposals for innovative projects built on Google’s infrastructure. Today we are pleased to announce the 11 recipients of a</span><a href="http://research.google.com/university/relations/appengine/education_awards.html" style="text-decoration: none;"><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;"> </span><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;">Google App Engine Education Award</span></a><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;">. 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.</span></b></span></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<br /></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-size: small;"><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;"><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;">Awarding computational resources to classroom projects is always gratifying. It is impressive to see the creative ideas students and educators bring to these programs.</span></b></span></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<br /></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-size: small;"><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;"><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;">Below is a brief introduction to each project. Congratulations to the recipients!</span></b></span></div>
<span style="font-size: small;"><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;"><br /><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;"></span><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<a href="http://myweb.lmu.edu/dondi/" style="text-decoration: none;"><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;">John David N. Dionisio</span></a><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;">, </span><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;">Loyola Marymount University</span></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<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;">Project description</span><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;">: The objective of this </span><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;">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.</span></div>
<br /><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;"></span><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<a href="http://www.csc.ncsu.edu/faculty/gu/" style="text-decoration: none;"><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;">Xiaohui (Helen) Gu</span></a><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;">, North Carolina State University</span></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<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;">Project description</span><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;">:</span><a href="http://courses.ncsu.edu/csc724/lec/001/" style="text-decoration: none;"><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;"> </span><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;">Advanced Distributed Systems Class</span></a></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<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;">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.</span></div>
<br /><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;"></span><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<a href="http://cs.brown.edu/~sk/" style="text-decoration: none;"><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;">Shriram Krishnamurthi</span></a><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;">, Brown University</span></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<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;">Project description:</span><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;"> &nbsp;</span><a href="http://www.wescheme.org/" style="text-decoration: none;"><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;">WeScheme</span></a><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;"> is a programming environment that runs in the Web browser and supports interactive development. </span><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;">WeScheme uses App Engine to handle user accounts, serverside compilation, and file management.</span></div>
<br /><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;"></span><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<a href="http://www.cs.utah.edu/~lifeifei/" style="text-decoration: none;"><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;">Feifei Li</span></a><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;">, University of Utah</span></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<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;">Project description:</span><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;"> </span><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;">A graduate-level course that will be offered in Fall 2013 on the design and implementation of large data management system kernels. &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.</span></div>
<br /><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;"></span><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<a href="http://www.iwu.edu/cs/faculty/liffiton.html" style="text-decoration: none;"><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;">Mark Liffiton</span></a><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;">, Illinois Wesleyan University</span></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<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;">Project description:</span><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;"> </span><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;">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.</span></div>
<br /><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;"></span><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<a href="http://cs.wellesley.edu/~eni/" style="text-decoration: none;"><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;">Eni Mustafaraj</span></a><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;">,</span><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;"> Wellesley College</span></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<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;">Project description:</span><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;"> </span><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;">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.</span></div>
<br /><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;"></span><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<a href="http://parashar.rutgers.edu/" style="text-decoration: none;"><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;">Manish Parashar</span></a><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;">, Rutgers University</span></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<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;">Project description:</span><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;"> 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.</span></div>
<br /><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;"></span><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<a href="http://cs.wellesley.edu/~oshaer/" style="text-decoration: none;"><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;">Orit Shaer</span></a><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;">, Wellesley College</span></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<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;">Project description:</span><a href="http://cs.wellesley.edu/~hcilab/greentouch.html" style="text-decoration: none;"><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;"> </span><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;">GreenTouch</span></a></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<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;">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.</span></div>
<br /><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;"></span><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<a href="http://www.soe.umich.edu/people/profile/elliot_soloway/" style="text-decoration: none;"><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;">Elliot Soloway</span></a><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;">, </span><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;">University of Michigan</span></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<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;">Project description:</span><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;"> WeLearn Mobile Platform: Making Mobile Devices Effective Tools for K-12. The platform </span><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;">makes mobile devices (Android, iOS, WP8) effective, essential tools for all-the-time, everywhere learning. </span><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;">&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.</span></div>
<br /><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;"></span><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<a href="http://www.harding.edu/white/" style="text-decoration: none;"><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;">Jonathan White</span></a><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;">, Harding University</span></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<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;">Project description:</span><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;"> </span><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;">Teaching Cloud Computing in an </span><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;">Introduction to Engineering</span><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;"> class for freshmen. &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. &nbsp;The grant from Google is allowing us to add an overview of cloud computing as a platform that is robust under diverse loads.</span></div>
<br /><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;"></span><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<a href="http://www.ucmo.edu/math-cs/facstaff/zhong.cfm" style="text-decoration: none;"><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;">Dr. Jiaofei Zhong</span></a><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;">, University of Central Missouri</span></div>
<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;">Project description:</span><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;"> By </span><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;">building an online Course Management System, students will be able to work on their team projects in the cloud. &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.</span></b></span><br />
<br />
<span style="font-family: inherit;"><span style="font-size: small;"><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;"><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;">-</span></b><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;"><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;"><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;"><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;">Posted by Andrea Held, Google University Relations</span></b> </span></b></span></span>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/education-awards-on-google-app-engine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>App Engine 1.7.6 Released</title>
		<link>https://googledata.org/google-app-engine/app-engine-1-7-6-released/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=app-engine-1-7-6-released</link>
		<comments>https://googledata.org/google-app-engine/app-engine-1-7-6-released/#comments</comments>
		<pubDate>Tue, 19 Mar 2013 20:10:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=700a94166fc21a25caee490ebbc8c8e4</guid>
		<description><![CDATA[<b><span></span></b><br /><div dir="ltr">
<b><span><span>The App Engine team is continuing to make monthly improvements to our platform. &#160;We have a number of new features and fixes for this month&#8217;s release. &#160;</span></span></b></div>
<b><span><br /><span></span><div dir="ltr">
<span>New App Engine billing system for paid applications</span></div>
<div dir="ltr">
<span><br /></span></div>
<span></span><div dir="ltr">
<span>We&#8217;re making it easier to pay for App Engine each billing cycle by transitioning to a new billing system. &#160;This change will happen automatically for billing-enabled applications, with no action required on your part. &#160;</span><span>With the new system you can now:</span></div>
<ul><li><div dir="ltr">
<span>take advantage of monthly billing cycles</span></div>
</li>
<li><div dir="ltr">
<span>make a payment at any time during the month</span></div>
</li>
<li><div dir="ltr">
<span>specify direct debit as a form of payment</span></div>
</li>
<li><div dir="ltr">
<span>assign a primary and backup credit card</span></div>
<div dir="ltr">
<span><br /></span></div>
</li>
</ul><span></span><div dir="ltr">
<span>We&#8217;ll start moving applications to this new billing system over the next few weeks. &#160;You don&#8217;t need to make any changes and the migration itself will be transparent.</span></div>
<br /><span></span><div dir="ltr">
<span>Other notable features</span></div>
<div dir="ltr">
<span><br /></span></div>
<ul><li><div dir="ltr">
<a href="https://developers.google.com/appengine/docs/python/search/overview"><span>Full Text Search API</span></a><span> stats are now available in the admin console. &#160;You can start viewing these stats in advance of being able to pay for additional search resources in an upcoming release.</span><span></span></div>
</li>
<li><div dir="ltr">
<span>We&#8217;ve added </span><span><a href="https://developers.google.com/appengine/docs/python/taskqueue/tasks">asynchronous methods</a>, </span><span>which is now in Preview, </span><a href="https://developers.google.com/appengine/docs/python/taskqueue/tasks"><span>to the Task Queue API</span></a><span>. &#160;This feature improves utilization by allowing your app to add, lease and delete multiple tasks in parallel. </span></div>
</li>
<li><div dir="ltr">
<span>A major overhaul to the Python </span><a href="https://developers.google.com/appengine/docs/python/tools/devserver"><span>dev_appserver</span></a><span>, 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. </span></div>
</li>
<li><div dir="ltr">
<span>Admin console dashboard charts and current load/errors reports are moving to a new, more reliable backend over the next few weeks.</span></div>
</li>
<li><div dir="ltr">
<span>Improved support for Python libraries, with Django 1.4.2 and webob 1.2.3 now Generally Available.</span></div>
</li>
</ul><br /><span></span><div dir="ltr">
<span>The complete list of features and bug fixes for 1.7.6 can be found in our </span><a href="http://code.google.com/p/googleappengine/w/list"><span>release notes</span></a><span>. For App Engine coding questions and answers check us out on </span><a href="http://stackoverflow.com/questions/tagged/google-app-engine"><span>Stack Overflow</span></a><span>, and for general discussion and feedback, find us on our</span><a href="https://groups.google.com/forum/?fromgroups#!forum/google-appengine"><span> Google Group</span></a><span>. </span></div>
<br /><span></span><span>-</span><span>Posted by Chris Ramsdale, Product Manager</span></span></b>]]></description>
				<content:encoded><![CDATA[<b id="internal-source-marker_0.7052743672393262" style="font-weight: normal;"><span style="font-family: inherit;"></span></b><br />
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<b id="internal-source-marker_0.7052743672393262" style="font-weight: normal;"><span style="font-family: inherit;"><span style="background-color: white; color: #333333; vertical-align: baseline; white-space: pre-wrap;">The App Engine team is continuing to make monthly improvements to our platform. &nbsp;We have a number of new features and fixes for this month’s release. &nbsp;</span></span></b></div>
<b id="internal-source-marker_0.7052743672393262" style="font-weight: normal;"><span style="font-family: inherit;"><br /><span style="background-color: white; color: #333333; vertical-align: baseline; white-space: pre-wrap;"></span><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: white; color: #333333; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">New App Engine billing system for paid applications</span></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: white; color: #333333; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div>
<span style="background-color: white; color: #333333; vertical-align: baseline; white-space: pre-wrap;"></span><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: white; color: #333333; vertical-align: baseline; white-space: pre-wrap;">We’re making it easier to pay for App Engine each billing cycle by transitioning to a new billing system. &nbsp;This change will happen automatically for billing-enabled applications, with no action required on your part. &nbsp;</span><span style="background-color: white; color: #222222; vertical-align: baseline; white-space: pre-wrap;">With the new system you can now:</span></div>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: white; color: #333333; list-style-type: disc; margin-left: 15px; vertical-align: baseline;"><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="color: #222222; vertical-align: baseline; white-space: pre-wrap;">take advantage of monthly billing cycles</span></div>
</li>
<li dir="ltr" style="background-color: white; color: #333333; list-style-type: disc; margin-left: 15px; vertical-align: baseline;"><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="color: #222222; vertical-align: baseline; white-space: pre-wrap;">make a payment at any time during the month</span></div>
</li>
<li dir="ltr" style="background-color: white; color: #333333; list-style-type: disc; margin-left: 15px; vertical-align: baseline;"><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="color: #222222; vertical-align: baseline; white-space: pre-wrap;">specify direct debit as a form of payment</span></div>
</li>
<li dir="ltr" style="background-color: white; color: #333333; list-style-type: disc; margin-left: 15px; vertical-align: baseline;"><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="color: #222222; vertical-align: baseline; white-space: pre-wrap;">assign a primary and backup credit card</span></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="color: #222222; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div>
</li>
</ul>
<span style="background-color: white; color: #222222; vertical-align: baseline; white-space: pre-wrap;"></span><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: white; color: #222222; vertical-align: baseline; white-space: pre-wrap;">We’ll start moving applications to this new billing system over the next few weeks. &nbsp;You don’t need to make any changes and the migration itself will be transparent.</span></div>
<br /><span style="background-color: white; color: #333333; vertical-align: baseline; white-space: pre-wrap;"></span><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: white; color: #333333; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Other notable features</span></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: white; color: #333333; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: white; color: #333333; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<a href="https://developers.google.com/appengine/docs/python/search/overview"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Full Text Search API</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> stats are now available in the admin console. &nbsp;You can start viewing these stats in advance of being able to pay for additional search resources in an upcoming release.</span><span style="color: #222222; vertical-align: baseline; white-space: pre-wrap;"></span></div>
</li>
<li dir="ltr" style="background-color: white; color: #333333; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="color: #222222; vertical-align: baseline; white-space: pre-wrap;">We’ve added </span><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"><a href="https://developers.google.com/appengine/docs/python/taskqueue/tasks">asynchronous methods</a>, </span><span style="color: #222222; vertical-align: baseline; white-space: pre-wrap;">which is now in Preview, </span><a href="https://developers.google.com/appengine/docs/python/taskqueue/tasks"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">to the Task Queue API</span></a><span style="color: #222222; vertical-align: baseline; white-space: pre-wrap;">. &nbsp;This feature improves utilization by allowing your app to add, lease and delete multiple tasks in parallel. </span></div>
</li>
<li dir="ltr" style="background-color: white; color: #333333; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="color: #222222; vertical-align: baseline; white-space: pre-wrap;">A major overhaul to the Python </span><a href="https://developers.google.com/appengine/docs/python/tools/devserver"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">dev_appserver</span></a><span style="color: #222222; vertical-align: baseline; white-space: pre-wrap;">, 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. </span></div>
</li>
<li dir="ltr" style="background-color: white; color: #333333; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="color: #222222; vertical-align: baseline; white-space: pre-wrap;">Admin console dashboard charts and current load/errors reports are moving to a new, more reliable backend over the next few weeks.</span></div>
</li>
<li dir="ltr" style="background-color: white; color: #333333; list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="color: #222222; vertical-align: baseline; white-space: pre-wrap;">Improved support for Python libraries, with Django 1.4.2 and webob 1.2.3 now Generally Available.</span></div>
</li>
</ul>
<br /><span style="background-color: white; color: #333333; vertical-align: baseline; white-space: pre-wrap;"></span><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: white; color: #333333; vertical-align: baseline; white-space: pre-wrap;">The complete list of features and bug fixes for 1.7.6 can be found in our </span><a href="http://code.google.com/p/googleappengine/w/list"><span style="background-color: white; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">release notes</span></a><span style="background-color: white; color: #333333; vertical-align: baseline; white-space: pre-wrap;">. For App Engine coding questions and answers check us out on </span><a href="http://stackoverflow.com/questions/tagged/google-app-engine"><span style="background-color: white; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Stack Overflow</span></a><span style="background-color: white; color: #333333; vertical-align: baseline; white-space: pre-wrap;">, and for general discussion and feedback, find us on our</span><a href="https://groups.google.com/forum/?fromgroups#!forum/google-appengine"><span style="background-color: white; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"> Google Group</span></a><span style="background-color: white; color: #333333; vertical-align: baseline; white-space: pre-wrap;">. </span></div>
<br /><span style="background-color: white; color: #333333; vertical-align: baseline; white-space: pre-wrap;"></span><span style="background-color: white; color: #333333; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">-</span><span style="background-color: white; color: #333333; vertical-align: baseline; white-space: pre-wrap;">Posted by Chris Ramsdale, Product Manager</span></span></b>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/app-engine-1-7-6-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Using Tailbone to talk to App Engine with JavaScript</title>
		<link>https://googledata.org/google-app-engine/using-tailbone-to-talk-to-app-engine-with-javascript/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=using-tailbone-to-talk-to-app-engine-with-javascript</link>
		<comments>https://googledata.org/google-app-engine/using-tailbone-to-talk-to-app-engine-with-javascript/#comments</comments>
		<pubDate>Mon, 18 Mar 2013 17:50:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=6080f65a7ba82e8283e718baaacf721d</guid>
		<description><![CDATA[<b><span></span></b><br /><div dir="ltr">
<b><span><span><b><i><span>Today&#8217;s post comes </span><span>from Doug Fritz from the Data Arts Team of the Google Creative Lab.</span><span> &#160;</span><span>In this post, Doug shares a small open source project for reading and writing to the Google App Engine Datastore with JavaScript.</span></i></b></span></span></b></div>
<div dir="ltr">
<b><span><span><br /></span></span></b></div>
<div dir="ltr">
<b><span><span>Today, the Google Creative Lab is sharing a small open source project called </span><a href="https://github.com/dataarts/tailbone"><span>Tailbone</span></a><span> that lets developers read and write to the </span><a href="https://developers.google.com/appengine/docs/python/datastore/"><span>Google App Engine Datastore</span></a><span> using JavaScript. We&#8217;re hoping that it makes App Engine a bit more accessible to developers who aren&#8217;t familiar with Python, Java or Go, or prefer not to use them.</span></span></b></div>
<b><span><br /><span></span><div dir="ltr">
<span>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&#8217;s Datastore.</span></div>
<div>
<span><br /></span></div>
<div>
<a href="http://1.bp.blogspot.com/-kWPZUqg1eZs/UUdOct_Vv0I/AAAAAAAAAQw/Cu7OI0uoEho/s1600/Screen+Shot+2013-03-11+at+1.23.51+PM.png"><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"></a></div>
<div>
<span><b><div dir="ltr">
<span><br /></span></div>
<div dir="ltr">
<span>To get started, you still have to install App Engine&#8217;s SDK and Python, but after that you&#8217;re all set. We&#8217;ve written a </span><a href="http://workshop.chromeexperiments.com/examples/tailbone/"><span>detailed tutorial</span></a><span> that guides you through the installation and an example app for creating an authenticated profile page with an editable name and photo. </span></div>
<br /><span></span><div dir="ltr">
<span>It&#8217;s my hope that Tailbone makes App Engine a little bit less intimidating for people who don&#8217;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.</span></div>
<div>
<span><br /></span></div>
<div>
<span><b><span>-Posted by Doug Fritz, Creative Lab, Data Arts Team</span></b></span></div>
</b></span></div>
</span></b>]]></description>
				<content:encoded><![CDATA[<b id="internal-source-marker_0.3394807877484709" style="font-weight: normal;"><span style="font-family: inherit;"></span></b><br />
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<b id="internal-source-marker_0.3394807877484709" style="font-weight: normal;"><span style="font-family: inherit;"><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"><b id="internal-source-marker_0.3394807877484709" style="font-weight: normal; white-space: normal;"><i><span style="vertical-align: baseline; white-space: pre-wrap;">Today’s post comes </span><span style="color: #222222; vertical-align: baseline; white-space: pre-wrap;">from Doug Fritz from the Data Arts Team of the Google Creative Lab.</span><span style="vertical-align: baseline; white-space: pre-wrap;"> &nbsp;</span><span style="color: #222222; vertical-align: baseline; white-space: pre-wrap;">In this post, Doug shares a small open source project for reading and writing to the Google App Engine Datastore with JavaScript.</span></i></b></span></span></b></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<b id="internal-source-marker_0.3394807877484709" style="font-weight: normal;"><span style="font-family: inherit;"><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"><br /></span></span></b></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<b id="internal-source-marker_0.3394807877484709" style="font-weight: normal;"><span style="font-family: inherit;"><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">Today, the Google Creative Lab is sharing a small open source project called </span><a href="https://github.com/dataarts/tailbone"><span style="background-color: white; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Tailbone</span></a><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"> that lets developers read and write to the </span><a href="https://developers.google.com/appengine/docs/python/datastore/"><span style="background-color: white; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Google App Engine Datastore</span></a><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"> 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.</span></span></b></div>
<b id="internal-source-marker_0.3394807877484709" style="font-weight: normal;"><span style="font-family: inherit;"><br /><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"></span><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">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.</span></div>
<div>
<span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<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;"><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" /></a></div>
<div>
<span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"><b id="internal-source-marker_0.3394807877484709" style="font-weight: normal; white-space: normal;"><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="vertical-align: baseline; white-space: pre-wrap;"><br /></span></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="vertical-align: baseline; white-space: pre-wrap;">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 </span><a href="http://workshop.chromeexperiments.com/examples/tailbone/"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">detailed tutorial</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> that guides you through the installation and an example app for creating an authenticated profile page with an editable name and photo. </span></div>
<br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="vertical-align: baseline; white-space: pre-wrap;">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.</span></div>
<div>
<span style="vertical-align: baseline; white-space: pre-wrap;"><br /></span></div>
<div>
<span style="vertical-align: baseline; white-space: pre-wrap;"><b id="internal-source-marker_0.3394807877484709" style="font-weight: normal; white-space: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;">-Posted by Doug Fritz, Creative Lab, Data Arts Team</span></b></span></div>
</b></span></div>
</span></b>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/using-tailbone-to-talk-to-app-engine-with-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Python 2.5, thanks for the good times</title>
		<link>https://googledata.org/google-app-engine/python-2-5-thanks-for-the-good-times/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=python-2-5-thanks-for-the-good-times</link>
		<comments>https://googledata.org/google-app-engine/python-2-5-thanks-for-the-good-times/#comments</comments>
		<pubDate>Fri, 08 Mar 2013 19:20:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=3366829f9b21b9338eec03cd92f40ac5</guid>
		<description><![CDATA[<b><span><span><br /></span></span></b>
<b><span><span>Python 2.5 has a special place in the heart of any <a href="https://cloud.google.com/products/">Google App Engine</a> 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. </span><br /><span></span><br /><span>A year ago we <a href="http://googleappengine.blogspot.com/2012/02/announcing-general-availability-of.html">announced</a> 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.</span><br /><span></span><br /><span>Not only does Python 2.7 make developers&#8217; lives easier, the runtime is extremely cost-effective. Our customers have taken advantage of features like concurrent requests to </span><a href="http://googleappengine.blogspot.com.au/2012/11/upgrading-to-python-27-simple-and.html"><span>reduce their front-end instance costs by more than 70%</span></a><span> while handling the same amount of traffic.</span><br /><span></span><br /><span>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.</span><br /><span></span><br /><span>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 </span><a href="https://developers.google.com/appengine/terms#Deprecation"><span>terms of service</span></a><span>.</span><br /><span></span><br /><span>What does this mean?</span></span></b><br /><ul><li><b><span><span>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&#8217;ve </span><a href="https://developers.google.com/appengine/docs/python/python25/migrate27"><span>prepared a handy migration guide</span></a><span> that covers the steps to migrate in detail.</span></span></b></li>
<li><b><span><span>If your application is still using the already deprecated </span><a href="https://developers.google.com/appengine/docs/python/datastore/usingmasterslave"><span>Master/Slave Datastore</span></a><span>, then you should first plan the migration to our more reliable </span><a href="https://developers.google.com/appengine/docs/adminconsole/migration"><span>High Replication Datastore</span></a><span>, as the Master/Slave Datastore is not accessible from Python 2.7.</span></span></b></li>
<li><b><span><span>Future versions of the App Engine Python Development SDK will display warnings to developers deploying updates to a deprecated runtime.</span></span></b></li>
<li><b><span><span>Starting from January 2014, we will no longer allow new applications to be created using the Python 2.5 runtime.</span><span></span></span></b></li>
</ul><b><span><span></span><br /><span>We encourage all developers using Python 2.5 to consider migrating as soon as possible. We&#8217;re confident that the vast majority of our customers will find the upgrade straightforward and the benefits substantial</span><span>.</span><span></span><br /><span></span><br /><span>If you&#8217;re considering migrating, here are some useful resources:</span><br /><ul><li><a href="https://developers.google.com/appengine/docs/python/python25/diff27"><span>Our summary of the new features</span></a><span> we&#8217;ve introduced in Python 2.7 including additional standard libraries and third-party libraries that are supported.</span></li>
<li><a href="https://developers.google.com/appengine/docs/python/python25/migrate27"><span>A handy migration guide</span></a><span>, explaining the steps to move a Python 2.5 app to Python 2.7</span></li>
<li><span>App Engine engineers give an</span><a href="https://www.youtube.com/watch?feature=player_embedded&#38;v=VPHHlnyoGfk#!"><span> in-depth discussion during Google I/O</span></a><span> on the many improvements in Python 2.7, and how to quickly take advantage of them.</span></li>
</ul><span></span><br /><span>If you have any questions about this deprecation, we encourage you to contact us at </span><a href="mailto:google-appengine-python25-deprecation@googlegroups.com"><span>google-appengine-python25-deprecation@googlegroups.com</span></a><span>.</span><br /><span></span><br /><span>-Posted by Andrew Jessup, Product Manager</span></span></b>]]></description>
				<content:encoded><![CDATA[<b style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;"><br /></span></span></b>
<b id="internal-source-marker_0.549146625213325" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">Python 2.5 has a special place in the heart of any <a href="https://cloud.google.com/products/">Google App Engine</a> 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. </span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">A year ago we <a href="http://googleappengine.blogspot.com/2012/02/announcing-general-availability-of.html">announced</a> 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.</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">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 </span><a href="http://googleappengine.blogspot.com.au/2012/11/upgrading-to-python-27-simple-and.html"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">reduce their front-end instance costs by more than 70%</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> while handling the same amount of traffic.</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">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.</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">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 </span><a href="https://developers.google.com/appengine/terms#Deprecation"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">terms of service</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">.</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">What does this mean?</span></span></b><br />
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.549146625213325" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">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 </span><a href="https://developers.google.com/appengine/docs/python/python25/migrate27"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">prepared a handy migration guide</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> that covers the steps to migrate in detail.</span></span></b></li>
<li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.549146625213325" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">If your application is still using the already deprecated </span><a href="https://developers.google.com/appengine/docs/python/datastore/usingmasterslave"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Master/Slave Datastore</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">, then you should first plan the migration to our more reliable </span><a href="https://developers.google.com/appengine/docs/adminconsole/migration"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">High Replication Datastore</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">, as the Master/Slave Datastore is not accessible from Python 2.7.</span></span></b></li>
<li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.549146625213325" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">Future versions of the App Engine Python Development SDK will display warnings to developers deploying updates to a deprecated runtime.</span></span></b></li>
<li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.549146625213325" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">Starting from January 2014, we will no longer allow new applications to be created using the Python 2.5 runtime.</span><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"></span></span></b></li>
</ul>
<b id="internal-source-marker_0.549146625213325" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">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</span><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">.</span><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">If you’re considering migrating, here are some useful resources:</span><br /><ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"><a href="https://developers.google.com/appengine/docs/python/python25/diff27"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Our summary of the new features</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> we’ve introduced in Python 2.7 including additional standard libraries and third-party libraries that are supported.</span></li>
<li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"><a href="https://developers.google.com/appengine/docs/python/python25/migrate27"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">A handy migration guide</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">, explaining the steps to move a Python 2.5 app to Python 2.7</span></li>
<li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"><span style="vertical-align: baseline; white-space: pre-wrap;">App Engine engineers give an</span><a href="https://www.youtube.com/watch?feature=player_embedded&amp;v=VPHHlnyoGfk#!"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"> in-depth discussion during Google I/O</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> on the many improvements in Python 2.7, and how to quickly take advantage of them.</span></li>
</ul>
<span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">If you have any questions about this deprecation, we encourage you to contact us at </span><a href="mailto:google-appengine-python25-deprecation@googlegroups.com"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">google-appengine-python25-deprecation@googlegroups.com</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">.</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">-Posted by Andrew Jessup, Product Manager</span></span></b>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/python-2-5-thanks-for-the-good-times/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Improve your App Engine skills with Google Developers Academy</title>
		<link>https://googledata.org/google-app-engine/improve-your-app-engine-skills-with-google-developers-academy/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=improve-your-app-engine-skills-with-google-developers-academy</link>
		<comments>https://googledata.org/google-app-engine/improve-your-app-engine-skills-with-google-developers-academy/#comments</comments>
		<pubDate>Thu, 28 Feb 2013 22:22:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=c91b89920ccf3c829cfc2c62578406bf</guid>
		<description><![CDATA[<span><b><span><br /></span></b></span>
<span><b><span>Are you developing on <a href="https://cloud.google.com/products/">Google App Engine</a> today or interested in learning how to use it? If you've gone through all the great </span><a href="http://developers.google.com/appengine/docs/"><span>App Engine docs</span></a><span> and Getting Started tutorials (</span><a href="https://developers.google.com/appengine/docs/python/gettingstartedpython27/"><span>Python</span></a><span>, </span><a href="https://developers.google.com/appengine/docs/java/gettingstarted/"><span>Java</span></a><span>, or </span><a href="https://developers.google.com/appengine/docs/go/gettingstarted/"><span>Go</span></a><span>) but want to take your App Engine skills a step further, then Google Developers Academy (GDA) is the place to go! We </span><a href="http://googledevelopers.blogspot.com/2012/06/google-launches-new-developer-education.html"><span>launched GDA this past summer at Google I/O 2012</span></a><span>, with content for beginners as well as seasoned developers. What can you find on App Engine in GDA today?</span></b></span><br /><span><b><span><br /></span></b></span>
<div>
<a href="http://1.bp.blogspot.com/-MjYME9rht-U/US_XynQt0bI/AAAAAAAAAQg/CNPY2dH6zXk/s1600/classroom.jpg"><span><img border="0" src="http://1.bp.blogspot.com/-MjYME9rht-U/US_XynQt0bI/AAAAAAAAAQg/CNPY2dH6zXk/s1600/classroom.jpg" height="130" width="400"></span></a></div>
<span><b><span><br /></span></b></span>
<span><span>If you&#8217;re interested in getting more background on what cloud computing is and where App Engine fits into that ecosystem, then this intro class (</span><a href="http://developers.google.com/academy/apis/cloud/appengine/intro"><span>Introduction to Google App Engine</span></a><span>) is for you. Once you&#8217;re done with this class, you&#8217;ll be ready to tackle the Getting Started tutorial, and after that, move on to the </span><a href="http://developers.google.com/appengine/docs/python/gettingstartedpython27"><span>App Engine 101 in Python</span></a><span> class.</span><br /><span></span><br /><span>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:</span></span><br /><span><span><br /></span></span>
<ul><li><span><span>Use of the </span><a href="http://developers.google.com/appengine/docs/python/ndb"><span>Python NDB API</span></a><span></span></span></li>
<li><span><a href="http://jinja.pocoo.org/"><span>Jinja2</span></a><span> templates</span></span></li>
<li><span><span>Discussion of </span><a href="http://developers.google.com/appengine/docs/python/datastore/overview#Queries_and_Indexes"><span>data consistency and datastore indexes</span></a><span></span></span></li>
</ul><span><span></span><br /><span>You can use the relational MySQL-compatible </span><a href="http://developers.google.com/cloud-sql"><span>Google Cloud SQL</span></a><span> service as an alternative to App Engine's native non-relational datastore. Some applications do require a relational database, especially if you&#8217;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&#8217;s why we have the </span><a href="http://developers.google.com/academy/apis/cloud/appengine/cloud-sql"><span>Using Python App Engine with Google Cloud SQL</span></a><span> class.</span><br /><span></span><br /><span>Of course, Google is best known for search. With App Engine's powerful </span><a href="http://developers.google.com/appengine/docs/python/search"><span>Search API</span></a><span>, you can index not only plain text, but also HTML, atoms, numbers, dates, and locations (lat/long). </span><a href="http://developers.google.com/academy/apis/cloud/appengine/fts_intro"><span>Getting Started with the Python Search API</span></a><span> is a two-part class that will indeed get you started: in the first part of the class, you&#8217;ll create an application using a variety of data and learn how to index such data (using &#8220;documents&#8221;). In Part 2, you&#8217;ll learn how to execute queries as well as how to update your indexes when you modify your data.</span><br /><span></span><br /><span>If variety is what you're after, then look no further than the newest class in GDA: </span><a href="https://developers.google.com/appengine/training/go-plus-appengine/"><span>Getting Started with Go, App Engine and Google+ API</span></a><span>. You will not only learn how to create an App Engine app using the </span><a href="http://golang.org/"><span>Go programming language</span></a><span>, but also learn how to connect to the </span><a href="http://developers.google.com/+"><span>Google+ API</span></a><span> with the </span><a href="http://code.google.com/p/google-api-go-client"><span>Google APIs Client Library for Go</span></a><span>.</span><br /><span></span><br /><span>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. </span></span><br /><span><br /></span>
<span><span>-</span><b><span>Posted by Wesley Chun, Google Developer Relations team</span></b></span>]]></description>
				<content:encoded><![CDATA[<span class="byline-author" style="font-family: inherit;"><b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"><br /></span></b></span>
<span class="byline-author" style="font-family: inherit;"><b id="internal-source-marker_0.470601340290159" style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;">Are you developing on <a href="https://cloud.google.com/products/">Google App Engine</a> today or interested in learning how to use it? If you've gone through all the great </span><a href="http://developers.google.com/appengine/docs/"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">App Engine docs</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> and Getting Started tutorials (</span><a href="https://developers.google.com/appengine/docs/python/gettingstartedpython27/"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Python</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">, </span><a href="https://developers.google.com/appengine/docs/java/gettingstarted/"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Java</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">, or </span><a href="https://developers.google.com/appengine/docs/go/gettingstarted/"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Go</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">) but want to take your App Engine skills a step further, then Google Developers Academy (GDA) is the place to go! We </span><a href="http://googledevelopers.blogspot.com/2012/06/google-launches-new-developer-education.html"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">launched GDA this past summer at Google I/O 2012</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">, with content for beginners as well as seasoned developers. What can you find on App Engine in GDA today?</span></b></span><br />
<span class="byline-author" style="font-family: inherit;"><b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"><br /></span></b></span>
<div class="separator" style="clear: both; text-align: center;">
<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;"><span style="font-family: inherit;"><img border="0" src="http://1.bp.blogspot.com/-MjYME9rht-U/US_XynQt0bI/AAAAAAAAAQg/CNPY2dH6zXk/s1600/classroom.jpg" height="130" width="400" /></span></a></div>
<span class="byline-author" style="font-family: inherit;"><b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"><br /></span></b></span>
<span class="byline-author" style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">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 (</span><a href="http://developers.google.com/academy/apis/cloud/appengine/intro"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Introduction to Google App Engine</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">) 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 </span><a href="http://developers.google.com/appengine/docs/python/gettingstartedpython27"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">App Engine 101 in Python</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> class.</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">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:</span></span><br />
<span class="byline-author" style="font-family: inherit;"><span style="white-space: pre-wrap;"><br /></span></span>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"><span class="byline-author" style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">Use of the </span><a href="http://developers.google.com/appengine/docs/python/ndb"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Python NDB API</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"></span></span></li>
<li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"><span class="byline-author" style="font-family: inherit;"><a href="http://jinja.pocoo.org/"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Jinja2</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> templates</span></span></li>
<li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"><span class="byline-author" style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">Discussion of </span><a href="http://developers.google.com/appengine/docs/python/datastore/overview#Queries_and_Indexes"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">data consistency and datastore indexes</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"></span></span></li>
</ul>
<span class="byline-author" style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">You can use the relational MySQL-compatible </span><a href="http://developers.google.com/cloud-sql"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Google Cloud SQL</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> 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 </span><a href="http://developers.google.com/academy/apis/cloud/appengine/cloud-sql"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Using Python App Engine with Google Cloud SQL</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> class.</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">Of course, Google is best known for search. With App Engine's powerful </span><a href="http://developers.google.com/appengine/docs/python/search"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Search API</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">, you can index not only plain text, but also HTML, atoms, numbers, dates, and locations (lat/long). </span><a href="http://developers.google.com/academy/apis/cloud/appengine/fts_intro"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Getting Started with the Python Search API</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> 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.</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">If variety is what you're after, then look no further than the newest class in GDA: </span><a href="https://developers.google.com/appengine/training/go-plus-appengine/"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Getting Started with Go, App Engine and Google+ API</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">. You will not only learn how to create an App Engine app using the </span><a href="http://golang.org/"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Go programming language</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">, but also learn how to connect to the </span><a href="http://developers.google.com/+"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Google+ API</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> with the </span><a href="http://code.google.com/p/google-api-go-client"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Google APIs Client Library for Go</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">.</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">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. </span></span><br />
<span class="byline-author" style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;"><span class="byline-author">-</span><b id="internal-source-marker_0.470601340290159" style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;">Posted by Wesley Chun, Google Developer Relations team</span></b></span>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/improve-your-app-engine-skills-with-google-developers-academy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Deploying App Engine apps with DevTable</title>
		<link>https://googledata.org/google-app-engine/deploying-app-engine-apps-with-devtable/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=deploying-app-engine-apps-with-devtable</link>
		<comments>https://googledata.org/google-app-engine/deploying-app-engine-apps-with-devtable/#comments</comments>
		<pubDate>Wed, 27 Feb 2013 19:20:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=cb05e3c20f7c4d08b5347271680383dd</guid>
		<description><![CDATA[<span><br /></span>
<b><span><span>Today&#8217;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.</span><br /><span></span><br /><span>At </span><a href="http://try.devtable.com/"><span>DevTable</span></a><span>, we support development of </span><a href="http://cloud.google.com/products"><span>Google App Engine</span></a><span> apps with Python directly on the cloud, without having to install and run the App Engine SDK locally. &#160;While the App Engine SDK development experience is excellent, it is not yet supported on mobile or web platforms.</span><br /><span></span><br /><span>Some of the major reasons to use DevTable for App Engine are:</span></span></b><br /><ul><li><b><span><span>Cloud based editing and deployment of your App Engine projects</span></span></b></li>
<li><b><span><span>Autocomplete for Python code, including built-in App Engine libraries</span></span></b></li>
<li><b><span><span>OAuth deployment, so DevTable never has access to your Google Credentials</span></span></b></li>
<li><b><span><span>Native App Engine deployment for production releases</span></span></b></li>
<li><b><span><a href="http://git-scm.com/"><span>Git</span></a><span> DVCS integration, including</span><a href="https://github.com/"><span> </span><span>GitHub</span></a><span> support</span></span></b></li>
<li><b><span><a href="http://code.google.com/p/cloud-playground/source/checkout?repo=mimic"><span>Mimic</span></a><span> deploy, for faster intermediate testing feedback</span></span></b></li>
</ul><b><span><span></span><br /><span>To get started, first log in to your DevTable account and create a new project using our Google App Engine template. &#160;This template loads the basic webapp "hello world" project that you&#8217;re probably already familiar with from the <a href="https://developers.google.com/appengine/docs/python/gettingstarted/helloworld">App Engine documentation</a>. &#160;Follow the instructions to create a new App Engine app and to authorize DevTable to deploy on your behalf. &#160;Don&#8217;t worry, we use OAuth deployment, which means we will never ask you for your Google password.</span></span></b><br /><b><span><span><br /></span></span></b>
<div>
<span></span></div>
<b><span><span><br /></span></span></b>
<b><span><span>Now that you have everything set up, press the </span><span>Run Project</span><span> button and select </span><span>View on App Engine Mimic</span><span>, which will deploy the Mimic bootstrap code to a special version of your app. &#160;This may take up to a few minutes, but each test deploy after this should happen instantaneously. &#160;Once Mimic has been deployed, you will see &#8220;Hello, world.&#8221; proudly displayed in a new browser tab. &#160;Each time you refresh this page, the newest code is pulled from your DevTable project, so editing and testing code is seamless. &#160;Try it now; change the message in your app&#8217;s main .py file, then refresh the tab which is showing your project.</span></span></b><br /><b><span><span><br /></span></span></b>
<table align="center" cellpadding="0" cellspacing="0"><tbody><tr><td><a href="http://2.bp.blogspot.com/-vBstNxqF8S4/US5an7acJhI/AAAAAAAAAQI/Z7yAL-WdnOI/s1600/autocomplete+(1).png"><span><img border="0" src="http://2.bp.blogspot.com/-vBstNxqF8S4/US5an7acJhI/AAAAAAAAAQI/Z7yAL-WdnOI/s1600/autocomplete+(1).png" height="222" width="400"></span></a></td></tr><tr><td><span>Python autocomplete and documentation in DevTable</span></td></tr></tbody></table><b><span><span>Mimic works by creating a proxy which intercepts requests to your app and loads your app code dynamically from the datastore. &#160;DevTable keeps this code in sync with your latest changes. &#160;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&#8217;t work on the Development Server, such as the App Identity API and making multiple concurrent requests.</span></span></b><br /><b><span><span><br /></span></span></b>
<table align="center" cellpadding="0" cellspacing="0"><tbody><tr><td><a href="http://1.bp.blogspot.com/-Gb6ENu2loiw/US5a0Kss_LI/AAAAAAAAAQQ/ln6rIUy5q44/s1600/mimicdeploy+(1).png"><span><img border="0" src="http://1.bp.blogspot.com/-Gb6ENu2loiw/US5a0Kss_LI/AAAAAAAAAQQ/ln6rIUy5q44/s1600/mimicdeploy+(1).png" height="223" width="400"></span></a></td></tr><tr><td><span>Mimic bootstrap code deployment</span></td></tr></tbody></table><b><span><span>Once you are happy with how your app works in Mimic, you may want to deploy your application to production. Click the </span><span>Deploy</span><span> button, to deploy your app directly to App Engine, which may take a few minutes. &#160;Once deployment is complete, you can view your app at the production url, which is probably something like .appspot.com.</span><br /><span></span><br /><span>What can you do with this? You can build and deploy apps completely in the cloud. &#160;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! &#160;You can use our real-time collaboration support to pair program an App Engine app concurrently across the world. &#160;Our users are constantly surprising us with new ways to use DevTable, and we&#8217;re excited to see what you can come up with too!</span><br /><span></span><br /><span>We encourage you to get started now building apps using DevTable on App Engine. &#160;If you have any questions or suggestions, we are always available at </span><span>support@devtable.com</span><span>. &#160;Just send us an email and we&#8217;ll get back to you as quickly as we can.</span></span></b><br /><span><br /></span>
<span>- Contributed by Jake Moshenko, founder of DevTable</span>]]></description>
				<content:encoded><![CDATA[<span style="font-family: inherit;"><br /></span>
<b id="internal-source-marker_0.2176542782690376" style="font-weight: normal;"><span style="font-family: inherit;"><span style="font-style: italic; vertical-align: baseline; white-space: pre-wrap;">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.</span><br /><span style="color: #666666; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">At </span><a href="http://try.devtable.com/"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">DevTable</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">, we support development of </span><a href="http://cloud.google.com/products"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Google App Engine</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> apps with Python directly on the cloud, without having to install and run the App Engine SDK locally. &nbsp;While the App Engine SDK development experience is excellent, it is not yet supported on mobile or web platforms.</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">Some of the major reasons to use DevTable for App Engine are:</span></span></b><br />
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.2176542782690376" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">Cloud based editing and deployment of your App Engine projects</span></span></b></li>
<li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.2176542782690376" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">Autocomplete for Python code, including built-in App Engine libraries</span></span></b></li>
<li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.2176542782690376" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">OAuth deployment, so DevTable never has access to your Google Credentials</span></span></b></li>
<li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.2176542782690376" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">Native App Engine deployment for production releases</span></span></b></li>
<li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.2176542782690376" style="font-weight: normal;"><span style="font-family: inherit;"><a href="http://git-scm.com/"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Git</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> DVCS integration, including</span><a href="https://github.com/"><span style="color: black; text-decoration: initial; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">GitHub</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> support</span></span></b></li>
<li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.2176542782690376" style="font-weight: normal;"><span style="font-family: inherit;"><a href="http://code.google.com/p/cloud-playground/source/checkout?repo=mimic"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Mimic</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> deploy, for faster intermediate testing feedback</span></span></b></li>
</ul>
<b id="internal-source-marker_0.2176542782690376" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">To get started, first log in to your DevTable account and create a new project using our Google App Engine template. &nbsp;This template loads the basic webapp "hello world" project that you’re probably already familiar with from the <a href="https://developers.google.com/appengine/docs/python/gettingstarted/helloworld">App Engine documentation</a>. &nbsp;Follow the instructions to create a new App Engine app and to authorize DevTable to deploy on your behalf. &nbsp;Don’t worry, we use OAuth deployment, which means we will never ask you for your Google password.</span></span></b><br />
<b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;"><br /></span></span></b>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: inherit;"><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"><param name="movie" value="https://www.youtube.com/v/aLrWlwBmu4o&fs=1&source=uds" /><param name="bgcolor" value="#FFFFFF" /><param name="allowFullScreen" value="true" /><embed width="320" height="266"  src="https://www.youtube.com/v/aLrWlwBmu4o&fs=1&source=uds" type="application/x-shockwave-flash" allowfullscreen="true"></embed></object></span></div>
<b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;"><br /></span></span></b>
<b id="internal-source-marker_0.2176542782690376" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">Now that you have everything set up, press the </span><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Run Project</span><span style="vertical-align: baseline; white-space: pre-wrap;"> button and select </span><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">View on App Engine Mimic</span><span style="vertical-align: baseline; white-space: pre-wrap;">, which will deploy the Mimic bootstrap code to a special version of your app. &nbsp;This may take up to a few minutes, but each test deploy after this should happen instantaneously. &nbsp;Once Mimic has been deployed, you will see “Hello, world.” proudly displayed in a new browser tab. &nbsp;Each time you refresh this page, the newest code is pulled from your DevTable project, so editing and testing code is seamless. &nbsp;Try it now; change the message in your app’s main .py file, then refresh the tab which is showing your project.</span></span></b><br />
<b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;"><br /></span></span></b>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><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;"><span style="font-family: inherit;"><img border="0" src="http://2.bp.blogspot.com/-vBstNxqF8S4/US5an7acJhI/AAAAAAAAAQI/Z7yAL-WdnOI/s1600/autocomplete+(1).png" height="222" width="400" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-family: inherit; font-size: small;">Python autocomplete and documentation in DevTable</span></td></tr>
</tbody></table>
<b id="internal-source-marker_0.2176542782690376" style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">Mimic works by creating a proxy which intercepts requests to your app and loads your app code dynamically from the datastore. &nbsp;DevTable keeps this code in sync with your latest changes. &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.</span></span></b><br />
<b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;"><br /></span></span></b>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><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;"><span style="font-family: inherit;"><img border="0" src="http://1.bp.blogspot.com/-Gb6ENu2loiw/US5a0Kss_LI/AAAAAAAAAQQ/ln6rIUy5q44/s1600/mimicdeploy+(1).png" height="223" width="400" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-family: inherit; font-size: small;">Mimic bootstrap code deployment</span></td></tr>
</tbody></table>
<b id="internal-source-marker_0.2176542782690376" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">Once you are happy with how your app works in Mimic, you may want to deploy your application to production. Click the </span><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Deploy</span><span style="vertical-align: baseline; white-space: pre-wrap;"> button, to deploy your app directly to App Engine, which may take a few minutes. &nbsp;Once deployment is complete, you can view your app at the production url, which is probably something like <yourapp>.appspot.com.</yourapp></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">What can you do with this? You can build and deploy apps completely in the cloud. &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! &nbsp;You can use our real-time collaboration support to pair program an App Engine app concurrently across the world. &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!</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">We encourage you to get started now building apps using DevTable on App Engine. &nbsp;If you have any questions or suggestions, we are always available at </span><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">support@devtable.com</span><span style="vertical-align: baseline; white-space: pre-wrap;">. &nbsp;Just send us an email and we’ll get back to you as quickly as we can.</span></span></b><br />
<span style="font-family: inherit;"><br /></span>
<span class="byline-author" style="font-family: inherit;">- Contributed by Jake Moshenko, founder of DevTable</span>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/deploying-app-engine-apps-with-devtable/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>New Google Cloud Platform case studies &#8211; including Angry Birds and more</title>
		<link>https://googledata.org/google-app-engine/new-google-cloud-platform-case-studies-including-angry-birds-and-more/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=new-google-cloud-platform-case-studies-including-angry-birds-and-more</link>
		<comments>https://googledata.org/google-app-engine/new-google-cloud-platform-case-studies-including-angry-birds-and-more/#comments</comments>
		<pubDate>Tue, 26 Feb 2013 18:34:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=d77f669806779a97236254c9e6cc3f24</guid>
		<description><![CDATA[<b><span><span><br /></span></span></b>
<b><span><span>One of the most rewarding parts of working on </span><a href="http://cloud.google.com/products"><span>Google App Engine</span></a><span> is seeing our developers create groundbreaking new applications on top of our infrastructure. &#160;To help our current and prospective users gain insight into the vast array of these applications, we recently added a section to the <a href="http://cloud.google.com/">Google Cloud Platform</a> site with a </span><a href="http://cloud.google.com/customers/index.html"><span>collection of case studies</span></a><span>. &#160;Whether you&#8217;re interested in learning about how businesses are building on our platform or just</span><span> </span><span>looking for inspiration for your next project, we hope you find these pieces informative.</span><br /><span></span><br /><a href="https://cloud.google.com/files/Rovio.pdf"><span>Rovio</span></a><span></span><br /><span>Creator of the blockbuster &#8220;Angry Birds&#8221; game series used App Engine when creating web versions of their game. &#160;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.</span><br /><span></span><br /><a href="https://cloud.google.com/files/getaround.pdf"><span>GetAround</span></a><span></span><br /><span>TechCrunch Disrupt award-winning car sharing service used App Engine to build a marketplace connecting car owners to people looking to rent cars. &#160;They scaled their product without adding additional staff.</span><br /><span></span><br /><a href="https://cloud.google.com/files/MAG.pdf"><span>MAG Interactive</span></a><span></span><br /><span>Developer of mobile casual games, including the hit game Ruzzle, scaled their backend using App Engine. &#160;They grew to over 5 million users, and experienced &#8220;no scalability issues at all.&#8221;</span><br /><span></span><br /><a href="https://cloud.google.com/files/Nubbius.pdf"><span>Nubbius</span></a><span></span><br /><span>The Cloud Gate used App Engine to create nubbius, a software-as-a-service offering for lawyers to manage their workflow from anywhere. &#160;They saved more than $130,000 per year while scaling rapidly.</span><br /><span></span><br /><a href="https://cloud.google.com/files/Redbus.pdf"><span>RedBus</span></a><span></span><br /><span>Online travel agency used <a href="https://cloud.google.com/products/big-query">Google BigQuery</a> to unify tens of thousands of bus schedules into a single booking operation. &#160;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,</span><br /><span></span><br /><span>This is a sample of the many case studies we have on our site. &#160;Check out </span><a href="http://cloud.google.com/customers"><span>cloud.google.com/customers</span></a><span> to see the full list. &#160;You can read about companies varying in size, industry, and use cases, who are using Google Cloud Platform to build their products and businesses.</span></span></b><br /><span><br /></span>
<span>- Posted by Zafir Khan, Product Marketing Manager</span>]]></description>
				<content:encoded><![CDATA[<b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;"><br /></span></span></b>
<b id="internal-source-marker_0.1739749580156058" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">One of the most rewarding parts of working on </span><a href="http://cloud.google.com/products"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Google App Engine</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> is seeing our developers create groundbreaking new applications on top of our infrastructure. &nbsp;To help our current and prospective users gain insight into the vast array of these applications, we recently added a section to the <a href="http://cloud.google.com/">Google Cloud Platform</a> site with a </span><a href="http://cloud.google.com/customers/index.html"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">collection of case studies</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">. &nbsp;Whether you’re interested in learning about how businesses are building on our platform or just</span><span style="vertical-align: baseline;"> </span><span style="vertical-align: baseline; white-space: pre-wrap;">looking for inspiration for your next project, we hope you find these pieces informative.</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><a href="https://cloud.google.com/files/Rovio.pdf"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Rovio</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">Creator of the blockbuster “Angry Birds” game series used App Engine when creating web versions of their game. &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.</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><a href="https://cloud.google.com/files/getaround.pdf"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">GetAround</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">TechCrunch Disrupt award-winning car sharing service used App Engine to build a marketplace connecting car owners to people looking to rent cars. &nbsp;They scaled their product without adding additional staff.</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><a href="https://cloud.google.com/files/MAG.pdf"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">MAG Interactive</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">Developer of mobile casual games, including the hit game Ruzzle, scaled their backend using App Engine. &nbsp;They grew to over 5 million users, and experienced “no scalability issues at all.”</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><a href="https://cloud.google.com/files/Nubbius.pdf"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Nubbius</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">The Cloud Gate used App Engine to create nubbius, a software-as-a-service offering for lawyers to manage their workflow from anywhere. &nbsp;They saved more than $130,000 per year while scaling rapidly.</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><a href="https://cloud.google.com/files/Redbus.pdf"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">RedBus</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">Online travel agency used <a href="https://cloud.google.com/products/big-query">Google BigQuery</a> to unify tens of thousands of bus schedules into a single booking operation. &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,</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">This is a sample of the many case studies we have on our site. &nbsp;Check out </span><a href="http://cloud.google.com/customers"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">cloud.google.com/customers</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> to see the full list. &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.</span></span></b><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">- Posted by Zafir Khan, Product Marketing Manager</span>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/new-google-cloud-platform-case-studies-including-angry-birds-and-more/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Google Cloud Platform introduces new support packages</title>
		<link>https://googledata.org/google-app-engine/google-cloud-platform-introduces-new-support-packages-2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=google-cloud-platform-introduces-new-support-packages-2</link>
		<comments>https://googledata.org/google-app-engine/google-cloud-platform-introduces-new-support-packages-2/#comments</comments>
		<pubDate>Thu, 21 Feb 2013 19:00:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=b3325dd59e40f6e078d70f71e927ce62</guid>
		<description><![CDATA[<b><span><span><br /></span></span></b>
<b><span><span>Support is as important as product features when choosing a platform for your applications. And let&#8217;s face it, sometimes we all need a bit of help. No matter which </span><a href="http://cloud.google.com/"><span>Google Cloud Platform</span></a><span> services you are using&#8212;App Engine, Compute Engine, Cloud Storage, Cloud SQL, BigQuery, etc.&#8212;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. </span><br /><span></span><br /><span>To meet your support requirements, we&#8217;re introducing a comprehensive collection of support packages for services on Google Cloud Platform, so you can decide what level best fits your needs:</span><br /><span></span></span></b><br /><ul><li><b><span><span>Bronze</span><span>: All customers get access to online documentation, community forums, and billing support. (Free)</span></span></b></li>
<li><b><span><span>Silver</span><span>: In addition to Bronze, you can email our support team for questions related to product functionality, best practices, and service errors. ($150/month)</span></span></b></li>
<li><b><span><span>Gold</span><span>: In addition to Silver, you'll receive 24x7 phone support</span><span> and consultation on application development, best practices or architecture for your specific use case. </span><span>(Starts at $400/month)</span></span></b></li>
<li><b><span><span>Platinum</span><span>: The most comprehensive and personalized support. In addition to Gold, you&#8217;ll get direct access to a Technical Account Manager team. (</span><a href="https://cloud.google.com/support/signup"><span>Contact Sales</span></a><span> for more information)</span><span></span></span></b></li>
</ul><b><span><span></span><br /><a href="https://cloud.google.com/support/signup"><span>Sign up</span></a><span> or click </span><a href="https://cloud.google.com/support/packages"><span>here</span></a><span> to find out more information about the new Google Cloud Platform support options.</span></span></b><br /><span><br /></span>
<span>Posted by Brett McCully, Google Cloud Platform team</span>]]></description>
				<content:encoded><![CDATA[<b style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;"><br /></span></span></b>
<b id="internal-source-marker_0.6365196965634823" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">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 </span><a href="http://cloud.google.com/"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Google Cloud Platform</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> 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. </span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">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:</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span></span></b><br />
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: white; font-weight: bold; list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.6365196965634823" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">Bronze</span><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">: All customers get access to online documentation, community forums, and billing support. (Free)</span></span></b></li>
<li dir="ltr" style="background-color: white; font-weight: bold; list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.6365196965634823" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">Silver</span><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">: In addition to Bronze, you can email our support team for questions related to product functionality, best practices, and service errors. ($150/month)</span></span></b></li>
<li dir="ltr" style="background-color: white; font-weight: bold; list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.6365196965634823" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">Gold</span><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">: In addition to Silver, you'll receive 24x7 phone support</span><span style="background-color: transparent; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> and consultation on application development, best practices or architecture for your specific use case. </span><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">(Starts at $400/month)</span></span></b></li>
<li dir="ltr" style="background-color: white; font-weight: bold; list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.6365196965634823" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">Platinum</span><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">: The most comprehensive and personalized support. In addition to Gold, you’ll get direct access to a Technical Account Manager team. (</span><a href="https://cloud.google.com/support/signup"><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Contact Sales</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> for more information)</span><span style="background-color: transparent; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span></span></b></li>
</ul>
<b id="internal-source-marker_0.6365196965634823" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><a href="https://cloud.google.com/support/signup"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Sign up</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> or click </span><a href="https://cloud.google.com/support/packages"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">here</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> to find out more information about the new Google Cloud Platform support options.</span></span></b><br />
<span style="font-family: inherit;"><br /></span>
<span class="byline-author" style="font-family: inherit;">Posted by Brett McCully, Google Cloud Platform team</span>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/google-cloud-platform-introduces-new-support-packages-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Java 7 and Cloud Endpoints Preview</title>
		<link>https://googledata.org/google-app-engine/java-7-and-cloud-endpoints-preview/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=java-7-and-cloud-endpoints-preview</link>
		<comments>https://googledata.org/google-app-engine/java-7-and-cloud-endpoints-preview/#comments</comments>
		<pubDate>Thu, 21 Feb 2013 18:16:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=38ae273e0db817756cca6dd0fa55a4ae</guid>
		<description><![CDATA[<br /><span>Today we are announcing two new preview features: Google App Engine Java 7 runtime support and Google Cloud Endpoints.   Preview features are &#8216;experimental&#8217; features on a path towards general availability.</span><br /><br /><h3>
<span>Java 7 Runtime Support for App Engine</span></h3>
<span><br /></span> <span>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.</span><br /><span><br /></span> <span>Some of the language features you now have access to include:</span><br /><span><br /></span> <span><b>invokedynamic</b> 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:</span><br /><span><br /></span>
 <br /><pre><b><span><span>public</span><span> </span><span>static</span><span> </span><span>void</span><span> </span><span>invokeExample</span><span>() {
 &#160;&#160;String s;
 &#160;&#160;MethodType mt; 
 &#160;&#160;MethodHandle mh;
 &#160;&#160;</span>
<span> &#160;&#160;MethodHandles.</span><span>Lookup</span><span> lookup = MethodHandles.</span><span>lookup</span><span>();
 &#160;&#160;MethodType mt = MethodType.</span><span>methodType</span><span>(String.</span><span>class</span><span>, </span><span>char</span><span>.</span><span>class</span><span>,
 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span>char</span><span>.</span><span>class</span><span>);
 &#160;&#160;MethodHandle mh = lookup.</span><span>findVirtual</span><span>(String.</span><span>class</span><span>, </span><span>"replace"</span><span>, mt);
 &#160;&#160;s = (String) mh.</span><span>invokeExact</span><span>(</span><span>"App Engine Java 6 runtime"</span><span>,</span><span>'6'</span><span>,</span><span>'7'</span><span>);
 &#160;&#160;System.</span><span>out</span><span>.</span><span>println</span><span>(s);
}</span></span></b><span>
</span></pre>
<span><br /></span> <span><b>Try-with-resources</b>, which helps avoid memory leaks and related bugs by automatically closing resources that are used in a try-catch statement.</span><br /><span><br /></span> <br /><pre><span><b><span>public</span><span> </span><span>static</span><span> </span><span>void</span><span> </span><span>viewTable</span><span>(Connection con, String query) </span><span>throws</span><span> SQLException {
 &#160;&#160;</span><span>try</span><span> (</span>
<span> &#160;&#160;&#160;&#160;&#160;Statement stmt = con.</span><span>createStatement</span><span>();</span>
<span> &#160;&#160;&#160;&#160;&#160;ResultSet rs = stmt.</span><span>executeQuery</span><span>(query)</span>
<span> &#160;&#160;) {
 &#160;&#160;&#160;&#160;&#160;</span><span>while</span><span> (rs.</span><span>next</span><span>()) {
 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span>// process results</span><span>
 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span>//</span><span>
 &#160;&#160;&#160;&#160;&#160;}
 &#160;&#160;} </span><span>catch</span><span> (SQLException e) {
 &#160;&#160;&#160;&#160;&#160;</span><span>// con resource is auto-closed, no need to do anything here!</span><span>
 &#160;&#160;&#160;&#160;&#160;</span><span>//</span><span>
 &#160;&#160;}
}</span></b>
</span></pre>
<span><br /></span> <span><b>Flexible Type Creation</b> when using generics, enabling you to create parameterized types more succinctly. For example, you can write:</span><br /><span><br /></span> <br /><pre><b><span><span>Map&#62; myMap = </span><span>new</span><span> HashMap&#60;&#62;();</span></span></b><span>
</span></pre>
<span><br /></span> <span>instead of:</span><br /><br /><pre><b><span><span>Map&#62; myMap = </span><span>new</span><span> HashMap&#62;();</span></span></b><span>
</span></pre>
<span><br /></span> <span>In addition to the language features listed above, the App Engine Java 7 runtime also includes:</span><br /><ul><li><span>Use of String class in Switch statements.<br /></span></li>
<li><span>Expression of binary literals using simple prefixes 0b or 0B.<br /></span></li>
<li><span>Single catch blocks that can handle multiple exceptions.<br /></span></li>
<li><span>Simplified varargs method invocation.<br /></span></li>
</ul><span>Want to get started now? Download the latest <a href="https://developers.google.com/appengine/downloads#Google_App_Engine_SDK_for_Java">App Engine Java SDK</a> and then check out the docs <a href="https://developers.google.com/appengine/docs/java/java7">here</a>.</span><br /><h3>
<span><br /></span></h3>
<h3>
<span>Cloud Endpoints Preview</span></h3>
<span><br /></span> <span>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?  <a href="https://developers.google.com/appengine/docs/java/endpoints/">Google Cloud Endpoints</a> 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.</span><br /><div>
<div>
<a href="http://2.bp.blogspot.com/-RdGWxzcl74o/USaf8m38n7I/AAAAAAAAAP4/bkZtzL_f1KE/s1600/endpoints_architecture+(1).png"><img border="0" src="http://2.bp.blogspot.com/-RdGWxzcl74o/USaf8m38n7I/AAAAAAAAAP4/bkZtzL_f1KE/s1600/endpoints_architecture+(1).png" height="187" width="400"></a></div>
<br /></div>
<span>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. </span><br /><span>For example, you can create a simple class to list some important data:</span><br /><span><br /></span>
<pre><span><b><span>public</span><span> </span><span>class</span><span> </span><span>SuperHeroes</span><span> {
 &#160;&#160;</span><span>public</span><span> List</span><span>listSuperHeroes</span><span>() {
 &#160;&#160;&#160;&#160;&#160;List list = </span><span>new</span><span> ArrayList();
 &#160;&#160;&#160;&#160;&#160;list.</span><span>add</span><span>(</span><span>new</span><span> SuperHero (</span><span>"Champion of the Obvious"</span><span>, </span><span>"Brad Abrams"</span><span>));
 &#160;&#160;&#160;&#160;&#160;list.</span><span>add</span><span>(</span><span>new</span><span> SuperHero (</span><span>"Mr. Justice"</span><span>, </span><span>"Chris Ramsdale"</span><span>));

 &#160;&#160;&#160;&#160;&#160;</span><span>return</span><span> list;
 &#160;&#160;}
}</span></b></span></pre>
<pre><span></span></pre>
<span>Then, expose it over a standard REST interface with a simple attribute and a versioning pattern.</span><br /><span><br /></span> <br /><b><span><span>@Api</span><span>(name = </span><span>"superheroes"</span><span>, version = </span><span>"v1"</span><span>)</span><span>public</span><span> </span><span>class</span><span> </span><span>SuperHeroesV1</span><span> {</span><span> &#160;&#160;</span><span>...</span></span></b><pre><b><span><span>}</span></span></b></pre>
<pre><span>
</span></pre>
<pre><span>Now you have a simple REST interface.</span></pre>
<span><br /></span> <br /><pre><b><span><span>$ </span><span>curl http://localhost:8888/_ah/api/superheroes/v1/superheroes</span><span></span>
<span>{
 </span><span>"items"</span><span>: [
 &#160;{
 &#160;&#160;</span><span>"knownAs"</span><span> : </span><span>"Champion of the Obvious"</span><span>,
 &#160;&#160;</span><span>"realName"</span><span> : </span><span>"Brad Abrams"</span><span>
 &#160;},
 &#160;{
 &#160;&#160;</span><span>"knownAs"</span><span> : </span><span>"Mr. Justice"</span><span>,
 &#160;&#160;</span><span>"realName"</span><span> : </span><span>"Chris Ramsdale"</span><span>
 &#160;}</span></span></b><span>
</span></pre>
<span>And you can make strongly typed calls from your Android clients:</span><br /><span><br /></span> <br /><pre><b><span><span>Real result = superheroes.</span><span>list</span><span>().</span><span>execute</span><span>();</span></span></b><span>
</span></pre>
<span><br /></span>
<span>Or Objective-C iOS client:</span><br /><pre><b><span><span>
</span></span></b></pre>
<pre><b><span><span>GTLQuerySuperHeroesV1 </span><span>*query = [</span><span>GTLQuerySuperHeroesV1 </span><span>queryForSuperHeroesList];</span>
<span>[</span><span>service</span><span> executeQuery:query completionHandler:^(</span><span>GTLServiceTicket </span><span>*ticket, </span>
<div dir="ltr">
<span>GTLSuperHeroes </span><span>*object, </span><span>NSError</span><span> *error) {</span></div>
<span> &#160;</span><span>NSArray</span><span> *items = [object items];</span>
<span>}];</span></span></b><span>
</span></pre>
<span><br /></span>
<span>Or the web client in JavaScript:</span><br /><span><br /></span> <br /><pre><b><span><span>// ...</span><span></span>
<span>var</span><span> ROOT = </span><span>'https://'</span><span> + </span><span>window</span><span>.location.host + </span><span>'/_ah/api'</span><span>;
gapi.client.load(</span><span>'superheroes'</span><span>, </span><span>'v1'</span><span>,
 &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;loadSuperheroesCallback, ROOT);
</span><span>// Get the list of superheroes</span><span>
gapi.client.superheroes.superheroes.list().execute(</span><span>function</span><span>(resp) {
 &#160;displaySuperheroesList(resp);
});</span></span></b></pre>
<pre><b><span>
</span></b></pre>
<span>Read the documentation for <a href="https://developers.google.com/appengine/docs/java/endpoints/overview">Java</a> or <a href="https://developers.google.com/appengine/docs/python/endpoints/overview">Python</a> to discover how you can build a <a href="https://github.com/GoogleCloudPlatform/appengine-endpoints-tictactoe-python">simple tic-tac-toe game</a> using Cloud Endpoints. </span><br /><span><br /></span> <span>To get started with Cloud Endpoints, download the <a href="https://developers.google.com/appengine/downloads">App Engine 1.7.5 SDK</a> and the latest <a href="https://developers.google.com/eclipse/">Google Plugin for Eclipse</a>. Be sure to look at <a href="https://developers.google.com/eclipse/docs/endpoints-overview">the docs</a> and follow along in <a href="http://stackoverflow.com/questions/tagged/google-app-engine+google-cloud-endpoints">the discussion forums on Stack Overflow</a>. </span><br /><span><br /></span> <span>For more on using Cloud Endpoints with Python, check out <a href="https://plus.google.com/114760865724135687241/">+Danny Hermes</a> and <a href="https://plus.google.com/112953471808394921173/">+Dan Holevoet</a> on <a href="https://developers.google.com/live/shows/76184973/">Google Developers Live</a>. </span><br /><br /><span><span>-Posted by Brad Abrams, Product Manager, and Chris Ramsdale, Product Manager</span></span>]]></description>
				<content:encoded><![CDATA[<br />
<span style="font-family: inherit;">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.</span><br />
<br />
<h3>
<span style="font-family: inherit;">Java 7 Runtime Support for App Engine</span></h3>
<span style="font-family: inherit;"><br />
</span> <span style="font-family: inherit;">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.</span><br />
<span style="font-family: inherit;"><br />
</span> <span style="font-family: inherit;">Some of the language features you now have access to include:</span><br />
<span style="font-family: inherit;"><br />
</span> <span style="font-family: inherit;"><b>invokedynamic</b> 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:</span><br />
<span style="font-family: inherit;"><br /></span>
 <br />
<pre><b id="internal-source-marker_0.9474801623728126" style="font-weight: normal; white-space: normal;"><span style="font-family: inherit;"><span style="background-color: white; color: #0000aa; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">public</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: white; color: #0000aa; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">static</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: white; color: #00aaaa; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">void</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: white; color: #00aa00; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">invokeExample</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">() {
 &nbsp;&nbsp;String s;
 &nbsp;&nbsp;MethodType mt; 
 &nbsp;&nbsp;MethodHandle mh;
 &nbsp;&nbsp;</span>
<span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"> &nbsp;&nbsp;MethodHandles.</span><span style="background-color: white; color: dodgerblue; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">Lookup</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"> lookup = MethodHandles.</span><span style="background-color: white; color: dodgerblue; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">lookup</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">();
 &nbsp;&nbsp;MethodType mt = MethodType.</span><span style="background-color: white; color: dodgerblue; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">methodType</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">(String.</span><span style="background-color: white; color: dodgerblue; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">class</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">, </span><span style="background-color: white; color: #00aaaa; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">char</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">.</span><span style="background-color: white; color: dodgerblue; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">class</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">,
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: white; color: #00aaaa; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">char</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">.</span><span style="background-color: white; color: dodgerblue; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">class</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">);
 &nbsp;&nbsp;MethodHandle mh = lookup.</span><span style="background-color: white; color: dodgerblue; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">findVirtual</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">(String.</span><span style="background-color: white; color: dodgerblue; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">class</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">, </span><span style="background-color: white; color: #aa5500; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">"replace"</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">, mt);
 &nbsp;&nbsp;s = (String) mh.</span><span style="background-color: white; color: dodgerblue; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">invokeExact</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">(</span><span style="background-color: white; color: #aa5500; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">"App Engine Java 6 runtime"</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">,</span><span style="background-color: white; color: #aa5500; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">'6'</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">,</span><span style="background-color: white; color: #aa5500; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">'7'</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">);
 &nbsp;&nbsp;System.</span><span style="background-color: white; color: dodgerblue; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">out</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">.</span><span style="background-color: white; color: dodgerblue; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">println</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">(s);
}</span></span></b><span style="font-family: inherit;">
</span></pre>
<span style="font-family: inherit;"><br />
</span> <span style="font-family: inherit;"><b>Try-with-resources</b>, which helps avoid memory leaks and related bugs by automatically closing resources that are used in a try-catch statement.</span><br />
<span style="font-family: inherit;"><br />
</span> <br />
<pre><span style="font-family: inherit;"><b id="internal-source-marker_0.9474801623728126" style="font-weight: normal; white-space: normal;"><span style="background-color: white; color: #0000aa; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">public</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: white; color: #0000aa; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">static</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: white; color: #00aaaa; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">void</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: white; color: #00aa00; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">viewTable</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">(Connection con, String query) </span><span style="background-color: white; color: #0000aa; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">throws</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"> SQLException {
 &nbsp;&nbsp;</span><span style="background-color: white; color: #0000aa; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">try</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"> (</span>
<span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Statement stmt = con.</span><span style="background-color: white; color: dodgerblue; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">createStatement</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">();</span>
<span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ResultSet rs = stmt.</span><span style="background-color: white; color: dodgerblue; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">executeQuery</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">(query)</span>
<span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"> &nbsp;&nbsp;) {
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: white; color: #0000aa; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">while</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"> (rs.</span><span style="background-color: white; color: dodgerblue; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">next</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">()) {
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: white; color: #aaaaaa; font-size: 12px; font-style: italic; vertical-align: baseline; white-space: pre-wrap;">// process results</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: white; color: #aaaaaa; font-size: 12px; font-style: italic; vertical-align: baseline; white-space: pre-wrap;">//</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
 &nbsp;&nbsp;} </span><span style="background-color: white; color: #0000aa; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">catch</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"> (SQLException e) {
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: white; color: #aaaaaa; font-size: 12px; font-style: italic; vertical-align: baseline; white-space: pre-wrap;">// con resource is auto-closed, no need to do anything here!</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: white; color: #aaaaaa; font-size: 12px; font-style: italic; vertical-align: baseline; white-space: pre-wrap;">//</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">
 &nbsp;&nbsp;}
}</span></b>
</span></pre>
<span style="font-family: inherit;"><br />
</span> <span style="font-family: inherit;"><b>Flexible Type Creation</b> when using generics, enabling you to create parameterized types more succinctly. For example, you can write:</span><br />
<span style="font-family: inherit;"><br />
</span> <br />
<pre><b id="internal-source-marker_0.9474801623728126" style="font-weight: normal; white-space: normal;"><span style="font-family: inherit;"><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">Map<string list="" tring="">&gt; myMap = </string></span><span style="background-color: white; color: #0000aa; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">new</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"> HashMap&lt;&gt;();</span></span></b><span style="font-family: inherit;">
</span></pre>
<span style="font-family: inherit;"><br />
</span> <span style="font-family: inherit;">instead of:</span><br />
 <br />
<pre><b id="internal-source-marker_0.9474801623728126" style="font-weight: normal; white-space: normal;"><span style="font-family: inherit;"><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">Map<string list="" tring="">&gt; myMap = </string></span><span style="background-color: white; color: #0000aa; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">new</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"> HashMap<string list="" tring="">&gt;();</string></span></span></b><span style="font-family: inherit;">
</span></pre>
<span style="font-family: inherit;"><br />
</span> <span style="font-family: inherit;">In addition to the language features listed above, the App Engine Java 7 runtime also includes:</span><br />
<ul>
<li><span style="font-family: inherit;">Use of String class in Switch statements.<br />
</span></li>
<li><span style="font-family: inherit;">Expression of binary literals using simple prefixes 0b or 0B.<br />
</span></li>
<li><span style="font-family: inherit;">Single catch blocks that can handle multiple exceptions.<br />
</span></li>
<li><span style="font-family: inherit;">Simplified varargs method invocation.<br />
</span></li>
</ul>
<span style="font-family: inherit;">Want to get started now? Download the latest <a href="https://developers.google.com/appengine/downloads#Google_App_Engine_SDK_for_Java">App Engine Java SDK</a> and then check out the docs <a href="https://developers.google.com/appengine/docs/java/java7">here</a>.</span><br />
<h3>
<span style="font-family: inherit;"><br /></span></h3>
<h3>
<span style="font-family: inherit;">Cloud Endpoints Preview</span></h3>
<span style="font-family: inherit;"><br />
</span> <span style="font-family: inherit;">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?  <a href="https://developers.google.com/appengine/docs/java/endpoints/">Google Cloud Endpoints</a> 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.</span><br />
<div style="margin-left: 1em; margin-right: 1em;">
<div class="separator" style="clear: both; text-align: center;">
<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;"><img border="0" src="http://2.bp.blogspot.com/-RdGWxzcl74o/USaf8m38n7I/AAAAAAAAAP4/bkZtzL_f1KE/s1600/endpoints_architecture+(1).png" height="187" width="400" /></a></div>
<br /></div>
<span style="font-family: inherit;">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. </span><br />
<span style="font-family: inherit;">For example, you can create a simple class to list some important data:</span><br />
<span style="font-family: inherit;"><br /></span>
<pre><span style="font-family: inherit;"><b id="internal-source-marker_0.9474801623728126" style="font-weight: normal; white-space: normal;"><span style="background-color: white; color: #0000aa; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">public</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: white; color: #0000aa; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">class</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: white; color: #00aa00; font-size: 12px; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">SuperHeroes</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"> {
 &nbsp;&nbsp;</span><span style="background-color: white; color: #0000aa; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">public</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"> List<superhero> </superhero></span><span style="background-color: white; color: #00aa00; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">listSuperHeroes</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">() {
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;List<superhero> list = </superhero></span><span style="background-color: white; color: #0000aa; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">new</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"> ArrayList<superhero>();
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list.</superhero></span><span style="background-color: white; color: dodgerblue; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">add</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">(</span><span style="background-color: white; color: #0000aa; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">new</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"> SuperHero (</span><span style="background-color: white; color: #aa5500; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">"Champion of the Obvious"</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">, </span><span style="background-color: white; color: #aa5500; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">"Brad Abrams"</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">));
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list.</span><span style="background-color: white; color: dodgerblue; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">add</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">(</span><span style="background-color: white; color: #0000aa; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">new</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"> SuperHero (</span><span style="background-color: white; color: #aa5500; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">"Mr. Justice"</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">, </span><span style="background-color: white; color: #aa5500; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">"Chris Ramsdale"</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">));

 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: white; color: #0000aa; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">return</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"> list;
 &nbsp;&nbsp;}
}</span></b><superhero><superhero><superhero>
</superhero></superhero></superhero></span></pre>
<pre><span style="font-family: inherit;"><superhero><superhero><superhero>
</superhero></superhero></superhero></span></pre>
<span style="font-family: inherit;">Then, expose it over a standard REST interface with a simple attribute and a versioning pattern.</span><br />
<span style="font-family: inherit;"><br />
</span> <br />
<b id="internal-source-marker_0.9474801623728126" style="font-weight: normal;"><span style="font-family: inherit;"><span style="background-color: white; color: #888888; font-size: 12px; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">@Api</span><span style="background-color: white; color: #333333; font-size: 12px; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">(name = </span><span style="background-color: white; color: #aa5500; font-size: 12px; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">"superheroes"</span><span style="background-color: white; color: #333333; font-size: 12px; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">, version = </span><span style="background-color: white; color: #aa5500; font-size: 12px; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">"v1"</span><span style="background-color: white; color: #333333; font-size: 12px; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">)</span><span style="background-color: white; color: #0000aa; font-size: 12px; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">public</span><span style="background-color: white; color: #333333; font-size: 12px; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: white; color: #0000aa; font-size: 12px; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">class</span><span style="background-color: white; color: #333333; font-size: 12px; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: white; color: #00aa00; font-size: 12px; font-weight: bold; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">SuperHeroesV1</span><span style="background-color: white; color: #333333; font-size: 12px; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"> {</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"> &nbsp;&nbsp;</span><span style="background-color: white; color: #333333; font-size: 12px; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">...</span></span></b><pre><b id="internal-source-marker_0.9474801623728126" style="font-weight: normal;"><span style="background-color: white; color: #333333; font-size: 12px; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">}</span></span></b></pre>
<pre><span style="font-family: inherit;">
</span></pre>
<pre><span style="font-family: inherit;">Now you have a simple REST interface.</span></pre>
<span style="font-family: inherit;"><br />
</span> <br />
<pre><b id="internal-source-marker_0.9474801623728126" style="font-weight: normal; white-space: normal;"><span style="font-family: inherit;"><span style="background-color: white; color: #aa0000; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">$ </span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">curl http://localhost:8888/_ah/api/superheroes/v1/superheroes</span><span style="font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"></span>
<span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">{
 </span><span style="background-color: white; color: #aa5500; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">"items"</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">: [
 &nbsp;{
 &nbsp;&nbsp;</span><span style="background-color: white; color: #aa5500; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">"knownAs"</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"> : </span><span style="background-color: white; color: #aa5500; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">"Champion of the Obvious"</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">,
 &nbsp;&nbsp;</span><span style="background-color: white; color: #aa5500; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">"realName"</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"> : </span><span style="background-color: white; color: #aa5500; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">"Brad Abrams"</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">
 &nbsp;},
 &nbsp;{
 &nbsp;&nbsp;</span><span style="background-color: white; color: #aa5500; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">"knownAs"</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"> : </span><span style="background-color: white; color: #aa5500; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">"Mr. Justice"</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">,
 &nbsp;&nbsp;</span><span style="background-color: white; color: #aa5500; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">"realName"</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"> : </span><span style="background-color: white; color: #aa5500; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">"Chris Ramsdale"</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">
 &nbsp;}</span></span></b><span style="font-family: inherit;">
</span></pre>
<span style="font-family: inherit;">And you can make strongly typed calls from your Android clients:</span><br />
<span style="font-family: inherit;"><br />
</span> <br />
<pre><b id="internal-source-marker_0.9474801623728126" style="font-weight: normal; white-space: normal;"><span style="font-family: inherit;"><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">Real result = superheroes.</span><span style="background-color: white; color: dodgerblue; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">list</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">().</span><span style="background-color: white; color: dodgerblue; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">execute</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">();</span></span></b><span style="font-family: inherit;">
</span></pre>
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">Or Objective-C iOS client:</span><br />
<pre><b style="font-weight: normal; white-space: normal;"><span style="font-family: inherit;"><span style="color: #674ea7; font-size: 13px; vertical-align: baseline; white-space: pre-wrap;">
</span></span></b></pre>
<pre><b id="internal-source-marker_0.9474801623728126" style="font-weight: normal; white-space: normal;"><span style="font-family: inherit;"><span style="color: #674ea7; font-size: 13px; vertical-align: baseline; white-space: pre-wrap;">GTLQuerySuperHeroesV1 </span><span style="font-size: 13px; vertical-align: baseline; white-space: pre-wrap;">*query = [</span><span style="color: #674ea7; font-size: 13px; vertical-align: baseline; white-space: pre-wrap;">GTLQuerySuperHeroesV1 </span><span style="font-size: 13px; vertical-align: baseline; white-space: pre-wrap;">queryForSuperHeroesList];</span>
<span style="font-size: 13px; vertical-align: baseline; white-space: pre-wrap;">[</span><span style="color: #d5a6bd; font-size: 13px; vertical-align: baseline; white-space: pre-wrap;">service</span><span style="font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"> executeQuery:query completionHandler:^(</span><span style="color: #674ea7; font-size: 13px; vertical-align: baseline; white-space: pre-wrap;">GTLServiceTicket </span><span style="font-size: 13px; vertical-align: baseline; white-space: pre-wrap;">*ticket, </span>
<div dir="ltr" style="margin-bottom: 0pt; margin-left: 216pt; margin-top: 0pt;">
<span style="color: #674ea7; font-size: 13px; vertical-align: baseline; white-space: pre-wrap;">GTLSuperHeroes </span><span style="font-size: 13px; vertical-align: baseline; white-space: pre-wrap;">*object, </span><span style="color: #674ea7; font-size: 13px; vertical-align: baseline; white-space: pre-wrap;">NSError</span><span style="font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"> *error) {</span></div>
<span style="font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"> &nbsp;</span><span style="color: #674ea7; font-size: 13px; vertical-align: baseline; white-space: pre-wrap;">NSArray</span><span style="font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"> *items = [object items];</span>
<span style="font-size: 13px; vertical-align: baseline; white-space: pre-wrap;">}];</span></span></b><span style="font-family: inherit;">
</span></pre>
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">Or the web client in JavaScript:</span><br />
<span style="font-family: inherit;"><br />
</span> <br />
<pre><b id="internal-source-marker_0.9474801623728126" style="font-weight: normal; white-space: normal;"><span style="font-family: inherit;"><span style="background-color: white; color: #aaaaaa; font-size: 12px; font-style: italic; vertical-align: baseline; white-space: pre-wrap;">// ...</span><span style="font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"></span>
<span style="background-color: white; color: #0000aa; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">var</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"> ROOT = </span><span style="background-color: white; color: #aa5500; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">'https://'</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;"> + </span><span style="background-color: white; color: #00aaaa; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">window</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">.location.host + </span><span style="background-color: white; color: #aa5500; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">'/_ah/api'</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">;
gapi.client.load(</span><span style="background-color: white; color: #aa5500; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">'superheroes'</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">, </span><span style="background-color: white; color: #aa5500; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">'v1'</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">,
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;loadSuperheroesCallback, ROOT);
</span><span style="background-color: white; color: #aaaaaa; font-size: 12px; font-style: italic; vertical-align: baseline; white-space: pre-wrap;">// Get the list of superheroes</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">
gapi.client.superheroes.superheroes.list().execute(</span><span style="background-color: white; color: #0000aa; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">function</span><span style="background-color: white; color: #333333; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">(resp) {
 &nbsp;displaySuperheroesList(resp);
});</span></span></b></pre>
<pre><b style="font-family: Times; font-weight: normal; white-space: normal;"><span style="background-color: white; color: #333333; font-family: Consolas; font-size: 12px; vertical-align: baseline; white-space: pre-wrap;">
</span></b></pre>
<span style="font-family: inherit;">Read the documentation for <a href="https://developers.google.com/appengine/docs/java/endpoints/overview">Java</a> or <a href="https://developers.google.com/appengine/docs/python/endpoints/overview">Python</a> to discover how you can build a <a href="https://github.com/GoogleCloudPlatform/appengine-endpoints-tictactoe-python">simple tic-tac-toe game</a> using Cloud Endpoints. </span><br />
<span style="font-family: inherit;"><br />
</span> <span style="font-family: inherit;">To get started with Cloud Endpoints, download the <a href="https://developers.google.com/appengine/downloads">App Engine 1.7.5 SDK</a> and the latest <a href="https://developers.google.com/eclipse/">Google Plugin for Eclipse</a>. Be sure to look at <a href="https://developers.google.com/eclipse/docs/endpoints-overview">the docs</a> and follow along in <a href="http://stackoverflow.com/questions/tagged/google-app-engine+google-cloud-endpoints">the discussion forums on Stack Overflow</a>. </span><br />
<span style="font-family: inherit;"><br />
</span> <span style="font-family: inherit;">For more on using Cloud Endpoints with Python, check out <a href="https://plus.google.com/114760865724135687241/">+Danny Hermes</a> and <a href="https://plus.google.com/112953471808394921173/">+Dan Holevoet</a> on <a href="https://developers.google.com/live/shows/76184973/">Google Developers Live</a>. </span><br />
<br />
<span style="font-family: inherit;"><span class="byline-author">-Posted by Brad Abrams, Product Manager, and Chris Ramsdale, Product Manager</span></span>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/java-7-and-cloud-endpoints-preview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>New Google App Engine training videos now available</title>
		<link>https://googledata.org/google-app-engine/new-google-app-engine-training-videos-now-available/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=new-google-app-engine-training-videos-now-available</link>
		<comments>https://googledata.org/google-app-engine/new-google-app-engine-training-videos-now-available/#comments</comments>
		<pubDate>Thu, 14 Feb 2013 20:33:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=db0c96b2876b2bd699888caa372084e5</guid>
		<description><![CDATA[<b><span><span><br /></span></span></b>
<b><span><span>Do you wonder how </span><a href="https://cloud.google.com/products/"><span>App Engine</span></a><span> orchestrates hundreds of instances so smoothly? Can you imagine how </span><span><a href="https://developers.google.com/appengine/docs/python/datastore/">Datastore </a></span><a href="https://developers.google.com/appengine/docs/python/datastore/queries"><span>queries</span></a><span> and </span><a href="https://developers.google.com/appengine/docs/python/datastore/transactions"><span>transactions</span></a><span> work behind the scenes? Do you want to know the magic of how App Engine experts dramatically reduce traffic costs using edge caching?&#160;</span></span></b><br /><b><span><span><br /></span></span></b>
<span><b><span>We&#8217;ve just published </span><a href="https://developers.google.com/appengine/docs/videoresources#training"><span>a series of great App Engine training videos</span></a><span> 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. &#160;The videos delve into each major App Engine component&#8217;s operation and how a developer can best utilize them.&#160;</span></b></span><br /><br /><br /><div>
<a href="http://3.bp.blogspot.com/-RN6rQsVg3LM/UR1JE_Q9FAI/AAAAAAAAAPY/zK6mduHcHp8/s1600/Screen+Shot+2013-02-07+at+11.43.31+AM.png"><span><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"></span></a></div>
<b><span><span><br /></span></span></b>
<b><span><span>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&#8217;re already familiar with the platform.</span></span></b><br /><b><span><span><br /></span></span></b>
<b><span>Throughout the year, we intend to publish codelabs to complement the voice-over training videos, not only for App Engine, but for &#160;</span><a href="https://cloud.google.com/products/cloud-storage"><span>Google Cloud Storage</span></a><span>, </span><a href="https://cloud.google.com/products/cloud-sql"><span>Google Cloud SQL</span></a><span>, </span><a href="https://cloud.google.com/products/big-query"><span>Google BigQuery</span></a><span>, and </span><a href="https://cloud.google.com/products/compute-engine"><span>Google Compute Engine</span></a><span> as well. &#160;So stay tuned for updates!</span></b><br /><span><br /></span><b><span>-Posted by Gary Downing, Cloud Platform Solutions Technical Training Manager</span></b>]]></description>
				<content:encoded><![CDATA[<b style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;"><br /></span></span></b>
<b id="internal-source-marker_0.9853289730381221" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">Do you wonder how </span><a href="https://cloud.google.com/products/"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">App Engine</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> orchestrates hundreds of instances so smoothly? Can you imagine how </span><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"><a href="https://developers.google.com/appengine/docs/python/datastore/">Datastore </a></span><a href="https://developers.google.com/appengine/docs/python/datastore/queries"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">queries</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> and </span><a href="https://developers.google.com/appengine/docs/python/datastore/transactions"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">transactions</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> work behind the scenes? Do you want to know the magic of how App Engine experts dramatically reduce traffic costs using edge caching?&nbsp;</span></span></b><br />
<b style="font-weight: normal;"><span style="font-family: inherit;"><span style="white-space: pre-wrap;"><br /></span></span></b>
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;">We’ve just published </span><a href="https://developers.google.com/appengine/docs/videoresources#training"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">a series of great App Engine training videos</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> 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. &nbsp;The videos delve into each major App Engine component’s operation and how a developer can best utilize them.&nbsp;</span></b></span><br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<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;"><span style="font-family: inherit;"><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" /></span></a></div>
<b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;"><br /></span></span></b>
<b id="internal-source-marker_0.9853289730381221" style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">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.</span></span></b><br />
<b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;"><br /></span></span></b>
<b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;">Throughout the year, we intend to publish codelabs to complement the voice-over training videos, not only for App Engine, but for &nbsp;</span><a href="https://cloud.google.com/products/cloud-storage"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Google Cloud Storage</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">, </span><a href="https://cloud.google.com/products/cloud-sql"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Google Cloud SQL</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">, </span><a href="https://cloud.google.com/products/big-query"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Google BigQuery</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">, and </span><a href="https://cloud.google.com/products/compute-engine"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Google Compute Engine</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> as well. &nbsp;So stay tuned for updates!</span></b><br />
<span style="white-space: pre-wrap;"><br /></span><b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;">-Posted by Gary Downing, Cloud Platform Solutions Technical Training Manager</span></b>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/new-google-app-engine-training-videos-now-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>App Engine 1.7.5 Released</title>
		<link>https://googledata.org/google-app-engine/app-engine-1-7-5-released/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=app-engine-1-7-5-released</link>
		<comments>https://googledata.org/google-app-engine/app-engine-1-7-5-released/#comments</comments>
		<pubDate>Wed, 13 Feb 2013 20:09:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=44fabe7485fbcce894f9ce89c2b03a8a</guid>
		<description><![CDATA[<b><span><span><br /></span></span></b>
<b><span><span>After a brief break last month, the App Engine team is back on our monthly release cycle. &#160;We made lots of improvements to our platform in 2012 and look forward to delivering more this year.</span><br /><span></span><br /><span>In 1.7.5, we are releasing </span><a href="https://developers.google.com/appengine/docs/adminconsole/performancesettings"><span>High-Memory Instances</span></a><span> and </span><a href="https://developers.google.com/appengine/docs/python/mail/bounce"><span>Mail Bounce Notifications</span></a><span> to General Availability. &#160;We&#8217;ve heard the feedback that you would like to have more memory without having to pay for more CPU. &#160;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&#8217;ll always know whether your communications are going through.</span><br /><span></span><br /><span>We are also introducing Experimental support for the </span><a href="http://developers.google.com/appengine/docs/java/java7"><span>Java 7 runtime</span></a><span> and </span><a href="https://developers.google.com/appengine/docs/java/endpoints/"><span>Google Cloud Endpoints</span></a><span>. &#160;Improvements in Java 7 include strings in switch statements, improved type inference for generic instance creation, and the ability to use InvokeDynamic(). &#160;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 </span><a href="https://developers.google.com/eclipse/"><span>Google Plugin for Eclipse</span></a><span> makes it possible for developers to build App Engine backends that communicate with client-side Android applications via </span><a href="http://developer.android.com/google/gcm/index.html"><span>Google Cloud Messaging for Android</span></a><span> and Cloud Endpoints.</span><br /><span></span><br /><span>The complete list of features and bug fixes for 1.7.5 can be found in our</span><a href="http://code.google.com/p/googleappengine/w/list"><span> </span><span>release notes</span></a><span>. For App Engine coding questions and answers check us out on</span><a href="http://stackoverflow.com/questions/tagged/google-app-engine"><span> </span><span>Stack Overflow</span></a><span>, and for general discussion and feedback, find us on our</span><a href="https://groups.google.com/forum/?fromgroups#!forum/google-appengine"><span> </span><span>Google Group</span></a><span>. &#160;You can also subscribe to the </span><a href="http://t.co/NYpTlw9x"><span>Google Cloud Platform newsletter</span></a><span> and read our </span><a href="http://t.co/ZdnJwshA"><span>February edition</span></a><span>. &#160;</span><br /><span></span><br /><span>-</span><span>Posted by Chris Ramsdale, Product Manager</span></span></b><br /><br />]]></description>
				<content:encoded><![CDATA[<b style="font-weight: normal;"><span style="font-family: inherit;"><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"><br /></span></span></b>
<b id="internal-source-marker_0.42759501771070063" style="font-weight: normal;"><span style="font-family: inherit;"><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">After a brief break last month, the App Engine team is back on our monthly release cycle. &nbsp;We made lots of improvements to our platform in 2012 and look forward to delivering more this year.</span><br /><span style="background-color: white; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">In 1.7.5, we are releasing </span><a href="https://developers.google.com/appengine/docs/adminconsole/performancesettings"><span style="background-color: white; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">High-Memory Instances</span></a><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"> and </span><a href="https://developers.google.com/appengine/docs/python/mail/bounce"><span style="background-color: white; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Mail Bounce Notifications</span></a><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"> to General Availability. &nbsp;We’ve heard the feedback that you would like to have more memory without having to pay for more CPU. &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.</span><br /><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">We are also introducing Experimental support for the </span><a href="http://developers.google.com/appengine/docs/java/java7"><span style="background-color: white; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Java 7 runtime</span></a><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"> and </span><a href="https://developers.google.com/appengine/docs/java/endpoints/"><span style="background-color: white; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Google Cloud Endpoints</span></a><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">. &nbsp;Improvements in Java 7 include strings in switch statements, improved type inference for generic instance creation, and the ability to use InvokeDynamic(). &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 </span><a href="https://developers.google.com/eclipse/"><span style="background-color: white; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Google Plugin for Eclipse</span></a><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"> makes it possible for developers to build App Engine backends that communicate with client-side Android applications via </span><a href="http://developer.android.com/google/gcm/index.html"><span style="background-color: white; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Google Cloud Messaging for Android</span></a><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"> and Cloud Endpoints.</span><br /><span style="background-color: white; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">The complete list of features and bug fixes for 1.7.5 can be found in our</span><a href="http://code.google.com/p/googleappengine/w/list"><span style="background-color: white; color: black; text-decoration: initial; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: white; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">release notes</span></a><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">. For App Engine coding questions and answers check us out on</span><a href="http://stackoverflow.com/questions/tagged/google-app-engine"><span style="background-color: white; color: black; text-decoration: initial; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: white; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Stack Overflow</span></a><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">, and for general discussion and feedback, find us on our</span><a href="https://groups.google.com/forum/?fromgroups#!forum/google-appengine"><span style="background-color: white; color: black; text-decoration: initial; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: white; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Google Group</span></a><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">. &nbsp;You can also subscribe to the </span><a href="http://t.co/NYpTlw9x"><span style="background-color: white; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Google Cloud Platform newsletter</span></a><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"> and read our </span><a href="http://t.co/ZdnJwshA"><span style="background-color: white; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">February edition</span></a><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">. &nbsp;</span><br /><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: white; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">-</span><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">Posted by Chris Ramsdale, Product Manager</span></span></b><br />
<br />]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/app-engine-1-7-5-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Research Projects on Google App Engine</title>
		<link>https://googledata.org/google-app-engine/research-projects-on-google-app-engine-2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=research-projects-on-google-app-engine-2</link>
		<comments>https://googledata.org/google-app-engine/research-projects-on-google-app-engine-2/#comments</comments>
		<pubDate>Tue, 12 Feb 2013 18:15:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=245d8ab4a856f38a7dcd726847f51c65</guid>
		<description><![CDATA[<span><br />
 Last spring <a href="http://research.google.com/university/relations/index.html">Google University Relations</a> <a href="http://googleresearch.blogspot.com/2012/03/google-app-engine-research-awards-for.html">announced</a> an open call for proposals for <a href="http://research.google.com/university/relations/appengine/index.html">Google App Engine Research Awards</a>. We invited academic researchers to use <a href="https://cloud.google.com/products/">Google App Engine</a> for research experiments and analysis, encouraging them to take advantage of the platform&#8217;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.</span><br /><span><br />
Today we would like to share a brief introduction of the winning projects and their Principal Investigators:</span><br /><ul><li><span><a href="http://www.infospheres.caltech.edu/people/mani">K. Mani Chandy</a>, Simon Ramo Professor and Professor of Computer Science, California Institute of Technology<br /><i>Cloud-based Event Detection for Sense and Response:</i> 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.</span></li>
<span>
<table align="center" cellpadding="0" cellspacing="0"><tbody><tr><td><a href="http://2.bp.blogspot.com/-36ISolgDNlg/URpWATJYx6I/AAAAAAAACeg/vNXn5JHHtz0/s1600/chandy.png"><img border="0" src="http://2.bp.blogspot.com/-36ISolgDNlg/URpWATJYx6I/AAAAAAAACeg/vNXn5JHHtz0/s400/chandy.png" height="240" width="400"></a></td></tr><tr><td><b><span><i><span>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.</span></i></span></b></td></tr></tbody></table><li><a href="http://www.utdallas.edu/~chung/Lawrence-Chung-2-Page-CV-01-16-2013.pdf">Lawrence Chung</a>, Associate Professor, The University of Texas at Dallas<br /><i>Google App Engine: <a href="http://www.utdallas.edu/~axg118830/silverlining.html">Software Benchmark and Google App Engine Simulation Forecaster</a>:</i> Develop a tool to estimate software performance and cost on Google App Engine.</li>
<li><a href="http://bioinformatics.bris.ac.uk/people/julian_gough.php">Julian Gough</a>, Professor, University of Bristol, UK<br /><i>Personalised DNA Analysis:</i> Develop a service that provides personal DNA analysis.</li>
<li><a href="http://web.media.mit.edu/~raskar/">Ramesh Raskar</a>, PhD, MIT Media Lab;  Dr. <a href="http://sertao3d.com/">Erick Baptista Passos</a>, IFPI (Federal Institute of Technology, Brazil)<br /><i>VisionBlocks:</i> develop a tool that delivers computer vision to people everywhere. The image below shows a current prototype implementation of VisionBlocks.</li>
<table align="center" cellpadding="0" cellspacing="0"><tbody><tr><td><a href="http://2.bp.blogspot.com/-wq-x6rSSySU/URpWIDdRl7I/AAAAAAAACes/LrfeUqxfHgo/s1600/raskar.png"><img border="0" src="http://2.bp.blogspot.com/-wq-x6rSSySU/URpWIDdRl7I/AAAAAAAACes/LrfeUqxfHgo/s400/raskar.png" height="225" width="400"></a></td></tr><tr><td><b><span><i><span>Many algorithms are already included, and you'll be able create your own blocks as well.</span></i></span></b></td></tr></tbody></table><li><a href="http://www.normsadeh.org/">Norman Sadeh</a>, Professor, Director of Mobile Commerce Lab, School of<br />
Computer Science, Carnegie Mellon University<br /><i>Mapping the Dynamics of a City &#38; Nudging Twitter Users:</i> uncovering local collective knowledge about the a city using social media.</li>
<li><a href="http://wstein.org/">William Stein</a>, Professor of Mathematics, University of Washington<br /><i>Sage:</i> Creating a Viable Free Open Source Alternative to Magma, Maple, Matlab, and Mathematica.</li>
<li><a href="http://vivoni.asu.edu/">Enrique Vivoni</a>, Associate Professor, <a href="http://hydrology.asu.edu/wiki/index.php/Home_page">Hydrologic Science, Engineering &#38; Sustainability</a>, Arizona State University<br /><i>Cloud Computing-Based Visualization and Access of Global Climate Data Sets:</i> provide scientific data on global climate trends.</li>
</span></ul><span>Congratulations to the award winners! We are excited about the proposals&#8217; creativity and innovation and look forward to learning about their discoveries. To read more about specific projects, go <a href="http://googleresearch.blogspot.com/2013/02/research-projects-on-google-app-engine.html">here</a>. <br /></span><br /><span>-Posted by Andrea Held, Program Manager, Google University Relations</span><br /><blockquote>
</blockquote>]]></description>
				<content:encoded><![CDATA[<span style="font-family: inherit;"><br />
 Last spring <a href="http://research.google.com/university/relations/index.html">Google University Relations</a> <a href="http://googleresearch.blogspot.com/2012/03/google-app-engine-research-awards-for.html">announced</a> an open call for proposals for <a href="http://research.google.com/university/relations/appengine/index.html">Google App Engine Research Awards</a>. We invited academic researchers to use <a href="https://cloud.google.com/products/">Google App Engine</a> 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.</span><br />
<span style="font-family: inherit;"><br />
Today we would like to share a brief introduction of the winning projects and their Principal Investigators:</span><br />
<ul>
<li><span style="font-family: inherit;"><a href="http://www.infospheres.caltech.edu/people/mani">K. Mani Chandy</a>, Simon Ramo Professor and Professor of Computer Science, California Institute of Technology<br />
<i>Cloud-based Event Detection for Sense and Response:</i> 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.</span></li>
<span style="font-family: inherit;">
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://2.bp.blogspot.com/-36ISolgDNlg/URpWATJYx6I/AAAAAAAACeg/vNXn5JHHtz0/s1600/chandy.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="http://2.bp.blogspot.com/-36ISolgDNlg/URpWATJYx6I/AAAAAAAACeg/vNXn5JHHtz0/s400/chandy.png" height="240" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b id="internal-source-marker_0.6703736898489296" style="font-weight: normal; text-align: start;"><span style="background-color: white; color: #222222; vertical-align: baseline; white-space: pre-wrap;"><i><span style="font-size: x-small;">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.</span></i></span></b></td></tr>
</tbody></table>
<li><a href="http://www.utdallas.edu/~chung/Lawrence-Chung-2-Page-CV-01-16-2013.pdf">Lawrence Chung</a>, Associate Professor, The University of Texas at Dallas<br />
<i>Google App Engine: <a href="http://www.utdallas.edu/~axg118830/silverlining.html">Software Benchmark and Google App Engine Simulation Forecaster</a>:</i> Develop a tool to estimate software performance and cost on Google App Engine.</li>
<li><a href="http://bioinformatics.bris.ac.uk/people/julian_gough.php">Julian Gough</a>, Professor, University of Bristol, UK<br />
<i>Personalised DNA Analysis:</i> Develop a service that provides personal DNA analysis.</li>
<li><a href="http://web.media.mit.edu/~raskar/">Ramesh Raskar</a>, PhD, MIT Media Lab;  Dr. <a href="http://sertao3d.com/">Erick Baptista Passos</a>, IFPI (Federal Institute of Technology, Brazil)<br />
<i>VisionBlocks:</i> develop a tool that delivers computer vision to people everywhere. The image below shows a current prototype implementation of VisionBlocks.</li>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://2.bp.blogspot.com/-wq-x6rSSySU/URpWIDdRl7I/AAAAAAAACes/LrfeUqxfHgo/s1600/raskar.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="http://2.bp.blogspot.com/-wq-x6rSSySU/URpWIDdRl7I/AAAAAAAACes/LrfeUqxfHgo/s400/raskar.png" height="225" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b id="internal-source-marker_0.6703736898489296" style="font-weight: normal; text-align: start;"><span style="background-color: white; color: #222222; vertical-align: baseline; white-space: pre-wrap;"><i><span style="font-size: x-small;">Many algorithms are already included, and you'll be able create your own blocks as well.</span></i></span></b></td></tr>
</tbody></table>
<li><a href="http://www.normsadeh.org/">Norman Sadeh</a>, Professor, Director of Mobile Commerce Lab, School of<br />
Computer Science, Carnegie Mellon University<br />
<i>Mapping the Dynamics of a City &amp; Nudging Twitter Users:</i> uncovering local collective knowledge about the a city using social media.</li>
<li><a href="http://wstein.org/">William Stein</a>, Professor of Mathematics, University of Washington<br />
<i>Sage:</i> Creating a Viable Free Open Source Alternative to Magma, Maple, Matlab, and Mathematica.</li>
<li><a href="http://vivoni.asu.edu/">Enrique Vivoni</a>, Associate Professor, <a href="http://hydrology.asu.edu/wiki/index.php/Home_page">Hydrologic Science, Engineering &amp; Sustainability</a>, Arizona State University<br />
<i>Cloud Computing-Based Visualization and Access of Global Climate Data Sets:</i> provide scientific data on global climate trends.</li>
</span></ul>
<span style="font-family: inherit;">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 <a href="http://googleresearch.blogspot.com/2013/02/research-projects-on-google-app-engine.html">here</a>. <br /></span><br />
<span style="font-family: inherit;">-Posted by Andrea Held, Program Manager, Google University Relations</span><br />
<blockquote>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/research-projects-on-google-app-engine-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Scaling SongPop to 60 million users with App Engine and Google Cloud Storage</title>
		<link>https://googledata.org/google-app-engine/scaling-songpop-to-60-million-users-with-app-engine-and-google-cloud-storage/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=scaling-songpop-to-60-million-users-with-app-engine-and-google-cloud-storage</link>
		<comments>https://googledata.org/google-app-engine/scaling-songpop-to-60-million-users-with-app-engine-and-google-cloud-storage/#comments</comments>
		<pubDate>Mon, 04 Feb 2013 19:41:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=567d91db01d27c15205ad434abce9c5c</guid>
		<description><![CDATA[<b><span><span><br /></span></span></b>
<b><span><span>Continuing our <a href="http://googleappengine.blogspot.com/search/label/developer-insights">Developer Insights series</a>, today&#8217;s guest bloggers are Olivier Michon, CTO, and </span><span>Alexis Hanicotte, software engineer, from </span><a href="http://freshplanet.com/">Fresh Planet</a><span>,</span><span> maker of the popular mobile application </span><a href="http://songpop.fm/">SongPop</a><span>. &#160;SongPop is a social application where players compete to be the fastest to guess the name of a song or artist.</span></span></b><br /><div dir="ltr">
<b><span><span><br /></span></span></b>
<b><span><span>SongPop is a social mobile app where players compete on who will be the fastest to guess a songs&#8217; artist or title. It is a huge success for our very small team of just 6 engineers. We now have more than 60 million users, were the number 5 most downloaded iOS game of 2012, and went from 0 to more than 10k queries/second on our servers in less than 6 months. This has been made possible in large part because we run on </span><a href="https://cloud.google.com/products/">Google App Engine</a><span>.</span></span></b></div>
<b><span>
<span></span></span></b>
<div dir="ltr">
<b><span><span><br /></span></span></b>
<b><span><span>App Engine allows us to quickly prototype, iterate and release our games. &#160;We&#8217;ve been accumulating experience with the platform since 2009, but really saw the power of autoscaling once SongPop became a hit.</span></span></b></div>
<b><span>
<span></span></span></b><br /><div dir="ltr">
<b><span><span>Our experience scaling with App Engine</span></span></b></div>
<b><span>
<span></span><br /><div dir="ltr">
<span>SongPop was released in May 2012. &#160;During our growth to our first 100,000 daily active users (DAU), our App Engine backend scaled smoothly. &#160;This allowed us to spend our time making actual improvements to the game experience, while our user growth continued at a rapid pace.</span></div>
<span></span><br /><div dir="ltr">
<span>We opened a <a href="https://developers.google.com/appengine/docs/premier/">Premier Account</a> with App Engine around the time when we reached 100,000 DAU which gave us access to live customer support. &#160;It came in handy when we encountered two downtimes, with one lasting just 10 minutes and the other for 1 hour. &#160;But we were able to promptly reach Premier Support and had Google engineers investigate these issues with us. &#160;</span></div>
<span></span><br /><div dir="ltr">
<span>Once we reached 500,000 DAU, we applied a variety of optimization ideas to reduce latency. &#160;For example, we used to have user data spread over many models, but we combined them into a single entry in the </span><a href="https://developers.google.com/appengine/docs/python/memcache/">Datastore</a><span> to reduce read operations. &#160;We also often needed the list of a user&#8217;s opponents, so instead of querying every time, we cached this result using </span><a href="https://developers.google.com/appengine/docs/python/memcache/">Memcache</a><span>. &#160;It only took one engineer and just 4 days of work to reduce the latency with these optimizations. &#160;&#160;</span></div>
<span></span><br /><div dir="ltr">
<span>As we reached the milestone of 1 million DAU, some Datastore queries (used to find random opponents in the game) showed high latencies and a high rate of timeouts. &#160;We had to enforce deadlines, implement better fallbacks and identified, with the help of Premier Support, that degraded performance came from the fact that our queries were relying on many different indexed properties. &#160;So the solution was simple - either add a composite index with all the properties we needed or combine into a single one.</span></div>
<span></span><br /><div dir="ltr">
<span>Using App Engine + Google Cloud Storage</span></div>
<span></span><br /><div dir="ltr">
<span>For each game session, our users need to download song samples in order to play. It is critical that this data gets delivered fast and reliably wherever the user is located. We chose to use </span><a href="https://cloud.google.com/products/cloud-storage">Google Cloud Storage</a><span> for this use case. &#160;&#160;It has proved to provide high performance content delivery, as we have been able to serve 17 terabytes/day of songs and images worldwide.</span></div>
<span></span><br /><span>In addition to its reliability, Cloud Storage is great because of its integration with App Engine. We can easily read and write files from our application to Cloud Storage using the same syntax as we would use to write local files (using Python). We found it intuitive and convenient because you do not have to manage opaque keys to retrieve your files (just use the path you specified), and you can browse your files through a directory-like structure. Cloud Storage also allows you to manage access rights, can be used with Google BigQuery, and it is priced affordably compared to other solutions we considered.</span></span></b><br /><b><span><span><br /></span></span></b>
<br /><table align="center" cellpadding="0" cellspacing="0"><tbody><tr><td><img border="0" src="http://3.bp.blogspot.com/-1T8CAGjxppw/URAD84hQpnI/AAAAAAAAAPI/I5eRXNr_nVI/s1600/cloud-messaging-diagram-02.png" height="326" width="400"></td></tr><tr><td>Architecture diagram of SongPop</td></tr></tbody></table><div>
<a href="http://3.bp.blogspot.com/-1T8CAGjxppw/URAD84hQpnI/AAAAAAAAAPI/I5eRXNr_nVI/s1600/cloud-messaging-diagram-02.png"><span></span></a></div>
<div>
<span><br /></span></div>
<div>
<b><span></span></b></div>
<div dir="ltr">
<b><span><span>Long live App Engine!</span></span></b></div>
<b><span><span></span><br /></span></b>
<br /><div dir="ltr">
<b><span><span>When we speak to other game developers, we always recommend that they use App Engine. &#160;We&#8217;ve used other services such as EC2 from Amazon Web Services for other games before, but we&#8217;ve found App Engine to be a better service for our needs. &#160;We don&#8217;t want to spend time setting up servers and load balancing, when we could instead use that time to build great games and let our service provider handle the infrastructure for us.</span></span></b><br /><b><span><span><br /></span></span></b></div>
<b><span>
<span></span></span></b>
<div dir="ltr">
<b><span><span>When we compare the development of SongPop to stories of other apps, we&#8217;re thankful that App Engine allowed us to have only one engineer working full-time on the backend portion of our app. &#160;Even better, he was able to do additional work on adding new features to the game instead of solely focusing on infrastructure issues. &#160;With App Engine, scaling our game was easy.</span></span></b></div>
<b><span>
<span></span></span></b><br /><div dir="ltr">
<b><span><span>Others things we want to share</span></span></b></div>
<b><span>
<span></span><br /><ul><li><span>Do not worry if </span><a href="https://developers.google.com/appengine/docs/quotas">documented resources limits</a><span> and rates look too small, they are just there to make sure one app does not abuse any resource, but they can scale. Most of our limits have been increased by 18-fold! We had days where we made 230,000,000 UrlFetch API calls, for instance.</span></li>
<li><span>The </span><a href="https://developers.google.com/appengine/docs/python/runtime#Request_Headers">Location headers</a><span> is a really great feature, &#160;because it is easily accessible for a wide variety of use cases, such as selecting users&#8217; opponents or building their game profile.</span></li>
</ul><span></span><br /><div dir="ltr">
<span>Contributed by Olivier Michon and Alexis Hanicotte, FreshPlanet</span></div>
<span></span><br /><div dir="ltr">
<span>Posted by Zafir Khan, Product Marketing Manager, Google App Engine</span></div>
</span></b>]]></description>
				<content:encoded><![CDATA[<b style="font-weight: normal; text-align: justify;"><span style="font-family: inherit;"><span style="font-style: italic; vertical-align: baseline; white-space: pre-wrap;"><br /></span></span></b>
<b id="internal-source-marker_0.9582117591053247" style="font-weight: normal; text-align: justify;"><span style="font-family: inherit;"><span style="font-style: italic; vertical-align: baseline; white-space: pre-wrap;">Continuing our <a href="http://googleappengine.blogspot.com/search/label/developer-insights">Developer Insights series</a>, today’s guest bloggers are Olivier Michon, CTO, and </span><span style="background-color: white; color: #222222; font-style: italic; vertical-align: baseline; white-space: pre-wrap;">Alexis Hanicotte, software engineer, from </span><a href="http://freshplanet.com/">Fresh Planet</a><span style="background-color: white; color: #222222; font-style: italic; vertical-align: baseline; white-space: pre-wrap;">,</span><span style="font-style: italic; vertical-align: baseline; white-space: pre-wrap;"> maker of the popular mobile application </span><a href="http://songpop.fm/">SongPop</a><span style="font-style: italic; vertical-align: baseline; white-space: pre-wrap;">. &nbsp;SongPop is a social application where players compete to be the fastest to guess the name of a song or artist.</span></span></b><br />
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
<b style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;"><br /></span></span></b>
<b id="internal-source-marker_0.9582117591053247" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">SongPop is a social mobile app where players compete on who will be the fastest to guess a songs’ artist or title. It is a huge success for our very small team of just 6 engineers. We now have more than 60 million users, were the number 5 most downloaded iOS game of 2012, and went from 0 to more than 10k queries/second on our servers in less than 6 months. This has been made possible in large part because we run on </span><a href="https://cloud.google.com/products/">Google App Engine</a><span style="vertical-align: baseline; white-space: pre-wrap;">.</span></span></b></div>
<b id="internal-source-marker_0.9582117591053247" style="font-weight: normal;"><span style="font-family: inherit;">
<span style="vertical-align: baseline; white-space: pre-wrap;"></span></span></b>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
<b style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;"><br /></span></span></b>
<b id="internal-source-marker_0.9582117591053247" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">App Engine allows us to quickly prototype, iterate and release our games. &nbsp;We’ve been accumulating experience with the platform since 2009, but really saw the power of autoscaling once SongPop became a hit.</span></span></b></div>
<b id="internal-source-marker_0.9582117591053247" style="font-weight: normal;"><span style="font-family: inherit;">
<span style="vertical-align: baseline; white-space: pre-wrap;"></span></span></b><br />
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
<b id="internal-source-marker_0.9582117591053247" style="font-weight: normal;"><span style="font-family: inherit;"><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Our experience scaling with App Engine</span></span></b></div>
<b id="internal-source-marker_0.9582117591053247" style="font-weight: normal;"><span style="font-family: inherit;">
<span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"></span><br /><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
<span style="vertical-align: baseline; white-space: pre-wrap;">SongPop was released in May 2012. &nbsp;During our growth to our first 100,000 daily active users (DAU), our App Engine backend scaled smoothly. &nbsp;This allowed us to spend our time making actual improvements to the game experience, while our user growth continued at a rapid pace.</span></div>
<span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
<span style="vertical-align: baseline; white-space: pre-wrap;">We opened a <a href="https://developers.google.com/appengine/docs/premier/">Premier Account</a> with App Engine around the time when we reached 100,000 DAU which gave us access to live customer support. &nbsp;It came in handy when we encountered two downtimes, with one lasting just 10 minutes and the other for 1 hour. &nbsp;But we were able to promptly reach Premier Support and had Google engineers investigate these issues with us. &nbsp;</span></div>
<span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
<span style="vertical-align: baseline; white-space: pre-wrap;">Once we reached 500,000 DAU, we applied a variety of optimization ideas to reduce latency. &nbsp;For example, we used to have user data spread over many models, but we combined them into a single entry in the </span><a href="https://developers.google.com/appengine/docs/python/memcache/">Datastore</a><span style="vertical-align: baseline; white-space: pre-wrap;"> to reduce read operations. &nbsp;We also often needed the list of a user’s opponents, so instead of querying every time, we cached this result using </span><a href="https://developers.google.com/appengine/docs/python/memcache/">Memcache</a><span style="vertical-align: baseline; white-space: pre-wrap;">. &nbsp;It only took one engineer and just 4 days of work to reduce the latency with these optimizations. &nbsp;&nbsp;</span></div>
<span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
<span style="vertical-align: baseline; white-space: pre-wrap;">As we reached the milestone of 1 million DAU, some Datastore queries (used to find random opponents in the game) showed high latencies and a high rate of timeouts. &nbsp;We had to enforce deadlines, implement better fallbacks and identified, with the help of Premier Support, that degraded performance came from the fact that our queries were relying on many different indexed properties. &nbsp;So the solution was simple - either add a composite index with all the properties we needed or combine into a single one.</span></div>
<span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
<span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Using App Engine + Google Cloud Storage</span></div>
<span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"></span><br /><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
<span style="vertical-align: baseline; white-space: pre-wrap;">For each game session, our users need to download song samples in order to play. It is critical that this data gets delivered fast and reliably wherever the user is located. We chose to use </span><a href="https://cloud.google.com/products/cloud-storage">Google Cloud Storage</a><span style="vertical-align: baseline; white-space: pre-wrap;"> for this use case. &nbsp;&nbsp;It has proved to provide high performance content delivery, as we have been able to serve 17 terabytes/day of songs and images worldwide.</span></div>
<span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">In addition to its reliability, Cloud Storage is great because of its integration with App Engine. We can easily read and write files from our application to Cloud Storage using the same syntax as we would use to write local files (using Python). We found it intuitive and convenient because you do not have to manage opaque keys to retrieve your files (just use the path you specified), and you can browse your files through a directory-like structure. Cloud Storage also allows you to manage access rights, can be used with Google BigQuery, and it is priced affordably compared to other solutions we considered.</span></span></b><br />
<b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;"><br /></span></span></b>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><img border="0" src="http://3.bp.blogspot.com/-1T8CAGjxppw/URAD84hQpnI/AAAAAAAAAPI/I5eRXNr_nVI/s1600/cloud-messaging-diagram-02.png" height="326" style="margin-left: auto; margin-right: auto;" width="400" /></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Architecture diagram of SongPop</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-1T8CAGjxppw/URAD84hQpnI/AAAAAAAAAPI/I5eRXNr_nVI/s1600/cloud-messaging-diagram-02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: inherit;"></span></a></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: inherit;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
<b id="internal-source-marker_0.9582117591053247" style="font-weight: normal;"><span style="font-family: inherit;"></span></b></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
<b id="internal-source-marker_0.9582117591053247" style="font-weight: normal;"><span style="font-family: inherit;"><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Long live App Engine!</span></span></b></div>
<b id="internal-source-marker_0.9582117591053247" style="font-weight: normal;"><span style="font-family: inherit;"><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"></span><br /></span></b>
<br />
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
<b id="internal-source-marker_0.9582117591053247" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">When we speak to other game developers, we always recommend that they use App Engine. &nbsp;We’ve used other services such as EC2 from Amazon Web Services for other games before, but we’ve found App Engine to be a better service for our needs. &nbsp;We don’t want to spend time setting up servers and load balancing, when we could instead use that time to build great games and let our service provider handle the infrastructure for us.</span></span></b><br />
<b style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;"><br /></span></span></b></div>
<b id="internal-source-marker_0.9582117591053247" style="font-weight: normal;"><span style="font-family: inherit;">
<span style="vertical-align: baseline; white-space: pre-wrap;"></span></span></b>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
<b id="internal-source-marker_0.9582117591053247" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">When we compare the development of SongPop to stories of other apps, we’re thankful that App Engine allowed us to have only one engineer working full-time on the backend portion of our app. &nbsp;Even better, he was able to do additional work on adding new features to the game instead of solely focusing on infrastructure issues. &nbsp;With App Engine, scaling our game was easy.</span></span></b></div>
<b id="internal-source-marker_0.9582117591053247" style="font-weight: normal;"><span style="font-family: inherit;">
<span style="vertical-align: baseline; white-space: pre-wrap;"></span></span></b><br />
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
<b id="internal-source-marker_0.9582117591053247" style="font-weight: normal;"><span style="font-family: inherit;"><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Others things we want to share</span></span></b></div>
<b id="internal-source-marker_0.9582117591053247" style="font-weight: normal;"><span style="font-family: inherit;">
<span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"></span><br /><ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"><span style="vertical-align: baseline; white-space: pre-wrap;">Do not worry if </span><a href="https://developers.google.com/appengine/docs/quotas">documented resources limits</a><span style="vertical-align: baseline; white-space: pre-wrap;"> and rates look too small, they are just there to make sure one app does not abuse any resource, but they can scale. Most of our limits have been increased by 18-fold! We had days where we made 230,000,000 UrlFetch API calls, for instance.</span></li>
<li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"><span style="vertical-align: baseline; white-space: pre-wrap;">The </span><a href="https://developers.google.com/appengine/docs/python/runtime#Request_Headers">Location headers</a><span style="vertical-align: baseline; white-space: pre-wrap;"> is a really great feature, &nbsp;because it is easily accessible for a wide variety of use cases, such as selecting users’ opponents or building their game profile.</span></li>
</ul>
<span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
<span style="vertical-align: baseline; white-space: pre-wrap;">Contributed by Olivier Michon and Alexis Hanicotte, FreshPlanet</span></div>
<span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
<span style="vertical-align: baseline; white-space: pre-wrap;">Posted by Zafir Khan, Product Marketing Manager, Google App Engine</span></div>
</span></b>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/scaling-songpop-to-60-million-users-with-app-engine-and-google-cloud-storage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Find sample code and more for Google Cloud Platform, now on GitHub</title>
		<link>https://googledata.org/google-app-engine/find-sample-code-and-more-for-google-cloud-platform-now-on-github-2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=find-sample-code-and-more-for-google-cloud-platform-now-on-github-2</link>
		<comments>https://googledata.org/google-app-engine/find-sample-code-and-more-for-google-cloud-platform-now-on-github-2/#comments</comments>
		<pubDate>Tue, 22 Jan 2013 20:10:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=ed14ccb13c5202a817fcaa104a3d14a3</guid>
		<description><![CDATA[<span><i><br /></i></span>
<span><i>Today's post introduces the <a href="https://cloud.google.com/">Google Cloud Platform</a> organization on GitHub, which includes samples and tools for App Engine developers.</i></span><br /><b><span><span><br /></span></span></b>
<b><span><span>You can now find Google Cloud Platform on </span><a href="https://github.com/googlecloudplatform"><span>GitHub</span></a><span>! The GitHub organization for &#160;Google Cloud Platform is your destination for samples and tools relating to </span><a href="https://cloud.google.com/products/"><span>App Engine</span></a><span>, </span><a href="https://cloud.google.com/products/big-query"><span>BigQuery</span></a><span>, </span><a href="https://cloud.google.com/products/compute-engine"><span>Compute Engine</span></a><span>, </span><a href="https://cloud.google.com/products/cloud-sql"><span>Cloud SQL,</span></a><span> and </span><a href="https://cloud.google.com/products/cloud-storage"><span>Cloud Storage</span></a><span>. Most existing open source tools will be migrated to the organization over time. You can quickly get your app running by forking any of our repositories and diving into the code.</span><br /><span></span><br /><span>Currently, the GitHub organization for Google Cloud Platform has 36 public repositories, some of which are currently undergoing their initial code reviews, which you can follow on the repo. The Google Cloud Platform Developer Relations Team will be using GitHub to maintain our starter projects, which show how to get started with our APIs using different stacks. We will continue to add repositories that illustrate solutions, such as the classic </span><a href="https://github.com/GoogleCloudPlatform/appengine-guestbook-python"><span>guest book app</span></a><span> on Google App Engine. For good measure, you will also see some tools that will make your life easier, such as an </span><a href="https://github.com/GoogleCloudPlatform/storage-oauth2-tool-python"><span>OAuth 2.0 helper</span></a><span>.</span><br /><span></span><br /><span>From </span><a href="https://github.com/GoogleCloudPlatform/storage-getting-started-python"><span>getting started with Python</span></a><span> on Google Cloud Storage to </span><a href="https://github.com/GoogleCloudPlatform/compute-appengine-timeout-python"><span>monitoring your Google Compute Engine instances with App Engine</span></a><span>, our GitHub organization is home to it all.</span><br /><span></span><br /><span>Trick of the trade: to find samples relating to a specific platform, try filtering on the name in the &#8220;Find a Repository&#8221; text field.</span><span></span><br /><span></span><br /><span>We set up this organization not only to give you an easy way to find and follow our samples, but also to give you a way to get involved and start hacking alongside. We&#8217;ll be monitoring our repositories for any reported issues as well as for </span><a href="https://github.com/GoogleCloudPlatform/Template/wiki/Template"><span>pull requests</span></a><span>. If you&#8217;re interested in seeing what a </span><a href="https://github.com/GoogleCloudPlatform/compute-appengine-timeout-python/pull/1"><span>code review</span></a><span> looks like for Google&#8217;s open source code, you can follow along with the discussion happening right on the commits.</span><br /><span></span><br /><span>Let us know your </span><a href="https://github.com/GoogleCloudPlatform/Template/blob/master/CONTRIB.md"><span>suggestions for samples</span></a><span>. We look forward to seeing what you create!</span></span></b><br /><b><span><span><br /></span></span></b>
<b><span><span>- Posted by Julia Ferraioli, Developer Advocate</span></span></b>]]></description>
				<content:encoded><![CDATA[<span style="font-family: inherit;"><i><br /></i></span>
<span style="font-family: inherit;"><i>Today's post introduces the <a href="https://cloud.google.com/">Google Cloud Platform</a> organization on GitHub, which includes samples and tools for App Engine developers.</i></span><br />
<b style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;"><br /></span></span></b>
<b id="internal-source-marker_0.10152163961902261" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">You can now find Google Cloud Platform on </span><a href="https://github.com/googlecloudplatform"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">GitHub</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">! The GitHub organization for &nbsp;Google Cloud Platform is your destination for samples and tools relating to </span><a href="https://cloud.google.com/products/"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">App Engine</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">, </span><a href="https://cloud.google.com/products/big-query"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">BigQuery</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">, </span><a href="https://cloud.google.com/products/compute-engine"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Compute Engine</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">, </span><a href="https://cloud.google.com/products/cloud-sql"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Cloud SQL,</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> and </span><a href="https://cloud.google.com/products/cloud-storage"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Cloud Storage</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">. Most existing open source tools will be migrated to the organization over time. You can quickly get your app running by forking any of our repositories and diving into the code.</span><br /><span style="font-style: italic; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">Currently, the GitHub organization for Google Cloud Platform has 36 public repositories, some of which are currently undergoing their initial code reviews, which you can follow on the repo. The Google Cloud Platform Developer Relations Team will be using GitHub to maintain our starter projects, which show how to get started with our APIs using different stacks. We will continue to add repositories that illustrate solutions, such as the classic </span><a href="https://github.com/GoogleCloudPlatform/appengine-guestbook-python"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">guest book app</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> on Google App Engine. For good measure, you will also see some tools that will make your life easier, such as an </span><a href="https://github.com/GoogleCloudPlatform/storage-oauth2-tool-python"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">OAuth 2.0 helper</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">.</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">From </span><a href="https://github.com/GoogleCloudPlatform/storage-getting-started-python"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">getting started with Python</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> on Google Cloud Storage to </span><a href="https://github.com/GoogleCloudPlatform/compute-appengine-timeout-python"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">monitoring your Google Compute Engine instances with App Engine</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">, our GitHub organization is home to it all.</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-style: italic; vertical-align: baseline; white-space: pre-wrap;">Trick of the trade: to find samples relating to a specific platform, try filtering on the name in the “Find a Repository” text field.</span><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">We set up this organization not only to give you an easy way to find and follow our samples, but also to give you a way to get involved and start hacking alongside. We’ll be monitoring our repositories for any reported issues as well as for </span><a href="https://github.com/GoogleCloudPlatform/Template/wiki/Template"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">pull requests</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">. If you’re interested in seeing what a </span><a href="https://github.com/GoogleCloudPlatform/compute-appengine-timeout-python/pull/1"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">code review</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> looks like for Google’s open source code, you can follow along with the discussion happening right on the commits.</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">Let us know your </span><a href="https://github.com/GoogleCloudPlatform/Template/blob/master/CONTRIB.md"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">suggestions for samples</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">. We look forward to seeing what you create!</span></span></b><br />
<b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;"><br /></span></span></b>
<b id="internal-source-marker_0.10152163961902261" style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">- Posted by Julia Ferraioli, Developer Advocate</span></span></b>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/find-sample-code-and-more-for-google-cloud-platform-now-on-github-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Calling all coders: Hardcode, the secure coding contest for App Engine</title>
		<link>https://googledata.org/google-app-engine/calling-all-coders-hardcode-the-secure-coding-contest-for-app-engine/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=calling-all-coders-hardcode-the-secure-coding-contest-for-app-engine</link>
		<comments>https://googledata.org/google-app-engine/calling-all-coders-hardcode-the-secure-coding-contest-for-app-engine/#comments</comments>
		<pubDate>Wed, 16 Jan 2013 20:23:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=b3c648361601371a71425198f397aa33</guid>
		<description><![CDATA[
Originally posted on the Google Online Security BlogProtecting user security and privacy is a huge responsibility, and software security is a big part of it. Learning about new ways to break applications is important, but learning preventative skills ...]]></description>
				<content:encoded><![CDATA[<b style="font-weight: normal;"><span style="font-family: inherit;"><span style="font-style: italic; vertical-align: baseline; white-space: pre-wrap;"><br /></span></span></b>
<b id="internal-source-marker_0.0728303783107549" style="font-weight: normal;"><span style="font-family: inherit;"><span style="font-style: italic; vertical-align: baseline; white-space: pre-wrap;">Originally posted on the </span><a href="http://googleonlinesecurity.blogspot.com/2013/01/calling-student-coders-hardcode-secure.html"><span style="color: #1155cc; font-style: italic; vertical-align: baseline; white-space: pre-wrap;">Google Online Security Blog</span></a><span style="font-style: italic; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-style: italic; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">Protecting user security and privacy is a huge responsibility, and software security is a big part of it. Learning about new ways to break applications is important, but learning preventative skills to use when building software, like secure design and coding practices, is just as critical. To help promote secure development habits, Google is once again partnering with the organizers of </span><a href="http://www.syscan.org/"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">SyScan</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> to host Hardcode, a secure coding contest on the </span><a href="https://cloud.google.com/products/"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Google App Engine</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> platform.</span><br /><span style="background-color: #4a86e8; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">Participation will be open to teams of up to 5 full-time students (undergraduate or high school). Contestants will be asked to develop open source applications that meet a set of functional and security requirements. The contest will consist of two rounds: a qualifying round over the Internet, with broad participation from any team of students, and a final round, to be held during SyScan on April 23-25 in Singapore. </span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: white; color: #222222; vertical-align: baseline; white-space: pre-wrap;">During the qualifying round, teams will be tasked with building an application and describing its security design.</span><span style="vertical-align: baseline; white-space: pre-wrap;"> A panel of judges will assess all submitted applications and select the top five to compete in the final round.</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">At SyScan, the five finalist teams will be asked to develop a set of additional features and fix any security flaws identified in their qualifying submission. After two more days of hacking, a panel of judges will rank the projects and select a grand prize winning team that will receive $20,000 Singapore dollars. The 2nd-5th place finalist teams will receive $15,000, $10,000, $5,000, and $5,000 Singapore dollars, respectively.</span><span style="background-color: yellow; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">Hardcode begins on Friday, January 18th. Full contest details will be be announced via our mailing list</span><span style="vertical-align: baseline; white-space: pre-wrap;">, so subscribe </span><a href="https://groups.google.com/group/hardcode-2013/subscribe"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">there</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> for more information!</span><br /><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">Posted by Parisa Tabriz, Security Team</span></span><span style="font-family: Arial; font-size: 15px; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"></span></b>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/calling-all-coders-hardcode-the-secure-coding-contest-for-app-engine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Mobile voucher sales terminal in Africa powered by App Engine</title>
		<link>https://googledata.org/google-app-engine/mobile-voucher-sales-terminal-in-africa-powered-by-app-engine/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=mobile-voucher-sales-terminal-in-africa-powered-by-app-engine</link>
		<comments>https://googledata.org/google-app-engine/mobile-voucher-sales-terminal-in-africa-powered-by-app-engine/#comments</comments>
		<pubDate>Thu, 20 Dec 2012 17:30:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=5d45a5400d1475a3f4107b288d18bc59</guid>
		<description><![CDATA[<b><span><span><br /></span></span></b>
<b><span><span>Today&#8217;s guest blogger is Dale Humby, CTO of </span><a href="http://www.nomanini.com/"><span>Nomanini</span></a><span>. &#160;Nomanini is a startup based in South Africa which provides a platform to sell prepaid products such as airtime, electricity and insurance electronically. &#160;In this post, Dale explains how the backend systems of their flagship device, Lula, run on App Engine.</span></span></b><br /><span><b><span><br /></span></b><b><span><span>Introduction</span></span></b></span><br /><span><b><span><br /></span><span>In rural markets, it is often difficult to distribute physical vouchers, which can be used to provide access to services such as electricity, insurance, and airtime for mobile phones. &#160;Nomanini enables entrepreneurs in Africa </span><span>to earn income selling prepaid vouchers in their local communities. &#160;We do this by distributing a portable, user-friendly voucher sales terminal, known as the Lula, which can be used on-the-go by people ranging from taxi drivers to street vendors. </span></b></span><br /><span><b><span><br /></span></b>
</span><br /><table align="center" cellpadding="0" cellspacing="0"><tbody><tr><td><img border="0" src="http://1.bp.blogspot.com/-SFNXCUbWtYo/UNJSvhEDKwI/AAAAAAAAAOU/tovVqYT0XZc/s1600/lula.png" height="289" width="320"></td></tr><tr><td>The Lula, Nomanini's portable voucher sales terminal</td></tr></tbody></table><div>
<a href="http://1.bp.blogspot.com/-SFNXCUbWtYo/UNJSvhEDKwI/AAAAAAAAAOU/tovVqYT0XZc/s1600/lula.png"><span></span></a></div>
<b><span><span><br /></span></span></b>
<b><span><span>Running Lula on App Engine</span></span></b><br /><span><b><span><br /></span></b>
</span><br /><table align="center" cellpadding="0" cellspacing="0"><tbody><tr><td><img border="0" src="http://1.bp.blogspot.com/-HyRH-LrQp1c/UNJS6YI4RvI/AAAAAAAAAOc/7iFhDHGs43Q/s1600/backend.png" height="240" width="320"></td></tr><tr><td><br /></td></tr></tbody></table><div>
<a href="http://1.bp.blogspot.com/-HyRH-LrQp1c/UNJS6YI4RvI/AAAAAAAAAOc/7iFhDHGs43Q/s1600/backend.png"><span></span></a></div>
<b><span><span>Nomanini uses Google App Engine to support the backend system for our network of point of sale terminals. </span><br /><span></span><br /><span>Terminals in the field connect to our App Engine application through the GSM mobile network. &#160;The terminals synchronize when a connection becomes available, allowing sales to be processed even when devices are offline.</span><br /><span></span><br /><span>The devices make an https post to a URL endpoint. Any data uploaded by the device is queued for processing as multiple tasks, and the App Engine application sends information back to the device within the returned body. &#160;Often the only responsibility a URL endpoint has is to create a task. If work can be broken into discrete areas we fan out to other tasks which run in parallel on separate App Engine instances. By controlling how many concurrent tasks are run in each queue, we are able to prioritize specific parts of our application ensuring the best quality of service for our customers.</span><br /><span></span><br /><span>By utilizing cross entity group transactions, transactional tasks and appropriate key naems for entities in the Datastore, we have been able to build an extremely resilient application capable of processing data. &#160;</span><br /><span></span><br /><span>Services we use</span><span></span></span></b><br /><b><span><span><br /></span></span></b>
<br /><ul><li><b><span><a href="https://developers.google.com/appengine/docs/python/datastore/overview"><span>High Replication Datastore</span></a><span>, </span><a href="https://developers.google.com/appengine/docs/python/ndb/overview"><span>NDB</span></a><span> and </span><a href="https://developers.google.com/appengine/docs/python/memcache/overview"><span>Memcache</span></a><span></span></span></b></li>
<li><b><span><span>Extensive use of </span><a href="https://developers.google.com/appengine/docs/python/taskqueue/overview-push"><span>push Task Queues</span></a><span></span></span></b></li>
<li><b><span><a href="https://developers.google.com/appengine/docs/python/blobstore/overview"><span>Blobstore</span></a><span> for storing file records</span></span></b></li>
<li><b><span><a href="https://developers.google.com/appengine/docs/java/logs/overview"><span>Logs API</span></a><span>, </span><a href="https://developers.google.com/appengine/docs/python/mail/overview"><span>Mail API</span></a><span> and </span><a href="https://developers.google.com/appengine/docs/python/xmpp/overview"><span>XMPP</span></a><span> for reporting and real-time notification of issues to our development team</span></span></b></li>
<li><b><span><a href="https://developers.google.com/appengine/docs/python/urlfetch/overview"><span>URL Fetch API</span></a><span> to link to third-party API&#8217;s such as sending SMS&#8217;s and integration to mobile networks for airtime voucher purchase</span></span></b></li>
<li><b><span><a href="https://cloud.google.com/products/cloud-storage"><span>Google Cloud Storage</span></a><span> and </span><a href="https://cloud.google.com/products/big-query"><span>Google BigQuery</span></a><span> for mining our data for interesting trends</span></span></b></li>
</ul><ul><b><span>
<li><a href="http://www.prodeagle.com/"><span>ProdEagle</span></a><span> (another application built on top of Google App Engine) for real time metrics visualization</span></li>
</span></b></ul><b><span>
<span></span><br /><span>Benefits of building on App Engine</span></span></b><br /><div>
<b><span><span><br /></span><span>Saves time</span><br /><span>App Engine&#8217;s High Replication Datastore gives us the peace of mind that our data will be available and accurate to a degree that we couldn&#8217;t easily replicate ourselves. As a start up, capital and time are in short supply. With App Engine, we can focus on building our unique application rather than worrying about infrastructure. &#160;App Engine Task Queues allow parallel data execution and retrying on failure, with little code overhead for developers.</span><br /><span><span></span></span><br /><span>Scalability</span><br /><span>Nomanini has very cyclical traffic patterns: our peak traffic occurs in the early morning and late afternoon, with a monthly peak around payday in South Africa. Google App Engine automatically scales our application so that we don&#8217;t have to pay for excess server capacity during off-peak times, but have capacity available when we need it.</span><br /><span><span></span></span><br /><span>Ease of operation</span><br /><span>Deployment is a breeze on App Engine. &#160;With just a few scripts tied in to our continuous integration server we can: </span></span></b><br /><ul><b><span>
<li><span>write the version number and app name into app.yaml</span></li>
<li><span>deploy automatically</span></li>
<li><span>run data migration scripts</span></li>
<li><span>change the default version once all indexes are serving</span></li>
</span></b></ul><b><span>
<span><span></span></span><br /><span>Monitoring is simplified by using built in dashboards. We can also export logs to Google Cloud Storage and run ad-hoc queries on analytics using Google BigQuery.</span><br /><span><span></span></span><br /><span>Conclusion</span></span></b></div>
<div>
<b><span><span><br /></span><span>To reduce our time to market we used as many off-the-shelf components as possible, including Google App Engine. </span><br /><span><span></span></span><br /><span>We chose App Engine because it offers a platform with a consistent, well documented, ready-to-use set of services and allows our developers to test within an environment that is identical to our production environment - a practice that used to be prohibitively expensive.</span><br /><span><span></span></span><br /><span>Using the Google App Engine platform has saved our small development team time that we would have had to use to design, build and test a highly reliable backend to support our network of vending terminals in farflung places. &#160;Instead, we can focus our time on building a device that we hope will impact the way local commerce is done in rural economies.</span></span></b><br /><span><b><span><br /></span></b>
<b><span>To read more about the story of Nomanini, check out the post about us on the </span><a href="http://googleblog.blogspot.com/2012/12/cloud-computing-enabling.html"><span>Official Google Blog</span></a><span>. &#160;</span></b></span><br /><span><b><span><br /></span></b>
<b><b><span>-Contributed by Dale Humby, CTO, Nomanini</span><br /><span><br /></span></b></b><b><b><span>Posted by Zafir Khan, Product Marketing Manager, Google App Engine</span></b></b></span></div>]]></description>
				<content:encoded><![CDATA[<b style="font-weight: normal;"><span style="font-family: inherit;"><span style="font-style: italic; vertical-align: baseline; white-space: pre-wrap;"><br /></span></span></b>
<b id="internal-source-marker_0.7622435593511909" style="font-weight: normal;"><span style="font-family: inherit;"><span style="font-style: italic; vertical-align: baseline; white-space: pre-wrap;">Today’s guest blogger is Dale Humby, CTO of </span><a href="http://www.nomanini.com/"><span style="color: #1155cc; font-style: italic; vertical-align: baseline; white-space: pre-wrap;">Nomanini</span></a><span style="font-style: italic; vertical-align: baseline; white-space: pre-wrap;">. &nbsp;Nomanini is a startup based in South Africa which provides a platform to sell prepaid products such as airtime, electricity and insurance electronically. &nbsp;In this post, Dale explains how the backend systems of their flagship device, Lula, run on App Engine.</span></span></b><br />
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="font-style: italic; vertical-align: baseline; white-space: pre-wrap;"><br /></span></b><b id="internal-source-marker_0.18021326209418476" style="font-weight: normal;"><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">Introduction</span></span></b></span><br />
<span style="font-family: inherit;"><b><span style="white-space: pre-wrap;"><br /></span><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">In rural markets, it is often difficult to distribute physical vouchers, which can be used to provide access to services such as electricity, insurance, and airtime for mobile phones. &nbsp;Nomanini enables entrepreneurs in Africa </span><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">to earn income selling prepaid vouchers in their local communities. &nbsp;We do this by distributing a portable, user-friendly voucher sales terminal, known as the Lula, which can be used on-the-go by people ranging from taxi drivers to street vendors. </span></b></span><br />
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"><br /></span></b>
</span><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><img border="0" src="http://1.bp.blogspot.com/-SFNXCUbWtYo/UNJSvhEDKwI/AAAAAAAAAOU/tovVqYT0XZc/s1600/lula.png" height="289" style="margin-left: auto; margin-right: auto;" width="320" /></td></tr>
<tr><td class="tr-caption" style="text-align: center;">The Lula, Nomanini's portable voucher sales terminal</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-SFNXCUbWtYo/UNJSvhEDKwI/AAAAAAAAAOU/tovVqYT0XZc/s1600/lula.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: inherit;"></span></a></div>
<b style="font-weight: normal;"><span style="font-size: 15px; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;"><br /></span></span></b>
<b id="internal-source-marker_0.18021326209418476" style="font-weight: normal;"><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">Running Lula on App Engine</span></span></b><br />
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"><br /></span></b>
</span><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><img border="0" src="http://1.bp.blogspot.com/-HyRH-LrQp1c/UNJS6YI4RvI/AAAAAAAAAOc/7iFhDHGs43Q/s1600/backend.png" height="240" style="margin-left: auto; margin-right: auto;" width="320" /></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><br /></td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-HyRH-LrQp1c/UNJS6YI4RvI/AAAAAAAAAOc/7iFhDHGs43Q/s1600/backend.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: inherit;"></span></a></div>
<b id="internal-source-marker_0.7622435593511909" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">Nomanini uses Google App Engine to support the backend system for our network of point of sale terminals. </span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">Terminals in the field connect to our App Engine application through the GSM mobile network. &nbsp;The terminals synchronize when a connection becomes available, allowing sales to be processed even when devices are offline.</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">The devices make an https post to a URL endpoint. Any data uploaded by the device is queued for processing as multiple tasks, and the App Engine application sends information back to the device within the returned body. &nbsp;Often the only responsibility a URL endpoint has is to create a task. If work can be broken into discrete areas we fan out to other tasks which run in parallel on separate App Engine instances. By controlling how many concurrent tasks are run in each queue, we are able to prioritize specific parts of our application ensuring the best quality of service for our customers.</span><br /><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">By utilizing cross entity group transactions, transactional tasks and appropriate key naems for entities in the Datastore, we have been able to build an extremely resilient application capable of processing data. &nbsp;</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Services we use</span><span style="vertical-align: baseline; white-space: pre-wrap;"></span></span></b><br />
<b style="font-weight: normal;"><span style="font-family: inherit;"><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"><br /></span></span></b>
<br />
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.7622435593511909" style="font-weight: normal;"><span style="font-family: inherit;"><a href="https://developers.google.com/appengine/docs/python/datastore/overview"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">High Replication Datastore</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">, </span><a href="https://developers.google.com/appengine/docs/python/ndb/overview"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">NDB</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> and </span><a href="https://developers.google.com/appengine/docs/python/memcache/overview"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Memcache</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"></span></span></b></li>
<li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.7622435593511909" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">Extensive use of </span><a href="https://developers.google.com/appengine/docs/python/taskqueue/overview-push"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">push Task Queues</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"></span></span></b></li>
<li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.7622435593511909" style="font-weight: normal;"><span style="font-family: inherit;"><a href="https://developers.google.com/appengine/docs/python/blobstore/overview"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Blobstore</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> for storing file records</span></span></b></li>
<li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.7622435593511909" style="font-weight: normal;"><span style="font-family: inherit;"><a href="https://developers.google.com/appengine/docs/java/logs/overview"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Logs API</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">, </span><a href="https://developers.google.com/appengine/docs/python/mail/overview"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Mail API</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> and </span><a href="https://developers.google.com/appengine/docs/python/xmpp/overview"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">XMPP</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> for reporting and real-time notification of issues to our development team</span></span></b></li>
<li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.7622435593511909" style="font-weight: normal;"><span style="font-family: inherit;"><a href="https://developers.google.com/appengine/docs/python/urlfetch/overview"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">URL Fetch API</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> to link to third-party API’s such as sending SMS’s and integration to mobile networks for airtime voucher purchase</span></span></b></li>
<li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.7622435593511909" style="font-weight: normal;"><span style="font-family: inherit;"><a href="https://cloud.google.com/products/cloud-storage"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Google Cloud Storage</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> and </span><a href="https://cloud.google.com/products/big-query"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Google BigQuery</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> for mining our data for interesting trends</span></span></b></li>
</ul>
<ul style="margin-bottom: 0pt; margin-top: 0pt;"><b id="internal-source-marker_0.7622435593511909" style="font-weight: normal;"><span style="font-family: inherit;">
<li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"><a href="http://www.prodeagle.com/"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">ProdEagle</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> (another application built on top of Google App Engine) for real time metrics visualization</span></li>
</span></b></ul>
<b id="internal-source-marker_0.7622435593511909" style="font-weight: normal;"><span style="font-family: inherit;">
<span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Benefits of building on App Engine</span></span></b><br />
<div>
<b><span style="font-family: inherit;"><span style="white-space: pre-wrap;"><br /></span><span style="font-style: italic; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Saves time</span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">App Engine’s High Replication Datastore gives us the peace of mind that our data will be available and accurate to a degree that we couldn’t easily replicate ourselves. As a start up, capital and time are in short supply. With App Engine, we can focus on building our unique application rather than worrying about infrastructure. &nbsp;App Engine Task Queues allow parallel data execution and retrying on failure, with little code overhead for developers.</span><br /><span style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"></span></span><br /><span style="font-style: italic; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Scalability</span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Nomanini has very cyclical traffic patterns: our peak traffic occurs in the early morning and late afternoon, with a monthly peak around payday in South Africa. Google App Engine automatically scales our application so that we don’t have to pay for excess server capacity during off-peak times, but have capacity available when we need it.</span><br /><span style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"></span></span><br /><span style="font-style: italic; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Ease of operation</span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Deployment is a breeze on App Engine. &nbsp;With just a few scripts tied in to our continuous integration server we can: </span></span></b><br />
<ul style="font-weight: normal; margin-bottom: 0pt; margin-top: 0pt;"><b><span style="font-family: inherit;">
<li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"><span style="vertical-align: baseline; white-space: pre-wrap;">write the version number and app name into app.yaml</span></li>
<li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"><span style="vertical-align: baseline; white-space: pre-wrap;">deploy automatically</span></li>
<li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"><span style="vertical-align: baseline; white-space: pre-wrap;">run data migration scripts</span></li>
<li dir="ltr" style="list-style-type: disc; vertical-align: baseline;"><span style="vertical-align: baseline; white-space: pre-wrap;">change the default version once all indexes are serving</span></li>
</span></b></ul>
<b><span style="font-family: inherit;">
<span style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"></span></span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Monitoring is simplified by using built in dashboards. We can also export logs to Google Cloud Storage and run ad-hoc queries on analytics using Google BigQuery.</span><br /><span style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"></span></span><br /><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Conclusion</span></span></b></div>
<div>
<b><span style="font-family: inherit;"><span style="white-space: pre-wrap;"><br /></span><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">To reduce our time to market we used as many off-the-shelf components as possible, including Google App Engine. </span><br /><span style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"></span></span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">We chose App Engine because it offers a platform with a consistent, well documented, ready-to-use set of services and allows our developers to test within an environment that is identical to our production environment - a practice that used to be prohibitively expensive.</span><br /><span style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"></span></span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Using the Google App Engine platform has saved our small development team time that we would have had to use to design, build and test a highly reliable backend to support our network of vending terminals in farflung places. &nbsp;Instead, we can focus our time on building a device that we hope will impact the way local commerce is done in rural economies.</span></span></b><br />
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"><br /></span></b>
<b id="internal-source-marker_0.7622435593511909" style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;">To read more about the story of Nomanini, check out the post about us on the </span><a href="http://googleblog.blogspot.com/2012/12/cloud-computing-enabling.html"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Official Google Blog</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">. &nbsp;</span></b></span><br />
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"><br /></span></b>
<b id="internal-source-marker_0.9207042707130313" style="background-color: white; color: #333333; font-weight: normal;"><b id="internal-source-marker_0.23796788742765784" style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;">-Contributed by Dale Humby, CTO, Nomanini</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"><br /></span></b></b><b id="internal-source-marker_0.9207042707130313" style="background-color: white; color: #333333; font-weight: normal;"><b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;">Posted by Zafir Khan, Product Marketing Manager, Google App Engine</span></b></b></span></div>
]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/mobile-voucher-sales-terminal-in-africa-powered-by-app-engine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>App Engine 1.7.4 Released</title>
		<link>https://googledata.org/google-app-engine/app-engine-1-7-4-released/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=app-engine-1-7-4-released</link>
		<comments>https://googledata.org/google-app-engine/app-engine-1-7-4-released/#comments</comments>
		<pubDate>Fri, 14 Dec 2012 00:32:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=28ad81a24b97677ac395ace886304a9f</guid>
		<description><![CDATA[<span><br /></span> <b><span><span>The Google App Engine team has been busy putting together our final release of 2012. This release includes a number of features graduating from Experimental status as well as the usual batch of bug fixes and improvements. We&#8217;ll be taking a short break from our monthly release cycle over the holidays, but we&#8217;ll be back to our normal schedule starting in February. &#160;</span></span></b><br /><b><span><span></span><br /><span>Expanded EU Support</span><span></span><br /><span>We&#8217;re happy to announce that we are expanding European Union datacenter support, based on positive feedback from early users. &#160;You can sign up </span><a href="https://docs.google.com/spreadsheet/viewform?formkey=dDllb3FHLS1IdXVIcjVKR3FScklka1E6MQ"><span>here</span></a><span>. &#160;Please note, deployment is currently limited to </span><span><a href="https://developers.google.com/appengine/docs/billing">billing-enabled applications</a>.  </span><span>We understand that data locality and latency are important to developers and are committed to further expanding this support in the coming months.</span><span></span><br /><span></span><br /><span>Java</span><span></span><br /><span>We've made a new </span><a href="http://maven.apache.org/"><span>Maven</span></a><span> plugin available, added the source to the SDK for easier IDE debugging, and made significant performance improvements to the JSP compilation process</span><span>. &#160;</span><span>Please see our Java </span><a href="http://code.google.com/p/googleappengine/wiki/SdkForJavaReleaseNotes"><span>release notes</span></a><span> for more information.</span><br /><span></span><br /><span>Python</span><br /><span>We&#8217;ve made a big push to bring a number of new features to GA, upgraded the interpreter to version 2.7.3, and added several new experimental features</span><span>. &#160;</span><span>For more details, please see our Python </span><a href="http://code.google.com/p/googleappengine/wiki/SdkReleaseNotes"><span>release notes</span></a><span>.</span><span></span><br /><span></span><br /><span>New and Upgraded Features </span><span></span><br /><span>We also have a handful of notable features in this release:</span><br /><span></span></span></b><br /><ul><li><b><span><span>Task Queue statistics (General Availability): </span><span>You can see statistics such as the current number of tasks in a queue, the number of tasks executed in the last hour, and more.</span></span></b></li>
<li><b><span><span>Traffic splitting (General Availability): </span><span>You can split requests amongst different versions of your app.</span><span></span></span></b></li>
<li><b><span><span>LogsReader and Logs API (General Availability):</span><span> You can now fetch requests based on a list of request IDs.</span></span></b></li>
<li><b><span><span>Expanded Datastore query support (Experimental):</span><span> We&#8217;ve added &#8216;DISTINCT&#8217; support to Datastore queries.</span><span></span></span></b></li>
</ul><b><span><span></span><br /><span>Full release notes and Google Cloud Platform newsletter </span><br /><span>The complete list of features and a list of bug fixes for 1.7.4 can be found in our </span><a href="http://code.google.com/p/googleappengine/w/list"><span>release notes</span></a><span>. For App Engine coding questions and answers check us out on </span><a href="http://stackoverflow.com/questions/tagged/google-app-engine"><span>Stack Overflow</span></a><span>, and for general discussion and feedback, find us on our </span><a href="https://groups.google.com/forum/?fromgroups#!forum/google-appengine"><span>Google Group</span></a><span>.</span><br /><span></span><br /><span>Finally, to stay up to date with Google Cloud Platform, </span><a href="https://cloud.google.com/newsletter?utm_source=appengine&#38;utm_medium=blog&#38;utm_campaign=newsletter"><span>sign up</span></a><span> for our newsletter where you&#8217;ll get the latest news, announcements and event information.</span></span></b><br /><b><span><span><br /></span></span></b> <b><span><span>- Posted by the Google App Engine Team</span></span></b>]]></description>
				<content:encoded><![CDATA[<span class="byline-author" style="font-family: inherit;"><br />
</span> <b id="internal-source-marker_0.1600532284937799" style="font-weight: normal;"><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">The Google App Engine team has been busy putting together our final release of 2012. This release includes a number of features graduating from Experimental status as well as the usual batch of bug fixes and improvements. We’ll be taking a short break from our monthly release cycle over the holidays, but we’ll be back to our normal schedule starting in February. &nbsp;</span></span></b><br />
<b id="internal-source-marker_0.1600532284937799" style="font-weight: normal;"><span style="font-family: inherit;"><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"></span><br />
<span style="background-color: white; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Expanded EU Support</span><span style="background-color: white; text-decoration: line-through; vertical-align: baseline; white-space: pre-wrap;"></span><br />
<span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">We’re happy to announce that we are expanding European Union datacenter support, based on positive feedback from early users. &nbsp;You can sign up </span><a href="https://docs.google.com/spreadsheet/viewform?formkey=dDllb3FHLS1IdXVIcjVKR3FScklka1E6MQ"><span style="background-color: white; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">here</span></a><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">. &nbsp;Please note, deployment is currently limited to </span><span style="background-color: white; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"><a href="https://developers.google.com/appengine/docs/billing">billing-enabled applications</a>.  </span><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">We understand that data locality and latency are important to developers and are committed to further expanding this support in the coming months.</span><span style="background-color: white; text-decoration: line-through; vertical-align: baseline; white-space: pre-wrap;"></span><br />
<span style="background-color: white; text-decoration: line-through; vertical-align: baseline; white-space: pre-wrap;"></span><br />
<span style="background-color: white; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Java</span><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"></span><br />
<span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">We've made a new </span><a href="http://maven.apache.org/"><span style="background-color: white; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Maven</span></a><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"> plugin available, added the source to the SDK for easier IDE debugging, and made significant performance improvements to the JSP compilation process</span><span style="background-color: white; color: #666666; vertical-align: baseline; white-space: pre-wrap;">. &nbsp;</span><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">Please see our Java </span><a href="http://code.google.com/p/googleappengine/wiki/SdkForJavaReleaseNotes"><span style="background-color: white; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">release notes</span></a><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"> for more information.</span><br />
<span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"></span><br />
<span style="background-color: white; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Python</span><br />
<span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">We’ve made a big push to bring a number of new features to GA, upgraded the interpreter to version 2.7.3, and added several new experimental features</span><span style="background-color: white; color: #666666; vertical-align: baseline; white-space: pre-wrap;">. &nbsp;</span><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">For more details, please see our Python </span><a href="http://code.google.com/p/googleappengine/wiki/SdkReleaseNotes"><span style="background-color: white; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">release notes</span></a><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">.</span><span style="background-color: white; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"></span><br />
<span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"></span><br />
<span style="background-color: white; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">New and Upgraded Features </span><span style="background-color: white; font-weight: bold; text-decoration: line-through; vertical-align: baseline; white-space: pre-wrap;"></span><br />
<span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">We also have a handful of notable features in this release:</span><br />
<span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"></span></span></b><br />
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: white; font-weight: bold; list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.1600532284937799" style="font-weight: normal;"><span style="font-family: inherit;"><span style="font-style: italic; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Task Queue statistics (General Availability): </span><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">You can see statistics such as the current number of tasks in a queue, the number of tasks executed in the last hour, and more.</span></span></b></li>
<li dir="ltr" style="background-color: white; font-weight: bold; list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.1600532284937799" style="font-weight: normal;"><span style="font-family: inherit;"><span style="font-style: italic; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Traffic splitting (General Availability): </span><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">You can split requests amongst different versions of your app.</span><span style="vertical-align: baseline; white-space: pre-wrap;"></span></span></b></li>
<li dir="ltr" style="background-color: white; font-weight: bold; list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.1600532284937799" style="font-weight: normal;"><span style="font-family: inherit;"><span style="font-style: italic; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">LogsReader and Logs API (General Availability):</span><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> You can now fetch requests based on a list of request IDs.</span></span></b></li>
<li dir="ltr" style="background-color: white; font-weight: bold; list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.1600532284937799" style="font-weight: normal;"><span style="font-family: inherit;"><span style="font-style: italic; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Expanded Datastore query support (Experimental):</span><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> We’ve added ‘DISTINCT’ support to Datastore queries.</span><span style="font-weight: normal; text-decoration: line-through; vertical-align: baseline; white-space: pre-wrap;"></span></span></b></li>
</ul>
<b id="internal-source-marker_0.1600532284937799" style="font-weight: normal;"><span style="font-family: inherit;"><span style="background-color: white; text-decoration: line-through; vertical-align: baseline; white-space: pre-wrap;"></span><br />
<span style="background-color: white; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Full release notes and Google Cloud Platform newsletter </span><br />
<span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">The complete list of features and a list of bug fixes for 1.7.4 can be found in our </span><a href="http://code.google.com/p/googleappengine/w/list"><span style="background-color: white; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">release notes</span></a><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">. For App Engine coding questions and answers check us out on </span><a href="http://stackoverflow.com/questions/tagged/google-app-engine"><span style="background-color: white; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Stack Overflow</span></a><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">, and for general discussion and feedback, find us on our </span><a href="https://groups.google.com/forum/?fromgroups#!forum/google-appengine"><span style="background-color: white; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Google Group</span></a><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">.</span><br />
<span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"></span><br />
<span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">Finally, to stay up to date with Google Cloud Platform, </span><a href="https://cloud.google.com/newsletter?utm_source=appengine&amp;utm_medium=blog&amp;utm_campaign=newsletter"><span style="background-color: white; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">sign up</span></a><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"> for our newsletter where you’ll get the latest news, announcements and event information.</span></span></b><br />
<b style="font-weight: normal;"><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;"><br />
</span></span></b> <b style="font-weight: normal;"><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">- Posted by the Google App Engine Team</span></span></b>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/app-engine-1-7-4-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Get started at no cost with a faster, larger Google Cloud SQL database</title>
		<link>https://googledata.org/google-app-engine/get-started-at-no-cost-with-a-faster-larger-google-cloud-sql-database/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=get-started-at-no-cost-with-a-faster-larger-google-cloud-sql-database</link>
		<comments>https://googledata.org/google-app-engine/get-started-at-no-cost-with-a-faster-larger-google-cloud-sql-database/#comments</comments>
		<pubDate>Thu, 08 Nov 2012 19:57:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=04bbd66b740f8a543f6026a2d508fcd7</guid>
		<description><![CDATA[
You want your application to be fast. Databases play a big role in your overall application speed and end-users’ experience. Reads and writes should execute instantly, even as your user base grows to millions of users, and this requires faster, larg...]]></description>
				<content:encoded><![CDATA[<span style="font-family: inherit;"><br /></span>
<b id="internal-source-marker_0.4092903595883399" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">You want your application to be fast. Databases play a big role in your overall application speed and end-users’ experience. Reads and writes should execute instantly, even as your user base grows to millions of users, and this requires faster, larger databases</span></span></b><br />
<br />
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;">Google App Engine is designed to scale. And now Google Cloud SQL, a MySQL database that lives in Google’s cloud, is scaling up alongside App Engine to meet that demand for faster access to more data. With the features we are launching today, you can now work with bigger, faster MySQL databases in the cloud:</span></b></span><br />
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="white-space: pre-wrap;"><br /></span></b></span>
<br />
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li style="list-style-type: disc; vertical-align: baseline;"><span style="font-family: inherit;"><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">More Storage</span><span style="vertical-align: baseline; white-space: pre-wrap;">: We’re increasing the available storage on Cloud SQL to 100 GB - ten times more than before.</span></span></li>
</ul>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li style="list-style-type: disc; vertical-align: baseline;"><span style="font-family: inherit;"><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Faster Reads</span><span style="vertical-align: baseline; white-space: pre-wrap;">: We’re increasing the maximum size of instances to 16 GB RAM. This amounts to a 4 times increase in the amount of data you can cache.</span></span></li>
</ul>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li style="list-style-type: disc; vertical-align: baseline;"><span style="font-family: inherit;"><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Faster Writes</span><span style="vertical-align: baseline; white-space: pre-wrap;">: We’re adding optional asynchronous </span><a href="https://developers.google.com/cloud-sql/faq#replication"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">replication</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">, which gives the write performance of a non-replicated database, but the </span><a href="https://developers.google.com/cloud-sql/faq#replication"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">availability</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> of a replicated one.</span></span></li>
</ul>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li style="list-style-type: disc; vertical-align: baseline;"><span style="font-family: inherit;"><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">EU datacenter availability</span><span style="vertical-align: baseline; white-space: pre-wrap;">: If you sign up to be a Premier customer, you can choose to store your data and run your Cloud SQL database instance in either our US or EU data centers. </span></span></li>
</ul>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li style="list-style-type: disc; vertical-align: baseline;"><span style="font-family: inherit;"><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Integration with Google Apps Script:</span><span style="vertical-align: baseline; white-space: pre-wrap;"> We’re making it quick and easy for businesses using </span><a href="https://developers.google.com/apps-script/jdbc"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Google Apps</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> to use Cloud SQL. Publish and share your data with Google Sheets, add data to your Google Sites pages or create simple Google Forms without worrying about hosting or configuring servers.</span></span></li>
</ul>
<span style="font-family: inherit;"><b style="font-weight: normal;"><br /></b><b style="font-weight: normal;"><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Introducing a new trial offer</span></b></span><br />
<span style="font-family: inherit;"><b><span style="white-space: pre-wrap;"><br /></span></b><b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;">We’ve received many requests from users for a trial offer to test out Cloud SQL. Today, we’re introducing a 6- month trial offer at no charge, effective until June 1, 2013, and will include one Cloud SQL instance with 0.5 GB of storage. </span><a href="https://developers.google.com/cloud-sql/docs/before_you_begin"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Sign up now</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> to get started.</span></b></span><br />
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"><br /></span></b></span>
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;">Posted by Joe Faith, Product Manager, Google Cloud SQL</span></b></span>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/get-started-at-no-cost-with-a-faster-larger-google-cloud-sql-database/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Upgrading to Python 2.7: simple and practical</title>
		<link>https://googledata.org/google-app-engine/upgrading-to-python-2-7-simple-and-practical/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=upgrading-to-python-2-7-simple-and-practical</link>
		<comments>https://googledata.org/google-app-engine/upgrading-to-python-2-7-simple-and-practical/#comments</comments>
		<pubDate>Tue, 06 Nov 2012 18:07:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=faac3b9293266aedfed16c116eee5d1c</guid>
		<description><![CDATA[
We launched a major improvement to the Python runtime when we introduced support for Python 2.7 last February. It has since proven to be astonishingly popular – just a few months later more than half of all active Python applications on App Engine a...]]></description>
				<content:encoded><![CDATA[<b style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;"><br /></span></span></b>
<b id="internal-source-marker_0.9198574176989496" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">We launched a major improvement to the Python runtime when we introduced support for Python 2.7 last February. It has since proven to be astonishingly popular – just a few months later more than half of all active Python applications on App Engine are using Python 2.7.</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">What’s so great about Python 2.7? It isn’t just a language update, it also includes a number of features that can help your apps run much more efficiently.</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Increase efficiency with concurrent requests</span><span style="vertical-align: baseline; white-space: pre-wrap;">. Now a single frontend instance can handle multiple requests at the same time in separate threads. This means App Engine requires fewer frontend instances to handle the traffic, which can lead to significant cost savings. </span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">Rapidly growing mobile gaming company </span><a href="http://pocketgems.com/"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Pocket Gems</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> reduced the cost of running their front-end instances by 78% when they switched to to the Python 2.7 runtime. “We immediately saw a dramatic difference” said engineering director David Underhill &nbsp;“We only need one third as many instances under Python 2.7 as we did under 2.5 to handle the same traffic”.</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Move faster with more native C modules.</span><span style="vertical-align: baseline; white-space: pre-wrap;"> In Python 2.7 we’ve added more native C modules to App Engine. Core libraries like cPickle run much faster than the equivalent pure Python library available in the Python 2.5 runtime. </span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Take advantage of popular third-party libraries like PIL and numpy</span><span style="vertical-align: baseline; white-space: pre-wrap;">. We’ve greatly expanded the number of third party libraries available for use in App Engine in Python 2.7. So far we’ve added the Python Imaging Library (PIL), lxml, numpy, </span><a href="https://developers.google.com/appengine/docs/python/tools/libraries27"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">and several others</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">.</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">Best of all, upgrading won't require lots of code changes. “It was pretty straightforward,” says Underhill. “We had to be careful, but we ended up needing to change less than 0.4% of the code”. </span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">If you're ready to make the switch, check out our </span><a href="https://developers.google.com/appengine/docs/python/python25/migrate27"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">migration guide</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">, </span><a href="https://developers.google.com/appengine/docs/python/python25/diff27"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">find out more about the other great features</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> of the Python 2.7 runtime and get in-depth tips from the App Engine Python team by </span><a href="https://www.youtube.com/watch?feature=player_embedded&amp;v=VPHHlnyoGfk#!"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">watching their talk on Migrating to Python 2.7</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> at Google I/O 2012.</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">- Posted by Andrew Jessup, Product Manager, Google App Engine</span></span></b>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/upgrading-to-python-2-7-simple-and-practical/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Developer Insights: Teaching thousands of students to program on Udacity with App Engine (part 2)</title>
		<link>https://googledata.org/google-app-engine/developer-insights-teaching-thousands-of-students-to-program-on-udacity-with-app-engine-part-2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=developer-insights-teaching-thousands-of-students-to-program-on-udacity-with-app-engine-part-2</link>
		<comments>https://googledata.org/google-app-engine/developer-insights-teaching-thousands-of-students-to-program-on-udacity-with-app-engine-part-2/#comments</comments>
		<pubDate>Wed, 31 Oct 2012 16:59:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=ad4f3b453b3d1372aca271742c5bc0de</guid>
		<description><![CDATA[
This post is the second of our two-part series discussing how Udacity uses Google App Engine.Today’s guest blogger is Chris Chew, senior software engineer at Udacity, which offers free online courses in programming and other subjects. &#160;Chris sh...]]></description>
				<content:encoded><![CDATA[<br />
<span id="internal-source-marker_0.23796788742765784"><span style="font-family: inherit;"><span style="font-style: italic; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">This post is the second of our two-part series discussing how Udacity uses Google App Engine.</span><br /><span style="font-style: italic; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-style: italic; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Today’s guest blogger is Chris Chew, senior software engineer at </span><a href="http://www.udacity.com/" style="font-weight: normal;"><span style="color: #1155cc; font-style: italic; vertical-align: baseline; white-space: pre-wrap;">Udacity</span></a><span style="font-style: italic; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">, which offers free online courses in programming and other subjects. &nbsp;Chris shares how Udacity itself is built using App Engine.</span><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Steve Huffman blogged yesterday about how App Engine enables the project-based learning that makes his</span><a href="http://www.udacity.com/overview/Course/cs253/CourseRev/apr2012" style="font-weight: normal;"><span style="color: black; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">web development course</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> so powerful. &nbsp;People are often surprised to learn that</span><span style="color: black; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="vertical-align: baseline; white-space: pre-wrap;">Udacit</span><span style="vertical-align: baseline; white-space: pre-wrap;">y</span><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> itself is built on App Engine.</span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">The choice to use App Engine originally came from Mike Sokolsky, our CTO and cofounder, after his experience keeping the original version of our extremely popular</span><a href="http://www.udacity.com/overview/Course/cs373/CourseRev/apr2012" style="font-weight: normal;"><span style="color: black; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">AI course</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> running on a series of virtual machines. &nbsp;Mike found App Engine’s operational simplicity extremely compelling after weeks of endlessly spinning up additional servers and administering MySQL replication in order to meet the crazy scale patterns we experience.</span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Close to a year later, with ten months of live traffic on App Engine, we continue to be satisfied customers. &nbsp;While there are a few things we do outside App Engine, our choice to continue using App Engine for our core application is clear: &nbsp;We prefer to spend our time figuring out how to scale</span><a href="http://www.foreignpolicy.com/articles/2009/04/15/the_next_big_thing_personalized_education" style="font-weight: normal;"><span style="color: black; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">personalized education</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">, not memcached. &nbsp;App Engine’s infrastructure is better than what we could build ourselves, and it frees us to focus on behavior rather than operations.</span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">How Udacity Uses App Engine</span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">The App Engine features we use most include a pretty broad swath of the platform:</span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span></span></span><br />
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li style="list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.23796788742765784" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">High Replication </span><a href="https://developers.google.com/appengine/docs/python/datastore/"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Datastore</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> with </span><a href="https://developers.google.com/appengine/docs/python/ndb/overview"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">NDB</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"></span></span></b></li>
<li style="list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.23796788742765784" style="font-weight: normal;"><span style="font-family: inherit;"><a href="https://developers.google.com/appengine/docs/python/memcache/overview"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Memcache</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"></span></span></b></li>
<li style="list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.23796788742765784" style="font-weight: normal;"><span style="font-family: inherit;"><a href="https://developers.google.com/appengine/docs/python/taskqueue/"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Task Queues</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> - </span><a href="https://developers.google.com/appengine/articles/deferred"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Deferred execution</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">, MapReduce, batch jobs</span></span></b></li>
<li style="list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.23796788742765784" style="font-weight: normal;"><span style="font-family: inherit;"><a href="https://developers.google.com/appengine/docs/python/search/overview"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">App Engine Search API </span></a><span style="vertical-align: baseline; white-space: pre-wrap;">-- Indexing both course content and student résumés</span></span></b></li>
<li style="list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.23796788742765784" style="font-weight: normal;"><span style="font-family: inherit;"><a href="https://developers.google.com/appengine/docs/python/blobstore/"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Blobstore API</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> -- Lecture videos, résumés, data exportation</span></span></b></li>
<li style="list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.23796788742765784" style="font-weight: normal;"><span style="font-family: inherit;"><a href="https://developers.google.com/appengine/docs/python/images/"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Image API</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> - Thumbnail generation</span></span></b></li>
<li style="list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.23796788742765784" style="font-weight: normal;"><span style="font-family: inherit;"><a href="https://developers.google.com/appengine/docs/python/dataprocessing/overview"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">MapReduce API</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> - Daily usage analytics, data migrations, data maintenance</span></span></b></li>
</ul>
<b id="internal-source-marker_0.23796788742765784" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">A high-level representation of our “stack” looks something like this:</span></span></b><br />
<b style="font-weight: normal;"><span style="font-family: Arial; font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"><br /></span></b>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-IkNCPqy6tsA/UJFSXQSUB9I/AAAAAAAAANo/rzwwZ3RQpHw/s1600/image-id=sLc4W0qOgBGLAMWKj9oaunQ&amp;w=675&amp;h=492&amp;rev=1&amp;ac=1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-IkNCPqy6tsA/UJFSXQSUB9I/AAAAAAAAANo/rzwwZ3RQpHw/s1600/image-id=sLc4W0qOgBGLAMWKj9oaunQ&amp;w=675&amp;h=492&amp;rev=1&amp;ac=1.png" height="291" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b id="internal-source-marker_0.23796788742765784"><span style="font-family: inherit;"><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Trails and Trove are two libraries developed in-house mainly by Piotr Kaminski. &nbsp;Trails supplies very clean semantics for creating families of RESTful endpoints on top of a webapp2.RequestHandler with automagic marshalling. &nbsp;Trove is a wrapper around NDB that adds common property types (e.g. efficient dereferencing of key properties), yet another layer of caching for entities with relations (both in-process and memcache), and an event “watcher” framework for reliably triggering out-of-band processing when data changes.</span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Something notable that is not represented in the drawing above is a specific set of monkey patches from Trove we apply to NDB to create better hooks similar to the existing pre/post-put/delete hooks. &nbsp;These custom hooks power a “watcher” abstraction that provides targeted pieces of code the opportunity to react to changes in the data layer. &nbsp;Execution of each watcher is deferred and runs outside the scope of the request so as to not increase response times.</span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">Latency</span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">During our first year of scaling on App Engine we learned its performance is a complex thing to understand. &nbsp;Response time is a function of several factors both inside and outside our control. &nbsp;App Engine’s ability to “scale-out” is undeniable, but we have observed high variance in response times for a given request, even during periods with low load on the system. &nbsp;As a consequence we have learned to do a number of things to minimize the impact of latency variance:</span></span></b></div>
<div class="separator" style="clear: both; text-align: left;">
<b style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;"><br /></span></span></b></div>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li style="list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.23796788742765784" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">Converting usage of the old datastore API to the new</span><a href="https://developers.google.com/appengine/docs/python/ndb/"><span style="color: black; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">NDB API</span></a></span></b></li>
<li style="list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.23796788742765784" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">Using</span><a href="https://developers.google.com/appengine/docs/python/ndb/async"><span style="color: black; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">NDB.tasklet</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> coroutines as much as possible to enable parallelism during blocking RPC operations</span></span></b></li>
<li style="list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.23796788742765784" style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">Not indexing fields by default and adding an index only when we need it for a query</span></span></b></li>
<li style="list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.23796788742765784" style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">Carefully avoiding index hotspots by indexing fields with predictable values only when necessary (i.e. auto-now DateTime and enumerated “choices” String properties).</span></span></b></li>
<li style="list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.23796788742765784" style="font-weight: normal;"><span style="font-family: inherit;"><a href="http://en.wikipedia.org/wiki/Materialized_view"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Materializing</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> data views very aggressively so we can limit each request to the fewest datastore queries possible</span></span></b></li>
</ul>
<b id="internal-source-marker_0.23796788742765784"><span style="font-family: inherit; font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">This last point is obvious in the sense that naturally you get faster responses when you do less work. &nbsp;But we have taken pre-materializing views to an extreme level by denormalizing several aspects of our domain into read-optimized records. &nbsp;For example, the read-optimized version of a user’s profile record might contain standard profile information, plus privacy configuration, course enrollment information, course progress, and permissions -- all things a data modeler would normally want to store separately. &nbsp;We pile it together into the equivalent of a materialized view so we can fetch it all in one query.</span></span><span style="font-family: Arial; font-size: 13px; font-weight: normal; text-decoration: line-through; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">Conclusion</span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">App Engine is an amazingly complete and reliable platform that works astonishingly well for a huge number of use cases. &nbsp;It is very apparent the services and APIs have been designed by people who know how to scale web applications, and we feel lucky to have the opportunity to ride on the shoulders of such giants. &nbsp;It is trivial to whip together a proof-of-concept for almost any idea, and the subsequent work to scale your app is significantly less than if you had rolled your own infrastructure.</span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">As with any platform, there are tradeoffs. &nbsp;The tradeoff with App Engine is that you get an amazing suite of scale-ready services at the cost of relentlessly optimizing to minimize latency spikes. &nbsp;This is an easy tradeoff for us because App Engine has served us well through several exciting usage spikes and there is no question the progress we have already made towards our mission is significantly more than if we were also building our own infrastructure. &nbsp;Like most choices in life, this choice can be boiled down to a bumper sticker:</span></span></b><br />
<div class="separator" style="clear: both; text-align: left;">
<b style="font-weight: normal;"><span style="font-family: Arial; font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"><br /></span></b></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-JZn6EcrZNxg/UJFSleslGpI/AAAAAAAAANw/IDQ22SRZuY8/s1600/png;base64f70c3a3822558f93.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-JZn6EcrZNxg/UJFSleslGpI/AAAAAAAAANw/IDQ22SRZuY8/s1600/png;base64f70c3a3822558f93.png" height="328" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<b style="font-weight: normal;"><span style="font-family: Arial; font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"><br /></span></b></div>
<b id="internal-source-marker_0.23796788742765784" style="font-weight: normal;"><span style="font-family: inherit;"><span style="font-style: italic; vertical-align: baseline; white-space: pre-wrap;">Editor’s note: Chris Chew and Steve Huffman will be participating in a Google Developers Live Hangout tomorrow, Thursday, November 1st, check it out </span><a href="https://developers.google.com/live/shows/9826022/"><span style="color: #1155cc; font-style: italic; vertical-align: baseline; white-space: pre-wrap;">here</span></a><span style="font-style: italic; vertical-align: baseline; white-space: pre-wrap;"> and submit your questions for them to answer live on air.</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">-Contributed by Chris Chew, Senior Software Engineer, Udacity</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"><br /></span></span></b><br />
<b style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">Posted by Zafir Khan, Product Marketing Manager, Google App Engine</span></span></b>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/developer-insights-teaching-thousands-of-students-to-program-on-udacity-with-app-engine-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Developer Insights: Teaching thousands of students to program on Udacity with App Engine, Steve Huffman (part 1)</title>
		<link>https://googledata.org/google-app-engine/developer-insights-teaching-thousands-of-students-to-program-on-udacity-with-app-engine-steve-huffman-part-1/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=developer-insights-teaching-thousands-of-students-to-program-on-udacity-with-app-engine-steve-huffman-part-1</link>
		<comments>https://googledata.org/google-app-engine/developer-insights-teaching-thousands-of-students-to-program-on-udacity-with-app-engine-steve-huffman-part-1/#comments</comments>
		<pubDate>Tue, 30 Oct 2012 17:29:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=ff81612ba45812d63e6bdb2e3f2b216c</guid>
		<description><![CDATA[
This post is the first of our two-part series discussing how Udacity uses Google App Engine.Today’s guest blogger is Steve Huffman, founder of Reddit and Hipmunk. &#160;Steve recently taught a web development course at Udacity, which offers free onl...]]></description>
				<content:encoded><![CDATA[<b style="font-weight: normal;"><span style="font-family: inherit;"><span style="font-style: italic; vertical-align: baseline; white-space: pre-wrap;"><br /></span></span></b>
<b id="internal-source-marker_0.9207042707130313" style="font-weight: normal;"><span style="font-family: inherit;"><span style="font-style: italic; vertical-align: baseline; white-space: pre-wrap;">This post is the first of our two-part series discussing how Udacity uses Google App Engine.</span><br /><span style="font-style: italic; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-style: italic; vertical-align: baseline; white-space: pre-wrap;">Today’s guest blogger is Steve Huffman, founder of Reddit and </span><a href="http://www.hipmunk.com/"><span style="color: #1155cc; font-style: italic; vertical-align: baseline; white-space: pre-wrap;">Hipmunk</span></a><span style="font-style: italic; vertical-align: baseline; white-space: pre-wrap;">. &nbsp;Steve recently taught a web development course at </span><a href="http://www.udacity.com/"><span style="color: #1155cc; font-style: italic; vertical-align: baseline; white-space: pre-wrap;">Udacity,</span></a><span style="font-style: italic; vertical-align: baseline; white-space: pre-wrap;"> which offers free online courses in programming and other subjects. &nbsp;Steve shares his experience using Google App Engine to teach the course.</span><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">This past spring I had the pleasure of teaching a course for Udacity, an online education company putting high quality college level courses online for free. I was recruited to Udacity by a former college professor and friend of mine, Dave Evans, Udacity's VP of Education.</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">When I was a Computer Science student at the University of Virginia, I was fortunate to take a cryptology course taught by Professor Evans. He presented us two ways to get an A in this course. We could either do it the old fashioned way--do well on tests and homeworks as well as completing a course-long project of our choosing; or, we could break into his computer and set our grade to an A. Naturally, we pretended to do the former, while spending our evenings huddled outside Professor Evans' house working on the latter. My team received A's. &nbsp;</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">It was one of the first times where I felt I was not just completing course objectives as a student, but thinking about real-world problems as a computer scientist. &nbsp;When Professor Evans emailed me early this year inquiring whether I’d be interested in teaching a course on Web Developement, I said, “Yes!” long before my brain had a chance to remind me that I already had a full-time job.</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">The course I taught was </span><a href="http://www.udacity.com/overview/Course/cs253/CourseRev/apr2012"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">CS 253: Web Development</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">, which aimed to teach students the fundamentals of building web applications. I’ve always wanted to teach-- it’s one of my favorite aspects of my job at Hipmunk. Web Development in particular is appealing because not only is it, in my opinion, the world’s most valuable profession, but even starting from scratch it doesn’t take much time to acquire the skills to build a site that can change the world. I wanted my course to leave students with such skills.</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Choosing a platform for CS253</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">The course would be divided into seven one-hour lectures. After completing the seven lessons, students would have the skills to build a fully-functional blog platform from the ground-up, user accounts and all. I knew from experience that there is a dark side to web development: system administration. You can write all the fancy software you want that works on your own machine, but actually getting it online can be quite the pain. Where do you host it? Which database will you use? Do you know how to install such a database? Do you know how to configure a web server?</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">Learning the basics of web development in seven lessons was going to be challenging enough, I didn’t want students to have to deal with learning how to be system administrators at the same time. Fortunately, we decided in our first meeting that Google App Engine was the right tool for this course. Despite having never used it myself, the idea of it seemed to fit perfectly. Students would be able to write fully-functional web applications without having to deal with the tedium of installing web servers and databases, at least that was the plan. To be honest, I was a little skeptical at first, but I also didn’t have much of a choice--I wasn’t about to waste any time explaining how to get PosgreSQL running in Windows.</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Reflections on App Engine</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">App Engine turned out to be one of the best decisions we made. Here are a couple of reasons why:</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Write locally, deploy globally.</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">With App Engine, you can develop and run your application on your own machine, database and all, and with a simple command, deploy your application to Google’s servers and have it run identically on the Internet. When this worked for the first time for me, I was blown away. I’ve spent a significant, perhaps embarrassing, amount of time deploying code over the years. To see it happen in just a few seconds was astonishing.</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">Students being able to get their code running on the Internet with almost no hassle was one of the most important aspects of my course. First, it gave the students an immediate sense of power. After the first lesson, they would have their own code running live on the Internet! Second, it enabled a really nice mechanic of the course--each lesson would end with an assignment to add a feature to their live website. We could then grade these assignments in real-time. All the students had to do was submit a URL.</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Excellent documentation.</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">App Engine’s documentation is superb. I tried to focus the majority of the course on high-level concepts common to all web development platforms; however, it was unavoidable that many parts of the course are specific to App Engine itself. For better or for worse, many of the App Engine concepts I taught I had learned only moments before. I got to know and appreciate that documentation very well. Even some of the more subtle concepts, like how the </span><a href="https://developers.google.com/appengine/docs/python/datastore/"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Datastore</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> deals with replication lag, was all there and clearly explained.</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">The perfect level of abstraction.</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">A trap many beginner web developers fall into is starting with a very abstract web framework like Rails. While Rails enables a beginner to write simple apps quickly, and allows pros to appear to be wizards, it masks a lot of really important web concepts. App Engine sits at just the right level of abstraction for beginners and pros alike. I think it’s critically important to understand the difference between a GET and a POST, what HTTP headers look like, and how cookies work, for example. These aren’t difficult concepts, and having a deep understanding of them early will carry prospective developers far.</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Auto-scaling.</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">While most of the students’ work in my course was probably used only by themselves and our grading scripts, we did spend a fair amount of time discussing how to design web applications that can support millions of users. Once you understand how to design an application that can run across many machines, App Engine will take care of the challenge of actually launching those machines when required and deploying your code seamlessly. Should the website I built during the course lessons, asciichan.com, ever hit the big time, I can rest assured App Engine will scale it with no effort from me.</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Conclusion</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">Teaching CS 253 was a tremendous experience. To date, over 57,000 students have enrolled in the course! &nbsp;Check out some of the cool sites they built on App Engine after just seven lessons:</span></span></b><br />
<span style="font-family: inherit;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://www.udacity.me/47346"><span style="font-family: inherit;"><img border="0" src="http://2.bp.blogspot.com/-dmpqciq74mU/UJABxNh79eI/AAAAAAAAANA/9xmCD0n7zkk/s1600/img1.png" height="270" width="400" /></span></a></div>
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://www.udacity.me/45562"><span style="font-family: inherit;"><img border="0" src="http://3.bp.blogspot.com/-BTvWLBZwdzw/UJAB8Et5EMI/AAAAAAAAANI/94R2LsT4GhQ/s1600/img2.png" height="282" width="400" /></span></a></div>
<b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;"><br /></span></span></b>
<b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;"><br /></span></span></b>
<b id="internal-source-marker_0.9207042707130313" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">This is a project I’m incredibly proud of, and I’m deeply thankful to the folks at Udacity for giving me the opportunity. Furthermore, I’m grateful to Google and the App Engine team for building such a strong product. CS 253 could not have worked without it.</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-style: italic; vertical-align: baseline; white-space: pre-wrap;">Editor’s note: Stay tuned tomorrow for the second post in this series by Chris Chew, one of the developers at Udacity. He’s going to explain how the Udacity team uses App Engine to power the courses themselves. &nbsp;Also, Steve and Chris will be participating in a Google Developers Live Hangout this Thursday, November 1st, check it out </span><a href="https://developers.google.com/live/shows/9826022/"><span style="color: #1155cc; font-style: italic; vertical-align: baseline; white-space: pre-wrap;">here</span></a><span style="font-style: italic; vertical-align: baseline; white-space: pre-wrap;"> and submit your questions for them to answer live on air.</span></span></b><br />
<b id="internal-source-marker_0.9207042707130313" style="font-weight: normal;"><b id="internal-source-marker_0.23796788742765784" style="font-weight: normal;"><span style="font-family: inherit;"><br /><span style="vertical-align: baseline; white-space: pre-wrap;">-Contributed by Steve Huffman, Founder, Reddit and Hipmunk</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"><br /></span></span></b></b><br />
<b id="internal-source-marker_0.9207042707130313" style="font-weight: normal;"><b style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">Posted by Zafir Khan, Product Marketing Manager, Google App Engine</span></span></b></b>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/developer-insights-teaching-thousands-of-students-to-program-on-udacity-with-app-engine-steve-huffman-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>About today&#8217;s App Engine outage</title>
		<link>https://googledata.org/google-app-engine/about-todays-app-engine-outage/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=about-todays-app-engine-outage</link>
		<comments>https://googledata.org/google-app-engine/about-todays-app-engine-outage/#comments</comments>
		<pubDate>Sat, 27 Oct 2012 00:47:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=3ab6b0c63453062868dab0ece8ece598</guid>
		<description><![CDATA[This morning we failed to live up to our promise, and Google App Engine applications experienced increased latencies and time-out errors.We know you rely on App Engine to create applications that are easy to develop and manage without having to worry a...]]></description>
				<content:encoded><![CDATA[<b id="internal-source-marker_0.8072158824652433" style="font-weight: normal;"><span style="font-family: inherit;"><span style="font-style: italic; vertical-align: baseline; white-space: pre-wrap;">This morning we failed to live up to our promise, and Google App Engine applications experienced increased latencies and time-out errors.</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">We know you rely on App Engine to create applications that are easy to develop and manage without having to worry about downtime. App Engine is not supposed to go down, and our engineers work diligently to ensure that it doesn’t. However, from approximately 7:30 to 11:30 AM US/Pacific, about 50% of requests to App Engine applications failed.</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">Here’s what happened, from what we know today:</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Summary</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span></span></b><br />
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li style="list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.8072158824652433" style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">4:00 am - Load begins increasing on traffic routers in one of the App Engine datacenters.</span></span></b></li>
<li style="list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.8072158824652433" style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">6:10 am - The load on traffic routers in the affected datacenter passes our paging threshold.</span></span></b></li>
<li style="list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.8072158824652433" style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">6:30 am - We begin a global restart of the traffic routers to address the load in the affected datacenter. </span></span></b></li>
<li style="list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.8072158824652433" style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">7:30 am - The global restart plus additional load unexpectedly reduces the count of healthy traffic routers below the minimum required for reliable operation. This causes overload in the remaining traffic routers, spreading to all App Engine datacenters. Applications begin consistently experiencing elevated error rates and latencies.</span></span></b></li>
<li style="list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.8072158824652433" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">8:28 am - </span><a href="mailto:google-appengine-downtime-notify@googlegroups.com"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">google-appengine-downtime-notify@googlegroups.com</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> is updated with notification that we are aware of the incident and working to repair it. </span></span></b></li>
<li style="list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.8072158824652433" style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">11:10 am - We determine that App Engine’s traffic routers are trapped in a cascading failure, and that we have no option other than to perform a full restart with gradual traffic ramp-up to return to service. </span></span></b></li>
<li style="list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.8072158824652433" style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">11:45 am - Traffic ramp-up completes, and App Engine returns to normal operation.</span></span></b></li>
</ul>
<b id="internal-source-marker_0.8072158824652433" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">In response to this incident, we have increased our traffic routing capacity and adjusted our configuration to reduce the possibility of another cascading failure. Multiple projects have been in progress to allow us to further scale our traffic routers, reducing the likelihood of cascading failures in the future. &nbsp;</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">During this incident, no application data was lost and application behavior was restored without any manual intervention by developers. There is no need to make any code or configuration changes to your applications.</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">We will proactively issue credits to all paid applications for ten percent of their usage for the month of October to cover any SLA violations. This will appear on applications’ November bills. There is no need to take any action to receive this credit.</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">We apologize for this outage, and in particular for its duration and severity. Since launching the </span><a href="http://googleappengine.blogspot.com/2011/01/announcing-high-replication-datastore.html"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">High Replication Datastore</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> in January 2011, App Engine has not experienced a widespread system outage. &nbsp;We know that hundreds of thousands of developers rely on App Engine to provide a stable, scalable infrastructure for their applications, and we will continue to improve our systems and processes to live up to this expectation.</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">- Posted by Peter S. Magnusson, Engineering Director, Google App Engine</span></span></b>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/about-todays-app-engine-outage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>App Engine 1.7.3 Released</title>
		<link>https://googledata.org/google-app-engine/app-engine-1-7-3-released/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=app-engine-1-7-3-released</link>
		<comments>https://googledata.org/google-app-engine/app-engine-1-7-3-released/#comments</comments>
		<pubDate>Tue, 23 Oct 2012 23:54:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=6540a15f23bb8f2d923d146b23d53067</guid>
		<description><![CDATA[
For our October release we have a number of offerings, fixes, and small refinements as colorful as the fall season.

General Enhancements


Django 1.4 is now fully supported for Python 2.7


Java classloading priority can now be granted to specific JA...]]></description>
				<content:encoded><![CDATA[<br />
<b style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">For our October release we have a number of offerings, fixes, and small refinements as colorful as the fall season.</span></span></b><br />
<b style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;"><br /></span></span></b>
<b style="font-weight: normal;"><span style="font-family: inherit;"><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">General Enhancements</span></span></b><br />
<span style="white-space: pre-wrap;"><b><br /></b></span>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li style="list-style-type: disc; vertical-align: baseline;"><a href="https://www.djangoproject.com/"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Django 1.4</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> is now fully supported for Python 2.7</span></li>
</ul>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li style="list-style-type: disc; vertical-align: baseline;"><span style="vertical-align: baseline; white-space: pre-wrap;">Java classloading priority can now be granted to specific JAR files. &nbsp;This is an experimental feature. More information can be found </span><a href="https://developers.google.com/appengine/docs/java/runtime#jar_ordering"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">here</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">.</span></li>
</ul>
<b style="font-weight: normal;"><span style="font-family: inherit;"><br /></span></b><b style="font-weight: normal;"><span style="font-family: inherit;"><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">App Engine SDK support for Java 7</span></span></b><br />
<b><span style="font-family: inherit;"><span style="white-space: pre-wrap;"><br /></span></span></b><b style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">With Java 7, many new language enhancements have been added, including:</span></span></b><br />
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li style="list-style-type: disc; vertical-align: baseline;"><span style="vertical-align: baseline; white-space: pre-wrap;">The ability to use the String class in Switch statements</span></li>
</ul>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li style="list-style-type: disc; vertical-align: baseline;"><span style="vertical-align: baseline; white-space: pre-wrap;">Expression of binary literals using simple prefixes 0b or 0B</span></li>
</ul>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li style="list-style-type: disc; vertical-align: baseline;"><span style="vertical-align: baseline; white-space: pre-wrap;">Single catch blocks that can handle multiple exceptions</span></li>
</ul>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li style="list-style-type: disc; vertical-align: baseline;"><span style="vertical-align: baseline; white-space: pre-wrap;">Improved type inference for generic instance creation</span></li>
</ul>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li style="list-style-type: disc; vertical-align: baseline;"><span style="vertical-align: baseline; white-space: pre-wrap;">Auto closing of resources when enclosed within a try-with-resources statement</span></li>
</ul>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li style="list-style-type: disc; vertical-align: baseline;"><span style="vertical-align: baseline; white-space: pre-wrap;">Simplified varargs method invocation</span></li>
</ul>
<b style="font-weight: normal;"><span style="font-family: inherit;"><br /></span></b><b style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">We’re happy to announce that as of this release the App Engine Java SDK has support for running and testing your applications using a local Java 7 installation. To get started now, developers should download the </span><a href="https://developers.google.com/appengine/downloads#Google_App_Engine_SDK_for_Java"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">latest App Engine Java SDK</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> and a Java SE 7 or JDK 7 distribution. From there they can follow the existing documentation for </span><a href="https://developers.google.com/appengine/docs/java/tools/devserver?hl=en"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">running and testing applications locally</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">. &nbsp;</span></span></b><br />
<b style="font-weight: normal;"><span style="font-family: inherit;"><span style="white-space: pre-wrap;"><br /></span></span></b><b style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">In an upcoming release, we will be including some of the new Java 7 functionality as well as formal Java 7 support within the App Engine Java runtime. Before this is available, we strongly encourage developers to start testing their applications using Java 7 and the latest App Engine Java SDK.&nbsp;</span></span></b><br />
<b style="font-weight: normal;"><span style="font-family: inherit;"><span style="white-space: pre-wrap;"><br /></span></span></b><b style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">And while Java 7 support is not yet available within the App Engine Java runtime, developers interested in an early preview can sign up for our </span><a href="https://docs.google.com/a/google.com/forms/viewform?id=13UvQiEjr7ob-QXMSFch5LByQN8vHa70Rl98g8ipCf9c"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">trusted tester program</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">.</span></span></b><br />
<b style="font-weight: normal;"><span style="font-family: inherit;"><span style="white-space: pre-wrap;"><br /></span></span></b><b style="font-weight: normal;"><span style="font-family: inherit;"><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Want more information?</span></span></b><b style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;"><br /></span></span></b><br />
<b style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">The complete list of features and bug fixes for 1.7.3 can be found in our </span><a href="http://code.google.com/p/googleappengine/w/list"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">release notes</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">. For App Engine coding questions and answers check us out on </span><a href="http://stackoverflow.com/questions/tagged/google-app-engine"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Stack Overflow</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">, and for general discussion and feedback, find us on our </span><a href="https://groups.google.com/forum/?fromgroups#!forum/google-appengine"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Google Group</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">.</span></span></b><b style="font-weight: normal;"><span style="font-family: inherit;"><br /></span></b><b style="font-weight: normal;"><span style="font-family: inherit;"><br /></span></b><b style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">- Posted by the Google App Engine Team</span></span></b><br />
]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/app-engine-1-7-3-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Developer Insights: Building scalable social games on App Engine</title>
		<link>https://googledata.org/google-app-engine/developer-insights-building-scalable-social-games-on-app-engine/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=developer-insights-building-scalable-social-games-on-app-engine</link>
		<comments>https://googledata.org/google-app-engine/developer-insights-building-scalable-social-games-on-app-engine/#comments</comments>
		<pubDate>Thu, 18 Oct 2012 16:51:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=5914113c0dfa4ba94c2c1a7987ea0487</guid>
		<description><![CDATA[

Today’s guest blogger is Hernan Liendo, CTO of Zupcat, developer of social games played by millions of people worldwide. &#160;Hernan shares his team’s experience using App Engine to build RaceTown, a multiplayer racing game. &#160;



Choosing a...]]></description>
				<content:encoded><![CDATA[<b id="internal-source-marker_0.2173858918249607" style="font-weight: normal;"></b><br />
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
<b id="internal-source-marker_0.2173858918249607" style="font-weight: normal;"><span style="font-family: inherit;"><span style="font-style: italic; vertical-align: baseline; white-space: pre-wrap;">Today’s guest blogger is Hernan Liendo, CTO of </span><a href="http://zupcat.com/"><span style="color: #1155cc; font-style: italic; vertical-align: baseline; white-space: pre-wrap;">Zupcat</span></a><span style="font-style: italic; vertical-align: baseline; white-space: pre-wrap;">, developer of social games played by millions of people worldwide. &nbsp;Hernan shares his team’s experience using App Engine to build </span><a href="http://apps.facebook.com/racetowngame/?md=aeb"><span style="color: #1155cc; font-style: italic; vertical-align: baseline; white-space: pre-wrap;">RaceTown</span></a><span style="font-style: italic; vertical-align: baseline; white-space: pre-wrap;">, a multiplayer racing game. &nbsp;</span></span></b></div>
<b id="internal-source-marker_0.2173858918249607" style="font-weight: normal;"><span style="font-family: inherit;"><span style="font-style: italic; vertical-align: baseline; white-space: pre-wrap;"></span><br /></span></b>
<br />
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
<b id="internal-source-marker_0.2173858918249607" style="font-weight: normal;"><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">Choosing a cloud service provider</span></span></b></div>
<b id="internal-source-marker_0.2173858918249607" style="font-weight: normal;">
<span style="font-family: inherit;"><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"></span><br /></span></b><br />
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
<b id="internal-source-marker_0.2173858918249607" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">RaceTown is one of Zupcat’s most popular games; it has almost 900,000 monthly unique users, opens more than 40,000 connections via the </span><a href="https://developers.google.com/appengine/docs/java/channel/"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Channel API </span></a><span style="vertical-align: baseline; white-space: pre-wrap;">per day, processes more than 15,000 queries per second and delivers terabytes of content everyday. &nbsp;When deciding our architecture, we took into account several unique requirements of social games:</span></span></b></div>
<b id="internal-source-marker_0.2173858918249607" style="font-weight: normal;">
<span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /></span></b><br />
<ul style="margin-bottom: 0pt; margin-top: 0pt;"><b id="internal-source-marker_0.2173858918249607" style="font-weight: normal;">
<li style="list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
<span style="vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">High uptime</span></span></div>
</li>
<li style="list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
<span style="vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">Short loading time</span></span></div>
</li>
<li style="list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
<span style="vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">Flexibility to deal with social network API changes</span></span></div>
</li>
<li style="list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
<span style="vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">Ability to manage thousands of players, concurrently, from all over the world</span></span></div>
</li>
<li style="list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
<span style="vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">Adjustment to capabilities and performance issues on different users’ computers</span></span></div>
</li>
<li style="list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
<span style="vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">Ability to measure user actions to constantly improve the user experience</span></span></div>
</li>
<li style="list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
<span style="vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">Hosting and delivering quality, beautiful game art </span></span></div>
</li>
<li style="list-style-type: disc; vertical-align: baseline;"><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
<span style="vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">Complex game domains and algorithms: such as enemy adaptable performance, path finding, and 2D and 3D rendering</span></span></div>
</li>
</b></ul>
<b id="internal-source-marker_0.2173858918249607" style="font-weight: normal;">
<span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /></span><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
<span style="vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">App Engine addresses these complicated issues. &nbsp;It provides few tracerouting hops from almost anywhere in the world, great uptime, automatic scalability, no need for infrastructure monitoring and a reasonable price for content delivery.</span></span></div>
<span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /></span><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
<span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">Implementing App Engine</span></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: inherit;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-tnGtjRbW3sk/UIAwn1SnXSI/AAAAAAAAAMk/Q2BgnC1mgIk/s1600/png;base64ed37a92843ae48f1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: inherit;"><img border="0" src="http://1.bp.blogspot.com/-tnGtjRbW3sk/UIAwn1SnXSI/AAAAAAAAAMk/Q2BgnC1mgIk/s1600/png;base64ed37a92843ae48f1.png" height="300" width="400" /></span></a></div>
<div>
<span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"><b id="internal-source-marker_0.2173858918249607" style="font-weight: normal; white-space: normal;"></b></span><br />
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
<span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"><b id="internal-source-marker_0.2173858918249607" style="font-weight: normal; white-space: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;"><br /></span></span></b></span></div>
<span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"><b id="internal-source-marker_0.2173858918249607" style="font-weight: normal; white-space: normal;">
</b></span>
<br />
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
<span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"><b id="internal-source-marker_0.2173858918249607" style="font-weight: normal; white-space: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">The diagram above shows a simplified view of our game architecture. We’ve discovered that App Engine is good to use not only as a game backend server, but also as a metrics server and content delivery network. &nbsp;In addition, we periodically synchronize game state and retrieve data to and from the server. &nbsp;</span></span></b></span></div>
<span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"><b id="internal-source-marker_0.2173858918249607" style="font-weight: normal; white-space: normal;">
<span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /></span></b></span><br />
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
<span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"><b id="internal-source-marker_0.2173858918249607" style="font-weight: normal; white-space: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">The </span><a href="https://developers.google.com/appengine/docs/java/datastore/overview"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">App Engine Datastore</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> is great because it has high availability and easily handles hundreds of millions of rows of data, which is important for social games. &nbsp;For example, we &nbsp;can easily scan the Datastore to present high score information and gamer stats to the user. &nbsp;Additionally, because gamers tend to spend lot of time during a game session, we’ve found it’s helpful to cache game data. Using</span><a href="http://developers.google.com/appengine/docs/java/memcache/overview"><span style="color: black; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Memcache</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">, we have significantly reduced Datastore API calls and lowered users’ waiting time.</span></span></b></span></div>
<span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"><b id="internal-source-marker_0.2173858918249607" style="font-weight: normal; white-space: normal;">
<span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /></span><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
<span style="vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">Another tip for App Engine developers - although App Engine API failures are uncommon, you must be sure to write proper retrying code to minimize the possibility of exposing users to an application crash. &nbsp;RaceTown performs almost a hundred million operations daily, and proper client side retrying algorithms have enabled us to reduce failure rates to very low levels.</span></span></div>
<span style="font-family: inherit;"><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"></span><br /></span><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
<span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">Final thoughts</span></span></div>
<span style="font-family: inherit;"><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"></span><br /></span><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
<span style="vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">I believe that today there is no technology that matches App Engine. &nbsp;You can run your code and store your data in the very same servers that Google uses. &nbsp;Migrating your applications to this technology means you have to start thinking in a cloud-centric way and reinvent your architecture to stop working inside a relational database and classic clustered web server.</span></span></div>
<span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /></span><div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
<span style="vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">If you can achieve this, your products will be delivered using the same infrastructure that Google uses, without a huge corporate budget!</span></span></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
<span style="vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;"><br /></span></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-TS1jYQeEhXQ/UIAw2yNrQVI/AAAAAAAAAMs/jIFl0uwhTZQ/s1600/Image2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: inherit;"><img border="0" src="http://3.bp.blogspot.com/-TS1jYQeEhXQ/UIAw2yNrQVI/AAAAAAAAAMs/jIFl0uwhTZQ/s1600/Image2.png" height="201" width="400" /></span></a></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
<br /></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
<span style="vertical-align: baseline; white-space: pre-wrap;"><b id="internal-source-marker_0.2173858918249607" style="font-weight: normal; text-align: start; white-space: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">- Contributed by Hernan Liendo, @hernanliendo of Zupat, @zupcat</span></span></b></span></div>
</b></span></div>
</b>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/developer-insights-building-scalable-social-games-on-app-engine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Developer Insights: Streak brings CRM to the inbox with Google Cloud Platform</title>
		<link>https://googledata.org/google-app-engine/developer-insights-streak-brings-crm-to-the-inbox-with-google-cloud-platform/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=developer-insights-streak-brings-crm-to-the-inbox-with-google-cloud-platform</link>
		<comments>https://googledata.org/google-app-engine/developer-insights-streak-brings-crm-to-the-inbox-with-google-cloud-platform/#comments</comments>
		<pubDate>Tue, 09 Oct 2012 18:00:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=68dc4a3ecd99d47fa38f7a20ec313d63</guid>
		<description><![CDATA[
Cross-posted with the Google Developers Blog

Today’s guest blogger is Aleem Mawani, co-founder of Streak, a startup alum of Y Combinator, a Silicon Valley incubator. &#160;Streak is a CRM tool built into Gmail. &#160;Aleem shares his experience bui...]]></description>
				<content:encoded><![CDATA[<b style="font-weight: normal;"><span style="font-family: inherit;"><span style="font-style: italic; vertical-align: baseline; white-space: pre-wrap;"><br /></span></span></b>
<b style="font-weight: normal;"><span style="font-family: inherit;"><span style="font-style: italic; vertical-align: baseline; white-space: pre-wrap;">Cross-posted with the <a href="http://googledevelopers.blogspot.com/2012/10/streak-brings-crm-to-inbox-with-google.html">Google Developers Blog</a></span></span></b><br />
<b style="font-weight: normal;"><span style="font-family: inherit;"><span style="font-style: italic; vertical-align: baseline; white-space: pre-wrap;"><br /></span></span></b>
<b id="internal-source-marker_0.9482471181545407" style="font-weight: normal;"><span style="font-family: inherit;"><span style="font-style: italic; vertical-align: baseline; white-space: pre-wrap;">Today’s guest blogger is Aleem Mawani, co-founder of </span><a href="http://www.streak.com/"><span style="color: #1155cc; font-style: italic; vertical-align: baseline; white-space: pre-wrap;">Streak</span></a><span style="font-style: italic; vertical-align: baseline; white-space: pre-wrap;">, a startup alum of </span><a href="http://ycombinator.com/"><span style="color: #1155cc; font-style: italic; vertical-align: baseline; white-space: pre-wrap;">Y Combinator</span></a><span style="font-style: italic; vertical-align: baseline; white-space: pre-wrap;">, a Silicon Valley incubator. &nbsp;Streak is a CRM tool built into Gmail. &nbsp;Aleem shares his experience building and scaling their product using Google Cloud Platform.</span></span></b><br />
<b style="font-weight: normal;"><span style="font-style: italic; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;"><br />
</span></span></b><b id="internal-source-marker_0.9482471181545407" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">Everyone relies on email to get work done – yet most people use separate applications from their email to help them with various business processes. Streak fixes this problem by letting you do sales, hiring, fundraising, bug tracking, product development, deal flow, project management and almost any other business process right inside Gmail. &nbsp;In this post, I want to illustrate how we have used </span><a href="https://cloud.google.com/"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Google Cloud Platform</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> to build Streak quickly, scalably and with the ability to deeply analyze our data. </span></span></b><br />
<span style="font-family: inherit;"><br />
</span> <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-vv7KpHXuwns/UHRRDyYv50I/AAAAAAAAALo/G4xEFEsJOU8/s1600/screen.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: inherit;"><img border="0" src="http://1.bp.blogspot.com/-vv7KpHXuwns/UHRRDyYv50I/AAAAAAAAALo/G4xEFEsJOU8/s400/screen.png" height="200" width="400" /></span></a></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: inherit;"><br />
</span></div>
<div class="separator" style="clear: both; text-align: left;">
<b id="internal-source-marker_0.9482471181545407" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">We use several Google technologies on the backend of Streak:</span></span></b></div>
<br />
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li style="list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.9482471181545407" style="font-weight: normal;"><span style="font-family: inherit;"><a href="https://cloud.google.com/products/index"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">App Engine</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> to serve our app</span></span></b></li>
</ul>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li style="list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.9482471181545407" style="font-weight: normal;"><span style="font-family: inherit;"><a href="https://developers.google.com/appengine/docs/java/datastore/"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">App Engine Datastore </span></a><span style="vertical-align: baseline; white-space: pre-wrap;">to persist user data</span></span></b></li>
</ul>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li style="list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.9482471181545407" style="font-weight: normal;"><span style="font-family: inherit;"><a href="https://developers.google.com/appengine/docs/java/memcache/overview"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Memcache</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> to make operations fast</span></span></b></li>
</ul>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li style="list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.9482471181545407" style="font-weight: normal;"><span style="font-family: inherit;"><a href="https://cloud.google.com/products/big-query"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">BigQuery</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> to analyze our logs and power dashboards</span></span></b></li>
</ul>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li style="list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.9482471181545407" style="font-weight: normal;"><span style="font-family: inherit;"><a href="https://developers.google.com/appengine/docs/java/search/overview"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">App Engine Search API</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> to let users sift through their data</span></span></b></li>
</ul>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li style="list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.9482471181545407" style="font-weight: normal;"><span style="font-family: inherit;"><a href="https://developers.google.com/prediction/"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Prediction API</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> to machine learn over user data</span></span></b></li>
</ul>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li style="list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.9482471181545407" style="font-weight: normal;"><span style="font-family: inherit;"><a href="https://developers.google.com/translate/"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Google Translate API</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> to translate our app to over 40 languages. </span></span></b></li>
</ul>
<b id="internal-source-marker_0.9482471181545407" style="font-weight: normal;"><span style="font-family: inherit;"><b style="font-weight: normal;"><br />
<span style="vertical-align: baseline; white-space: pre-wrap;">Our core learning is that you should use the best tool for the job. No one technology will be able to solve all your data storage and access needs. Instead, for each type of functionality, you should use a different service. In our case, we aggressively mirror our data in all the services mentioned above. For example, although the source of truth for our user data is in the App Engine Datastore, we mirror that data in the App Engine Search API so that we can provide full text search, Gmail style, to our users. We also mirror that same data in BigQuery so that we can power internal dashboards. </span><br />
<span style="vertical-align: baseline; white-space: pre-wrap;"></span><br />
<span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">System Architecture</span></b><b style="font-weight: normal;"><br />
</b></span></b><br />
<div class="separator" style="clear: both; text-align: left;">
<b style="font-weight: normal;"><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;"> </span></span></b></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-yd_1ERTy-E8/UHRRXVcjRJI/AAAAAAAAALw/I_xPiyP8JKw/s1600/aricheture.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: inherit;"><img border="0" src="http://3.bp.blogspot.com/-yd_1ERTy-E8/UHRRXVcjRJI/AAAAAAAAALw/I_xPiyP8JKw/s400/aricheture.png" height="270" width="400" /></span></a></div>
<div class="separator" style="clear: both; text-align: left;">
<b style="font-weight: normal;"><span style="font-family: inherit;"><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"><br />
</span></span></b></div>
<div class="separator" style="clear: both; text-align: left;">
<b id="internal-source-marker_0.9482471181545407" style="font-weight: normal;"><span style="font-family: inherit;"><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">App Engine </span><span style="vertical-align: baseline; white-space: pre-wrap;">- We use App Engine for Java primarily to serve our application to the browser and mobile clients in addition to serving our API. App Engine is the source of truth for all our data, so we aggressively cache using Memcache. We also use </span><a href="http://code.google.com/p/objectify-appengine/"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Objectify</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> to simplify access to the Datastore, which I highly recommend.</span></span></b></div>
<b id="internal-source-marker_0.9482471181545407" style="font-weight: normal;"><span style="font-family: inherit;"> <span style="vertical-align: baseline; white-space: pre-wrap;"></span><br />
<span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Google Cloud Storage</span><span style="vertical-align: baseline; white-space: pre-wrap;"> - We mirror all of our Datastore data as well as all our log data in Cloud Storage, which acts as a conduit to other Google cloud services. It lets us archive the data as well as push it to BigQuery and the Prediction API. </span><span style="text-decoration: line-through; vertical-align: baseline; white-space: pre-wrap;"></span><br />
<span style="vertical-align: baseline; white-space: pre-wrap;"></span><br />
<span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">BigQuery - </span><span style="vertical-align: baseline; white-space: pre-wrap;">Pushing the data into BigQuery allows us to run non-realtime queries that can help generate useful business metrics and slice user data to better understand how our product is getting used. Not only can we run complex queries over our Datastore data but also over all of our log data. This is incredibly powerful for analyzing the request patterns to App Engine. We can answer questions like:</span></span></b><br />
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li style="list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.9482471181545407" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">Which requests cost us the most money?</span></span></b></li>
<li style="list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.9482471181545407" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">What is the average response time for every URL on our site over the last 3 days?</span></span></b></li>
</ul>
<b id="internal-source-marker_0.9482471181545407" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br />
<span style="vertical-align: baseline; white-space: pre-wrap;">BigQuery helps us monitor error rates in our application. &nbsp;We process all of our log data with debug statements, as well as something called an “error type” for any request that fails. &nbsp;</span><span style="background-color: white; color: #222222; vertical-align: baseline; white-space: pre-wrap;">If it’s a known error, we'll log something sensible, and we log the exception type if we haven’t seen it before. &nbsp;This is beneficial because we built a dashboard that queries BigQuery for the most recent errors in the last hour grouped by error type. Whenever we do a release, we can monitor error rates in the application really easily.</span></span></b><br />
<b style="font-weight: normal;"><span style="background-color: white; color: #222222; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;"> </span></span></b> <br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><span style="font-family: inherit;"><img border="0" src="http://2.bp.blogspot.com/-eMSh16Vh0qA/UHRR3iysb7I/AAAAAAAAAL4/_YnqPgT9G88/s400/map+(1).jpg" height="318" style="margin-left: auto; margin-right: auto;" width="400" /></span></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b id="internal-source-marker_0.9482471181545407" style="font-size: medium; font-weight: normal; text-align: start;"><span style="background-color: white; color: #222222; font-size: 13px; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;"><i>A Streak dashboard powered by BigQuery showing current usage statistics</i></span></span></b></td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: inherit;"><a href="http://2.bp.blogspot.com/-eMSh16Vh0qA/UHRR3iysb7I/AAAAAAAAAL4/_YnqPgT9G88/s1600/map+(1).jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"></a></span></div>
<b id="internal-source-marker_0.9482471181545407" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">In order to move the data into Cloud Storage from the Datastore and </span><a href="https://developers.google.com/appengine/docs/java/logservice/overview"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">LogService</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">, we developed an open source library called </span><a href="http://googleappengine.blogspot.com/2012/07/analyzing-your-google-app-engine-logs.html"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Mache</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">. It’s a drop-in library that can be configured to automatically push data into BigQuery via Cloud Storage. The data can come from the Datastore or from LogService and is very configurable - feel free to contribute and give us feedback on it!</span></span></b><br />
<b id="internal-source-marker_0.9482471181545407" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br />
<span style="vertical-align: baseline; white-space: pre-wrap;">Google Cloud Platform also makes our application better for our users. We take advantage of the App Engine Search API and again mirror our data there. Users can then query their Streak data using the familiar Gmail full text search syntax, for example, “before:yesterday name:Foo”. Since we also push our data to the Prediction API, we can help users throughout our app by making smart suggestions. In Streak, we train models based on which emails users have categorized into different projects. Then, when users get a new email, we can suggest the most likely box that the email belongs to. </span><br />
<span style="vertical-align: baseline; white-space: pre-wrap;"></span><br />
<span style="vertical-align: baseline; white-space: pre-wrap;">One issue that arises is how to keep all these mirrored data sets in sync. It works differently for each service based on the architecture of the service. Here’s a simple breakdown:</span></span></b><br />
<b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;"> </span></span></b> <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-QLNCF2s7M1Q/UHRSIu9G6eI/AAAAAAAAAMA/jUaox8nBKe0/s1600/Untitled3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: inherit;"><img border="0" src="http://4.bp.blogspot.com/-QLNCF2s7M1Q/UHRSIu9G6eI/AAAAAAAAAMA/jUaox8nBKe0/s400/Untitled3.png" height="211" width="400" /></span></a></div>
<b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;"><br />
</span></span></b><b id="internal-source-marker_0.9482471181545407" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">Having these technologies easily available to us has been a huge help for Streak. It makes our products better and helps us understand our users. Streak’s user base grew 30% every week for 4 consecutive months after launch, and we couldn’t have scaled this easily without Google Cloud Platform. &nbsp;To read more details on why Cloud Platform makes sense for our business, check out our </span><a href="https://cloud.google.com/files/Streak.pdf"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">case study</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> and our post on the </span><a href="http://googleenterprise.blogspot.com/2012/10/streak-powers-their-business-on-google.html"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Google Enterprise blog</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">.</span></span></b><br />
<span style="font-family: inherit;"><br />
</span> <span style="font-family: inherit;">-Contributed by Aleem Mawani, co-founder of Streak</span>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/developer-insights-streak-brings-crm-to-the-inbox-with-google-cloud-platform/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Jenkins, meet Google App Engine</title>
		<link>https://googledata.org/google-app-engine/jenkins-meet-google-app-engine/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=jenkins-meet-google-app-engine</link>
		<comments>https://googledata.org/google-app-engine/jenkins-meet-google-app-engine/#comments</comments>
		<pubDate>Tue, 02 Oct 2012 17:33:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=e4cbee10c0a46dc61dd867c7289135a2</guid>
		<description><![CDATA[

Today’s guest post comes from Ryan Campbell and Stephen Connolly, developers at CloudBees. CloudBees is a major supporter of Jenkins, the popular open source continuous integration server, and the creator of DEV@Cloud, a hosted version of Jenkins.
...]]></description>
				<content:encoded><![CDATA[<b id="internal-source-marker_0.35651968559250236" style="font-weight: normal;"></b><br />
<div dir="ltr">
<b id="internal-source-marker_0.35651968559250236" style="font-weight: normal;"><b style="font-family: inherit; font-weight: normal;"><span style="font-style: italic; vertical-align: baseline; white-space: pre-wrap;">Today’s guest post comes from Ryan Campbell and Stephen Connolly, developers at </span><a href="http://www.cloudbees.com/"><span style="color: #1155cc; font-style: italic; vertical-align: baseline; white-space: pre-wrap;">CloudBees</span></a><span style="font-style: italic; vertical-align: baseline; white-space: pre-wrap;">. CloudBees is a major supporter of Jenkins, the popular open source continuous integration server, and the creator of </span><a href="http://www.cloudbees.com/dev.cb"><span style="color: #1155cc; font-style: italic; vertical-align: baseline; white-space: pre-wrap;">DEV@Cloud</span></a><span style="font-style: italic; vertical-align: baseline; white-space: pre-wrap;">, a hosted version of Jenkins.</span></b></b></div>
<div dir="ltr">
<b id="internal-source-marker_0.35651968559250236" style="font-weight: normal;"><b style="font-family: inherit; font-weight: normal;"><span style="font-style: italic; vertical-align: baseline; white-space: pre-wrap;"><br /></span></b></b></div>
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;">As development teams grow, it becomes increasingly hard to ensure that their work is in sync. </span><a href="http://jenkins-ci.org/"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Jenkins</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> is one of the leading tools to combat this issue. Jenkins provides a process where work across your team is automated, so that building, testing and deployment are all centralized in one location. As a major supporter of Jenkins, CloudBees has helped companies streamline their build, test and deployment processes both on premise, and in the cloud via </span><a href="http://www.cloudbees.com/dev.cb"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">CloudBees DEV@Cloud</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">.</span></b><b style="font-weight: normal;"><br /></b><b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"><br /></span></b></span><br />
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;">Google App Engine users can now run Jenkins continuous integration in the cloud by signing up at </span><a href="https://appengine.cloudbees.com/"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">appengine.cloudbees.com</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">. Jenkins will monitor your projects’ source code for any changes, run the necessary builds and tests, and notify your team of any problems - or automatically deploy the application to Google App Engine if everything looks good. This process helps to prevent the deployment of broken code, and gives everyone a central record of what changes went into each deployment. If you’re new to continuous integration and Jenkins, the </span><a href="https://wiki.jenkins-ci.org/display/JENKINS/Meet+Jenkins"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Jenkins wiki</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> is a great place to get started.</span></b><b style="font-weight: normal;"><br /></b><b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"><br /></span></b></span><br />
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;">The video below shows you how to setup a Jenkins Maven job that checks out the source code, builds the application, runs any tests, and then deploys to Google App Engine. Note that you can use virtually any source code service you like, including GitHub or CloudBees’ own Git and SVN servers.</span></b><b style="font-weight: normal;"><br /></b><b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"><br /></span></b></span><br />
<div class="separator" style="clear: both; text-align: center;">
<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="http://1.gvt0.com/vi/L4d2HvXNfv0/0.jpg"><param name="movie" value="http://www.youtube.com/v/L4d2HvXNfv0&fs=1&source=uds" /><param name="bgcolor" value="#FFFFFF" /><param name="allowFullScreen" value="true" /><embed width="320" height="266"  src="http://www.youtube.com/v/L4d2HvXNfv0&fs=1&source=uds" type="application/x-shockwave-flash" allowfullscreen="true"></embed></object></div>
<span style="font-family: inherit;"><b style="font-weight: normal;"><br /></b><b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"><br /></span></b></span><br />
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;">Once you have a basic build working, you can integrate additional online services into your Jenkins workflow, like </span><a href="http://www.cloudbees.com/platform-service-saucelabsondemand.cb"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Sauce Labs</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> for browser-based tests, </span><a href="http://www.cloudbees.com/platform-service-sonarsource.cb"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Sonar</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> for code analysis, or </span><a href="http://www.cloudbees.com/platform-service-jfrog.cb"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">JFrog Artifactory</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> as an artifact repository manager. These and several other CloudBees services can be automatically subscribed to using the Services link in your toolbar.</span></b><b style="font-weight: normal;"><br /></b><b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"><br /></span></b></span><br />
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;">In summary, CloudBees Jenkins for Google App Engine is unique in several ways:</span></b></span><br />
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li style="list-style-type: disc; margin-left: 15px; vertical-align: baseline;"><span style="background-color: white; color: #222222; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">It's fully managed, which means you don't have to set up Jenkins or the build machines you need.</span></span></li>
</ul>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li style="list-style-type: disc; margin-left: 15px; vertical-align: baseline;"><span style="background-color: white; color: #222222; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">You always have enough build capacity -- we dynamically add more build machines as you need them.</span></span></li>
</ul>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li style="list-style-type: disc; margin-left: 15px; vertical-align: baseline;"><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">CloudBees Jenkins is free to get started.</span></span></li>
</ul>
<span style="font-family: inherit;"><b style="font-weight: normal;"><br /></b><b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;">Sign up &nbsp;for CloudBees DEV@Cloud at </span><a href="http://appengine.cloudbees.com/"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">appengine.cloudbees.com</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> to have Jenkins monitor the health of your projects, and automatically deploy your applications to Google App Engine. You only need your Google App Engine account, no credit cards or command lines are required. Now, you can focus on delivering features, and rely on CloudBees to manage the development infrastructure.</span></b><b style="font-weight: normal;"><br /></b><b style="font-weight: normal;"><span style="font-style: italic; vertical-align: baseline; white-space: pre-wrap;"><br /></span></b></span><br />
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;">- Contributed by Ryan Campbell and Stephen Connolly, developers at CloudBees.</span></b></span><br />
]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/jenkins-meet-google-app-engine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Google BigQuery Launch includes Datastore Import for Trusted Testers</title>
		<link>https://googledata.org/google-app-engine/new-google-bigquery-launch-includes-datastore-import-for-trusted-testers/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=new-google-bigquery-launch-includes-datastore-import-for-trusted-testers</link>
		<comments>https://googledata.org/google-app-engine/new-google-bigquery-launch-includes-datastore-import-for-trusted-testers/#comments</comments>
		<pubDate>Mon, 01 Oct 2012 17:36:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=18b255a72aa34a763378b99108fa8f07</guid>
		<description><![CDATA[
Google BigQuery, a service for performing real-time analytics on your data, launched several exciting new features this morning. &#160;Part of the release is a new feature which enables you to import data from our experimental Datastore backup tool di...]]></description>
				<content:encoded><![CDATA[<br />
<span style="font-family: inherit;"><b style="font-weight: normal;"><a href="https://developers.google.com/bigquery/"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Google BigQuery</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">, a service for performing real-time analytics on your data, launched several exciting new features this morning. &nbsp;Part of the release is a new feature which enables you to import data from our experimental Datastore backup tool directly into BigQuery for analysis. &nbsp;We are opening up this capability to a small group of trusted testers - please </span><a href="https://docs.google.com/spreadsheet/viewform?formkey=dHdpeXlmRlZCNWlYSE9BcE5jc2NYOUE6MQ"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">sign up</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> here if you’re interested.</span></b></span><br />
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="white-space: pre-wrap;"><br /></span></b><b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;">The BigQuery launch also includes support for JSON and its nested/repeated structure as well as significant improvements to the data loading pipeline. &nbsp;Check out their </span><a href="http://googledevelopers.blogspot.com/2012/10/got-big-json-bigquery-expands-data.html"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">post on the Google Developers Blog</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> for more details on their latest release.</span></b><b style="font-weight: normal;"><br /></b><b style="font-weight: normal;"><br /></b><b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;">- Posted by the Google App Engine Team</span></b></span><br />
]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/new-google-bigquery-launch-includes-datastore-import-for-trusted-testers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>App Engine 1.7.2 Released</title>
		<link>https://googledata.org/google-app-engine/app-engine-1-7-2-released/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=app-engine-1-7-2-released</link>
		<comments>https://googledata.org/google-app-engine/app-engine-1-7-2-released/#comments</comments>
		<pubDate>Wed, 19 Sep 2012 17:40:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=ab5b2a64e64a02349af6cccfc22fa96a</guid>
		<description><![CDATA[In addition to the usual crop of new features and improvements, the App Engine team spent a week this summer fixing bugs reported through our issue tracker. We fixed or closed out more than 130 bugs. Many of the fixes are included in this release.

App...]]></description>
				<content:encoded><![CDATA[<b id="internal-source-marker_0.6327411930542439" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">In addition to the usual crop of new features and improvements, the App Engine team spent a week this summer fixing bugs reported through our </span><a href="http://code.google.com/p/googleappengine/issues/list"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">issue tracker</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">. We fixed or closed out more than 130 bugs. Many of the fixes are included in this release.</span></span></b><br />
<br />
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">App Admin</span></b></span><br />
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li style="list-style-type: disc; vertical-align: baseline;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">Paid applications can now upload more than </span><a href="https://developers.google.com/appengine/docs/quotas?hl=en#Code"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">1GB of code and static files</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> for their applications. Storage above the free quota of 1GB will be billed at $0.13/GB per month. </span></span></li>
</ul>
<div>
<span style="white-space: pre-wrap;"><br /></span></div>
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Runtimes</span></b></span><br />
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li style="list-style-type: disc; vertical-align: baseline;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">PyCrypto 2.6 is now fully supported as an option for </span><a href="https://developers.google.com/appengine/docs/python/tools/libraries27?hl=en"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">third party libraries</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> in Python 2.7.</span></span></li>
</ul>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li style="list-style-type: disc; vertical-align: baseline;"><span style="font-family: inherit;"><a href="https://developers.google.com/appengine/docs/java/runtime#The_Sandbox"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Java Threads</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> is now a fully supported feature of the Java runtime.</span></span></li>
</ul>
<div>
<span style="white-space: pre-wrap;"><br /></span></div>
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Task Queue Statistics</span></b></span><br />
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;">We’ve added the ability to fetch </span><a href="http://developers.google.com/appengine/docs/python/taskqueue/queue_statistics"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Task Queue Statistics</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">. This allows you to fetch statistics and information about your task queue from within your application. Statistics include information such as the number of tasks in a queue, how many tasks were executed in the last minute and enforced rate.</span></b><b style="font-weight: normal;"><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"><br /></span></b></span><br />
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"><br /></span></b></span>
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">App Engine Sockets Trusted Tester Program</span></b></span><br />
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;">We are looking for trusted testers for outbound socket functionality in App Engine. Please fill out our signup </span><a href="https://docs.google.com/a/google.com/spreadsheet/viewform?formkey=dF9QR3pnQ2pNa0dqalViSTZoenVkcHc6MQ#gid=0"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">form</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> to tell us more about your use-case if you’re interested.</span></b><b style="font-weight: normal;"><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"><br /></span></b></span><br />
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"><br /></span></b></span>
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Wait! But what about those bug fixes?</span></b></span><br />
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;">The complete list of features and (a long list of) bug fixes for 1.7.2 can be found in our </span><a href="http://code.google.com/p/googleappengine/w/list"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">release notes</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">. For App Engine coding questions and answers check us out on </span><a href="http://stackoverflow.com/questions/tagged/google-app-engine"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Stack Overflow</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">, and for general discussion and feedback, find us on our </span><a href="https://groups.google.com/forum/?fromgroups#!forum/google-appengine"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Google Group</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">.</span></b><b style="font-weight: normal;"><br /></b><b style="font-weight: normal;"><br /><br /></b><b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;">- Posted by the Google App Engine Team</span></b></span>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/app-engine-1-7-2-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Announcing new pricing for Virtual IP based SSL</title>
		<link>https://googledata.org/google-app-engine/announcing-new-pricing-for-virtual-ip-based-ssl/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=announcing-new-pricing-for-virtual-ip-based-ssl</link>
		<comments>https://googledata.org/google-app-engine/announcing-new-pricing-for-virtual-ip-based-ssl/#comments</comments>
		<pubDate>Mon, 17 Sep 2012 23:29:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=14b2efe4c6270c2b5e50f8c7bfc1ad7e</guid>
		<description><![CDATA[
We are delighted to make Virtual IP (VIP) based SSL more widely available to developers by announcing a reduction in price. From the 25th of September, VIPs will be $39/month - down from the previous price of $99/month. For those applications already ...]]></description>
				<content:encoded><![CDATA[<b id="internal-source-marker_0.171341092325747" style="font-weight: normal;"><span style="font-family: inherit;"></span></b><br />
<b id="internal-source-marker_0.171341092325747" style="font-weight: normal;"><span style="font-family: inherit;"><b id="internal-source-marker_0.171341092325747" style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;">We are delighted to make Virtual IP (VIP) based SSL more widely available to developers by announcing a reduction in price. From the 25th of September, VIPs will be $39/month - down from the previous price of $99/month. For those applications already using VIP based SSL, the pricing change will be applied to your bill starting on the 25th.&nbsp;</span></b></span></b><br />
<b id="internal-source-marker_0.171341092325747" style="font-weight: normal;"><span style="font-family: inherit;"><b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"><br /></span></b><b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;">Google App Engine SSL for Custom Domains goes above and beyond the basics of SSL by offering globally distributed SSL endpoints and built-in load balancing. Like App Engine in general, there is no need for ongoing system administration and maintenance. For more details on how to setup SSL for Custom Domains for your applications, see the App Engine </span><a href="https://developers.google.com/appengine/docs/ssl"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">documentation</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">. </span></b><b style="font-weight: normal;"><br /></b><b style="font-weight: normal;"><br /></b><b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;">- Posted by the Google App Engine Team</span></b></span></b><br />
]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/announcing-new-pricing-for-virtual-ip-based-ssl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google App Engine Tips and Tutorials on Google Developers Live</title>
		<link>https://googledata.org/google-app-engine/google-app-engine-tips-and-tutorials-on-google-developers-live/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=google-app-engine-tips-and-tutorials-on-google-developers-live</link>
		<comments>https://googledata.org/google-app-engine/google-app-engine-tips-and-tutorials-on-google-developers-live/#comments</comments>
		<pubDate>Tue, 28 Aug 2012 17:18:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=420dd775f83c0cab9c01f9caca2b07d7</guid>
		<description><![CDATA[Have you ever wanted to use a new feature of Google App Engine, but were uncertain of how to get started? Documentation and sample applications are a great way to start learning about App Engine, but sometimes a more interactive approach can make all t...]]></description>
				<content:encoded><![CDATA[<b id="internal-source-marker_0.2751028221100569" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">Have you ever wanted to use a new feature of Google App Engine, but were uncertain of how to get started? Documentation and sample applications are a great way to start learning about App Engine, but sometimes a more interactive approach can make all the difference.&nbsp;</span></span></b><br />
<br />
<span style="font-family: inherit;"><b style="font-weight: normal;"><a href="https://developers.google.com/live"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Google Developers Live</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> is exactly that. Each week, members of our Developer Relations Team host a Google+ Hangout or event to discuss a feature or tip. You can get expert answers to your questions, live. In addition to the live session, these talks are recorded and </span><a href="http://developers.google.com/live/cloud"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">available on YouTube</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> for you to view whenever you want.</span></b></span><br />
<br />
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;">We’ve hosted sessions on using </span><a href="https://developers.google.com/live/shows/ahNzfmdvb2dsZS1kZXZlbG9wZXJzcg4LEgVFdmVudBipmLMDDA/"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Google Cloud SQL</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">, </span><a href="https://developers.google.com/live/shows/ahNzfmdvb2dsZS1kZXZlbG9wZXJzcg4LEgVFdmVudBjAjqkDDA/"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Google Cloud Endpoints</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">, and other Google Cloud Platform services like </span><a href="https://developers.google.com/live/shows/ahNzfmdvb2dsZS1kZXZlbG9wZXJzcg4LEgVFdmVudBi93pEDDA/"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Google Compute Engine</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">. Have a topic you’d like to learn more about? Let us know by filling out this </span><a href="https://docs.google.com/a/google.com/spreadsheet/viewform?formkey=dFJvM2Z4NjFtVmZVaVBpMFhDTE5BeWc6MQ"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">questionnaire</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">.</span></b><b style="font-weight: normal;"><br /></b><b style="font-weight: normal;"><br /></b><b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;">- Posted by the Google App Engine Team</span></b></span><br />
]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/google-app-engine-tips-and-tutorials-on-google-developers-live/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>App Engine 1.7.1 Released</title>
		<link>https://googledata.org/google-app-engine/app-engine-1-7-1-released/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=app-engine-1-7-1-released</link>
		<comments>https://googledata.org/google-app-engine/app-engine-1-7-1-released/#comments</comments>
		<pubDate>Tue, 21 Aug 2012 20:02:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=28ec5355a688b3c37f0813f8d4025490</guid>
		<description><![CDATA[If there were an Olympic coding event, we have no doubt that the gold medal winner could be found amongst the App Engine developer community. So today we’ve got a new release out so you can hone your skills just in case they are needed in Rio in 2016...]]></description>
				<content:encoded><![CDATA[<b id="internal-source-marker_0.20803210302256048" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">If there were an Olympic coding event, we have no doubt that the gold medal winner could be found amongst the App Engine developer community. So today we’ve got a new release out so you can hone your skills just in case they are needed in Rio in 2016.</span></span></b><br />
<br />
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">App Admin</span></b></span><br />
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li style="list-style-type: disc; vertical-align: baseline;"><span style="vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">Usage Report Download - We’ve added the ability to download the past 90 days of your application’s usage reports as a CSV file.</span></span></li>
</ul>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li style="list-style-type: disc; vertical-align: baseline;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">Namespaces in the Memcache Viewer - The Admin Console </span><a href="http://code.google.com/p/googleappengine/issues/detail?id=7245"><span style="vertical-align: baseline; white-space: pre-wrap;">now supports</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> retrieving memcache values that are stored in a non-default namespace.</span></span></li>
</ul>
<span style="font-family: inherit;"><b style="font-weight: normal;"><br /></b><b style="font-weight: normal;"><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Python</span></b></span><ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li style="list-style-type: disc; vertical-align: baseline;"><span style="vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">Appstats updates - We’ve included a few new things in appstats with 1.7.1. You can now view RPC cost information in appstats. We’ve also added an interactive console which lets you trigger and then examine an RPC call for real-time debugging.</span></span></li>
</ul>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li style="list-style-type: disc; vertical-align: baseline;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">PyCrypto 2.6 support - We’ve included the latest version of PyCrypto as an option for </span><a href="https://developers.google.com/appengine/docs/python/tools/libraries27?hl=en"><span style="vertical-align: baseline; white-space: pre-wrap;">third party libraries</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> in Python 2.7. </span></span></li>
</ul>
<span style="font-family: inherit;"><b style="font-weight: normal;"><br /></b><b style="font-weight: normal;"><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Java</span></b></span><br />
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;">DataNucleus App Engine Plugin 2.1.0 - We’re excited to announce that with the latest upgrade we’re making V2 of the DataNucleus plugin fully supported. V2 adds support for JPA 2 and JDO 3, and this point release contains a variety of bug fixes. You can see the full list </span><a href="http://code.google.com/p/datanucleus-appengine/source/browse/branches/2_1_0/dist/RELEASE_NOTES.ORM"><span style="vertical-align: baseline; white-space: pre-wrap;">here</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">.</span></b><b style="font-weight: normal;"><br /></b><b style="font-weight: normal;"><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"><br /></span></b></span><br />
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Appstats Analytics Trusted Tester</span></b></span><br />
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;">We are looking for early Python and Java Trusted Testers to try a new interactive visualization tool for troubleshooting and tuning application performance. If you are interested in trying out this new tool please </span><a href="https://docs.google.com/a/google.com/spreadsheet/viewform?formkey=dDVZLWRvdlVzdDJyVndMZXRmaWwySkE6MQ#gid=0"><span style="vertical-align: baseline; white-space: pre-wrap;">sign up here</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">. &nbsp;</span></b><b style="font-weight: normal;"><br /></b><b style="font-weight: normal;"><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"><br /></span></b></span><br />
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">URLFetch</span></b></span><br />
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;">We’ve updated the way URLFetch handles multiple headers in response to one of our </span><a href="http://code.google.com/p/googleappengine/issues/detail?id=3379"><span style="vertical-align: baseline; white-space: pre-wrap;">public issues</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">. When a response contains the same header multiple times, these values will now be returned as a list.</span></b></span><br />
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="white-space: pre-wrap;"><br /></span></b><b style="font-weight: normal;"><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Conversion API Decommission</span></b></span><br />
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;">We are </span><a href="https://groups.google.com/forum/#!topic/google-appengine/-JJccGx5RRk"><span style="vertical-align: baseline; white-space: pre-wrap;">decommissioning</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> the experimental <a href="https://developers.google.com/appengine/docs/python/conversion/" >Conversion API</a> as of our November release. Please begin exploring alternative document conversion mechanisms. </span></b><b style="font-weight: normal;"><br /></b><b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;"><br /></span></b></span><br />
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="vertical-align: baseline; white-space: pre-wrap;">The complete list of features and bug fixes for 1.7.1 can be found in our release notes (<a href="http://code.google.com/p/googleappengine/wiki/SdkForJavaReleaseNotes" >Java</a>, <a href="http://code.google.com/p/googleappengine/wiki/SdkForGoReleaseNotes" >Go</a>, <a href="http://code.google.com/p/googleappengine/wiki/SdkReleaseNotes" >Python</a>). For App Engine coding questions and answers check us out on Stack Overflow, and for general discussion and feedback, find us on our Google Group.</span></b><b style="font-weight: normal;"><br /></b><b style="font-weight: normal;"><br /></b><b style="font-weight: normal;"><span style="font-style: italic; vertical-align: baseline; white-space: pre-wrap;">Attention App Engine experts: Interested in helping new businesses and enterprise customers be successful with Google Cloud Platform? Check out our job posting for </span><a href="http://www.google.com/about/jobs/locations/mountain-view/client-facing/technical-sales/solutions-architect-cloud-platform-mountain-view.html"><span style="font-style: italic; vertical-align: baseline; white-space: pre-wrap;">Solution Architects</span></a><span style="font-style: italic; vertical-align: baseline; white-space: pre-wrap;">. </span><span style="background-color: white; font-style: italic; vertical-align: baseline; white-space: pre-wrap;">We are also hiring </span><a href="http://www.google.com/about/jobs/locations/mountain-view/ops-support/technical-writing/technical-writer-developer-products-mountain-view.html"><span style="background-color: white; font-style: italic; vertical-align: baseline; white-space: pre-wrap;">technical writers</span></a><span style="background-color: white; font-style: italic; vertical-align: baseline; white-space: pre-wrap;"> in Mountain View and San Francisco</span><span style="background-color: white; font-style: italic; vertical-align: baseline; white-space: pre-wrap;"> to document cool new App Engine features and engage with the community to broaden the impact of Google's cloud offerings.</span></b></span><br />
]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/app-engine-1-7-1-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Neural Network for Breast Cancer Data Built on Google App Engine</title>
		<link>https://googledata.org/google-app-engine/neural-network-for-breast-cancer-data-built-on-google-app-engine/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=neural-network-for-breast-cancer-data-built-on-google-app-engine</link>
		<comments>https://googledata.org/google-app-engine/neural-network-for-breast-cancer-data-built-on-google-app-engine/#comments</comments>
		<pubDate>Tue, 07 Aug 2012 16:00:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=08696e4e809f34f42abb6153aaf83ec1</guid>
		<description><![CDATA[Today’s guest blog post comes from 17-year-old Brittany Wenger, the winner of this year’s Google Science Fair. Brittany built an application on Google App Engine called the "Global Neural Network Cloud Service for Breast Cancer." This artificial ne...]]></description>
				<content:encoded><![CDATA[<b id="internal-source-marker_0.3074000731576234" style="font-weight: normal;"><span style="font-family: inherit;"><span style="color: #333333; font-style: italic; vertical-align: baseline; white-space: pre-wrap;">Today’s guest blog post comes from 17-year-old </span><span style="background-color: white; color: #222222; font-style: italic; vertical-align: baseline; white-space: pre-wrap;">Brittany Wenger, the winner of this year’s </span><a href="http://www.google.com/intl/en/events/sciencefair/index.html"><span style="background-color: white; color: #1155cc; font-style: italic; vertical-align: baseline; white-space: pre-wrap;">Google Science Fair</span></a><span style="background-color: white; color: #222222; font-style: italic; vertical-align: baseline; white-space: pre-wrap;">. Brittany built an application on Google App Engine called the "</span><span style="background-color: white; color: #444444; font-style: italic; vertical-align: baseline; white-space: pre-wrap;">Global Neural Network Cloud Service for Breast Cancer." This artificial neural network can detect complex patterns in data, learning how to classify malignant or cancerous cells it hasn’t seen before. </span><a href="http://www.google.com/intl/en/events/sciencefair/projects/gsf83.html"><span style="background-color: white; color: #1155cc; font-style: italic; vertical-align: baseline; white-space: pre-wrap;">Learn more about her project</span></a><span style="background-color: white; color: #444444; font-style: italic; vertical-align: baseline; white-space: pre-wrap;">.&nbsp;</span></span></b><br />
<b style="font-weight: normal;"><span style="font-family: inherit;"><span style="color: #444444;"><span style="white-space: pre-wrap;"><i><br />
</i></span></span><span style="background-color: white; color: #222222; vertical-align: baseline; white-space: pre-wrap;"></span><img height="131" src="https://lh5.googleusercontent.com/sYFBBiw6XB2uEkQBTLCDqQvfi1vzId7q-EFvGIkeEqgaq-c7Q7HEaT5tdUIM8rU7l5-a9E_8gZzqDhnFEu7xV8MnXAeez41Ckq9DN0wO_S8nEY0rqek" width="200" /><img height="131" src="https://lh5.googleusercontent.com/OpQSE0LmsWmYTahY3XAwb0RTPUluMhwT_FEbKhF7OU27iVxHk6on9VTruCW2loeks6HICe3Chjg4zXZxp9ko0rQhC3X_QeThTZFyaQc87RTZaGzoc7Y" width="200" /><span style="background-color: white; color: #222222; vertical-align: baseline; white-space: pre-wrap;"></span><br />
<span style="background-color: white; color: #222222; vertical-align: baseline; white-space: pre-wrap;"></span><br />
<span style="vertical-align: baseline; white-space: pre-wrap;">When a patient has a palpable breast lump, the first step a doctor takes is to determine whether the mass is malignant or benign. One relatively simple diagnostic procedure is a form of biopsy called fine needle aspiration (FNA). Though these tests are less invasive than others, they are historically less accurate as well. My goal was to create a tool for doctors to use when interpreting test results from these procedures. </span><br />
<span style="vertical-align: baseline; white-space: pre-wrap;"></span><br />
<span style="background-color: white; color: #222222; vertical-align: baseline; white-space: pre-wrap;">For this project, I decided to create a neural network built on Google App Engine, using </span><a href="http://archive.ics.uci.edu/ml/datasets/Breast+Cancer+Wisconsin+(Original)"><span style="background-color: white; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">data</span></a><span style="background-color: white; color: #222222; vertical-align: baseline; white-space: pre-wrap;"> published to the </span><a href="http://archive.ics.uci.edu/ml/index.html"><span style="background-color: white; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Machine Learning Repository</span></a><span style="background-color: white; color: #222222; vertical-align: baseline; white-space: pre-wrap;"> by the University of Wisconsin. A neural network attempts to replicate the brain as a form of artificial intelligence through networks of computers and can be used to detect extremely complex patterns. It learns from its mistakes, so it can classify a case it hasn’t seen before as malignant or cancerous based on specific criteria like clump thickness or bland chromatin. Because the diagnostic power of the network improves the more data it has, building on App Engine is a way to ensure the app can continue to scale easily, no matter how much information goes into the system. </span><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br />
<span style="background-color: white; color: #222222; vertical-align: baseline; white-space: pre-wrap;"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><br />
<span style="background-color: white; color: #222222; vertical-align: baseline; white-space: pre-wrap;">I got started integrating my neural network application code, written in Java, with App Engine in a few hours using the SDK’s Greeting Service sample code as a starting point. The application has two main parts, a training module, that implements the neural network itself and runs the training process over the input data stored in static files, and a web interface that takes input data and returns the network’s analysis.</span><br />
<span style="background-color: white; color: #222222; vertical-align: baseline; white-space: pre-wrap;"></span><br />
<span style="background-color: white; color: #222222; vertical-align: baseline; white-space: pre-wrap;">Google App Engine provides the scalable infrastructure I need to collect information from every hospital in the world and run when there are many concurrent requests, as usage of my application increases. Because my network is built as a cloud service, not only is my app working on the web, but mobile tablets, smartphones, old PC systems, or new technologies can also easily access the service from any hospital with an internet connection. </span><br />
<span style="background-color: white; color: #222222; vertical-align: baseline; white-space: pre-wrap;"></span><br />
<span style="vertical-align: baseline; white-space: pre-wrap;">The neural network I developed is 99.11% sensitive to malignancy when using </span><a href="http://en.wikipedia.org/wiki/Cross-validation_(statistics)#Leave-one-out_cross-validation"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">leave-one-out testing</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> with original data. </span><span style="background-color: white; color: #222222; vertical-align: baseline; white-space: pre-wrap;">Thus far, I have run 7.6 million trials. Moving forward my goal is to make the application accessible to the global medical community so more data can be deposited and used to improve the diagnostic power of the network. </span></span></b>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/neural-network-for-breast-cancer-data-built-on-google-app-engine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Announcing Google App Engine education awards</title>
		<link>https://googledata.org/google-app-engine/announcing-google-app-engine-education-awards/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=announcing-google-app-engine-education-awards</link>
		<comments>https://googledata.org/google-app-engine/announcing-google-app-engine-education-awards/#comments</comments>
		<pubDate>Mon, 30 Jul 2012 17:31:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=43b935955d262fd823819cbf61b623b2</guid>
		<description><![CDATA[In addition to the startups and businesses we frequently highlight on our blog, we have seen educational institutions and their students build amazing applications, using Google App Engine as a platform for teaching and groundbreaking research. 

Earli...]]></description>
				<content:encoded><![CDATA[<b id="internal-source-marker_0.7265451839193702" style="font-weight: normal;"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">In addition to the startups and businesses we frequently highlight on our blog, we have seen educational institutions and their students build amazing applications, using Google App Engine as a platform for teaching and groundbreaking research. </span><br />
<span style="vertical-align: baseline; white-space: pre-wrap;"></span><br />
<span style="vertical-align: baseline; white-space: pre-wrap;">Earlier this year we <a href="http://googleappengine.blogspot.com/2012/03/announcing-app-engine-research-awards.html" >announced</a> funding for researchers looking to use App Engine for scientific discovery. Today we are introducing the Google App Engine Education Awards to foster continued innovation from educational institutions in areas outside of research. Through this program we are inviting faculty members, initially from the United States, to submit proposals for using App Engine for their course development, educational research, university tools or for student projects. A selection of the proposals we receive will receive $1,000 in App Engine credits to assist in making the proposal a reality. </span><br />
<span style="vertical-align: baseline; white-space: pre-wrap;"></span><br />
<span style="vertical-align: baseline; white-space: pre-wrap;">App Engine allows you to build scalable applications using the same technology that powers Google’s global-scale web applications. With no hardware to setup, App Engine makes it simple to learn how to write a simple web application or to build an application that handles millions of hits a day. If you haven’t already tried App Engine, we encourage you to </span><a href="https://developers.google.com/appengine/downloads"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">download the SDK</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">, follow the </span><a href="https://developers.google.com/appengine/docs/java/gettingstarted/"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Getting Started Guide</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> and take advantage of our free tier to deploy your first application.</span><span style="text-decoration: line-through; vertical-align: baseline; white-space: pre-wrap;"></span><br />
<span style="background-color: white; color: #444444; vertical-align: baseline; white-space: pre-wrap;"></span><br />
<span style="vertical-align: baseline; white-space: pre-wrap;">If you teach at an accredited college, university or community college in the United States, we encourage you to apply. You can submit a proposal by filling out </span><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"><a href="https://docs.google.com/spreadsheet/viewform?formkey=dE15dWQ2eWlTc01wS0tYWnZsTlhBMkE6MQ#gid=0">this form</a></span><span style="vertical-align: baseline; white-space: pre-wrap;">. Applications must be received by midnight PST August 31, 2012.</span><br />
<span style="vertical-align: baseline; white-space: pre-wrap;"></span><br />
<span style="vertical-align: baseline; white-space: pre-wrap;"></span><br />
<span style="vertical-align: baseline; white-space: pre-wrap;">- Posted by the Google App Engine Team</span></span></b>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/announcing-google-app-engine-education-awards/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Analyzing your Google App Engine Logs with Google BigQuery</title>
		<link>https://googledata.org/google-app-engine/analyzing-your-google-app-engine-logs-with-google-bigquery/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=analyzing-your-google-app-engine-logs-with-google-bigquery</link>
		<comments>https://googledata.org/google-app-engine/analyzing-your-google-app-engine-logs-with-google-bigquery/#comments</comments>
		<pubDate>Mon, 23 Jul 2012 23:41:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=91cc6d804b60fc8877c0310d87c274f5</guid>
		<description><![CDATA[Developers know that logging and logs analysis can often mean the difference between delighting and disappointing users. With the Google App Engine LogService API, it’s easy to add logging to your App Engine App with just a few lines of code. But of ...]]></description>
				<content:encoded><![CDATA[<b id="internal-source-marker_0.7840808290056884" style="font-weight: normal;"><span style="font-family: inherit;"><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">Developers know that logging and logs analysis can often mean the difference between delighting and disappointing users. With the Google App Engine </span><a href="https://developers.google.com/appengine/docs/python/logservice/"><span style="background-color: transparent; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">LogService API</span></a><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">, it’s easy to add logging to your App Engine App with just a few lines of code. But of course, logging events is only the beginning, and today we’re particularly excited to highlight using </span><a href="https://developers.google.com/bigquery/"><span style="background-color: transparent; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Google BigQuery</span></a><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"> to analyze your App Engine logs. </span><br /><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">Google BigQuery is an externalized version of Google’s own logs analysis framework that allows developers to run queries across billions of rows of data in seconds via a RESTful API. BigQuery uses a familiar SQL-like query language and is able to scale to datasets that are terabytes in size and beyond.</span><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"> We see BigQuery as a natural fit for logs analysis, and at I/O this year, our developer relations team led a </span><a href="https://developers.google.com/events/io/sessions/gooio2012/1417/"><span style="background-color: transparent; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">codelab</span></a><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"> demonstrating how to import and analyze App Engine logs with BigQuery. </span><br /><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">Our customers have also had success with this technique, and App Engine developers at </span><a href="http://www.streak.com/"><span style="background-color: transparent; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Streak.com</span></a><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"> posted their own </span><a href="http://blog.streak.com/2012/07/export-your-google-app-engine-logs-to.html"><span style="background-color: transparent; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">walkthrough</span></a><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"> and </span><a href="https://github.com/StreakYC/mache"><span style="background-color: transparent; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Java framework</span></a><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">, called Mache, for automatically exporting App Engine logs into BigQuery. Mache provides a simple interface for scheduling cron jobs that parse and ingest log file data into BigQuery at user-defined intervals.</span><br /><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">If you’re interested in trying out Google BigQuery with App Engine, check out the </span><a href="https://developers.google.com/bigquery/docs/getting-started"><span style="background-color: transparent; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">getting started guide</span></a><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"> and the </span><a href="http://log2bq-codelab-io12.appspot.com/slides"><span style="background-color: transparent; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">sample code</span></a><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"> from our I/O codelab. Happy logging!</span><br /><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">- Posted by the Google App Engine Team</span><br /><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-size: x-small;"><span style="background-color: transparent; font-style: italic; vertical-align: baseline; white-space: pre-wrap;">Also, if you’re interested in analyzing Datastore data in BigQuery, check out our </span><a href="https://developers.google.com/bigquery/articles/datastoretobigquery"><span style="background-color: transparent; color: #1155cc; font-style: italic; vertical-align: baseline; white-space: pre-wrap;">article</span></a><span style="background-color: transparent; font-style: italic; vertical-align: baseline; white-space: pre-wrap;"> that shows how to use App Engine MapReduce to manage the transformation and export of Datastore entities.</span></span></span></b>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/analyzing-your-google-app-engine-logs-with-google-bigquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Develop in the cloud with eXo’s Cloud IDE</title>
		<link>https://googledata.org/google-app-engine/develop-in-the-cloud-with-exos-cloud-ide/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=develop-in-the-cloud-with-exos-cloud-ide</link>
		<comments>https://googledata.org/google-app-engine/develop-in-the-cloud-with-exos-cloud-ide/#comments</comments>
		<pubDate>Tue, 17 Jul 2012 18:48:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=d6c866e4abea1cacb36cc2cc829751e3</guid>
		<description><![CDATA[
Today’s post comes from Mark Downey of eXo, creator of Cloud IDE. Cloud IDE is an online IDE for Java, Python, PHP, Ruby or Javascript, and for nearly two years it has been used by developers to build applications for a number of PaaS environments. ...]]></description>
				<content:encoded><![CDATA[<br />
<span style="font-family: inherit;"><b id="internal-source-marker_0.9360945655498654" style="font-weight: normal;"><span style="background-color: transparent; font-style: italic; vertical-align: baseline; white-space: pre-wrap;">Today’s post comes from Mark Downey of eXo, creator of Cloud IDE. Cloud IDE is an online IDE for Java, Python, PHP, Ruby or Javascript, and for nearly two years it has been used by developers to build applications for a number of PaaS environments. They recently added support for deploying code to Google App Engine. </span></b><b id="internal-source-marker_0.9360945655498654" style="font-weight: normal;"><br />
<br />
</b><b id="internal-source-marker_0.9360945655498654" style="font-weight: normal;"><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">Since eXo started the </span><a href="http://cloud-ide.com/"><span style="background-color: transparent; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Cloud IDE project</span></a><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"> back in 2010, our objective has been to make developers more productive in building and deploying cloud-based apps. We’ve made it easy to import, build and debug code from </span><a href="https://github.com/"><span style="background-color: transparent; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Github</span></a><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"> and to deploy it to a PaaS. We have tried to make the development workflow as painless as possible by providing a smooth integration with popular Cloud services from source control to application hosting, and now we’re bringing that integration to the Google App Engine world.</span></b></span><br />
<span style="font-family: inherit;"><b id="internal-source-marker_0.9360945655498654" style="font-weight: normal;"><span style="white-space: pre-wrap;">
</span></b><b id="internal-source-marker_0.9360945655498654" style="font-weight: normal;"><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">Developers can now use Cloud IDE to build, debug and deploy App Engine apps without having to install and configure the App Engine SDK or any traditional desktop IDE. Everything happens right in the browser.</span></b></span><br />
<br />
<span style="font-family: inherit;"><b id="internal-source-marker_0.9360945655498654" style="font-weight: normal;"><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">It’s easy to get started. Once you have a </span><a href="http://cloud-ide.com/"><span style="background-color: transparent; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Cloud IDE account,</span></a><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"> start a new project and select a Google App Engine app (Java or Python) as the project type. Confirm that you want to deploy to Google App Engine, and you will then be asked to create an app with your App Engine account.</span></b></span><br />
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">
</span></b></span><br />
<div class="separator" style="clear: both; text-align: center;">
<b id="internal-source-marker_0.9360945655498654" style="font-weight: normal; margin-left: 1em; margin-right: 1em;"><img height="287px;" src="https://lh6.googleusercontent.com/pjCPbXLmMxzh0-wxYcJqUYD5zNekaoVof-A2vnNz4CD4XsPZ5QxTGBfW1S-ZVNoncb1tL5VbMM_NJT0-UwqJtXbpH1Kuk5SK2U4gPLl2x1d9YFtbiXA" width="397px;" /></b></div>
<span style="font-family: inherit;"><b id="internal-source-marker_0.9360945655498654" style="font-weight: normal;"><br />
</b><b id="internal-source-marker_0.9360945655498654" style="font-weight: normal;"><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">This opens the App Engine admin console in a new browser tab, where you get to choose your app ID (which will define the URL of your application). Upon completion, a callback in the URL automatically updates your appengine-web.xml with your app ID, inside Cloud IDE.&nbsp;</span></b></span><br />
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">
</span></b></span><br />
<b id="internal-source-marker_0.9360945655498654" style="font-weight: normal;"><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">That’s it! From there, just click </span><span style="background-color: transparent; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">deploy </span><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">and enter your credentials to build and deploy your app on Google App Engine.</span></b><br />
<b style="font-weight: normal;"><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">
</span></b><br />
<div class="separator" style="clear: both; text-align: center;">
<b id="internal-source-marker_0.9360945655498654" style="font-weight: normal; margin-left: 1em; margin-right: 1em;"><img height="130px;" src="https://lh4.googleusercontent.com/dioEvnqalp7wcgEAEuVjssSxiprU2OJWfo4zIuOIQKveHWDuUFl8apJ8MX6XPa5jmIqDAeTKjArZD-CszKUdj48v7Vgm0BwS-6_4D1x4E47MoGf4L1U" width="395px;" /></b></div>
<span style="font-family: inherit;"><b id="internal-source-marker_0.9360945655498654" style="font-weight: normal;"><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"></span></b><b id="internal-source-marker_0.9360945655498654" style="font-weight: normal;"><br />
</b><b id="internal-source-marker_0.9360945655498654" style="font-weight: normal;"><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">In Java, you can use auto-completion (</span><span style="background-color: transparent; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">alt+space</span><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">) and have access to all the Google App Engine libraries. Many keyboard shortcuts are also available to help you develop efficiently (</span><span style="background-color: transparent; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Help &gt; Show Keyboard Shortcuts</span><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">).</span></b></span><br />
<span style="font-family: inherit;"><b id="internal-source-marker_0.9360945655498654" style="font-weight: normal;"><span style="white-space: pre-wrap;">
</span></b><b id="internal-source-marker_0.9360945655498654" style="font-weight: normal;"><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">To run and debug your app on a development server, press </span><span style="background-color: transparent; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Debug</span><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"> in the </span><span style="background-color: transparent; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Run</span><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"> menu, and set your breakpoints. Your app will run in another browser tab and you’ll be able to inspect variables at runtime.</span></b></span><br />
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">
</span></b></span><br />
<div class="separator" style="clear: both; text-align: center;">
<object 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="http://0.gvt0.com/vi/PgKdE4xZLiA/0.jpg" height="266" width="320"><param name="movie" value="http://www.youtube.com/v/PgKdE4xZLiA&fs=1&source=uds" /><param name="bgcolor" value="#FFFFFF" /><param name="allowFullScreen" value="true" /><embed width="320" height="266"  src="http://www.youtube.com/v/PgKdE4xZLiA&fs=1&source=uds" type="application/x-shockwave-flash" allowfullscreen="true"></embed></object></div>
<span style="font-family: inherit;">
</span>
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">
</span></b></span>
<span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">To re-deploy, just go to the App Engine menu in </span><b><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">Project &gt;</span><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"> PaaS </span><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">&gt;</span><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"> Google App Engine</span></b><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">, and click </span><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">Update Application</span><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">.</span><span style="font-family: inherit;"><b id="internal-source-marker_0.9360945655498654" style="font-weight: normal;"><span style="white-space: pre-wrap;">
</span></b><b id="internal-source-marker_0.9360945655498654" style="font-weight: normal;"><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">
</span></b></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<b id="internal-source-marker_0.9360945655498654" style="font-weight: normal; margin-left: 1em; margin-right: 1em;"><img height="295px;" src="https://lh3.googleusercontent.com/wME5fuS045GUkU2vqMR2i3ENYSflpZgU2COGYcpLEZfDUwS6qzzOwzzvJhhpH5fyR4XEMrsXlN0AOmClKjeMbGw7p5V4iVIFoU8lEzkQ92AvpnHxdfk" width="587px;" /><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"> </span></b></div>
<span style="font-family: inherit;"><b id="internal-source-marker_0.9360945655498654" style="font-weight: normal;"><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">
</span></b></span>
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">The Google App Engine menu also enables you to view and update your App Engine services such as Indexes, PageSpeed, Queues, DoS, Resource Limits, Crons or Backends.</span></b></span>

<br />
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"><br /></span></b></span><br />
<div class="separator" style="clear: both; text-align: center;">
<b id="internal-source-marker_0.9360945655498654" style="font-weight: normal; margin-left: 1em; margin-right: 1em;"><img height="213px;" src="https://lh3.googleusercontent.com/_QfeNBGGGJd-xp5eh2C-gY8Nb4JpH72bGx0MY47-p7ibWd6z4JFkMs0ndIHfd_lXIm7FPzcDv9Xn_4QAWScsYZOmwBN5Qpi5s_kreqxqoRkVuQ8CtFI" width="314px;" /></b></div>
<div class="separator" style="clear: both; text-align: center;">
<b style="font-weight: normal; margin-left: 1em; margin-right: 1em;">
</b></div>
<span style="font-family: inherit;"><b style="font-weight: normal;"><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"><br /></span></b></span><br />
<span style="font-family: inherit;"><b id="internal-source-marker_0.9360945655498654" style="font-weight: normal;"><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">With eXo Cloud IDE, you can run, debug and deploy App Engine apps without having to install and configure the App Engine SDK or the Google Plugin for Eclipse (or, for that matter, Eclipse itself). Because everything related to your development activities is taking place on the Cloud IDE servers, your initial setup time is dramatically reduced. In a couple minutes you can be focusing on the things that matter most: coding and refining the app itself.&nbsp;&nbsp;</span></b></span><br />
<br />
<span style="font-family: inherit;"><b id="internal-source-marker_0.9360945655498654" style="font-weight: normal;"><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">- Contributed by Mark Downey, product manager for eXo Cloud Services <a href="https://twitter.com/marksdowney" >@marksdowney</a></span></b></span>
<b id="internal-source-marker_0.9360945655498654" style="font-weight: normal;"><span style="background-color: transparent; font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"></span></b>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/develop-in-the-cloud-with-exos-cloud-ide/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Another great year for App Engine at Google I/O</title>
		<link>https://googledata.org/google-app-engine/another-great-year-for-app-engine-at-google-io/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=another-great-year-for-app-engine-at-google-io</link>
		<comments>https://googledata.org/google-app-engine/another-great-year-for-app-engine-at-google-io/#comments</comments>
		<pubDate>Tue, 03 Jul 2012 20:36:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=e0334bf515e3ec7140352e6dc3722d0c</guid>
		<description><![CDATA[

App Engine engineers talk to developers in the cloud platform sandbox at Google I/O

The dust has settled on another fantastic Google I/O. The skydiving demos and delicious jelly beans were great, but we had the most fun talking to developers and hea...]]></description>
				<content:encoded><![CDATA[<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><img border="0" height="266" src="http://2.bp.blogspot.com/-2VhkidMP-oE/T_Mj8LjOkVI/AAAAAAAAALY/6S65926kwyI/s400/IMG_7584.JPG" style="margin-left: auto; margin-right: auto;" width="400" /></td></tr>
<tr><td class="tr-caption" style="text-align: center;">App Engine engineers talk to developers in the cloud platform sandbox at Google I/O</td></tr>
</tbody></table>
<b id="internal-source-marker_0.20579941500909626" style="font-weight: normal;"><span style="font-family: inherit;"><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">The dust has settled on another fantastic Google I/O. The skydiving demos and delicious jelly beans were great, but we had the most fun talking to developers and hearing about their experiences using Google’s technology. Here are the highlights of the App Engine talks from this year.</span><br /><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"></span></span></b><br />
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li style="background-color: transparent; list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.20579941500909626" style="font-weight: normal;"><span style="font-family: inherit;"><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">In our </span><a href="http://www.youtube.com/watch?v=uy0nALQEAM4"><span style="background-color: transparent; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">overview session</span></a><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">, Peter Magnusson and Greg D’Alesandre introduced many of our new features and announced that we have attained 7.5 billion hits per day and are running more than 1 million active applications.</span></span></b></li>
<li style="background-color: transparent; list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.20579941500909626" style="font-weight: normal;"><span style="font-family: inherit;"><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">We announced </span><a href="http://www.youtube.com/watch?v=0-sF5ZWB_FY"><span style="background-color: transparent; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Google Compute Engine</span></a><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"> and Alon Levi and Adam Eijdenberg showed how to </span><a href="http://www.youtube.com/watch?v=I3Dh5a9XxX4"><span style="background-color: transparent; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">use App Engine to orchestrate compute instances</span></a><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">. </span></span></b></li>
<li style="background-color: transparent; list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.20579941500909626" style="font-weight: normal;"><span style="font-family: inherit;"><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">Cloud SQL began taking open signups and we witnessed an epic battle of the backends in our </span><a href="http://www.youtube.com/watch?v=rRoy6I4gKWU"><span style="background-color: transparent; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">SQL vs NoSQL</span></a><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"> session, with </span><a href="https://plus.google.com/u/1/107816913230059054193"><span style="background-color: transparent; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Alfred Fuller</span></a><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"> representing the Datastore and </span><a href="https://plus.google.com/u/0/111393797891738344774/posts"><span style="background-color: transparent; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Ken Ashcraft</span></a><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"> representing Cloud SQL. </span></span></b></li>
<li style="background-color: transparent; list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.20579941500909626" style="font-weight: normal;"><span style="font-family: inherit;"><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">We announced </span><a href="http://www.youtube.com/watch?v=NU_wNR_UUn4"><span style="background-color: transparent; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Google Cloud Endpoints</span></a><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"> and hosted a codelab to give developers early access to our trusted tester program.</span></span></b></li>
<li style="background-color: transparent; list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.20579941500909626" style="font-weight: normal;"><span style="font-family: inherit;"><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">Brian Quinlan covered the finer points of the </span><a href="http://www.youtube.com/watch?v=VPHHlnyoGfk"><span style="background-color: transparent; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Python 2.7 runtime</span></a><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">.</span></span></b></li>
<li style="background-color: transparent; list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.20579941500909626" style="font-weight: normal;"><span style="font-family: inherit;"><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">And last but not least, Marzia Niccolai, </span><a href="https://plus.google.com/u/0/106845140663758101814/about"><span style="background-color: transparent; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Greg Darke</span></a><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"> and Troy Trimble gave some great tips for </span><a href="https://developers.google.com/events/io/sessions/gooio2012/310/"><span style="background-color: transparent; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">optimizing App Engine applications</span></a><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">.</span></span></b></li>
</ul>
<b id="internal-source-marker_0.20579941500909626" style="font-weight: normal;"><span style="font-family: inherit;"><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">We’ll be taking a short break from our regularly scheduled release cycle in July, but we’ll get back on our usual drumbeat of monthly releases in August. </span><br /><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">- Posted by the Google App Engine Team</span></span></b>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/another-great-year-for-app-engine-at-google-io/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Google Compute Engine launches, expanding Google’s cloud offerings</title>
		<link>https://googledata.org/google-app-engine/google-compute-engine-launches-expanding-googles-cloud-offerings/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=google-compute-engine-launches-expanding-googles-cloud-offerings</link>
		<comments>https://googledata.org/google-app-engine/google-compute-engine-launches-expanding-googles-cloud-offerings/#comments</comments>
		<pubDate>Thu, 28 Jun 2012 18:05:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=38759baa580d66d3b70bef6a43e2758e</guid>
		<description><![CDATA[Today at Google I/O we were pleased to announce a new service, Google Compute Engine, to provide general purpose virtual machines (VMs) as part of our expanding set of cloud services. Google App Engine has been at the heart of Google’s cloud offering...]]></description>
				<content:encoded><![CDATA[<b id="internal-source-marker_0.5396659141406417" style="font-weight: normal;"><span style="font-family: inherit;"><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">Today at Google I/O we were pleased to announce a new service, <a href="http://googledevelopers.blogspot.com/2012/06/google-compute-engine-computing-without.html" >Google Compute Engine</a>, to provide general purpose virtual machines (VMs) as part of our expanding set of cloud services. Google App Engine has been at the heart of Google’s cloud offerings since our launch in 2008, and we’re excited to begin providing developers more flexible, generalized VMs to complement our fully-managed, autoscaling environment. App Engine has been growing rapidly since leaving preview, and we’re excited about the benefits that Google Compute Engine brings to developers who want to combine the advantages of App Engine’s easy-to-use, scalable, managed platform with the flexibility of VMs. </span><br /><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">If you are interested in using VMs with your App Engine applications in the future, let us know by signing up </span><a href="https://docs.google.com/a/google.com/spreadsheet/viewform?formkey=dDRKNzdlazFTWldOUjJEekdOcDRBZmc6MQ#gid=0"><span style="background-color: transparent; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">here</span></a><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">.</span><br /><span style="background-color: transparent; text-decoration: line-through; vertical-align: baseline; white-space: pre-wrap;"></span><br /><br /><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">- Posted by Peter S Magnusson, Engineering Director, Google App Engine Team</span></span></b><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8501956666581132164-8804007429500099387?l=googleappengine.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/google-compute-engine-launches-expanding-googles-cloud-offerings/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google App Engine 1.7.0 Released at Google I/O</title>
		<link>https://googledata.org/google-app-engine/google-app-engine-1-7-0-released-at-google-io/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=google-app-engine-1-7-0-released-at-google-io</link>
		<comments>https://googledata.org/google-app-engine/google-app-engine-1-7-0-released-at-google-io/#comments</comments>
		<pubDate>Wed, 27 Jun 2012 22:25:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=e5fd903f37eafb590061453447cae243</guid>
		<description><![CDATA[Each release is special in its own way, but this time we can’t help but be extra proud. From San Francisco to Sydney we’ve taken an extra week to pack in some of our most widely requested features and prepare a host of talks and announcements for G...]]></description>
				<content:encoded><![CDATA[<b id="internal-source-marker_0.8521958282217383" style="font-weight: normal;"><span style="font-family: inherit;"><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">Each release is special in its own way, but this time we can’t help but be extra proud. From San Francisco to Sydney we’ve taken an extra week to pack in some of our most widely requested features and prepare a host of talks and announcements for Google I/O.</span><br /><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">We’ll be bringing you more information about this release and the future of Google App Engine platform, as well as some exciting announcements from our </span><a href="http://developers.google.com/io"><span style="background-color: transparent; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">I/O YouTube live stream</span></a><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">. We’ll also be posting highlights from I/O on our blog and </span><a href="https://plus.google.com/111395306401981598462/"><span style="background-color: transparent; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Google+</span></a><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">, so tune in here for updates the rest of this week.</span><br /><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">Without further ado, here are the highlights from our 1.7.0 release:</span><br /><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">App Engine SSL for Custom Domains</span><br /><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">Starting today, developers can serve their applications via </span><a href="https://developers.google.com/appengine/docs/ssl"><span style="background-color: transparent; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">HTTPS on custom domains</span></a><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">. We’re offering both SNI and VIP based SSL, which provide both a low cost and universally supported option, respectively.</span><span style="background-color: transparent; text-decoration: line-through; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">Server Name Indication (SNI)</span></span></b><br />
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li style="background-color: transparent; list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.8521958282217383" style="font-weight: normal;"><span style="font-family: inherit;"><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">This allows multiple domains to share the same IP address while still allowing a separate certificate for each domain. SNI is supported by the majority of modern web browsers. SNI is priced at $9/month which includes the serving of 5 certificates. </span></span></b></li>
</ul>
<b id="internal-source-marker_0.8521958282217383" style="font-weight: normal;"><span style="font-family: inherit;"><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">Virtual IP (VIP): </span></span></b><br />
<ul style="margin-bottom: 0pt; margin-top: 0pt;"><b id="internal-source-marker_0.8521958282217383" style="font-weight: normal;"><span style="font-family: inherit;">
<li style="background-color: transparent; list-style-type: disc; vertical-align: baseline;"><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">A dedicated IP address is assigned to you for use with your applications. &nbsp;VIP is supported by all SSL/TLS compatible web clients and each VIP can serve a single hostname, wildcard or multi domain certificate. &nbsp;A VIP will cost $99/month. </span></li>
</span></b></ul>
<b id="internal-source-marker_0.8521958282217383" style="font-weight: normal;"><span style="font-family: inherit;">
<span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Google App Engine’s additional location - the EU </span><span style="background-color: transparent; font-weight: bold; text-decoration: line-through; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">For the past four years, App Engine applications have been served from North America. However, we understand that every ms of latency counts so we’ve turned up an App Engine cluster in the European Union so that our developers with customers primarily in Europe can have confidence that their site will look as fast as they’ve designed it.</span><br /><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">Initially, the </span><a href="https://developers.google.com/appengine/docs/premier/location"><span style="background-color: transparent; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Google App Engine cluster in the European Union</span></a><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"> will be limited to Premier Accounts only. If you are interested in signing up for a Premier Account to get access to our European cluster, as well as Premium Support and invoice billing, please contact our sales team at appengine_premier_requests@google.com.</span><br /><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">PageSpeed - Making the Google App Engine Powered Web Faster</span><br /><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">At Google we’ve had an ongoing commitment to making the web faster and for almost a year the </span><a href="https://developers.google.com/speed/pagespeed/service"><span style="background-color: transparent; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">PageSpeed Service</span></a><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"> team has been enabling websites to optimize their static content for delivery to end users at lightning fast speed. Today we’re </span><a href="https://developers.google.com/appengine/docs/adminconsole/performancesettings#pagespeed"><span style="background-color: transparent; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">making this service available</span></a><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"> to our HRD applications with just a few clicks. Use of the PageSpeed Service is priced at $0.39 per GB of outgoing bandwidth, in addition to standard App Engine outgoing bandwidth price.</span><br /><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">GeoPoint Support in Search</span><br /><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">Our Search team deserved a break after releasing the Search API a month and a half ago, but instead they’ve worked hard to announce exciting improvements at Google I/O. You can now store latitude and longitude as a <a href="https://developers.google.com/appengine/docs/python/search/geopointclass" >GeoPoint</a> in a GeoField, and <a href="https://developers.google.com/appengine/docs/python/search/overview#Performing_Location-Based_Searches" >search documents by distance</a> from that GeoPoint.</span><br /><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Other Service Updates</span><br /><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">Here are some other amazing updates we have this release:</span></span></b><br />
<ul style="margin-bottom: 0pt; margin-top: 0pt;"><b id="internal-source-marker_0.8521958282217383" style="font-weight: normal;"><span style="font-family: inherit;">
<li style="background-color: transparent; list-style-type: disc; vertical-align: baseline;"><a href="https://developers.google.com/appengine/docs/adminconsole/migration#Using_the_Migration_Tool"><span style="background-color: transparent; color: #1155cc; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Blob Migration Tool </span></a><span style="background-color: transparent; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">now Generally Available</span><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"> - Since the deprecation announcement for Master/Slave Datastore (M/S), we’ve been continually improving the experience for apps migrating from M/S to HRD. We’re happy to announce that the Blob Migration tool is now generally available, so you can migrate both your Blobstore and Datastore data in one easy step.</span></li>
<li style="background-color: transparent; list-style-type: disc; vertical-align: baseline;"><span style="background-color: transparent; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Application Code Limits Raised from 150MB/version to 1 GB/application</span><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"> - For those of you biting your fingernails every time you update your application, wondering if today will be the day you finally reach the 150MB application version limit, fret not! We’ve updated the application size limit to be 1GB total for all versions of your application. You can check your app’s Admin Console to see the total size of all your application versions. In the future, you’ll be able to purchase more quota to store additional files.</span></li>
<li style="background-color: transparent; list-style-type: disc; vertical-align: baseline;"><a href="https://developers.google.com/appengine/docs/python/logservice/overview#Quotas_and_Limits"><span style="background-color: transparent; color: #1155cc; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Logs API Updates</span></a><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"> - Paid applications will now be able to specify a logs retention time frame of up to 1 year for their application logs, provided that the logs storage size specified is sufficient for that period. Additionally, we’re introducing some Logs API billing changes so that you can pay to read application logs after the first 100MB. Reading from the Logs API will cost $0.12/gigabyte for additional data over the first 100MB.</span></li>
<li style="background-color: transparent; list-style-type: disc; vertical-align: baseline;"><span style="background-color: transparent; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Go SDK for Windows</span><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"> - We’ve published an experimental SDK for Windows for the Go runtime.</span></li>
</span></b></ul>
<b id="internal-source-marker_0.8521958282217383" style="font-weight: normal;"><span style="font-family: inherit;">
<span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">Don’t think these are all the new features we’ve introduced with 1.7.0; we’ve got so much more than just the highlights above. Make your way to our release notes for </span><a href="http://code.google.com/p/googleappengine/wiki/SdkForJavaReleaseNotes"><span style="background-color: transparent; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Java</span></a><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">, </span><a href="http://code.google.com/p/googleappengine/wiki/SdkReleaseNotes"><span style="background-color: transparent; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Python</span></a><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">, and </span><a href="http://code.google.com/p/googleappengine/wiki/SdkForGoReleaseNotes"><span style="background-color: transparent; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Go</span></a><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"> straightaway to read about 1.7.0. If you have any feedback, we’d love to hear it in our </span><a href="https://groups.google.com/forum/?fromgroups#!forum/google-appengine"><span style="background-color: transparent; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Google Group</span></a><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">. We and the whole </span><a href="http://stackoverflow.com/questions/tagged/google-app-engine"><span style="background-color: transparent; color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Stack Overflow</span></a><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"> community for App Engine have been working hard to answer all your technical questions on the App Engine platform.</span><br /><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">- Posted by the Google App Engine Team</span><br /><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;"></span><br /><br /><span style="background-color: white; color: #666666; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: x-small;">Windows is a registered trademark of Microsoft Corporation in the United States and other countries. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Python is a registered trademark of the Python Software Foundation.</span></span></span></b><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8501956666581132164-8158818651470397836?l=googleappengine.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/google-app-engine-1-7-0-released-at-google-io/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>1.6.6 SDK Released</title>
		<link>https://googledata.org/google-app-engine/1-6-6-sdk-released/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=1-6-6-sdk-released</link>
		<comments>https://googledata.org/google-app-engine/1-6-6-sdk-released/#comments</comments>
		<pubDate>Tue, 22 May 2012 20:17:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=9cfad11aedaff1a8af6997563ff46413</guid>
		<description><![CDATA[

While the Search API was a feature that was just so exciting we couldn’t wait to share it, we still have our regularly scheduled release for May full of new offerings, fixes and refinements with a little something for everyone.



Search API

For t...]]></description>
				<content:encoded><![CDATA[<br />
<div class="p1">
<span style="font-family: inherit;">While the Search API was a feature that was just so exciting we couldn’t wait to <a href="http://googleappengine.blogspot.com/2012/05/looking-for-search-find-it-on-google.html"><span class="s1">share it</span></a>, we still have our regularly scheduled release for May full of new offerings, fixes and refinements with a little something for everyone.</span></div>
<div class="p2">
<span style="font-family: inherit;"><br /></span></div>
<div class="p1">
<b><span style="font-family: inherit;">Search API</span></b></div>
<div class="p1">
<span style="font-family: inherit;">For the Search API, we’ve included a change that displays the current experimental quota limits in the Admin Console. We've also made several bug fixes and small naming changes in the API to improve consistency.&nbsp;</span></div>
<div class="p2">
<span style="font-family: inherit;"><br /></span></div>
<div class="p1">
<b><span style="font-family: inherit;">Service Refinements</span></b></div>
<div class="p1">
<span style="font-family: inherit;">As a result of the <a href="http://googleappengine.blogspot.com/2012/04/masterslave-datastore-thanks-for-all.html"><span class="s1">Master/Slave datastore deprecation</span></a>, new users will no longer be able to create new Master/Slave applications. We strongly suggest that developers <a href="https://developers.google.com/appengine/docs/adminconsole/migration"><span class="s1">move their existing Master/Slave applications to HRD</span></a>.</span></div>
<div class="p2">
<span style="font-family: inherit;"><br /></span></div>
<div class="p1">
<b><span style="font-family: inherit;">Feature Updates</span></b></div>
<div class="p1">
<span style="font-family: inherit;">We are always looking for ways to remove our system limits so that developers can get the most out of the App Engine platform. With this release, apps that have billing enabled can now configure up to 100 cron jobs.</span></div>
<div class="p2">
<span style="font-family: inherit;"><br /></span></div>
<div class="p1">
<span style="font-family: inherit;">Lastly, we will be prompting a small percentage of admin console users each week to participate in an optional user satisfaction survey.</span></div>
<div class="p1">
<span style="font-family: inherit;"><br /></span></div>
<div class="p1">
<span style="font-family: inherit;">Of course, we can’t get to all the new things we have for you here, so don’t forget to read the full release notes for <a href="http://code.google.com/p/googleappengine/wiki/SdkReleaseNotes"><span class="s1">Python</span></a>, <a href="http://code.google.com/p/googleappengine/wiki/SdkForJavaReleaseNotes"><span class="s1">Java</span></a>, and <a href="http://code.google.com/p/googleappengine/wiki/SdkForGoReleaseNotes"><span class="s1">Go</span></a>. <a href="http://stackoverflow.com/questions/tagged/google-app-engine"><span class="s1">Stack Overflow</span></a> for App Engine is an amazing way to get technical help from the community and members of the App Engine team, and we continue the lively discussion about App Engine over on our <a href="https://groups.google.com/forum/?fromgroups#!forum/google-appengine"><span class="s1">Google Group</span></a>.</span></div>
<div class="p2">
<span style="font-family: inherit;"><br /></span></div>
<div class="p2">
<br /></div>
<div class="p1">
<span style="font-family: inherit;">- Posted by the Google App Engine Team</span></div>
<div class="p2">
<span style="font-family: inherit;"><br /></span></div>
<div class="p2">
<span style="font-family: inherit;"><br /></span></div>
<div class="p3">
<span style="font-family: inherit;"><i>Interested in working with the Google App Engine team? We are hiring </i><a href="http://www.google.com/about/jobs/locations/mountain-view/client-facing/technical-sales/solutions-architect-cloud-platforms-mountain-view.html"><span class="s1"><i>solutions architects</i></span></a><i> to help support our premier customers and engage with the community to broaden the impact of Google's cloud offerings.</i></span></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8501956666581132164-6406696031776645687?l=googleappengine.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/1-6-6-sdk-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cloud SQL: pick the plan that fits your app</title>
		<link>https://googledata.org/google-app-engine/cloud-sql-pick-the-plan-that-fits-your-app/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=cloud-sql-pick-the-plan-that-fits-your-app</link>
		<comments>https://googledata.org/google-app-engine/cloud-sql-pick-the-plan-that-fits-your-app/#comments</comments>
		<pubDate>Thu, 10 May 2012 17:05:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=c35487b9d070482c2a7756b2b3f3eae2</guid>
		<description><![CDATA[One of the most requested additions to the Google App Engine platform has been a SQL database, and more than 10,000 developers have signed up for the Google Cloud SQL service since the preview launch last October. Google Cloud SQL automatically provisi...]]></description>
				<content:encoded><![CDATA[<span id="internal-source-marker_0.18458157475106418"><span style="font-family: inherit;"><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">One of the most requested additions to the Google App Engine platform has been a SQL database, and more than 10,000 developers have signed up for the Google Cloud SQL service since the preview launch last October. </span><a href="https://developers.google.com/cloud-sql/" style="font-weight: bold;"><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Google Cloud SQL</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> automatically provisions and maintains your databases, allowing you to focus on your applications and services. </span></span></span><br />
<span style="font-family: inherit;"><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"><br /></span></span><br />
<span style="font-family: inherit;"><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Since launch, we’ve been busy working on improving the performance, and adding features like scheduled backups and multihoming to increase availability and improve performance. We are also now offering more powerful instances with up to 4GB of RAM.&nbsp;</span></span><br />
<span style="font-family: inherit;"><span style="white-space: pre-wrap;"><br /></span><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Today we are announcing our </span><a href="https://developers.google.com/cloud-sql/docs/billing" style="font-weight: bold;"><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">pricing</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">, which will take effect on June 12th with two options to choose from:</span></span><br />
<ul style="font-weight: bold; margin-bottom: 0pt; margin-top: 0pt;">
<li style="list-style-type: disc; vertical-align: baseline;"><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">For developers who want to try out the service, or who have lightweight applications - we offer a flexible “per use” pricing scheme. For example, you can get started with a cloud hosted MySQL database for around a dollar per month. You pay for just what you use.</span></span></li>
</ul>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li style="font-weight: bold; list-style-type: disc; vertical-align: baseline;"><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">For developers with more traffic, there are packages that offer a discount and help you predict your costs in advance.</span></span></li>
</ul>
<span style="font-family: inherit;"><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Google Cloud SQL is currently in limited preview. If you want to give us a try, start here </span><a href="https://developers.google.com/cloud-sql/" style="font-weight: bold;"><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">https://developers.google.com/cloud-sql/.</span></a><br /><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Posted by Joe Faith on behalf of the Google Cloud SQL team</span></span><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8501956666581132164-6093501885231040898?l=googleappengine.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/cloud-sql-pick-the-plan-that-fits-your-app/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Looking for search? Find it on Google App Engine</title>
		<link>https://googledata.org/google-app-engine/looking-for-search-find-it-on-google-app-engine/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=looking-for-search-find-it-on-google-app-engine</link>
		<comments>https://googledata.org/google-app-engine/looking-for-search-find-it-on-google-app-engine/#comments</comments>
		<pubDate>Tue, 08 May 2012 21:33:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=1d8f411af182a14f4887a75187b526d0</guid>
		<description><![CDATA[For almost as long as we can remember, full text search has been one of the top feature requests for Google App Engine. Since our talk at Google I/O last year, we’ve been hard at work getting search ready for our developers, and today we’re happy t...]]></description>
				<content:encoded><![CDATA[<b id="internal-source-marker_0.850047857966274"><span style="font-family: inherit;"><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">For almost as long as we can remember, full text search has been one of the </span><a href="http://code.google.com/p/googleappengine/issues/detail?id=217&amp;colspec=ID%20Type%20Component%20Status%20Stars%20Summary%20Language%20Priority%20Owner%20Log" ><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">top feature requests</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> for Google App Engine. Since our </span><a href="http://www.youtube.com/watch?v=7B7FyU9wW8Y" ><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">talk at Google I/O last year</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">, we’ve been hard at work getting search ready for our developers, and today we’re happy to announce that we are making it available as an Experimental feature. </span></span></b><br />
<span id="internal-source-marker_0.850047857966274"><span style="font-family: inherit;"><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">The </span><a href="https://developers.google.com/appengine/docs/python/search/overview" style="font-weight: bold;" ><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Search API</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">, like many other features of Google App Engine, allows you to take advantage of parts of Google’s infrastructure to add full text search to your application. This release includes a host of features including searching specific fields and ranges as well as more advanced features like scoring and snippeting. Whether you want to index products and search price ranges or just match keywords over articles and comments, the Search API is ready for you to test drive. </span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">To help you start integrating search into your application, we’ve created a <a href="http://code.google.com/p/google-app-engine-samples/source/browse/trunk/search" >sample application</a> and walkthrough and documented our </span><a href="http://code.google.com/p/googleappengine/issues/list?can=2&amp;q=Component%3DFullTextSearch+&amp;sort=component&amp;colspec=ID+Type+Component+Status+Stars+Summary+Language+Priority+Owner+Log&amp;cells=tiles" style="font-weight: bold;" ><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">known issues</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">. We are extending a limited </span><a href="https://developers.google.com/appengine/docs/python/search/overview#Quotas" style="font-weight: bold;" ><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">free quota</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> for testing during our Experimental period. </span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">As always, we’re grateful to all of our trusted testers for their patience and feedback in preparation for this launch, and we look forward to your feedback on the groups. Happy searching (and finding)!</span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">- Posted by the Google App Engine Full Text Search Team</span></span></span><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8501956666581132164-8375401675151597202?l=googleappengine.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/looking-for-search-find-it-on-google-app-engine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>App Engine 1.6.5 Released</title>
		<link>https://googledata.org/google-app-engine/app-engine-1-6-5-released/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=app-engine-1-6-5-released</link>
		<comments>https://googledata.org/google-app-engine/app-engine-1-6-5-released/#comments</comments>
		<pubDate>Tue, 24 Apr 2012 21:31:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=8b39891c55ebeeb6e672c023288a4015</guid>
		<description><![CDATA[April showers -- and a bit more than showers -- have kept us happily inside working away on our fourth release of this year (we are really looking forward to those flowers). Today’s release includes some updates to the Datastore and the runtimes, new...]]></description>
				<content:encoded><![CDATA[April showers -- and <a href="http://www.flickr.com/photos/philmcgrew/6926707884/" >a bit more than showers</a> -- have kept us happily inside working away on our fourth release of this year (we are really looking forward to those flowers). Today’s release includes some updates to the Datastore and the runtimes, new features for the Images API, and more!<br />
<h2>Datastore</h2>We’ve introduced an experimental type of query, <a href="https://developers.google.com/appengine/docs/python/datastore/queries#Query_Projection" >projection queries</a>, in the Datastore. For the SQL fans amongst us, this is similar to queries of the form:<br />
<br />
<br />
<pre>SELECT Property1, Property2 FROM MyEntity ORDER BY Property3
</pre><br />
Projection queries have the same cost and performance characteristics as keys-only queries but return entity objects populated only with the requested properties.<br />
We are also adding several other Datastore features in this release:<br />
<br />
<ul><li>Each entity group now has a numeric version property that strictly increases on every entity group change. You can use this counter, for example, to easily and consistently cache the results of an ancestor query, such as the count of all entities in an entity group (<a href="https://developers.google.com/appengine/docs/java/datastore/metadataqueries#entity_group" >Java</a>®, <a href="https://developers.google.com/appengine/docs/python/datastore/metadataqueries#entity_group" >Python</a> examples).</li>
<li>The <a href="https://developers.google.com/appengine/docs/adminconsole/datastoreadmin#Backup_And_Restore" >Datastore Admin</a> now allows you to restore individual Kinds from an existing backup, abort in-progress backups, and view more detailed backup and restore information.</li>
<li>For Python users, the <code>@db.transactional</code> decorator now supports concurrent transactions. We’ve also expanded the options available for the <code>db.run_in_transtion_options()</code> function.</li>
</ul><h2>Images API</h2><ul><li>The <a href="https://developers.google.com/appengine/docs/python/images/overview" >Images API</a> can now access image objects stored in Google Cloud Storage.</li>
<li>The URLs generated by <code><a href="https://developers.google.com/appengine/docs/python/images/functions#Image_get_serving_url" >get_serving_url()</a></code>/<code><a href="https://developers.google.com/appengine/docs/java/javadoc/com/google/appengine/api/images/ImagesService#getServingUrl(com.google.appengine.api.blobstore.BlobKey,%20int,%20boolean)" >getServingUrl()</a></code> that make use of our high-speed image serving infrastructure can now be generated to serve over HTTPS.</li>
</ul><h2>Task Queue</h2>We are looking for Trusted Testers for Task Queue Statistics. Task Queue Statistics allows you to fetch statistics and information about your task queue from within your application. <a href="https://docs.google.com/a/google.com/spreadsheet/viewform?formkey=dEVrN2p5d2pyRGRwcU5CNHo4empib0E6MQ" >Apply now to be a Trusted Tester.</a><br />
<h2>Request Headers</h2>In this release, we are including additional <a href="https://developers.google.com/appengine/docs/java/runtime#Request_Headers" >request headers</a> to provide more detailed information about the origin of a request. We’ve added <a href="https://developers.google.com/appengine/docs/python/runtime#Request_Headers" >Region, City and LatLng</a> headers to each request where this information can be inferred from the IP address.<br />
<h2>Java</h2><p>Finally, an important piece of news for our Java developers: the <code>&lt;threadsafe&gt;</threadsafe></code> element is now required in <code>appengine-web.xml</code> file; omitting it will cause an error in the dev appserver.</p><p>As always, send us feedback in our <a href="https://groups.google.com/forum/?fromgroups#!forum/google-appengine" >Google Group</a>, send us technical questions on <a href="http://stackoverflow.com/questions/tagged/google-app-engine" >Stack Overflow</a>, and read the complete release notes for all the new features and fixes in this release for <a href="http://code.google.com/p/googleappengine/wiki/SdkForJavaReleaseNotes" >Java</a>, <a href="http://code.google.com/p/googleappengine/wiki/SdkReleaseNotes" >Python</a>, and <a href="http://code.google.com/p/googleappengine/wiki/SdkForGoReleaseNotes" >Go</a>.</p><br />
<span class="byline-author">Posted by the App Engine Team</span><br />
<span class="byline-author"></span><br />
<div><span class="byline-author"><br />
</span></div><span class="byline-author"><b id="internal-source-marker_0.4298951125238091"><span style="background-color: white; font-family: Arial; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: x-small;">Java is a registered trademark of Oracle and/or its affiliates.</span></span></b></span><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8501956666581132164-1331088564746736645?l=googleappengine.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/app-engine-1-6-5-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>App Engine and Google’s new Deprecation Policy</title>
		<link>https://googledata.org/google-app-engine/app-engine-and-googles-new-deprecation-policy/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=app-engine-and-googles-new-deprecation-policy</link>
		<comments>https://googledata.org/google-app-engine/app-engine-and-googles-new-deprecation-policy/#comments</comments>
		<pubDate>Fri, 20 Apr 2012 19:38:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=ca0f136c0cb6e8c4a814ea6f4a78836f</guid>
		<description><![CDATA[As you may have seen on the Google Developer’s Blog today, Google is changing the Deprecation Policy for all Developer products as a matter of corporate policy. We would like to clarify how this impacts App Engine and you, our customers. Once the new...]]></description>
				<content:encoded><![CDATA[<b id="internal-source-marker_0.026125260395929217"><span style="font-family: inherit;"><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">As you may have seen on the </span><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"><a href="http://googledevelopers.blogspot.com/2012/04/changes-to-deprecation-policies-and-api.html">Google Developer’s Blog</a> </span><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">today, Google is changing the Deprecation Policy for all Developer products as a matter of corporate policy. We would like to clarify how this impacts App Engine and you, our customers. </span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Once the new deprecation policy takes effect, App Engine’s new Deprecation Period will be one year, the longest deprecation period Google offers across APIs and developer products. Practically, this means that </span><a href="https://developers.google.com/appengine/docs/features"><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Production Features</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> deprecated after the new policy takes effect will continue to be supported at least until 2015 or for one year, whichever period is longer. In our four year history, we have only </span><a href="http://googleappengine.blogspot.com/2012/04/masterslave-datastore-thanks-for-all.html"><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">deprecated one Production Feature, the Master/Slave Datastore</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">, and in that case it was in favor of a </span><a href="http://googleappengine.blogspot.com/2012/01/happy-birthday-high-replication.html"><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">more reliable alternative</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">. &nbsp;We take considerable care that once a feature has graduated from Experimental status it will stand the test of time, and we do not anticipate frequent deprecations in the future. &nbsp;</span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Although the official deprecation period is one year, at a minimum, if it does become necessary to deprecate a feature of App Engine we will give our customers enough advance notice to adjust their applications accordingly. Some very large customers might require more than one year; please </span><a href="http://www.google.com/enterprise/cloud/contact.html"><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">contact us</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> and we’d be happy to work with you to understand your specific needs.</span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">We want to reiterate that Google strongly supports App Engine and is excited about its steady growth. &nbsp;You can see the change in our </span><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"><a href="http://developers.google.com/appengine/upcoming_terms">upcoming new Terms of Service</a></span><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> (which will take effect July 20, 2012) and as always if you have any questions or comments, please let us know in our </span><a href="http://groups.google.com/group/google-appengine"><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Group</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">.</span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">- Posted by Greg D’Alesandre, Senior Product Manager, App Engine Team</span></span></b><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8501956666581132164-1541833185067964223?l=googleappengine.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/app-engine-and-googles-new-deprecation-policy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Master/Slave Datastore, thanks for all your hard work</title>
		<link>https://googledata.org/google-app-engine/masterslave-datastore-thanks-for-all-your-hard-work/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=masterslave-datastore-thanks-for-all-your-hard-work</link>
		<comments>https://googledata.org/google-app-engine/masterslave-datastore-thanks-for-all-your-hard-work/#comments</comments>
		<pubDate>Wed, 04 Apr 2012 20:35:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=0534cbcd41ce1302d029953cc38af1a0</guid>
		<description><![CDATA[
Almost 4 years after launch, we’ve seen fantastic growth both in Google App Engine and the apps that run on it. And although the Master/Slave Datastore was a big part of our early success, it's time to announce the deprecation of the Master/Slave Da...]]></description>
				<content:encoded><![CDATA[<span id="internal-source-marker_0.8859010271262378"><span style="font-family: inherit;"></span></span><br />
<span style="font-family: inherit;"><b id="internal-source-marker_0.8859010271262378" style="font-family: inherit;"><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Almost 4 years after </span><a href="http://googleblog.blogspot.com/2008/04/developers-start-your-engines.html"><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">launch</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">, we’ve seen fantastic growth both in Google App Engine and the apps that run on it. And although the Master/Slave Datastore was a big part of our early success, it's time to announce the deprecation of the Master/Slave Datastore in favor of the High-Replication Datastore (HRD). HRD has provided us with </span><a href="http://googleappengine.blogspot.com/2012/01/happy-birthday-high-replication.html"><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">higher availability and better, more predictable performance</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">. Many upcoming features will be HRD-only and we strongly encourage you to migrate all your applications as soon as possible </span><a href="https://developers.google.com/appengine/docs/adminconsole/migration"><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">using the migration tools</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: white; color: #333333; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">found in the Application Settings tab of the Administration Console. The deprecation period will follow the guidelines set in our </span><a href="https://developers.google.com/appengine/terms#Deprecation"><span style="background-color: white; color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">terms of service</span></a><span style="background-color: white; color: #333333; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">. </span><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">If you have any questions or concerns, please contact us at </span><span style="color: #1155cc; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">ms-datastore-deprecation@googlegroups.com</span><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">.</span></b><span style="font-family: inherit;"><br /><span style="font-weight: normal; vertical-align: baseline;"><span style="white-space: pre-wrap;"><br /></span></span></span></span><br />
<span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-weight: normal; vertical-align: baseline;"><span style="white-space: pre-wrap;">- Posted by Max Ross, on behalf of the App Engine Datastore Team   </span></span></span><span style="white-space: pre-wrap;"><br /></span></span><br />
<span style="font-family: inherit;"><span style="font-weight: normal; vertical-align: baseline;"></span></span><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8501956666581132164-3496204245656336315?l=googleappengine.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/masterslave-datastore-thanks-for-all-your-hard-work/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Happy April Fools! The Google Cloud API: cloud coverage anywhere, anytime</title>
		<link>https://googledata.org/uncategorized/happy-april-fools-the-google-cloud-api-cloud-coverage-anywhere-anytime/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=happy-april-fools-the-google-cloud-api-cloud-coverage-anywhere-anytime</link>
		<comments>https://googledata.org/uncategorized/happy-april-fools-the-google-cloud-api-cloud-coverage-anywhere-anytime/#comments</comments>
		<pubDate>Sun, 01 Apr 2012 08:32:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=9613a1cbfc329e0a7de9141a88724fd5</guid>
		<description><![CDATA[
We are thrilled to announce a project the App Engine team has been working on for a long time: the Cloud API. The Cloud API allows developers unprecedented control over cloud deployments in their area.
We think the Cloud API is a huge step forward for...]]></description>
				<content:encoded><![CDATA[<span id="internal-source-marker_0.8515096427872777"><span style="font-family: inherit;"></span></span><br />
<span style="font-family: inherit;"><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;"><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">We are thrilled to announce a project the App Engine team has been working on for a long time: the Cloud API. The Cloud API allows developers unprecedented control over cloud deployments in their area.</span></span><br />
We think the Cloud API is a huge step forward for developers. For the first time, developers can simply and easily gain cloud coverage in locations around the globe within minutes. With the Cloud API developers can drive increased cloud awareness for a wide range of new users and enterprises. This will not only allow totally new applications in the agricultural and metrology sectors to flourish but also provide a welcome addition to mobile, social and gaming. The Cloud API provides the scalability you would expect from App Engine with clouds seeded on demand and dispersed when they are no longer needed. Clouds are created using cloud engines which are specially designed jet engines with three fins.&nbsp;</span></span><br />
<span style="font-family: inherit;"><span style="white-space: pre-wrap;"><br /></span><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><b><img height="247px;" src="https://lh3.googleusercontent.com/Kph3in_lH-Jf_DuVpxA66vj4O85Uk2Jchd-nI6IsobegvgKIRYAasuHSNPoH_SESm-BieznNvAlGMfa9dtUE_qoUU8ZkVpGjrIJL0vyi3XW33TNwqek" width="276px;" /></b><br /><span style="font-size: x-small; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"><i>A Cloud Deployed Using the Cloud API. Imagery ©2012 GeoEye, DigitalGlobe, Cnes/Spot Image, TerraMetrics</i> </span></span><br />
<span style="font-family: inherit;"><br /><b><br /></b><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">The Cloud API is supported in Python, Java and Go, check out the </span><a href="http://gaeaprilfools2012.appspot.com/" style="font-weight: bold;"><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Getting Started Guide</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> to find out how simple it is to integrate clouds into your applications.</span></span><br />
<span style="font-family: inherit;"><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> </span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><b><img height="355px;" src="https://lh3.googleusercontent.com/3abSZsLbjycS4R8rfdRf9ZO0JbRAjENMdCoh_fNJ8QdVn9D4YbsuUmjW3BDfOJ-87D7VXq0H3n2EQY1oAcYtYv6xaewtkA7Eh5LV_9IZYL0Fe27WyKg" width="425px;" /></b><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">As with other parts of App Engine, the Cloud API is backed by an SLA of 99.95% uptime along with an accuracy of ±5m. Clouds come in configurable sizes ranging up to 5m<sup>3</sup> for free customers with paid and premier customers able to extend clouds to 10km<sup>3</sup>.</span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Pricing for the Cloud API are based on the likelihood of cloud in the location the cloud is requested. A cloud pricing calculator will be released in the coming days, however example pricing is provided below: </span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span></span><br />
<div dir="ltr" style="font-weight: bold;">
<table style="border-bottom-style: none; border-collapse: collapse; border-color: initial; border-image: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; width: 475px;"><colgroup><col width="*"></col><col width="*"></col><col width="*"></col></colgroup><tbody>
<tr style="height: 0px;"><td style="border-bottom-color: rgb(170, 170, 170); border-bottom-style: dotted; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(170, 170, 170); border-left-style: dotted; border-left-width: 1px; border-right-color: rgb(170, 170, 170); border-right-style: dotted; border-right-width: 1px; border-top-color: rgb(170, 170, 170); border-top-style: dotted; border-top-width: 1px; padding-bottom: 7px; padding-left: 7px; padding-right: 7px; padding-top: 7px; vertical-align: top;"><span style="vertical-align: baseline; white-space: pre-wrap;">Example Location</span></td><td style="border-bottom-color: rgb(170, 170, 170); border-bottom-style: dotted; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(170, 170, 170); border-left-style: dotted; border-left-width: 1px; border-right-color: rgb(170, 170, 170); border-right-style: dotted; border-right-width: 1px; border-top-color: rgb(170, 170, 170); border-top-style: dotted; border-top-width: 1px; padding-bottom: 7px; padding-left: 7px; padding-right: 7px; padding-top: 7px; vertical-align: top;"><span style="vertical-align: baseline; white-space: pre-wrap;">Likelihood of Cloud</span></td><td style="border-bottom-color: rgb(170, 170, 170); border-bottom-style: dotted; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(170, 170, 170); border-left-style: dotted; border-left-width: 1px; border-right-color: rgb(170, 170, 170); border-right-style: dotted; border-right-width: 1px; border-top-color: rgb(170, 170, 170); border-top-style: dotted; border-top-width: 1px; padding-bottom: 7px; padding-left: 7px; padding-right: 7px; padding-top: 7px; vertical-align: top;"><span style="vertical-align: baseline; white-space: pre-wrap;">Price/Cloud Hour/10m<sup>3</sup></span></td></tr>
<tr style="height: 29px;"><td style="border-bottom-color: rgb(170, 170, 170); border-bottom-style: dotted; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(170, 170, 170); border-left-style: dotted; border-left-width: 1px; border-right-color: rgb(170, 170, 170); border-right-style: dotted; border-right-width: 1px; border-top-color: rgb(170, 170, 170); border-top-style: dotted; border-top-width: 1px; padding-bottom: 7px; padding-left: 7px; padding-right: 7px; padding-top: 7px; vertical-align: top;"><span style="vertical-align: baseline; white-space: pre-wrap;">Seattle, WA, US</span></td><td style="border-bottom-color: rgb(170, 170, 170); border-bottom-style: dotted; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(170, 170, 170); border-left-style: dotted; border-left-width: 1px; border-right-color: rgb(170, 170, 170); border-right-style: dotted; border-right-width: 1px; border-top-color: rgb(170, 170, 170); border-top-style: dotted; border-top-width: 1px; padding-bottom: 7px; padding-left: 7px; padding-right: 7px; padding-top: 7px; vertical-align: top;"><span style="vertical-align: baseline; white-space: pre-wrap;">55%</span></td><td style="border-bottom-color: rgb(170, 170, 170); border-bottom-style: dotted; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(170, 170, 170); border-left-style: dotted; border-left-width: 1px; border-right-color: rgb(170, 170, 170); border-right-style: dotted; border-right-width: 1px; border-top-color: rgb(170, 170, 170); border-top-style: dotted; border-top-width: 1px; padding-bottom: 7px; padding-left: 7px; padding-right: 7px; padding-top: 7px; vertical-align: top;"><span style="vertical-align: baseline; white-space: pre-wrap;">Free*</span></td></tr>
<tr style="height: 0px;"><td style="border-bottom-color: rgb(170, 170, 170); border-bottom-style: dotted; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(170, 170, 170); border-left-style: dotted; border-left-width: 1px; border-right-color: rgb(170, 170, 170); border-right-style: dotted; border-right-width: 1px; border-top-color: rgb(170, 170, 170); border-top-style: dotted; border-top-width: 1px; padding-bottom: 7px; padding-left: 7px; padding-right: 7px; padding-top: 7px; vertical-align: top;"><span style="vertical-align: baseline; white-space: pre-wrap;">Brisbane, AU</span></td><td style="border-bottom-color: rgb(170, 170, 170); border-bottom-style: dotted; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(170, 170, 170); border-left-style: dotted; border-left-width: 1px; border-right-color: rgb(170, 170, 170); border-right-style: dotted; border-right-width: 1px; border-top-color: rgb(170, 170, 170); border-top-style: dotted; border-top-width: 1px; padding-bottom: 7px; padding-left: 7px; padding-right: 7px; padding-top: 7px; vertical-align: top;"><span style="vertical-align: baseline; white-space: pre-wrap;">20%</span></td><td style="border-bottom-color: rgb(170, 170, 170); border-bottom-style: dotted; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(170, 170, 170); border-left-style: dotted; border-left-width: 1px; border-right-color: rgb(170, 170, 170); border-right-style: dotted; border-right-width: 1px; border-top-color: rgb(170, 170, 170); border-top-style: dotted; border-top-width: 1px; padding-bottom: 7px; padding-left: 7px; padding-right: 7px; padding-top: 7px; vertical-align: top;"><span style="vertical-align: baseline; white-space: pre-wrap;">$0.10</span></td></tr>
<tr style="height: 0px;"><td style="border-bottom-color: rgb(170, 170, 170); border-bottom-style: dotted; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(170, 170, 170); border-left-style: dotted; border-left-width: 1px; border-right-color: rgb(170, 170, 170); border-right-style: dotted; border-right-width: 1px; border-top-color: rgb(170, 170, 170); border-top-style: dotted; border-top-width: 1px; padding-bottom: 7px; padding-left: 7px; padding-right: 7px; padding-top: 7px; vertical-align: top;"><span style="vertical-align: baseline; white-space: pre-wrap;">Yuma, AZ, US</span></td><td style="border-bottom-color: rgb(170, 170, 170); border-bottom-style: dotted; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(170, 170, 170); border-left-style: dotted; border-left-width: 1px; border-right-color: rgb(170, 170, 170); border-right-style: dotted; border-right-width: 1px; border-top-color: rgb(170, 170, 170); border-top-style: dotted; border-top-width: 1px; padding-bottom: 7px; padding-left: 7px; padding-right: 7px; padding-top: 7px; vertical-align: top;"><span style="vertical-align: baseline; white-space: pre-wrap;">10%</span></td><td style="border-bottom-color: rgb(170, 170, 170); border-bottom-style: dotted; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(170, 170, 170); border-left-style: dotted; border-left-width: 1px; border-right-color: rgb(170, 170, 170); border-right-style: dotted; border-right-width: 1px; border-top-color: rgb(170, 170, 170); border-top-style: dotted; border-top-width: 1px; padding-bottom: 7px; padding-left: 7px; padding-right: 7px; padding-top: 7px; vertical-align: top;"><span style="vertical-align: baseline; white-space: pre-wrap;">$0.20</span></td></tr>
</tbody></table>
</div>
<br />
<span style="font-family: inherit;"><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"><i>*Removal of cloud from high cloud areas such as Seattle has a cost of $0.10 per Cloud Hour per 10m<sup>3</sup>. </i></span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">If you have any questions or comments send them to the </span><a href="http://groups.google.com/group/google-appengine" style="font-weight: bold;"><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">App Engine group</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">. We'd love to hear from you.</span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">- Posted by the App Engine team</span></span><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8501956666581132164-1963827306420778755?l=googleappengine.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/uncategorized/happy-april-fools-the-google-cloud-api-cloud-coverage-anywhere-anytime/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Announcing App Engine Research Awards</title>
		<link>https://googledata.org/uncategorized/announcing-app-engine-research-awards/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=announcing-app-engine-research-awards</link>
		<comments>https://googledata.org/uncategorized/announcing-app-engine-research-awards/#comments</comments>
		<pubDate>Thu, 29 Mar 2012 19:41:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=5148af89427e6da480ed29eb2ecdc1c3</guid>
		<description><![CDATA[One of the most rewarding things about working on App Engine is watching our customers use the platform in new and unexpected ways. We're lucky to have a front row seat to the growth and success of so many innovative new projects, and in that spirit, w...]]></description>
				<content:encoded><![CDATA[<b id="internal-source-marker_0.5036937007680535"><span style="font-family: inherit;"><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">One of the most rewarding things about working on App Engine is watching our customers use the platform in new and unexpected ways. We're lucky to have a front row seat to the growth and success of so many innovative new projects, and in that spirit, we are pleased to announce the Google App Engine Research Awards.</span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">This new awards program will </span><span style="background-color: white; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">support 15 projects by providing App Engine credits in the amount of $60,000 to each</span><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> project for one year, additional Google services such as Google Cloud Storage will be coming soon as part of the program.</span><span style="font-weight: normal; text-decoration: line-through; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">We are committed to supporting scientific and academic research and welcome university faculty from all fields to participate. &nbsp;Award projects may focus on activities such as social or economic experiments, developing academic aids, analysis of gene sequence data, or using App Engine MapReduce in ways we hadn’t even considered! &nbsp;If your research has the potential to advance discovery, generates heavy data loads or is in need of an easy-to-use, easy-to-scale platform, we encourage you to submit your proposal. </span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">You can find details on how to apply on our </span><a href="http://research.google.com/university/relations/appengine/index.html"><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Google Research website</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">. Applications will be accepted until </span><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">11:59 p.m. PST, May 11, 2012. </span></span></b><br />
<br />
<span style="font-family: inherit;">- Posted by the App Engine Team</span><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8501956666581132164-2932041577699291390?l=googleappengine.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/uncategorized/announcing-app-engine-research-awards/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Go Version 1 now on App Engine</title>
		<link>https://googledata.org/google-app-engine/go-version-1-now-on-app-engine/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=go-version-1-now-on-app-engine</link>
		<comments>https://googledata.org/google-app-engine/go-version-1-now-on-app-engine/#comments</comments>
		<pubDate>Wed, 28 Mar 2012 16:08:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=11d08e2298c5136b7d3b745bc576b223</guid>
		<description><![CDATA[

Today, with the release of Go 1, a stable version of the Go language, libraries and tools, we're releasing a new Google App Engine SDK for the Go runtime.
Go is a statically typed, compiled language with a dynamic and lightweight feel. With Go you ge...]]></description>
				<content:encoded><![CDATA[<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-6qQrpCpHwsQ/T3MscypyVlI/AAAAAAAAALQ/wrYfDNTsq3U/s1600/gophergoggles33.jpeg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="200" src="http://2.bp.blogspot.com/-6qQrpCpHwsQ/T3MscypyVlI/AAAAAAAAALQ/wrYfDNTsq3U/s200/gophergoggles33.jpeg" width="169" /></a></div>
<b id="internal-source-marker_0.26783485943451524"><span style="font-family: inherit;"><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Today, with the </span><a href="http://blog.golang.org/2012/03/go-version-1-is-released.html"><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">release of Go 1</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">, a stable version of the Go language, libraries and tools, we're releasing a new Google App Engine </span><a href="https://developers.google.com/appengine/downloads#Google_App_Engine_SDK_for_Go"><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">SDK for the Go runtime</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">.</span></span></b><br />
<span id="internal-source-marker_0.26783485943451524"><span style="font-family: inherit;"><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Go is a statically typed, compiled language with a dynamic and lightweight feel. With Go you get the efficiency benefits of being close to the machine–your programs compile to native code–with the productivity and quick turnaround of a scripting language. Go apps are easy to write, start fast, and run fast. There has never been a better way to build scalable high-performance cloud applications.</span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">The Go runtime provides clean, idiomatic </span><a href="http://code.google.com/appengine/docs/go/" style="font-weight: bold;"><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Go APIs</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> for the popular App Engine services (Blobstore, Datastore, Memcache, and so on) and a straightforward development process. As with&nbsp;the Python and Java SDKs, Go apps can be tested locally with the </span><a href="http://code.google.com/appengine/docs/go/tools/devserver.html" style="font-weight: bold;"><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">development server</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> and, most convenient, the development server automatically compiles your Go code, so to test a change all you need to do is to refresh your browser.</span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">The Go 1 SDK also brings improvements and bug fixes. It uses the new Go 1 </span><a href="http://golang.org/pkg/time/" style="font-weight: bold;"><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">time API</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> throughout the SDK, provides a MultiError type for error handling in batch operations, and &nbsp;supports Datastore Cursors and the </span><a href="http://developers.google.com/appengine/docs/go/xmpp/overview" style="font-weight: bold;"><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">XMPP</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> and </span><a href="https://developers.google.com/appengine/docs/go/log/reference" style="font-weight: bold;"><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Log</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> services. See the </span><a href="http://code.google.com/p/googleappengine/wiki/SdkForGoReleaseNotes" style="font-weight: bold;"><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">release notes</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> for the details.</span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Although the Go App Engine runtime is still in experimental status for now, the language stability offered by Go 1 is a major milestone. To learn more about Go 1, see the announcement post at the </span><a href="http://blog.golang.org/2012/03/go-version-1-is-released.html" style="font-weight: bold;"><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Go blog</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> and the wealth of documentation at </span><a href="http://golang.org/" style="font-weight: bold;"><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">golang.org</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">.</span></span></span><br />
<span style="white-space: pre-wrap;"><br /></span><br />
<b><span style="font-family: inherit;"><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">- Posted by the Go and App Engine Teams</span></span></b><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8501956666581132164-4725390038792713533?l=googleappengine.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/go-version-1-now-on-app-engine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>App Engine 1.6.4 Released</title>
		<link>https://googledata.org/uncategorized/app-engine-1-6-4-released/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=app-engine-1-6-4-released</link>
		<comments>https://googledata.org/uncategorized/app-engine-1-6-4-released/#comments</comments>
		<pubDate>Tue, 27 Mar 2012 20:26:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=d44e288bdf9ea0f59bded85ffa0436a5</guid>
		<description><![CDATA[App Engine’s march of progress continues with another release that’s full of new features, system improvements, and bug fixes. As we spring forward into pre-Google I/O season, we’re keeping our focus on product polish and this release is a shinin...]]></description>
				<content:encoded><![CDATA[<span id="internal-source-marker_0.09177301707677543"><span style="font-family: inherit;"><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">App Engine’s march of progress continues with another release that’s full of new features, system improvements, and bug fixes. As we spring forward into pre-</span><a href="https://developers.google.com/events/io/" style="font-weight: bold;"><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Google I/O</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> season, we’re keeping our focus on product polish and this release is a shining example.</span><span style="font-weight: normal; text-decoration: line-through; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">System Wide Changes</span></span></span><br />
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li style="list-style-type: disc; vertical-align: baseline;"><span style="font-family: inherit;"><span style="font-family: inherit;"><a href="https://developers.google.com/appengine/docs/adminconsole/applicationsettings#Retain_Application_Logs"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Logs</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> - </span><b id="internal-source-marker_0.09177301707677543"><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Now that the new settings for log storage have been available for one month, logs over the limit you specify will be deleted. </span></b></span><span style="color: #b7b7b7; text-decoration: line-through; vertical-align: baseline; white-space: pre-wrap;"></span></span></li>
</ul>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li style="list-style-type: disc; vertical-align: baseline;"><span style="font-family: inherit;"><a href="https://developers.google.com/appengine/docs/python/datastore/stats"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Datastore Index Stats</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> - The Datastore Statistics page in the Admin Console now displays the storage used by your Datastore Indexes in addition to your Datastore Entities.</span></span></li>
<li style="list-style-type: disc; vertical-align: baseline;"><span style="font-family: inherit;"><a href="https://developers.google.com/appengine/docs/adminconsole/migration#Using_the_Migration_Tool"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Blobstore Migration</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> - The Datastore Migration tool now includes an experimental option which allows you to migrate your Blobstore objects during the migration process from M/S to HRD. We strongly encourage all applications to migrate to HRD.</span></span></li>
<li style="list-style-type: disc; vertical-align: baseline;"><span style="font-family: inherit;"><a href="https://developers.google.com/appengine/docs/adminconsole/datastoreadmin"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Datastore Backup to Google Cloud Storage</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> - In 1.6.3, we launched backup and restore to Blobstore, and in this release we’ve added the ability to backup your data to Google Cloud Storage.</span><span style="text-decoration: line-through; vertical-align: baseline; white-space: pre-wrap;"></span></span></li>
<li style="list-style-type: disc; vertical-align: baseline;"><span style="font-family: inherit;"><a href="https://developers.google.com/appengine/docs/python/memcache/overview"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Memcache viewer</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> - We’ve introduced the ability to view Memcache statistics and examine memcache entries by key. </span></span></li>
<li style="list-style-type: disc; vertical-align: baseline;"><span style="font-family: inherit;"><a href="https://developers.google.com/appengine/docs/python/blobstore/functions"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Serve objects from Google Cloud Storage</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> - You can now serve blobs directly from Google Cloud Storage as well as Blobstore. </span></span></li>
</ul>
<span style="font-family: inherit;"><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Runtime Changes</span><ul style="font-weight: bold; margin-bottom: 0pt; margin-top: 0pt;">
<li style="font-weight: normal; list-style-type: disc; vertical-align: baseline;"><a href="https://developers.google.com/appengine/docs/python/backends/overview#background_threads"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Threads</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> - Both Java and Python now offer background threads when running on backends as an experimental feature. Additionally, we’ve added the ability to use threads for frontend requests in Java to match Python 2.7.</span></li>
</ul>
<span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Datastore Framework Changes</span><ul style="font-weight: bold; margin-bottom: 0pt; margin-top: 0pt;">
<li style="font-weight: normal; list-style-type: disc; vertical-align: baseline;"><a href="https://developers.google.com/appengine/docs/python/ndb/"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">NDB for Python</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> - The NDB API has graduated from experimental and is now a fully supported feature. This next-generation datastore API </span><span style="vertical-align: baseline; white-space: pre-wrap;">improves data modeling and querying and has been built from the ground up to support an asynchronous computing model. </span><span style="text-decoration: line-through; vertical-align: baseline; white-space: pre-wrap;"></span></li>
<li style="font-weight: normal; list-style-type: disc; vertical-align: baseline;"><span style="vertical-align: baseline; white-space: pre-wrap;">JPA 2 and JDO 3 for Java - We have made significant improvements to App Engine’s DataNucleus plugin. This experimental release of version 2.0 of the plugin adds support for JPA 2, JDO 3, and contains over 40 bug fixes. Check out the full release notes </span><a href="http://code.google.com/p/datanucleus-appengine/source/browse/branches/2_0_0/dist/RELEASE_NOTES.ORM"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">here</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">.</span></li>
</ul>
<span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">And that’s not all, you can read about all the new features and bug fixes in our release notes (</span><a href="http://code.google.com/p/googleappengine/wiki/SdkReleaseNotes" style="font-weight: bold;"><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Python</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">, </span><a href="http://code.google.com/p/googleappengine/wiki/SdkForJavaReleaseNotes" style="font-weight: bold;"><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Java</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">). Send all your feedback to our </span><a href="https://groups.google.com/forum/#!forum/google-appengine" style="font-weight: bold;"><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Google Group</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">, and if you have coding questions, find help from us and other talented developers on </span><a href="http://stackoverflow.com/questions/tagged/google-app-engine" style="font-weight: bold;"><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Stack Overflow</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">.</span></span><br />
<b><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;"><br /></span></span></b><br />
<b><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;"><br /></span></span></b><br />
<b><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">- Posted by the App Engine Team</span></span></b><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8501956666581132164-8009636280600030837?l=googleappengine.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/uncategorized/app-engine-1-6-4-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>App Engine Community Update</title>
		<link>https://googledata.org/google-app-engine/app-engine-community-update-2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=app-engine-community-update-2</link>
		<comments>https://googledata.org/google-app-engine/app-engine-community-update-2/#comments</comments>
		<pubDate>Thu, 22 Mar 2012 19:15:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=c51c6821de15dc2596c5e96480b355fa</guid>
		<description><![CDATA[One of the best things about App Engine is our lively developer community. This week, we’re officially moving technical and development questions to Stack Overflow and retiring the language-specific App Engine Google groups. With this week’s move, ...]]></description>
				<content:encoded><![CDATA[<span id="internal-source-marker_0.9592890017665923"><span style="font-family: inherit;"><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">One of the best things about App Engine is our lively developer community. This week, we’re officially moving technical and development questions to </span><a href="http://stackoverflow.com/questions/tagged/google-app-engine" style="font-weight: bold;"><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Stack Overflow</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> and retiring the language-specific App Engine Google groups. With this week’s move, we wanted to take a moment to highlight some of the best ways to engage with the community.</span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Technical &amp; Development Questions</span><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">For technical and development questions big and small, add the </span><a href="http://stackoverflow.com/questions/tagged/google-app-engine" style="font-weight: bold;"><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">google-app-engine tag</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> to your App Engine questions on Stack Overflow. You can also join our </span><a href="http://developer.google.com/events" style="font-weight: bold;"><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">hangouts or office hours</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> to talk directly with App Engine team members. </span><br /><b><span style="vertical-align: baseline; white-space: pre-wrap;"></span></b><br /><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Google+</span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Many community and </span><a href="https://plus.google.com/u/0/111042085517496880918/posts/aif8jDGM5US" style="font-weight: bold;"><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">team members</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> are active on Google+, using the </span><a href="https://plus.google.com/s/%23appengine" style="font-weight: bold;"><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">#appengine</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> hashtag. Our </span><a href="https://plus.google.com/111042085517496880918/posts/Q2hw1NR7rer" style="font-weight: bold;"><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">weekly community updates</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> and chats with App Engine </span><a href="https://plus.google.com/110554344789668969711/posts/BzXr8fZHzFL" style="font-weight: bold;"><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">community</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> and </span><a href="https://plus.google.com/111042085517496880918/posts/3RpQtM6SzS8" style="font-weight: bold;"><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">team members</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> are a great source of tips and tricks and to learn more about what our</span></span><b id="internal-source-marker_0.6417831785511225"><span style="font-family: inherit;"><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> </span><a href="https://plus.google.com/111042085517496880918/posts/8CHm8KKqXWU"><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">community members</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> </span></span></b><span style="font-family: inherit;"><span style="font-family: inherit;"><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">are up to. </span></span><b><span style="vertical-align: baseline; white-space: pre-wrap;"></span></b><br /><br /><span style="font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Google Groups</span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">For general discussion about the platform, use the </span><a href="https://groups.google.com/forum/#!forum/google-appengine" style="font-weight: bold;"><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Google App Engine group</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">. </span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Happy coding!</span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">- Posted by the App Engine Team</span></span></span><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8501956666581132164-8495754177722610106?l=googleappengine.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/app-engine-community-update-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using the updated Google Prediction API in App Engine applications</title>
		<link>https://googledata.org/google-app-engine/using-the-updated-google-prediction-api-in-app-engine-applications/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=using-the-updated-google-prediction-api-in-app-engine-applications</link>
		<comments>https://googledata.org/google-app-engine/using-the-updated-google-prediction-api-in-app-engine-applications/#comments</comments>
		<pubDate>Thu, 15 Mar 2012 16:11:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=c05c4a34fe36f1c83e665c33c6c27972</guid>
		<description><![CDATA[Although we can’t reliably compare its future-predicting abilities to a crystal ball, the Google Prediction API unlocks a powerful mechanism to use machine learning in your applications. The Prediction API allows developers to train their own predict...]]></description>
				<content:encoded><![CDATA[<span id="internal-source-marker_0.01934555033221841"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">Although we can’t reliably compare its future-predicting abilities to a crystal ball, the </span><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;"><a href="https://developers.google.com/prediction/">Google Prediction API</a></span><span style="vertical-align: baseline; white-space: pre-wrap;"> unlocks a powerful mechanism to use machine learning in your applications. </span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">The Prediction API allows developers to train their own predictive models, taking advantage of Google’s world-class machine learning algorithms. It can be used for all sorts of classification and recommendation problems from spam detection to message routing decisions. In the </span><a href="http://googledevelopers.blogspot.com/2012/03/google-prediction-api-15-adds.html"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">latest release</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">, the Prediction API has added more detailed debugging information on trained models and a new </span><a href="http://code.google.com/p/try-prediction/"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">App Engine sample</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">, which illustrates how to use the Google Prediction API for the Java and Python runtimes. </span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="vertical-align: baseline; white-space: pre-wrap;">To help App Engine developers get started with the prediction API, we’ve published an <a href="https://developers.google.com/appengine/articles/prediction_service_accounts">article and walkthrough</a> detailing how to create and manage predictive models in App Engine apps with simple authentication using OAuth2 and service accounts. Check out the walkthrough and let us know what you think on the <a href="https://groups.google.com/forum/?fromgroups#!forum/google-appengine">group</a>. Happy coding!</span><br /><span style="vertical-align: baseline; white-space: pre-wrap;"></span><span style="vertical-align: baseline; white-space: pre-wrap;"></span><br /><br /><span style="vertical-align: baseline; white-space: pre-wrap;">- Posted by the App Engine Team</span></span></span><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8501956666581132164-8737411406530386685?l=googleappengine.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/using-the-updated-google-prediction-api-in-app-engine-applications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>App Engine 1.6.3 Released</title>
		<link>https://googledata.org/google-app-engine/app-engine-1-6-3-released/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=app-engine-1-6-3-released</link>
		<comments>https://googledata.org/google-app-engine/app-engine-1-6-3-released/#comments</comments>
		<pubDate>Tue, 28 Feb 2012 18:51:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=fe9496816e4dd298e5b624ab780689ab</guid>
		<description><![CDATA[Our second release of this year will have you leaping into action to start using the new features immediately. What could be more exciting than a feature to support A/B testing on your app? Or DKIM signing when you send email from your Google Apps doma...]]></description>
				<content:encoded><![CDATA[<b id="internal-source-marker_0.9008843044284731"><span style="font-family: inherit;"><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Our second release of this year will have you leaping into action to start using the new features immediately. What could be more exciting than a feature to support A/B testing on your app? Or DKIM signing when you send email from your Google Apps domain? This release has plenty of exciting changes to keep you busy on your extra day this year.</span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">1.6.3 Platform Changes:</span></span></b><br />
<ul>
<li style="list-style-type: disc; vertical-align: baseline;"><span id="internal-source-marker_0.9008843044284731"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">A new Experimental feature called </span><a href="http://code.google.com/appengine/docs/adminconsole/trafficsplitting.html"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Traffic Splitting</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> lets you send a percentage of your traffic to different versions of your app. Traffic can be split based either on IP or on cookie.</span></span></span></li>
<li style="list-style-type: disc; vertical-align: baseline;"><span id="internal-source-marker_0.9008843044284731"><span style="font-family: inherit;"><span style="vertical-align: baseline; white-space: pre-wrap;">When an email is sent either from a user of a Google Apps domain from a request originating on that domain, or from an app administrator with an account on a Google Apps domain, a </span><a href="http://code.google.com/appengine/docs/python/mail/overview.html#DKIM"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">DKIM signature</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> will be automatically applied to the email. </span></span></span></li>
</ul>
<b id="internal-source-marker_0.9008843044284731"><span style="font-family: inherit;"><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">1.6.3 Admin Console Changes</span></span></b><br />
<ul><b id="internal-source-marker_0.9008843044284731"><span style="font-family: inherit;">
<li style="font-weight: normal; list-style-type: disc; vertical-align: baseline;"><span style="vertical-align: baseline; white-space: pre-wrap;">Billed applications can </span><a href="http://code.google.com/appengine/articles/logging.html"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">now specify</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> the amount of storage used for logs and the duration of time these logs are stored (default is 90 days) as well as view the currently stored amount in the Admin Console. The first gigabyte of logs storage is free and additional storage will be charged at $0.24/G/month. These settings are now available, but additional storage will not be charged for at least 4 weeks, at that point any logs beyond the configured amount will be deleted.</span></li>
<li style="font-weight: normal; list-style-type: disc; vertical-align: baseline;"><span style="vertical-align: baseline; white-space: pre-wrap;">You can now manually shut down an instance in the </span><a href="http://code.google.com/appengine/docs/adminconsole/instances.html#The_Instances_View"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Instances view</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> of the Admin Console.</span></li>
<li style="font-weight: normal; list-style-type: disc; vertical-align: baseline;"><span style="vertical-align: baseline; white-space: pre-wrap;">The Logs Viewer for each request now provides a link to the instance that served that request (as long as the instance is still active).</span></li>
</span></b></ul>
<b id="internal-source-marker_0.9008843044284731"><span style="font-family: inherit;"><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">These are just some of the highlights in 1.6.3. As usual, our release notes for </span><a href="http://code.google.com/p/googleappengine/wiki/SdkReleaseNotes"><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Python®</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> and </span><a href="http://code.google.com/p/googleappengine/wiki/SdkForJavaReleaseNotes"><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Java®</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> contain the full list of all the new features and bug fixes, so be sure to check out all the exciting things we’ve been working hard to release this past month.</span></span></b><br />
<b><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;"><br /></span></span></b><br />
<span style="font-family: inherit;"><span class="byline-author">Posted by the App Engine Team&nbsp;</span></span><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8501956666581132164-1459055499042000201?l=googleappengine.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/app-engine-1-6-3-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Announcing the General Availability of the Python 2.7 Runtime for App Engine</title>
		<link>https://googledata.org/google-app-engine/announcing-the-general-availability-of-the-python-2-7-runtime-for-app-engine/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=announcing-the-general-availability-of-the-python-2-7-runtime-for-app-engine</link>
		<comments>https://googledata.org/google-app-engine/announcing-the-general-availability-of-the-python-2-7-runtime-for-app-engine/#comments</comments>
		<pubDate>Mon, 27 Feb 2012 18:21:00 +0000</pubDate>
		<dc:creator><![CDATA[The App Engine Team]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[app engine team]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=fbbc4cb8c850d0d0bd874bed401c25be</guid>
		<description><![CDATA[A few months ago we announced an experimental version of the the Python® 2.7 runtime for App Engine. Since then we’ve been hard at work fixing bugs and adding optimizations.&#160;Today we’re happy to announce that this runtime has graduated from E...]]></description>
				<content:encoded><![CDATA[<b id="internal-source-marker_0.6271523837931454"><span style="font-family: inherit;"><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">A few months ago we </span><a href="http://googleappengine.blogspot.com/2011/10/app-engine-155-sdk-release.html"><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">announced</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> an experimental version of the the Python</span><span style="color: #222222; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">®</span><span style="color: #222222; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">2.7 runtime for App Engine. Since then we’ve been hard at work fixing bugs and adding optimizations.&nbsp;Today we’re happy to announce that this runtime has graduated from Experimental status and is a fully supported feature of App Engine.&nbsp;To get started, download the latest </span><a href="http://code.google.com/appengine/downloads.html#Google_App_Engine_SDK_for_Python"><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">App Engine SDK for Python</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> and check out the </span><a href="http://code.google.com/appengine/docs/python/gettingstartedpython27/"><span style="color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Getting Started Guide</span></a><span style="font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">.</span><br /><span style="background-color: white; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: white; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">We think the Python 2.7 runtime for App Engine is a great step forward for our developers. &nbsp;First, it allows applications to take advantage of </span><a href="http://code.google.com/appengine/docs/python/python27/newin27.html#Concurrent_Requests"><span style="background-color: white; color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">concurrent requests</span></a><span style="background-color: white; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">, allowing you to build more performant and efficient applications. If your application wasn't fully utilizing the CPU, chances are that you'll be able to use concurrent requests to reduce the total number of instances and serve more with less.</span><br /><span style="background-color: white; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: white; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">We've also added some of the most highly requested libraries: PIL, NumPy, and lxml are all part of the Python 2.7 runtime. These three libraries alone have been requested nearly 2,000 times. Check out our </span><a href="http://code.google.com/appengine/docs/python/tools/libraries27.html"><span style="background-color: white; color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">updated list of supported libraries</span></a><span style="background-color: white; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> and let us know </span><a href="http://code.google.com/p/googleappengine/issues/list"><span style="background-color: white; color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">what libraries you would like us to add</span></a><span style="background-color: white; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> (be sure to add the tag ‘[Python Library]’ to the summary).</span><span style="background-color: white; font-weight: normal; text-decoration: line-through; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: white; font-weight: normal; text-decoration: line-through; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: white; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Whether you’re looking to migrate an existing application or build a new application, the Python 2.7 runtime is ready to go.</span><br /><span style="background-color: white; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: white; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">If you have any questions or comments send them to the </span><a href="https://groups.google.com/forum/?fromgroups#!forum/google-appengine"><span style="background-color: white; color: #1155cc; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">App Engine group</span></a><span style="background-color: white; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">. We'd love to hear from you.</span></span></b><br />
<b><span style="background-color: white; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;"><br /></span></span></b><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><img height="322px;" src="https://lh5.googleusercontent.com/ip6NwTRTblgBTXrnK7GXm7GsYV1Bg9GcEKxu4616b8mQJcLX89fxMIm-5IfbHzm979tGxioRbbhCDJkDN2K1WavZvZ1Zbd9y3mYQZZ5d-WYj10yuZZw" style="margin-left: auto; margin-right: auto;" width="402px;" /></td></tr>
<tr><td class="tr-caption" style="text-align: center;">The Python 2.7 launch cake</td></tr>
</tbody></table>
<span style="font-family: inherit;"><br /></span><br />
<span id="internal-source-marker_0.6271523837931454"><span style="font-family: inherit;">Posted by Chris Ramsdale, PM Python 2.7 Runtime for App Engine</span></span><br />
<div dir="ltr" style="font-weight: bold; margin-bottom: 0pt; margin-top: 0pt; text-align: left;">
<span style="font-family: inherit;"><span style="font-style: italic; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-size: x-small;">(Python and the Python logos are trademarks of the Python Software Foundation)</span></span></span></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8501956666581132164-5025036547303832759?l=googleappengine.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/announcing-the-general-availability-of-the-python-2-7-runtime-for-app-engine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
