Google App Engine Blog

News, notes, tips and tricks from the Google App Engine Team

Friday, May 10, 2013

Since this blog's inception, Google App Engine has gone from the primary component of our nascent Cloud Platform to one of the many services we offer developers building in the cloud. In recognition of the growth of the platform in both usage and number of components, it's time to take a more holistic approach to our communications channels. With this in mind, we are introducing a new, comprehensive Google Cloud Platform blog.

The Google Cloud Platform blog will be the home for all new App Engine blog content: the release updates, tips and tricks and customer stories you've grown accustomed to finding here. You'll still be able to read existing posts in the archives, and all links to this blog should continue to function.

App Engine has been, and continues to be, one of the cornerstones of our vision for developing in the cloud. It has been exciting to see what over 300,000 of you have built and we can’t wait to see what you do next.

Thursday, May 9, 2013

Google I/O 2013 is only a week away! We look forward to sharing updates across Google Cloud Platform. Here’s everything you need to know to keep up with the latest happenings at I/O.

This year, we will have a Google Cloud Platform track kickoff given by Urs Holzle, Senior Vice President of Technical Infrastructure, on Wednesday, May 15th at 12:45 PM Pacific. You can watch the stream on the I/O Live Stream page. Urs will make a few special announcements, so you won’t want to miss it.

At I/O, we have an entire Cloud Platform track complete with code labs and conference sessions. Even if you aren’t attending, you can still tune in to the following sessions on the live stream, which you’ll also be able to find on the homepage of cloud.google.com:

All of our sessions (including the live ones above) will be available on demand as soon as we can get them posted. We’ll post live updates on Google+ and Twitter, so be sure to follow us and take part in the conversation.

This was an exciting week for the Debian community who released Debian 7.0 “wheezy” that brings big improvements including hardened security, improved 32/64-bit compatibility and addresses a lot of community feedback. Today we’re adding Debian images for Google Compute Engine. Debian, in collaboration with us, is providing images for both Debian 7.0 “wheezy” and the previous stable release, Debian 6.0 “squeeze.” This support will make it easy for anyone using Debian today to migrate their workloads onto Compute Engine.

For fast performance and to reduce bandwidth costs, Google is hosting a Debian package mirror for use by Google Compute Engine Debian instances. We’ve updated our docs and will support Debian via our usual support options or you can also check out what Debian offers.

We are continually evaluating other operating systems that we can enable with Compute Engine. However, going forward, Debian will be the default image type for Compute Engine. We look forward to hearing your feedback.

-Posted by Jimmy Kaplowitz, Site Reliability Engineer and Debian developer

Tuesday, May 7, 2013

Do your customers upload files to Google Cloud Storage for your applications to process? For example, a photo app may want to create thumbnails of new images as soon as they are uploaded. Normally you would have to poll for updated objects which can be a resource waste or cause you to react slowly. Most times writing and deploying custom scripts to trigger your application is cumbersome.Today, we're releasing object change notification as a preview feature, allowing you to watch your Google Cloud Storage buckets for new, modified, or deleted objects with a webhook you provide. Now your application can be automatically triggered when an important change happens and start processing data immediately. We've also updated gsutil with a notifyconfig command. A Google App Engine webhook can be as simple as the following:

We're also releasing an update to the Google Cloud Storage JSON API, bringing it into parity with our existing XML API, including exposing new methods such as Copy and Compose. As a part of this release, we are making the API available to everyone without requiring an invitation.

Tuesday, April 9, 2013

3 weeks following our last release, the App Engine team is happy to announce 1.7.7. We plan to deliver our Google I/O release next month.

Outbound sockets moved to PreviewOutbound sockets is now in preview in this release for Java and Python. With outbound sockets, billing-enabled App Engine applications can now make outbound connections with TCP or UDP sockets. This allows developers to build applications that weren’t previously possible on App Engine, such as IMAP or DNS clients.

In the Python runtime, we’ve added support for the Python SSL Library, so you can now open secure connections to remote services such as Apple’s Push Notification service. Similarly, Java developers can now use the javax.net.ssl package to make outbound SSL connections.

Java 7 runtime upgraded to General Availability

The App Engine team is committed to quickly releasing features to General Availability. You may recall we announced that the Java 7 runtime was in preview just 2 months ago. Since then we have seen 200% adoption week over week, and today are happy to announce the General Availability of the runtime.

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. In the near future, we plan to automatically update all existing Java 6 applications to Java 7. Most applications shouldn’t be affected by this change, but we encourage you to start testing your application in advance. For more compatibility information, we suggest that you check out the Java SE 7 and JDK 7 Compatibility notes.

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. We have determined that we can continue to support the free tier, without relying on the minimum spend. So, goodbye $2.10!

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. In just the past two months, we’ve made many such improvements:

Faster and more consistent deployments. Many customers are seeing up to 10x reductions in time to deploy a new application version.

We have fully deployed an entirely new scheduler system which autoscales applications more smoothly and efficiently.

Admin console dashboard charts and current load/error reports have moved to a new, more reliable backend

The release version of App Engine is now visible in the Admin Console and in request logs

Several stability and scheduling improvements to Task Queue

The complete list of features and bug fixes for 1.7.7 can be found in ourrelease notes. For App Engine coding questions and answers check us out onStack Overflow, and for general discussion and feedback, find us on ourGoogle Group.

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 recent review:

“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.”

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.

Based on user feedback, we’ve added a number of major features including:

Two new supported zones 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 gcutil command line tool.

An enhanced metadata server, with the ability to support recursive queries, blocking gets and selectable response formats, along with support for updating virtual machine tags and metadata on running instances (which enables dynamic reconfiguration scenarios).

While we've been hard at work developing new features, we've also had the opportunity to play. Check out the amazing World Wide Maze Chrome Experiment, 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.

With today’s announcement, we look forward to welcoming many new customers, and bringing exciting new applications to Google Cloud Platform!

Tuesday, April 2, 2013

Have you ever wanted to integrate SMS or voice communications into your app? We’ve been working with our friends over at Twilio to make it easier to do so. Today we’re announcing native Python and Java libraries for working with Twilio APIs onto Google Cloud Platform.