<?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; Google App Engine</title>
	<atom:link href="/category/google-app-engine/feed/" rel="self" type="application/rss+xml" />
	<link>https://googledata.org</link>
	<description>Everything Google: News, Products, Services, Content, Culture</description>
	<lastBuildDate>Fri, 06 Jan 2017 23:43:46 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=4.1.13</generator>
	<item>
		<title>A sizzling open source release for the Australian Election site</title>
		<link>https://googledata.org/google-app-engine/a-sizzling-open-source-release-for-the-australian-election-site-2/</link>
		<comments>https://googledata.org/google-app-engine/a-sizzling-open-source-release-for-the-australian-election-site-2/#comments</comments>
		<pubDate>Wed, 28 Sep 2016 22:49:00 +0000</pubDate>
		<dc:creator><![CDATA[Open Source Programs Office]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[Google Open Source]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=e7c5ec5214d0ae454ee8d79645e05981</guid>
		<description><![CDATA[<i>Originally posted on the <a href="https://googlegeodevelopers.blogspot.com.au/2016/09/a-sizzling-open-source-release-for.html">Geo Developers Blog</a></i><br /><br />One of the best parts of my job at Google is 20 percent time. While I was hired to help developers use Google&#8217;s APIs, I value the time I'm afforded to be a student myself&#8212;to learn new technologies and solve real-world problems. A few weeks prior to the recent Australian election an opportunity presented itself. A small team in Sydney set their sights on helping the 15 million voters stay informed of how to participate, track real-time results, and (of course) find the closest election sausage sizzle!<br /><br /><div><a href="https://3.bp.blogspot.com/-NLoI9t3m8yE/V-qgOgVGKOI/AAAAAAAAAiU/IqaTGuVyE70_rS0pi3sdyZOpCTkzwIjhACLcB/s1600/AU_elections_team.png"><img border="0" height="198" src="https://3.bp.blogspot.com/-NLoI9t3m8yE/V-qgOgVGKOI/AAAAAAAAAiU/IqaTGuVyE70_rS0pi3sdyZOpCTkzwIjhACLcB/s640/AU_elections_team.png" width="640"></a></div><br />Our team of designers, engineers and product managers didn't have an immediate sense of how to attack the problem. What we did have was the power of Google&#8217;s APIs, programming languages, and Cloud hosting with Firebase and Google Cloud Platform.<br /><br /><div><img height="393" src="https://lh3.googleusercontent.com/Ks1wpzKxi5hj_SLnBal7joAXN4ZV5dS_uwNsrvMaY24kB-IxbcWR5IT-pLYBojQhqzRDCO7JS3nPy7p_PYkH5VCPI51QTSUOyZBYQrroSkDGJywfZB5DXSo3nFUkyF1kPguBba8t" width="640"></div><br /><br />The result is a mish-mash of some technologies we'd been wanting to learn more about. We're open sourcing the <a href="http://ausvotes.withgoogle.com/">ausvotes.withgoogle.com</a> repository to give developers a sense of what happens when you get a handful of engineers in a room with a clear goal and a immovable deadline.<br /><br />The <a href="https://github.com/google/election-au-2016">Election AU 2016</a> repository uses:<br /><br /><ul><li><b>Go </b>from Google App Engine instances to serve the appropriate level of detail for users' viewport queries from memory at very low latency, and</li><li><b>Dart </b>to render the live result maps on top of Google Maps JavaScript API using Firebase real time database updates.</li></ul><br />A product is only as good as the attention and usage is receives. Our team was really happy with the results of our work:<br /><br /><ul><li>406,000 people used our maps, including 217,000 on election day.</li><li>We had 139 stories in the media.</li><li>Our map was also embedded in major news websites, such as <a href="http://www.skynews.com.au/news/politics.html">Sky News</a>.</li></ul><br />Complete setup and installation instructions are available in the <a href="https://github.com/google/election-au-2016/blob/master/README.md">GitHub README</a>.<br /><i><br /></i><i>By Brett Morgan, Developer Programs Engineer</i>]]></description>
				<content:encoded><![CDATA[<i>Originally posted on the <a href="https://googlegeodevelopers.blogspot.com.au/2016/09/a-sizzling-open-source-release-for.html">Geo Developers Blog</a></i><br /><br />One of the best parts of my job at Google is 20 percent time. While I was hired to help developers use Google’s APIs, I value the time I'm afforded to be a student myself—to learn new technologies and solve real-world problems. A few weeks prior to the recent Australian election an opportunity presented itself. A small team in Sydney set their sights on helping the 15 million voters stay informed of how to participate, track real-time results, and (of course) find the closest election sausage sizzle!<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://3.bp.blogspot.com/-NLoI9t3m8yE/V-qgOgVGKOI/AAAAAAAAAiU/IqaTGuVyE70_rS0pi3sdyZOpCTkzwIjhACLcB/s1600/AU_elections_team.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="198" src="https://3.bp.blogspot.com/-NLoI9t3m8yE/V-qgOgVGKOI/AAAAAAAAAiU/IqaTGuVyE70_rS0pi3sdyZOpCTkzwIjhACLcB/s640/AU_elections_team.png" width="640" /></a></div><br />Our team of designers, engineers and product managers didn't have an immediate sense of how to attack the problem. What we did have was the power of Google’s APIs, programming languages, and Cloud hosting with Firebase and Google Cloud Platform.<br /><br /><div class="separator" style="clear: both; text-align: center;"><img height="393" src="https://lh3.googleusercontent.com/Ks1wpzKxi5hj_SLnBal7joAXN4ZV5dS_uwNsrvMaY24kB-IxbcWR5IT-pLYBojQhqzRDCO7JS3nPy7p_PYkH5VCPI51QTSUOyZBYQrroSkDGJywfZB5DXSo3nFUkyF1kPguBba8t" style="border: none; transform: rotate(0rad);" width="640" /></div><br /><br />The result is a mish-mash of some technologies we'd been wanting to learn more about. We're open sourcing the <a href="http://ausvotes.withgoogle.com/">ausvotes.withgoogle.com</a> repository to give developers a sense of what happens when you get a handful of engineers in a room with a clear goal and a immovable deadline.<br /><br />The <a href="https://github.com/google/election-au-2016">Election AU 2016</a> repository uses:<br /><br /><ul><li><b>Go </b>from Google App Engine instances to serve the appropriate level of detail for users' viewport queries from memory at very low latency, and</li><li><b>Dart </b>to render the live result maps on top of Google Maps JavaScript API using Firebase real time database updates.</li></ul><br />A product is only as good as the attention and usage is receives. Our team was really happy with the results of our work:<br /><br /><ul><li>406,000 people used our maps, including 217,000 on election day.</li><li>We had 139 stories in the media.</li><li>Our map was also embedded in major news websites, such as <a href="http://www.skynews.com.au/news/politics.html">Sky News</a>.</li></ul><br />Complete setup and installation instructions are available in the <a href="https://github.com/google/election-au-2016/blob/master/README.md">GitHub README</a>.<br /><i><br /></i><i>By Brett Morgan, Developer Programs Engineer</i>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/a-sizzling-open-source-release-for-the-australian-election-site-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>CI&amp;T uses Google Cloud Platform to power the Coca-Cola “Happiness Flag” unveiled on the pitch at the opening match of the 2014 FIFA World Cup™</title>
		<link>https://googledata.org/google-app-engine/cit-uses-google-cloud-platform-to-power-the-coca-cola-happiness-flag-unveiled-on-the-pitch-at-the-opening-match-of-the-2014-fifa-world-cup/</link>
		<comments>https://googledata.org/google-app-engine/cit-uses-google-cloud-platform-to-power-the-coca-cola-happiness-flag-unveiled-on-the-pitch-at-the-opening-match-of-the-2014-fifa-world-cup/#comments</comments>
		<pubDate>Sat, 14 Jun 2014 15:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Jane Smith]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[Google Enterprise]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=d6d7e0c22a672f7e986ada77aee2ee1c</guid>
		<description><![CDATA[<div dir="ltr"><span>Posted by Daniel Viveiros, CI&#38;T&#8217;s Head of Technology</span> <br /><br /><i>(Cross-posted on the <a href="http://googlecloudplatform.blogspot.com/" target="_blank">Google Cloud Platform Blog</a>)</i>  <br /><br /><i><b>Editor's note:</b> Today's guest post is from Daniel Viveiros, Head of Technology at <a href="http://www.ciandt.com/google" target="_blank">CI&#38;T</a>, a Google Cloud Platform Partner of the Year LATAM 2013. In this post, Daniel describes how CI&#38;T in partnership with Coca-Cola built the &#8216;Happiness Flag&#8217; for the Coca-Cola 2014 FIFA World Cup&#8482; campaign in Brazil. To learn more about the Happiness flag visit this <a href="http://www.ciandt.com/card/coca-cola-happiness-flag" target="_blank">website</a>. <br /></i> <br /><i><br /></i>As part of the &#8216;The World&#8217;s Cup&#8217; campaign, Coca-Cola wanted to do something that would visually illustrate soccer&#8217;s global reach. Coca-Cola invited fans around the world to share their photos to create the <a href="http://www2.happinessflag.com/?l=en" target="_blank">Happiness Flag</a> -- the world&#8217;s largest mosaic flag crafted from thousands of crowdsourced images submitted by people in more than 200 countries. The flag, 3,015 square meters in size, was unveiled during the opening ceremony of the 2014 FIFA World Cup&#8482;. <br /><div><a href="http://3.bp.blogspot.com/-yQmbRgQ9rOk/U5xhmxMiTgI/AAAAAAAACes/wlApijHEAUU/s1600/Screen+Shot+2014-06-14+at+10.51.56+AM.png"><img border="0" src="http://3.bp.blogspot.com/-yQmbRgQ9rOk/U5xhmxMiTgI/AAAAAAAACes/wlApijHEAUU/s1600/Screen+Shot+2014-06-14+at+10.51.56+AM.png" height="355" width="640"></a></div>A project of this scale calls for high performing and reliable technology, so when we started working with Coca-Cola to build the infrastructure for the Happiness Flag campaign, we knew we had to use <a href="https://cloud.google.com/" target="_blank">Google Cloud Platform</a>. By using Google Cloud Platform, we turned a big, innovative idea into reality on a global scale.<br /><br />To create the <a href="http://www.thinkwithgoogle.com/campaigns/coca-cola-the-happiness-flag.html" target="_blank">Happiness Flag</a>, we leveraged the whole Google Cloud Platform stack as shown below:<br /><div><a href="http://3.bp.blogspot.com/-BFV1IcsBjNI/U5xhQhlVLjI/AAAAAAAACek/6ZUQVCL_3IA/s1600/Screen+Shot+2014-06-14+at+10.50.20+AM.png"><img border="0" src="http://3.bp.blogspot.com/-BFV1IcsBjNI/U5xhQhlVLjI/AAAAAAAACek/6ZUQVCL_3IA/s1600/Screen+Shot+2014-06-14+at+10.50.20+AM.png" height="491" width="640"></a></div><a href="https://cloud.google.com/products/app-engine/" target="_blank">Google App Engine</a> enabled us to handle the computing workload, capable of handling millions of images via Twitter, Facebook, Instagram and email, to the searches for images and view requests. The architecture was scalable to meet this kind of transaction demand and the fluctuations in traffic. We stored all the images in <a href="https://cloud.google.com/products/cloud-storage/" target="_blank">Google Cloud Storage</a>, where integrated edge caching support and image services made it an ideal choice for serving the images. Meanwhile, <a href="https://cloud.google.com/products/compute-engine/" target="_blank">Google Compute Engine</a> gave us the capability for long-running processes, such as the Twitter integration and advanced image transformations. We were able to show how powerful the creation of hybrid environments can be, using both Platform-as-a-Service (Google App Engine) and raw virtual machines (Google Compute Engine) in the cloud.<br /><br />We used other out-of-the-box Google Cloud Platform technologies like <a href="https://developers.google.com/appengine/docs/adminconsole/memcache" target="_blank">Memcache</a>, <a href="https://cloud.google.com/products/cloud-datastore/" target="_blank">Datastore</a> and Task Queues to ensure outstanding levels of performance and scalability. We know that many fans will be viewing the Happiness Flag on their mobile devices, so we needed a platform that would offer different capacities of computational power. The system provides amazing user experience with high performance and low latency, regardless of the device and its location. Using Google Cloud Platform, the campaign runs smoothly 24/7 and includes redundancy, failover techniques, backups and state-of-the-art monitoring. Plus, it&#8217;s affordable.<br /><br />After the physical flag was unveiled before the opening match, the digital mosaic was made available with a Google map-like zoom in and out with eleven levels of detail. Anyone who submitted an image can now search for themselves on the virtual flag and the search results will show up as pins in the mosaic, like locations found in a Google map. By clicking on the pin, their photos open up in an overlay and they are taken to the maximum level of zoom in to see the "neighborhood" around their image in the flag. After the match, a link to the <a href="http://www2.happinessflag.com/?l=en" target="_blank">Happiness Flag site</a> was sent to each participant as a souvenir. <br /><br />Our goal was to help Coca-Cola create a project that would celebrate the 2014 FIFA World Cup&#8482; by enabling fans from all over the world to express their creativity in a show of unity and art. What better way to open the games than by displaying the Happiness Flag, which is a symbol of the spirit of the game and its fans. <br /><br /><br /><br /></div>]]></description>
				<content:encoded><![CDATA[<div dir="ltr" style="text-align: left;" trbidi="on"><span class="byline-author">Posted by Daniel Viveiros, CI&amp;T’s Head of Technology</span> <br /><br /><i>(Cross-posted on the <a href="http://googlecloudplatform.blogspot.com/" >Google Cloud Platform Blog</a>)</i>  <br /><br /><i><b>Editor's note:</b> Today's guest post is from Daniel Viveiros, Head of Technology at <a href="http://www.ciandt.com/google" >CI&amp;T</a>, a Google Cloud Platform Partner of the Year LATAM 2013. In this post, Daniel describes how CI&amp;T in partnership with Coca-Cola built the ‘Happiness Flag’ for the Coca-Cola 2014 FIFA World Cup™ campaign in Brazil. To learn more about the Happiness flag visit this <a href="http://www.ciandt.com/card/coca-cola-happiness-flag" >website</a>. <br /></i> <br /><i><br /></i>As part of the ‘The World’s Cup’ campaign, Coca-Cola wanted to do something that would visually illustrate soccer’s global reach. Coca-Cola invited fans around the world to share their photos to create the <a href="http://www2.happinessflag.com/?l=en" >Happiness Flag</a> -- the world’s largest mosaic flag crafted from thousands of crowdsourced images submitted by people in more than 200 countries. The flag, 3,015 square meters in size, was unveiled during the opening ceremony of the 2014 FIFA World Cup™. <br /><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-yQmbRgQ9rOk/U5xhmxMiTgI/AAAAAAAACes/wlApijHEAUU/s1600/Screen+Shot+2014-06-14+at+10.51.56+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-yQmbRgQ9rOk/U5xhmxMiTgI/AAAAAAAACes/wlApijHEAUU/s1600/Screen+Shot+2014-06-14+at+10.51.56+AM.png" height="355" width="640" /></a></div>A project of this scale calls for high performing and reliable technology, so when we started working with Coca-Cola to build the infrastructure for the Happiness Flag campaign, we knew we had to use <a href="https://cloud.google.com/" >Google Cloud Platform</a>. By using Google Cloud Platform, we turned a big, innovative idea into reality on a global scale.<br /><br />To create the <a href="http://www.thinkwithgoogle.com/campaigns/coca-cola-the-happiness-flag.html" >Happiness Flag</a>, we leveraged the whole Google Cloud Platform stack as shown below:<br /><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-BFV1IcsBjNI/U5xhQhlVLjI/AAAAAAAACek/6ZUQVCL_3IA/s1600/Screen+Shot+2014-06-14+at+10.50.20+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-BFV1IcsBjNI/U5xhQhlVLjI/AAAAAAAACek/6ZUQVCL_3IA/s1600/Screen+Shot+2014-06-14+at+10.50.20+AM.png" height="491" width="640" /></a></div><a href="https://cloud.google.com/products/app-engine/" >Google App Engine</a> enabled us to handle the computing workload, capable of handling millions of images via Twitter, Facebook, Instagram and email, to the searches for images and view requests. The architecture was scalable to meet this kind of transaction demand and the fluctuations in traffic. We stored all the images in <a href="https://cloud.google.com/products/cloud-storage/" >Google Cloud Storage</a>, where integrated edge caching support and image services made it an ideal choice for serving the images. Meanwhile, <a href="https://cloud.google.com/products/compute-engine/" >Google Compute Engine</a> gave us the capability for long-running processes, such as the Twitter integration and advanced image transformations. We were able to show how powerful the creation of hybrid environments can be, using both Platform-as-a-Service (Google App Engine) and raw virtual machines (Google Compute Engine) in the cloud.<br /><br />We used other out-of-the-box Google Cloud Platform technologies like <a href="https://developers.google.com/appengine/docs/adminconsole/memcache" >Memcache</a>, <a href="https://cloud.google.com/products/cloud-datastore/" >Datastore</a> and Task Queues to ensure outstanding levels of performance and scalability. We know that many fans will be viewing the Happiness Flag on their mobile devices, so we needed a platform that would offer different capacities of computational power. The system provides amazing user experience with high performance and low latency, regardless of the device and its location. Using Google Cloud Platform, the campaign runs smoothly 24/7 and includes redundancy, failover techniques, backups and state-of-the-art monitoring. Plus, it’s affordable.<br /><br />After the physical flag was unveiled before the opening match, the digital mosaic was made available with a Google map-like zoom in and out with eleven levels of detail. Anyone who submitted an image can now search for themselves on the virtual flag and the search results will show up as pins in the mosaic, like locations found in a Google map. By clicking on the pin, their photos open up in an overlay and they are taken to the maximum level of zoom in to see the "neighborhood" around their image in the flag. After the match, a link to the <a href="http://www2.happinessflag.com/?l=en" >Happiness Flag site</a> was sent to each participant as a souvenir. <br /><br />Our goal was to help Coca-Cola create a project that would celebrate the 2014 FIFA World Cup™ by enabling fans from all over the world to express their creativity in a show of unity and art. What better way to open the games than by displaying the Happiness Flag, which is a symbol of the spirit of the game and its fans. <br /><br /><br /><br /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/cit-uses-google-cloud-platform-to-power-the-coca-cola-happiness-flag-unveiled-on-the-pitch-at-the-opening-match-of-the-2014-fifa-world-cup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>WebFilings runs on Google Cloud Platform</title>
		<link>https://googledata.org/google-app-engine/webfilings-runs-on-google-cloud-platform/</link>
		<comments>https://googledata.org/google-app-engine/webfilings-runs-on-google-cloud-platform/#comments</comments>
		<pubDate>Thu, 01 May 2014 15:04:00 +0000</pubDate>
		<dc:creator><![CDATA[Jane Smith]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[Google Enterprise]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=f360c9fa0749b5224295fe8cd3a7ac4e</guid>
		<description><![CDATA[<div dir="ltr"><span>Posted by Jeff Trom, CTO, WebFilings</span> <br /><br /><i>(Cross-posted on the <a href="http://googlecloudplatform.blogspot.com/2014/05/webfilings-runs-on-google-cloud-platform.html" target="_blank">Google Cloud Platform Blog</a>)</i>  <br /><br /><i><b>Editor's note:</b> Today&#8217;s guest post is from Jeff Trom, CTO at <a href="https://www.wdesk.com/" target="_blank">Webfilings</a>, a Software-as-a-Service provider that develops cloud-based solutions for business reporting.</i><br /><br />At Webfilings, we&#8217;re reinventing complex business reporting.  <a href="https://www.wdesk.com/wdesk-platform" target="_blank">Wdesk</a>, our flagship product, is an enterprise solution that is transforming how companies manage and report complex business data. It&#8217;s a collective workspace for teams to come together to build documents and reports without having to go to IT for assistance. Using Wdesk, financial teams have quickly become accustomed to how the cloud has simplified collaboration, provided global accessibility and eliminated the replication of data and documents.<br /><br />What started as an idea to automate SEC reporting has now grown to a robust offering that supports more than 60% of the Fortune 500 in just 4 years since launch. We&#8217;ve been able to build a great company and culture where rapid innovation and best-in-class customer service are key.<br /><br />We rely on <a href="https://cloud.google.com/" target="_blank">Google Cloud Platform</a> to make a formerly onerous process seem easy. Cloud Platform replicates our terabytes of data across multiple datacenters seamlessly and allows our developers to focus on innovation, not infrastructure. We deploy updates daily and leverage <a href="http://www.google.com/cloud/products/app-engine/index6.html?utm_expid=65704806-5.-7gflVmlTY2Vp-qGIzpcHw.2&#38;utm_referrer=https%3A%2F%2Fcloud.google.com%2Fproducts%2F" target="_blank">Google App Engine&#8217;s</a> ability to simultaneously serve traffic from multiple versions to test new features with a few customers before releasing them to everyone. This helps ensure that our customers have the best experience possible each time they log in to Wdesk. Check out the video below to learn more about how we&#8217;re using Cloud Platform.<br /><br />In our product space, the data-in-motion architecture we&#8217;ve chosen is what sets us apart. It requires:<br /><br /><ol><li>Dynamically scalable application servers to handle variable traffic patterns</li><li>Replicated storage that&#8217;s scalable and provides reliable performance under load</li><li>Enterprise-grade reliability to ensure 24 x 7 access for our customers</li></ol><br />We love learning about how our customers innovate with Wdesk inside their own companies, and are constantly impressed by the solutions they produce. The possibilities seem endless. <br /><br /></div>]]></description>
				<content:encoded><![CDATA[<div dir="ltr" style="text-align: left;" trbidi="on"><span class="byline-author">Posted by Jeff Trom, CTO, WebFilings</span> <br /><br /><i>(Cross-posted on the <a href="http://googlecloudplatform.blogspot.com/2014/05/webfilings-runs-on-google-cloud-platform.html" >Google Cloud Platform Blog</a>)</i>  <br /><br /><i><b>Editor's note:</b> Today’s guest post is from Jeff Trom, CTO at <a href="https://www.wdesk.com/" >Webfilings</a>, a Software-as-a-Service provider that develops cloud-based solutions for business reporting.</i><br /><br />At Webfilings, we’re reinventing complex business reporting.  <a href="https://www.wdesk.com/wdesk-platform" >Wdesk</a>, our flagship product, is an enterprise solution that is transforming how companies manage and report complex business data. It’s a collective workspace for teams to come together to build documents and reports without having to go to IT for assistance. Using Wdesk, financial teams have quickly become accustomed to how the cloud has simplified collaboration, provided global accessibility and eliminated the replication of data and documents.<br /><br />What started as an idea to automate SEC reporting has now grown to a robust offering that supports more than 60% of the Fortune 500 in just 4 years since launch. We’ve been able to build a great company and culture where rapid innovation and best-in-class customer service are key.<br /><br />We rely on <a href="https://cloud.google.com/" >Google Cloud Platform</a> to make a formerly onerous process seem easy. Cloud Platform replicates our terabytes of data across multiple datacenters seamlessly and allows our developers to focus on innovation, not infrastructure. We deploy updates daily and leverage <a href="http://www.google.com/cloud/products/app-engine/index6.html?utm_expid=65704806-5.-7gflVmlTY2Vp-qGIzpcHw.2&amp;utm_referrer=https%3A%2F%2Fcloud.google.com%2Fproducts%2F" >Google App Engine’s</a> ability to simultaneously serve traffic from multiple versions to test new features with a few customers before releasing them to everyone. This helps ensure that our customers have the best experience possible each time they log in to Wdesk. Check out the video below to learn more about how we’re using Cloud Platform.<br /><iframe allowfullscreen="" frameborder="0" height="360" src="http://www.youtube.com/embed/SU-S2LdJeYo" width="640"></iframe><br />In our product space, the data-in-motion architecture we’ve chosen is what sets us apart. It requires:<br /><br /><ol style="text-align: left;"><li>Dynamically scalable application servers to handle variable traffic patterns</li><li>Replicated storage that’s scalable and provides reliable performance under load</li><li>Enterprise-grade reliability to ensure 24 x 7 access for our customers</li></ol><br />We love learning about how our customers innovate with Wdesk inside their own companies, and are constantly impressed by the solutions they produce. The possibilities seem endless. <br /><br /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/webfilings-runs-on-google-cloud-platform/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Google Compute Engine and App Engine give Evite freedom to expand services anytime</title>
		<link>https://googledata.org/google-app-engine/google-compute-engine-and-app-engine-give-evite-freedom-to-expand-services-anytime/</link>
		<comments>https://googledata.org/google-app-engine/google-compute-engine-and-app-engine-give-evite-freedom-to-expand-services-anytime/#comments</comments>
		<pubDate>Wed, 04 Dec 2013 20:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Jane Smith]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[Google Enterprise]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=c69abdd0ea0dae4d17bb12ed5bc21320</guid>
		<description><![CDATA[<div dir="ltr"><span>Posted by Dan Mesh, Vice President of Technology, Evite</span> <br /><br /><i>(Cross-posted on the <a href="http://googlecloudplatform.blogspot.com/" target="_blank">Google Cloud Platform Blog</a>)</i>  <br /><br /><i><b>Editor's note:</b> Today&#8217;s guest blog comes from Dan Mesh, Vice President of Technology at <a href="http://www.evite.com/" target="_blank">Evite</a>, the pioneer in online invitations and social planning. Evite has over 30 million registered users and sends more than 250 million party invitations annually.</i> <br /><br /><div>In the past year, we&#8217;ve introduced a couple of exciting new products at Evite: our <a href="http://www.postmark.com/">Postmark</a> service offers premium online invitations and announcements for milestone events like weddings and births, and <a href="http://www.evite.com/ink/">Evite Ink</a> lets our users design custom paper invitations that we print and mail for a small fee. We couldn&#8217;t have launched these products without <a href="https://cloud.google.com/products/compute-engine">Google Compute Engine</a> and <a href="https://cloud.google.com/appengine">Google App Engine</a>, which gave us the infrastructure needed to scale our services to high demands and analyze large volumes of data they generate.<br /><br />Evite has been around since 1998, but behind this well-known online brand is a small and lean team. Migrating to the cloud has allowed us to focus our time, energy and financial resources on development of new products and services, free from worries of server management, capacity planning and hardware costs.<br /><div><a href="http://3.bp.blogspot.com/-p5KMTV6lCu4/Up7uZt7FAtI/AAAAAAAAAUo/szIPKUKmMlk/s1600/Evite-Cooladata-Workflow-v02-01.png"><img border="0" height="640" src="http://3.bp.blogspot.com/-p5KMTV6lCu4/Up7uZt7FAtI/AAAAAAAAAUo/szIPKUKmMlk/s640/Evite-Cooladata-Workflow-v02-01.png" width="633"></a></div>We chose Google Cloud Platform because the combination of App Engine and Compute Engine truly delivers on the cloud&#8217;s promise of scalable and elastic computing. App Engine&#8217;s autoscaling means that as long as our applications are developed in line with the platform API&#8217;s and architecture guidelines, scalability comes for free. This is a huge benefit since we no longer worry about scaling our services to meet heavy demands and are also free from the difficulties and risks inherent in capacity planning.<br /><br />Most online businesses have very consistent daily, weekly and seasonal traffic patterns, and in Evite&#8217;s case, these patterns are even more pronounced. In the past, we used to provision resources to meet peak demand allowing for a healthy margin of error and future growth. Naturally, this resulted in a lot of wasted capital and engineering resources. Now that most of our systems are running on Google Cloud Platform, we see significant savings as application servers expand and shrink elastically in accordance with our web traffic.<br /><br />For example, in the past Evite was hesitant to roll out major application releases in Q4, typically the busiest time of the year for us. During this time, we reach our peak traffic, and operational focus was on making sure nothing went wrong. Any significant releases represented unwanted risk. Cloud Platform greatly simplifies the release process and provides built-in traffic splitting. This has made it possible for Evite product teams to test new features and release products more frequently and with reduced risks, even during the busiest times of year.<br /><br />As we add new products and services, Compute Engine plays a key role in our application infrastructure. We use it to closely monitor and analyze the performance of our products and services. All application data and log files generated by applications running on App Engine flow through a cluster of Compute Engine instances running extract, transform, load (ETL) processes, which feed this data into the data warehouse. There we analyze the collected data to detect errors and usage patterns helping us improve the design of our products and maintain performance levels.<br /><br />Compute Engine gets high marks for interoperability with App Engine and other cloud vendors. We use AWS Redshift as our data warehouse so interoperability is very important. Equally impressive are predictable, high I/O performance and fast instance startup times. For our data processing workloads these two metrics are critical to success.<br /><br />With App Engine powering all of our customer-facing services and Compute Engine helping us monitor and understand application performance, Evite is in great shape to create and release new products. We look forward to many new releases in 2014 knowing we can count on Cloud Platform to make these launches trouble-free.<br /><div></div></div></div>]]></description>
				<content:encoded><![CDATA[<div dir="ltr" style="text-align: left;" trbidi="on"><span class="byline-author">Posted by Dan Mesh, Vice President of Technology, Evite</span> <br /><br /><i>(Cross-posted on the <a href="http://googlecloudplatform.blogspot.com/" >Google Cloud Platform Blog</a>)</i>  <br /><br /><i><b>Editor's note:</b> Today’s guest blog comes from Dan Mesh, Vice President of Technology at <a href="http://www.evite.com/" >Evite</a>, the pioneer in online invitations and social planning. Evite has over 30 million registered users and sends more than 250 million party invitations annually.</i> <br /><br /><div>In the past year, we’ve introduced a couple of exciting new products at Evite: our <a href="http://www.postmark.com/">Postmark</a> service offers premium online invitations and announcements for milestone events like weddings and births, and <a href="http://www.evite.com/ink/">Evite Ink</a> lets our users design custom paper invitations that we print and mail for a small fee. We couldn’t have launched these products without <a href="https://cloud.google.com/products/compute-engine">Google Compute Engine</a> and <a href="https://cloud.google.com/appengine">Google App Engine</a>, which gave us the infrastructure needed to scale our services to high demands and analyze large volumes of data they generate.<br /><br />Evite has been around since 1998, but behind this well-known online brand is a small and lean team. Migrating to the cloud has allowed us to focus our time, energy and financial resources on development of new products and services, free from worries of server management, capacity planning and hardware costs.<br /><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-p5KMTV6lCu4/Up7uZt7FAtI/AAAAAAAAAUo/szIPKUKmMlk/s1600/Evite-Cooladata-Workflow-v02-01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="http://3.bp.blogspot.com/-p5KMTV6lCu4/Up7uZt7FAtI/AAAAAAAAAUo/szIPKUKmMlk/s640/Evite-Cooladata-Workflow-v02-01.png" width="633" /></a></div>We chose Google Cloud Platform because the combination of App Engine and Compute Engine truly delivers on the cloud’s promise of scalable and elastic computing. App Engine’s autoscaling means that as long as our applications are developed in line with the platform API’s and architecture guidelines, scalability comes for free. This is a huge benefit since we no longer worry about scaling our services to meet heavy demands and are also free from the difficulties and risks inherent in capacity planning.<br /><br />Most online businesses have very consistent daily, weekly and seasonal traffic patterns, and in Evite’s case, these patterns are even more pronounced. In the past, we used to provision resources to meet peak demand allowing for a healthy margin of error and future growth. Naturally, this resulted in a lot of wasted capital and engineering resources. Now that most of our systems are running on Google Cloud Platform, we see significant savings as application servers expand and shrink elastically in accordance with our web traffic.<br /><br />For example, in the past Evite was hesitant to roll out major application releases in Q4, typically the busiest time of the year for us. During this time, we reach our peak traffic, and operational focus was on making sure nothing went wrong. Any significant releases represented unwanted risk. Cloud Platform greatly simplifies the release process and provides built-in traffic splitting. This has made it possible for Evite product teams to test new features and release products more frequently and with reduced risks, even during the busiest times of year.<br /><br />As we add new products and services, Compute Engine plays a key role in our application infrastructure. We use it to closely monitor and analyze the performance of our products and services. All application data and log files generated by applications running on App Engine flow through a cluster of Compute Engine instances running extract, transform, load (ETL) processes, which feed this data into the data warehouse. There we analyze the collected data to detect errors and usage patterns helping us improve the design of our products and maintain performance levels.<br /><br />Compute Engine gets high marks for interoperability with App Engine and other cloud vendors. We use AWS Redshift as our data warehouse so interoperability is very important. Equally impressive are predictable, high I/O performance and fast instance startup times. For our data processing workloads these two metrics are critical to success.<br /><br />With App Engine powering all of our customer-facing services and Compute Engine helping us monitor and understand application performance, Evite is in great shape to create and release new products. We look forward to many new releases in 2014 knowing we can count on Cloud Platform to make these launches trouble-free.<br /><div></div></div></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/google-compute-engine-and-app-engine-give-evite-freedom-to-expand-services-anytime/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</item>
		<item>
		<title>Google App Engine helps MAG Interactive handle explosive growth of word game, Ruzzle</title>
		<link>https://googledata.org/google-app-engine/google-app-engine-helps-mag-interactive-handle-explosive-growth-of-word-game-ruzzle/</link>
		<comments>https://googledata.org/google-app-engine/google-app-engine-helps-mag-interactive-handle-explosive-growth-of-word-game-ruzzle/#comments</comments>
		<pubDate>Tue, 05 Nov 2013 19:45:00 +0000</pubDate>
		<dc:creator><![CDATA[Jane Smith]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[Google Enterprise]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=0dc82fe9a5764d09311de3ed2ae0913f</guid>
		<description><![CDATA[<div dir="ltr"><i>(Cross-posted on the <a href="http://googlecloudplatform.blogspot.com/2013/11/google-app-engine-helps-mag-interactive.html">Google Cloud Platform</a> blog)</i>  <br /><br /><i><b>Editor's note:</b> Today we hear from Daniel Hasselberg, co-founder and chief executive officer of mobile game development company, <a href="http://www.maginteractive.se/">MAG Interactive</a>, based in Stockholm, Sweden. MAG Interactive produces some of the most popular games in the world, including <a href="http://www.ruzzle-game.com/">Ruzzle</a>, which has more than 45 million players in 142 different countries.</i><br /><br />When we launched our word game Ruzzle in 2012, we had no idea it would become an international sensation almost overnight. We initially promoted the game only to our family and friends, but within two weeks of our launch, Ruzzle was the No.1 game on the Swedish App Store.<br /><br />I believe if we hadn&#8217;t used <a href="https://developers.google.com/appengine/">Google App Engine</a> to build the backend of Ruzzle, we wouldn&#8217;t have been able to scale fast enough with our own servers, which would have killed the app in the marketplace. There were about a million downloads of Ruzzle per month in the Nordic region, Holland, Spain and Italy through 2012. As we refined the game&#8217;s social integration through channels like Facebook and Twitter, we grew rapidly in Italy and the United States. In 2013, Ruzzle became the No. 1 game download on Google Play and the App Store in Italy, Sweden, the United States and many other countries.<br /><br />Things were especially crazy at the end of last year. We were seeing about 700,000 new players each day from December 2012 through January 2013. We added 20 million users in a single month! It was incredible to see App Engine scale &#8211; and just keep on working &#8211; as we grew from about 5 million players to 25 million players in just a few weeks.<br /><br />Our decision to use App Engine as the platform for Ruzzle and our new game, QuizCross, was strategic. Some of us at MAG Interactive helped develop the server platform for one of the most popular music download services in the Nordic region, so we knew about the challenges of having to scale quickly. While we didn&#8217;t anticipate Ruzzle&#8217;s popularity, we did recognize even before creating the game that we could face scaling problems if we were successful. So we decided from day one to use a cloud solution.<br /><br />We looked at Amazon&#8217;s platform but preferred Google&#8217;s approach to cloud solutions. Google&#8217;s scalability was an important factor in our decision, but we also appreciated the company&#8217;s transparent pricing. The more efficient we became with App Engine, the less we paid.<br /><br />The Google Cloud Platform team has been great to work with, as well. They are very supportive and appreciate our feedback. The technical support experts at Google are amazing, too &#8211; very hands-on. They know the platform extremely well and can help us work through any challenge.<br /><br />We&#8217;re also using <a href="https://developers.google.com/bigquery/">Google BigQuery</a> for business intelligence. We track millions of events in the game every day so we know what users are doing &#8211; or not doing &#8211; and how we should improve the experience. We really like that we can throw enormous amounts of data at BigQuery, and it still performs. It only takes a few seconds to get results, and there are no scaling issues. It&#8217;s also easy to use. We have just one data analyst doing all the work with BigQuery but could probably use more people. If there are a few brilliant data mining experts out there who can imagine a future in Stockholm, please give us a call!<br /><br />One thing we&#8217;ve learned from our BigQuery analysis is that the more users play Ruzzle, the more they improve their skills. New players typically find about 18 words in the two-minute time frame they&#8217;re given. After they play 100 games, they can find about 50 words, on average. I think that tracking player improvement is what keeps people playing and has helped to make Ruzzle so popular.<br /><br />BigQuery offers our company a lot of insight into the use of our games and how we can improve them. We&#8217;re looking forward to expanding our relationship with Google as App Engine and Cloud Platform evolves.</div>]]></description>
				<content:encoded><![CDATA[<div dir="ltr" style="text-align: left;" trbidi="on"><i>(Cross-posted on the <a href="http://googlecloudplatform.blogspot.com/2013/11/google-app-engine-helps-mag-interactive.html">Google Cloud Platform</a> blog)</i>  <br /><br /><i><b>Editor's note:</b> Today we hear from Daniel Hasselberg, co-founder and chief executive officer of mobile game development company, <a href="http://www.maginteractive.se/">MAG Interactive</a>, based in Stockholm, Sweden. MAG Interactive produces some of the most popular games in the world, including <a href="http://www.ruzzle-game.com/">Ruzzle</a>, which has more than 45 million players in 142 different countries.</i><br /><br />When we launched our word game Ruzzle in 2012, we had no idea it would become an international sensation almost overnight. We initially promoted the game only to our family and friends, but within two weeks of our launch, Ruzzle was the No.1 game on the Swedish App Store.<br /><br />I believe if we hadn’t used <a href="https://developers.google.com/appengine/">Google App Engine</a> to build the backend of Ruzzle, we wouldn’t have been able to scale fast enough with our own servers, which would have killed the app in the marketplace. There were about a million downloads of Ruzzle per month in the Nordic region, Holland, Spain and Italy through 2012. As we refined the game’s social integration through channels like Facebook and Twitter, we grew rapidly in Italy and the United States. In 2013, Ruzzle became the No. 1 game download on Google Play and the App Store in Italy, Sweden, the United States and many other countries.<br /><br />Things were especially crazy at the end of last year. We were seeing about 700,000 new players each day from December 2012 through January 2013. We added 20 million users in a single month! It was incredible to see App Engine scale – and just keep on working – as we grew from about 5 million players to 25 million players in just a few weeks.<br /><br />Our decision to use App Engine as the platform for Ruzzle and our new game, QuizCross, was strategic. Some of us at MAG Interactive helped develop the server platform for one of the most popular music download services in the Nordic region, so we knew about the challenges of having to scale quickly. While we didn’t anticipate Ruzzle’s popularity, we did recognize even before creating the game that we could face scaling problems if we were successful. So we decided from day one to use a cloud solution.<br /><br />We looked at Amazon’s platform but preferred Google’s approach to cloud solutions. Google’s scalability was an important factor in our decision, but we also appreciated the company’s transparent pricing. The more efficient we became with App Engine, the less we paid.<br /><br />The Google Cloud Platform team has been great to work with, as well. They are very supportive and appreciate our feedback. The technical support experts at Google are amazing, too – very hands-on. They know the platform extremely well and can help us work through any challenge.<br /><br />We’re also using <a href="https://developers.google.com/bigquery/">Google BigQuery</a> for business intelligence. We track millions of events in the game every day so we know what users are doing – or not doing – and how we should improve the experience. We really like that we can throw enormous amounts of data at BigQuery, and it still performs. It only takes a few seconds to get results, and there are no scaling issues. It’s also easy to use. We have just one data analyst doing all the work with BigQuery but could probably use more people. If there are a few brilliant data mining experts out there who can imagine a future in Stockholm, please give us a call!<br /><br />One thing we’ve learned from our BigQuery analysis is that the more users play Ruzzle, the more they improve their skills. New players typically find about 18 words in the two-minute time frame they’re given. After they play 100 games, they can find about 50 words, on average. I think that tracking player improvement is what keeps people playing and has helped to make Ruzzle so popular.<br /><br />BigQuery offers our company a lot of insight into the use of our games and how we can improve them. We’re looking forward to expanding our relationship with Google as App Engine and Cloud Platform evolves.</div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/google-app-engine-helps-mag-interactive-handle-explosive-growth-of-word-game-ruzzle/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/</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/</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/</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/</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/</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/</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/</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/</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/</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/</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/</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/</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>Google Cloud Platform introduces new support packages</title>
		<link>https://googledata.org/google-app-engine/google-cloud-platform-introduces-new-support-packages/</link>
		<comments>https://googledata.org/google-app-engine/google-cloud-platform-introduces-new-support-packages/#comments</comments>
		<pubDate>Thu, 21 Feb 2013 17:59:00 +0000</pubDate>
		<dc:creator><![CDATA[Jane Smith]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[Google Enterprise]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=1864727720c4e467c78fa264b9a8c43e</guid>
		<description><![CDATA[Posted by Brett McCully, Google Cloud Platform TeamSupport 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 Google Cloud Platform services you ...]]></description>
				<content:encoded><![CDATA[<div dir="ltr" style="text-align: left;" trbidi="on"><span class="byline-author">Posted by Brett McCully, Google Cloud Platform Team</span><br /><br />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 <a href="https://cloud.google.com/">Google Cloud Platform</a> 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.  <br /><br />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:<br /><br /><ul style="text-align: left;"><li><b>Bronze</b>: All customers get access to online documentation, community forums, and billing support. (Free)&nbsp;</li><li><b>Silver</b>: In addition to Bronze, you can email our support team for questions related to product functionality, best practices, and service errors. ($150/month)&nbsp;</li><li><b>Gold</b>: In addition to Silver, you'll receive 24x7 phone support and consultation on application development, best practices or architecture for your specific use case. (Starts at $400/month)&nbsp;</li><li><b>Platinum</b>: The most comprehensive and personalized support. In addition to Gold, you’ll get direct access to a Technical Account Manager team. (<a href="https://cloud.google.com/support/signup">Contact Sales</a> for more information)</li></ul><br /><a href="https://cloud.google.com/support/signup">Sign up</a> or click <a href="https://cloud.google.com/support/packages">here</a> to find out more information about the new Google Cloud Platform support options.  </div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/google-cloud-platform-introduces-new-support-packages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</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/</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/</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/</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/</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/</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/</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/</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>Cloud computing enabling entrepreneurship in Africa</title>
		<link>https://googledata.org/google-app-engine/cloud-computing-enabling-entrepreneurship-in-africa-2/</link>
		<comments>https://googledata.org/google-app-engine/cloud-computing-enabling-entrepreneurship-in-africa-2/#comments</comments>
		<pubDate>Thu, 20 Dec 2012 17:34:00 +0000</pubDate>
		<dc:creator><![CDATA[Julia]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[Google Enterprise]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=9c966586c2d840f0f9a219445031de02</guid>
		<description><![CDATA[Posted by Zafir Khan, Google App Engine Team(Cross-posted on the Official Google Blog.)  In 2007, 33-year-old Vuyile moved to Cape Town from rural South Africa in search of work.  Unable to complete high school, he worked as a night shift security guar...]]></description>
				<content:encoded><![CDATA[<span class="byline-author">Posted by Zafir Khan, Google App Engine Team</span><br><br><i>(Cross-posted on the <a href="http://googleblog.blogspot.com/2012/12/cloud-computing-enabling.html">Official Google Blog</a>.)</i>  <br><br>In 2007, 33-year-old Vuyile moved to Cape Town from rural South Africa in search of work.  Unable to complete high school, he worked as a night shift security guard earning $500/month to support his family.  During the rush hour commute from his home in Khayelitsha, Vuyile realized that he could earn extra income by selling prepaid mobile airtime vouchers to other commuters on the train.   <br><br>In rural areas, it’s common to use prepaid vouchers to pay for basic services such as electricity, insurance and airtime for mobile phones. But it’s often difficult to distribute physical vouchers because of the risk of theft and fraud.  <br><br><a href="http://www.nomanini.com/">Nomanini</a>, a startup based in South Africa, built a device that enables local entrepreneurs like Vuyile to sell prepaid mobile services in their communities. The Lula (which means “easy” in colloquial Zulu), is a portable voucher sales terminal that is used on-the-go by people ranging from taxi drivers to street vendors. It generates and prints codes which people purchase to add minutes to their mobile phones.  <br><br>Today, Vuyile sells vouchers on the train for cash payment, and earns a commission weekly. Since he started using the Lula, he’s seen his monthly income increase by 20 percent. <br><br><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-KlTTWSwTYtI/UNMnPQYQl-I/AAAAAAAAKhc/1mCiudoVqtk/s1600/vuyile+(1).jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="http://3.bp.blogspot.com/-KlTTWSwTYtI/UNMnPQYQl-I/AAAAAAAAKhc/1mCiudoVqtk/s400/vuyile+(1).jpg" width="300" /></a></div><div style="text-align: center;"><i>Vuyile prints a voucher from his Lula</i></div><br>Nomanini founders Vahid and Ali Monadjem wanted to make mobile services widely available in areas where they had been inaccessible, or where—in a region where the average person makes less than $200/month—people simply couldn’t afford them.  By creating a low-cost and easy-to-use product, Nomanini could enable entrepreneurs in Africa to go to deep rural areas and create businesses for themselves.   <br><br>In order to build a scalable and reliable backend system to keep the Lula running, Nomanini chose to run on <a href="https://cloud.google.com/products/?utm_source=ogb&amp;utm_medium=blog&amp;utm_campaign=nomanini">Google App Engine</a>. Their development team doesn’t have to spend time setting up their own servers and can instead run on the same infrastructure that powers Google’s own applications. They can focus on building their backend systems and easily deploy code to Google’s data centers. When Vuyile makes a sale, he presses a few buttons, App Engine processes the request, and the voucher prints in seconds.   <br><br>Last month, 40,000 people bought airtime through the Lula, and Nomanini hopes to grow this number to 1 million per month next year. While platforms like App Engine are typically used to build web or smartphone apps, entrepreneurs like Vahid and Ali are finding innovative ways to leverage this technology by building their own devices and connecting them to App Engine.  Vahid tells us: “We’re a uniquely born and bred African solution, and we have great potential to take this to the rest of Africa and wider emerging markets. We could not easily scale this fast without running on Google App Engine.”  <br><br>To learn more about the technical implementation used by Nomanini, read their guest post on the <a href="http://googleappengine.blogspot.com/2012/12/developer-insights-mobile-voucher-sales.html">Google App Engine blog</a>.]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/cloud-computing-enabling-entrepreneurship-in-africa-2/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/</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>Google Cloud Platform: new features, lower prices, extending European datacenters</title>
		<link>https://googledata.org/google-app-engine/google-cloud-platform-new-features-lower-prices-extending-european-datacenters/</link>
		<comments>https://googledata.org/google-app-engine/google-cloud-platform-new-features-lower-prices-extending-european-datacenters/#comments</comments>
		<pubDate>Mon, 26 Nov 2012 17:57:00 +0000</pubDate>
		<dc:creator><![CDATA[Julia]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[Google Enterprise]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=424f99d0bc3c1547d0369ae74d01ee5e</guid>
		<description><![CDATA[Posted by Jessie Jiang, Product Management Director(Cross-posted on the Google Developers Blog.)  We're constantly making updates to our Google Cloud Platform products—Google App Engine, Cloud Storage, Big Query, Compute Engine and others—based on ...]]></description>
				<content:encoded><![CDATA[<span class="byline-author">Posted by Jessie Jiang, Product Management Director</span><br><br><i>(Cross-posted on the <a href="http://googledevelopers.blogspot.com/">Google Developers Blog</a>.)</i>  <br><br>We're constantly making updates to our Google Cloud Platform products—Google App Engine, Cloud Storage, Big Query, Compute Engine and others—based on user feedback and to improve the overall experience. For example, two weeks ago we <a href="http://googledevelopers.blogspot.com/2012/11/get-started-at-no-cost-with-faster.html">introduced</a> a major update to Google Cloud SQL providing faster performance, larger databases (100GB), an EU zone, and a <a href="http://cloud.google.com/sql">no-cost trial</a>. But, we know there is more to do.  Today, we’re continuing to improve the platform with new storage and compute capabilities, significantly lower prices, and more European Datacenter support. <br><br><b>Lower storage prices and new Durable Reduced Availability (DRA) Storage</b><br>To give you more flexibility in your storage options and prices, we’re <a href="https://cloud.google.com/pricing/cloud-storage">reducing the price of standard Google Cloud Storage by over 20%</a> and introducing a limited preview of <a href="http://goo.gl/AibNX">Durable Reduced Availability</a> (DRA) storage.  DRA storage lowers prices by trading off some data availability while maintaining the same latency performance and durability as standard Google Cloud Storage. DRA can be used for things like batch compute jobs that can easily be rescheduled or for data back-up where quick access to your data is important. DRA achieves cost savings by keeping fewer redundant replicas of data. Unlike other reduced redundancy cloud storage offerings, DRA is implemented in a manner that maintains data durability so you don't have to worry about losing your data in the cloud. <br><br>And, to automatically keep a history of old versions of your data, we’re introducing <a href="https://developers.google.com/storage/docs/object-versioning">Object Versioning</a>. You can also use it to help protect against deleting or overwriting your data by mistake or due to an application error. <br><br><b>More European Datacenter support</b><br>We are continuing to roll out our <a href="https://docs.google.com/a/google.com/spreadsheet/viewform?formkey=dDllb3FHLS1IdXVIcjVKR3FScklka1E6MQ#gid=0">European Datacenter support</a>. Now, customers using Google App Engine, Google Cloud Storage, Google Cloud SQL and (soon) Google Compute Engine can deploy their applications, data and virtual machines to European Datacenters.  This helps bring your solutions even closer to your customers for faster performance and enables international redundancy. <br><br><b>36 New Compute Engine instance types and overall reduced prices</b><br>Earlier this year we <a href="http://googleenterprise.blogspot.com/2012/06/google-compute-engine-computing-without.html">introduced</a> a Limited Preview of Google Compute Engine with four standard instance types.  Today, we are announcing <a href="https://cloud.google.com/pricing/compute-engine">36 additional instance types</a> and are <a href="https://cloud.google.com/pricing/compute-engine">reducing the price of our original 4 standard instances</a> by about 5% for those currently in our preview. In the coming weeks, the following will be available: <br><br><ul><li><b>High Memory Instance</b> - High performance instances tailored for applications that demand large amounts of memory.</li><li><b>High CPU Instance</b> - Reduced cost option when applications don’t require as much memory.</li><li><b>Diskless Configurations</b> - Lower cost options for applications that do not require ephemeral disk and can exclusively utilize persistent disk. </li></ul><br>   We are also introducing <a href="https://developers.google.com/compute/docs/reference/v1beta13/snapshots">Persistent Disk Snapshotting</a> which makes it simple to instantly create a backup of your disk, move it around Google datacenters, and use the snapshot to start up a new VM.   <br><br>We want to thank you, the community of developers and businesses who are pushing the platform into new areas and building innovative applications. We look forward to seeing where you take it next.  Find out more about the new <a href="https://cloud.google.com/pricing/cloud-storage">Cloud Storage pricing</a> and <a href="https://cloud.google.com/pricing/compute-engine">Compute Engine instances</a>. <a href="http://cloud.google.com/">Sign up now</a> and get started today. ]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/google-cloud-platform-new-features-lower-prices-extending-european-datacenters/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</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/</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/</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/</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/</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’s App Engine outage</title>
		<link>https://googledata.org/google-app-engine/about-todays-app-engine-outage-2/</link>
		<comments>https://googledata.org/google-app-engine/about-todays-app-engine-outage-2/#comments</comments>
		<pubDate>Sat, 27 Oct 2012 03:22:00 +0000</pubDate>
		<dc:creator><![CDATA[Julia]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[Google Enterprise]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=02053b7dcb81c98beefb65d4a222bcb0</guid>
		<description><![CDATA[Posted by Peter S. Magnusson, Engineering Director, Google App EngineEditors note: This morning we failed to live up to our promise, and Google App Engine applications experienced increased latencies and time-out errors. For a full report of the incide...]]></description>
				<content:encoded><![CDATA[<span class="byline-author">Posted by Peter S. Magnusson, Engineering Director, Google App Engine</span><br><br><i><b>Editors note:</b> This morning we failed to live up to our promise, and Google App Engine applications experienced increased latencies and time-out errors. For a full report of the incident, visit the <a href="http://googleappengine.blogspot.com/2012/10/about-todays-app-engine-outage.html">Google App Engine blog</a>.</i><br><br>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 today, about 50% of requests to App Engine applications failed.  <br><br>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. <br><br>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. <br><br>We apologize for this outage, and in particular for its duration and severity. Since launching the <a href="http://googleappengine.blogspot.com/2011/01/announcing-high-replication-datastore.html">High Replication Datastore</a> in January 2011, App Engine has not experienced a widespread system outage.  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.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19843120-4900334553071624875?l=googleenterprise.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/about-todays-app-engine-outage-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>About today&#8217;s App Engine outage</title>
		<link>https://googledata.org/google-app-engine/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/</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/</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>Streak powers their business on Google Cloud Platform</title>
		<link>https://googledata.org/google-app-engine/streak-powers-their-business-on-google-cloud-platform/</link>
		<comments>https://googledata.org/google-app-engine/streak-powers-their-business-on-google-cloud-platform/#comments</comments>
		<pubDate>Tue, 09 Oct 2012 18:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Raj Sarkar]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[Google Enterprise]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=02e74634733d1b6f9c91796983b00afd</guid>
		<description><![CDATA[Posted by Aleem Mawani, co-founder of StreakEditors note: Today’s guest blogger is Aleem Mawani, co-founder of Streak, a startup alum of Y Combinator, a Silicon Valley incubator.  Streak is a CRM tool built into Gmail. Aleem shares why Streak chose G...]]></description>
				<content:encoded><![CDATA[<div dir="ltr" style="text-align: left;" trbidi="on"><div dir="ltr" style="text-align: left;" trbidi="on"><div dir="ltr" style="text-align: left;" trbidi="on"><div dir="ltr" style="text-align: left;" trbidi="on"><span class="byline-author">Posted by Aleem Mawani, co-founder of Streak</span><br /><br /><i><b>Editors note:</b> Today’s guest blogger is Aleem Mawani, co-founder of <a href="http://www.streak.com/">Streak</a>, a startup alum of <a href="http://ycombinator.com/">Y Combinator</a>, a Silicon Valley incubator.  Streak is a CRM tool built into Gmail. Aleem shares why Streak chose Google Cloud Platform to run their business.</i><br /><br />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. We decided to build Streak on <a href="http://cloud.google.com/">Google Cloud Platform</a> to operate at scale, to understand our users and improve the application over time, and to rapidly grow our business. <br /><br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-kramU27E_Uc/UHRS-JY6ILI/AAAAAAAAAsw/nF-KREAn7S0/s1600/screen.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="256" src="http://1.bp.blogspot.com/-kramU27E_Uc/UHRS-JY6ILI/AAAAAAAAAsw/nF-KREAn7S0/s400/screen.png" width="500" /></a></div><br /></div><br />We chose to build Streak with <a href="https://cloud.google.com/products/index">Google App Engine</a> for many reasons: it can handle tons of load; it requires no maintenance; and it guarantees 99.95% uptime. Streak’s user base grew 30% week over week for 4 consecutive months after launch. Being able to handle the load and data requirements at our scale would have required us to hire a full team of backend engineers just to keep the application running. Instead, the Streak backend on App Engine is built and maintained by a single engineer. <br /><br />All of our data is stored in the <a href="https://developers.google.com/appengine/docs/java/datastore/">App Engine Datastore</a>, but we also mirror our data using <a href="https://cloud.google.com/products/cloud-storage">Google Cloud Storage</a>. As a result, Cloud Storage is a conduit to route this data to other Google cloud services, such as BigQuery and the <a href="https://cloud.google.com/products/more-products">Prediction API</a>.   <br /><br />Last, we use <a href="https://cloud.google.com/products/big-query">Google BigQuery</a> to better understand our users. It allows us to analyze large amounts of data from our usage logs and query it to answer complex questions such as:  <br /><br />How much does the average request cost broken down by type?  How many users are running an old version of Streak?  Are there currently any abnormal error rates in our application?  On average, if a user is working in a 3 person team, how many deals do they have assigned to them? <br /><br />We bundle the insights gained from BigQuery and use it to power our dashboards with key business metrics.<br /><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;"><a href="http://1.bp.blogspot.com/-5w18VEZCInY/UHRUaNhqrNI/AAAAAAAAAs4/NLO6MqEaJ9M/s1600/map+(1).jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="318" src="http://1.bp.blogspot.com/-5w18VEZCInY/UHRUaNhqrNI/AAAAAAAAAs4/NLO6MqEaJ9M/s400/map+(1).jpg" width="400" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><b id="internal-source-marker_0.011406981851905584" style="text-align: -webkit-auto;"><span style="background-color: white; color: #222222; font-family: Arial; font-size: small; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">One of many Streak dashboards powered by BigQuery showing current usage statistics</span></b></td></tr></tbody></table></div></div><br />When we first launched our business, we had gigabytes worth of data. Now, we anticipate growing to terabytes of data in just a few months. We couldn’t have scaled this easily without Google Cloud Platform.   To learn more, check out our <a href="https://cloud.google.com/files/Streak.pdf">case study</a> and our post on the <a href="http://googleappengine.blogspot.com/2012/10/streak-brings-crm-to-inbox-with-google.html" >App Engine blog</a> for a detailed technical explaination.</div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19843120-300565898401067173?l=googleenterprise.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/streak-powers-their-business-on-google-cloud-platform/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/</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/</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/</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/</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/</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>BBH fosters international collaboration with the help of Google Apps</title>
		<link>https://googledata.org/google-apps/bbh-fosters-international-collaboration-with-the-help-of-google-apps/</link>
		<comments>https://googledata.org/google-apps/bbh-fosters-international-collaboration-with-the-help-of-google-apps/#comments</comments>
		<pubDate>Thu, 30 Aug 2012 17:39:00 +0000</pubDate>
		<dc:creator><![CDATA[Laura Clowes]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[Google Apps]]></category>
		<category><![CDATA[Google Enterprise]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=ff815d3a0a592d031755b6fe161428b9</guid>
		<description><![CDATA[Posted by Ian Dobb, Interim Global CIO at BBHEditors note:Today’s guest blogger is Ian Dobb, Interim Global CIO at the renowned advertising agency Bartle Bogle Hegarty (BBH). Ian led the implementation of Google Apps for Business across five differen...]]></description>
				<content:encoded><![CDATA[<span class="byline-author">Posted by Ian Dobb, Interim Global CIO at BBH</span><br><br><i><b>Editors note:</b>Today’s guest blogger is Ian Dobb, Interim Global CIO at the renowned advertising agency <a href="http://www.bartleboglehegarty.com/">Bartle Bogle Hegarty (BBH)</a>. Ian led the implementation of Google Apps for Business across five different countries for BBH’s 1,000-strong workforce. Ian Dobb is co-founder of <a href="http://www.ionico.co.uk">Ionico</a>. He was brought in to BBH to lead its IT change programme.</i><br><br><div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-AFGXAfqaDws/UD9x2rAB9LI/AAAAAAAAAs4/McSI7A0yE6A/s1600/BBH_LOGO_TYPE.jpg" imageanchor="1" style="clear:left; float:left;margin-right:1em; margin-bottom:1em"><img border="0" height="200" width="152" src="http://1.bp.blogspot.com/-AFGXAfqaDws/UD9x2rAB9LI/AAAAAAAAAs4/McSI7A0yE6A/s200/BBH_LOGO_TYPE.jpg" /></a></div>  At BBH, collaboration is the cornerstone of developing award-winning advertising campaigns. As BBH expands its global coverage, staff are increasingly required to work on projects that have team members in multiple countries. Our international workforce of creative thinkers wants to operate without boundaries and not be held back by clunky email systems and restrictive mailboxes. The previous email system, Lotus Notes, did not live up to the demands of this modern and vibrant workforce.<br><br>  With the help of Google Apps deployment expert and partner <a href="http://www.appsbroker.com/">Appsbroker</a>, we implemented <a href="http://www.google.com/enterprise/apps/business/#utm_campaign=gogoogle&utm_source=en-entblog-na-us-bbh08302012&utm_medium=blog">Google Apps</a> throughout the organisation across 1,000 staff, a move that completely transformed the way our teams now work together and share ideas.<br><br>  In addition to email and calendar, many employees now use Google Talk to chat with each other, and they hold multi-person video chats through the Hangouts feature in Google+. For instance, the global executive team, including the Group CEO, recently held a meeting via a Google Hangout. This spanned multiple time zones and three continents. Cutting back on using a third party video conferencing service and associated data comms circuits will save BBH approximately £100,000 a year.<br><br>  Google Apps also proved its worth as a mobile working and business contingency tool. Last winter BBH employees in London arrived to work to discover the basement was filled 5 metres deep with water due to a broken sprinkler valve, leaving the main building without power, where 450 people work.  Google Apps was invaluable in keeping staff up and running. With the help of Gmail, Google Chat, Hangouts and Docs, work continued with minimal disruption while staff worked from home or from local cafes.<br><br>    With the help of Appsbroker, we’re now building a custom app on Google App Engine to help feed creative thought at BBH.  The app will help teams search and browse the vast BBH database of ideas and inspiration, making sure nothing is forgotten and lost in an archive file.  It’s an exciting prospect for a business where intellectual property is the key currency.<br><br>     With so many benefits and some exciting future prospects, we are confident that Google Apps and its constantly expanding range of collaborative features will aid the creative process for BBH staff by making it simpler for them to share ideas, streamlining processes for fast-paced teamwork, and giving clients a more responsive, dynamic service. <br><br>  <div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19843120-1569873657763994140?l=googleenterprise.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-apps/bbh-fosters-international-collaboration-with-the-help-of-google-apps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="" length="" type="" />
		</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/</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/</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-2/</link>
		<comments>https://googledata.org/google-app-engine/neural-network-for-breast-cancer-data-built-on-google-app-engine-2/#comments</comments>
		<pubDate>Tue, 07 Aug 2012 16:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Raj Sarkar]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[Google Enterprise]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=be85f35fb71a8941b50b423ae77cf280</guid>
		<description><![CDATA[Posted by Brittany Wenger, Winner of Google Science Fair 2012(Cross-posted from Google App Engine Blog)Editors note: Today’s guest blog post comes from 17-year-old Brittany Wenger, the winner of this year’s Google Science Fair. Brittany built an ap...]]></description>
				<content:encoded><![CDATA[<span class="byline-author" style="font-weight: normal; ">Posted by Brittany Wenger, Winner of Google Science Fair 2012</span><br /><br /><i style="font-weight: normal; ">(Cross-posted from <a href="http://googleappengine.blogspot.com/2012/08/neural-network-for-breast-cancer-data.html">Google App Engine Blog</a>)</i><br /><br /><i style="font-weight: normal; "><b>Editors note:</b> Today’s guest blog post comes from 17-year-old Brittany Wenger, the winner of this year’s <a href="http://www.google.com/intl/en/events/sciencefair/index.html">Google Science Fair</a>. Brittany built an application on Google App Engine called the 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. <a href="http://www.google.com/intl/en/events/sciencefair/projects/gsf83.html">Learn more about her project</a>. </i><br /><br /><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" /><br /><br />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.<br /><br />For this project, I decided to create a neural network built on Google App Engine, using <a href="http://archive.ics.uci.edu/ml/datasets/Breast+Cancer+Wisconsin+(Original)">data</a> published to the <a href="http://archive.ics.uci.edu/ml/index.html">Machine Learning Repository</a> 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. <br />          <br />I got started integrating my neural network application code, written in Java, with App Engine in a few hours using the <a href="https://developers.google.com/appengine/downloads">SDK’s Greeting Service</a> 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.<br /><br />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. <br /><br />The neural network I developed is 99.11% sensitive to malignancy when using <a href="http://en.wikipedia.org/wiki/Cross-validation_(statistics)#Leave-one-out_cross-validation">leave-one-out testing</a> with original data. 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.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19843120-1371252227792479507?l=googleenterprise.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/neural-network-for-breast-cancer-data-built-on-google-app-engine-2/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/</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-2/</link>
		<comments>https://googledata.org/google-app-engine/announcing-google-app-engine-education-awards-2/#comments</comments>
		<pubDate>Mon, 30 Jul 2012 17:33:00 +0000</pubDate>
		<dc:creator><![CDATA[Julia]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[Google Enterprise]]></category>
		<category><![CDATA[education]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=8469c8d008e59915227026ef20fa956d</guid>
		<description><![CDATA[Posted by the Google App Engine Team(Cross-posted on the Google App Engine blog.)  In addition to the startups and businesses we frequently highlight on our blog, we have seen educational institutions and their students build amazing applications, usin...]]></description>
				<content:encoded><![CDATA[<span class="byline-author">Posted by the Google App Engine Team</span><br><br><i>(Cross-posted on the <a href="http://googleappengine.blogspot.com/2012/07/announcing-google-app-engine-education.html">Google App Engine blog</a>.)</i>  <br><br>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.  <br><br>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.  <br><br>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 <a href="https://developers.google.com/appengine/downloads">download the SDK</a>, follow the <a href="https://developers.google.com/appengine/docs/java/gettingstarted/">Getting Started Guide</a> and take advantage of our free tier to deploy your first application. <br><br>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 <a href="https://docs.google.com/a/google.com/spreadsheet/viewform?formkey=dE15dWQ2eWlTc01wS0tYWnZsTlhBMkE6MQ#gid=0">this form</a>. Applications must be received by midnight PST August 31, 2012.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19843120-2550634536833337381?l=googleenterprise.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-app-engine/announcing-google-app-engine-education-awards-2/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/</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/</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/</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/</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>A new future: hitting “Refresh” on business technology</title>
		<link>https://googledata.org/google-apps/a-new-future-hitting-refresh-on-business-technology/</link>
		<comments>https://googledata.org/google-apps/a-new-future-hitting-refresh-on-business-technology/#comments</comments>
		<pubDate>Tue, 03 Jul 2012 19:30:00 +0000</pubDate>
		<dc:creator><![CDATA[Julia]]></dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[Google Apps]]></category>
		<category><![CDATA[Google Enterprise]]></category>

		<guid isPermaLink="false">https://googledata.org/?guid=0395f31a572953a98fb921f329c2be8a</guid>
		<description><![CDATA[Posted by Amit Singh, Vice President, Google EnterpriseOver the last two months I had the opportunity to spend time with hundreds of CIOs as we took Atmosphere – our annual cloud event – to 20 cities globally. What I heard from them boiled down to ...]]></description>
				<content:encoded><![CDATA[<span class="byline-author">Posted by Amit Singh, Vice President, Google Enterprise</span><br><br>Over the last two months I had the opportunity to spend time with hundreds of CIOs as we took <a href="http://www.atmosphereontour.com%20">Atmosphere</a> – our annual cloud event – to 20 cities globally. What I heard from them boiled down to one simple idea: they’re looking for <a href="http://www.youtube.com/watch?v=kcOUWjkGBUY&feature=relmfu">a better way to do things</a>. Their employees want to work in collaborative environments without being tethered to their desks, and their IT departments are eager to shift resources from maintaining old technology to developing new ones. <br><br>These business leaders have experienced the power of living in the cloud and they want to bring that experience to the workplace. The cloud has certainly transformed my life by allowing my family to stay connected from all around the world. For example, at the São Paolo Atmosphere event, I joined a <a href="http://www.google.com/+">Google+ Hangout</a> from my Android phone to wish my dad a happy birthday. This magic doesn’t need to be constrained to our personal lives. After all, we’re the same person at home and at work, and we like having access to the same devices and tools regardless. <br><br><b>A fundamental shift...</b><br>There was a time when business technology was at the forefront of innovation and productivity. Industries began to standardize around certain platforms that automated an individual’s work. But with complicated enterprise agreements, customer lock-in and limited competition, business technology lost its edge. IT professionals stopped innovating and relied on a handful of vendors who designed bloated software that was released every few <i>years</i>. At the same time, consumer technology took off. With the power of massive data centers, modern browsers and smart mobile devices at their fingertips, people found it easier than ever to communicate, create, and collaborate. Many people have fallen in love with the simplicity and freedom of these services, and they want to use them everywhere.  <br><br><b>…to working in the future</b><br>This is where Google comes in. To provide a seamless transition from home to work (and back to home), we extended our popular consumer products–like Gmail and <a href="http://googleenterprise.blogspot.com/2012/04/introducing-google-drive-newest-member.html">Google Drive</a>–to meet the needs of businesses. For instance, <a href="http://www.google.com/enterprise/apps/business/">Google Apps for Business</a> provides an additional layer of enterprise features like delegated mailboxes, granular administrative controls, a 99.9% SLA, 24x7 support, migration tools, and an ecosystem of certified resellers. <br><br>We’ve also applied the same formula to other products that were born in the cloud: <a href="http://googleenterprise.blogspot.com/2012/06/introducing-google-maps-coordinate.html">Google Maps Coordinate</a> helps companies easily manage mobile workers; <a href="http://www.google.com/intl/en/chrome/business/browser/">Chrome for Business</a> gives you a consistent, personalized web experience on any device; <a href="http://cloud.google.com/products/">Google App Engine</a> lets you to build and host your own applications in the cloud; and <a href="http://googleenterprise.blogspot.com/2012/06/google-compute-engine-computing-without.html">Google Compute Engine</a> allows you to rent Google’s infrastructure to operate at scale. With each of these offerings, you can access the latest innovation by clicking “refresh” in your browser.  <br><br>We’re humbled that 5 million businesses (including <a href="http://googleenterprise.blogspot.com/2012/01/bbva-banks-on-google-apps.html%20">BBVA</a> and <a href="http://googleenterprise.blogspot.com/2012/02/roche-group-goes-google.html">Roche</a>), 66 of the top 100 U.S. universities, and government institutions in 45 of the 50 U.S. states have <a href="http://www.google.com/campaigns/gonegoogle/index.html#utm_medium=blog&utm_source=ogb&utm_campaign=gg">gone Google</a> by choosing Google Apps to live and work in the cloud. We hear from these customers that alongside improving IT administration and individual productivity, Google Apps also helps teams of employees work better <i>together</i>. For example, Google documents let users collaborate in real-time and see each other’s edits as they happen. And now, with <a href="http://googleenterprise.blogspot.com/2012/06/get-things-done-anytime-anywhere.html">offline editing</a>, users can continue working even without an internet connection. <br><br>As people have begun to embrace the cloud, some legacy enterprise vendors have started to offer their own cloud-labeled offerings. They claim to offer a bridge between legacy solutions and the cloud. But these offerings still rely on desktop products and on-premise servers, require heavy IT investment, have limited support for mobile devices, come with complicated pricing and licences–and ultimately they’re still focused on individual productivity. If anything, they offer a bridge to the past.  <br><br>With the explosion of computing devices, ubiquitous high-speed internet, and mobile workforces, there’s a fundamental shift happening in business. The question is: do you want to cross a bridge to continue working in the past...or move to the cloud so you can live and work seamlessly in the future? <br><br><i><a href="http://www.google.com/a">Get started</a> with Google Apps or <a href="http://google.com/gonegoogle/masters">collaborate in real-time today</a> with literary masters: Shakespeare, Nietzsche, Poe and more.</i><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/19843120-7711303469840636818?l=googleenterprise.blogspot.com' alt='' /></div>]]></content:encoded>
			<wfw:commentRss>https://googledata.org/google-apps/a-new-future-hitting-refresh-on-business-technology/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</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/</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/</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/</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/</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/</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/</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/</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>
	</channel>
</rss>
