Friday, May 10, 2013

The Google App Engine blog is moving!


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

Tune in live to Google Cloud Platform at Google I/O 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.  

Until I/O!

-Posted by Zafir Khan, Product Marketing Manager

Bringing Debian to Google Compute Engine



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

Automatically Process Cloud Storage Uploads with Change Notifications


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.
Enjoy, and as always, we watch StackOverflow.

- Posted by Dave Barth, Product Manager

Tuesday, April 9, 2013

App Engine 1.7.7 Released


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 Preview
Outbound 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.
Google App Engine Maven Plugin
The Google App Engine Maven plugin has been updated to support new goals: now you can directly enhance Datanucleus classes, and generate Google Cloud Endpoints service discovery and client libraries.
Improving the developer experience - goodbye $2.10!
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!
Cloud SDK Preview
In our continuing effort to make developers’ lives easier, we are happy to share with you a preview release of the Google Cloud SDK which includes everything from the App Engine SDKs for Java, Python or Go as well as all the tools needed to target Google Compute Engine, Google Cloud SQL, Google Cloud Storage and Google BigQuery in one easy-to-use package.  Please try it out; we are eager to hear your feedback.
A note on reliability improvements
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 our release notes. 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.

- Posted by Chris Ramsdale, Product Manager

Thursday, April 4, 2013

Google Compute Engine - Expanded Availability, New Features, and Lower Prices


Cross-posted with the Google Developers Blog

Starting today, Google Compute Engine is available to all customers who sign up for our Gold Support package. We’re also happy to announce a 4% reduction on all Compute Engine pricing.

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:


  • An improved administration console, the Google Cloud Console (preview), which allows you to administer all your Google Cloud Platform services via a unified interface.

    Screenshot of new Cloud Console in action

  • Five new instance type families (diskless versions of our standard instance types, plus diskful and diskless versions of high-memory and high-cpu configurations), with 16 new instance types.

  • 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!

-Posted by Marc Cohen, Developer Relations

Tuesday, April 2, 2013

Integrate Voice and SMS with Twilio on Google Cloud Platform


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.

Lots of apps on App Engine have already been built with phone functionality. Check out the sample code for a group messaging app and the sample code for an app that dispatches voicemails and SMS messages to PagerDuty. Learn how to send business cards via sms through this step by step guide.

You can start building voice and SMS features into your App Engine apps today. Together with Twilio, we’ll help you get started with 2,000 free text message or voice minutes.

Ready to get started?
  1. Sign up for App Engine.
  2. Get your Twilio account and 2,000 free text message or voice minutes.

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.

-Posted by Robert Do, Product Marketing Manager

Wednesday, March 27, 2013

Education Awards on Google App Engine


Last year we invited proposals for innovative projects built on Google’s infrastructure. Today we are pleased to announce the 11 recipients of a Google App Engine Education Award. 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.

Awarding computational resources to classroom projects is always gratifying. It is impressive to see the creative ideas students and educators bring to these programs.

Below is a brief introduction to each project. Congratulations to the recipients!

John David N. Dionisio, Loyola Marymount University
Project description: The objective of this 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.

Xiaohui (Helen) Gu, North Carolina State University
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.

Shriram Krishnamurthi, Brown University
Project description:  WeScheme is a programming environment that runs in the Web browser and supports interactive development. WeScheme uses App Engine to handle user accounts, serverside compilation, and file management.

Feifei Li, University of Utah
Project description: A graduate-level course that will be offered in Fall 2013 on the design and implementation of large data management system kernels.  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.

Mark Liffiton, Illinois Wesleyan University
Project description: 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.

Eni Mustafaraj, Wellesley College
Project description: 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.

Manish Parashar, Rutgers University
Project description: 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.

Orit Shaer, Wellesley College
Project description: GreenTouch
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.

Elliot Soloway, University of Michigan
Project description: WeLearn Mobile Platform: Making Mobile Devices Effective Tools for K-12. The platform makes mobile devices (Android, iOS, WP8) effective, essential tools for all-the-time, everywhere learning.  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.

Jonathan White, Harding University
Project description: Teaching Cloud Computing in an Introduction to Engineering class for freshmen.  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.  The grant from Google is allowing us to add an overview of cloud computing as a platform that is robust under diverse loads.

Dr. Jiaofei Zhong, University of Central Missouri
Project description: By building an online Course Management System, students will be able to work on their team projects in the cloud.  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.


-Posted by Andrea Held, Google University Relations

Tuesday, March 19, 2013

App Engine 1.7.6 Released


The App Engine team is continuing to make monthly improvements to our platform.  We have a number of new features and fixes for this month’s release.  

New App Engine billing system for paid applications

We’re making it easier to pay for App Engine each billing cycle by transitioning to a new billing system.  This change will happen automatically for billing-enabled applications, with no action required on your part.  With the new system you can now:
  • take advantage of monthly billing cycles
  • make a payment at any time during the month
  • specify direct debit as a form of payment
  • assign a primary and backup credit card

We’ll start moving applications to this new billing system over the next few weeks.  You don’t need to make any changes and the migration itself will be transparent.

Other notable features

  • Full Text Search API stats are now available in the admin console.  You can start viewing these stats in advance of being able to pay for additional search resources in an upcoming release.
  • We’ve added asynchronous methods, which is now in Preview, to the Task Queue API.  This feature improves utilization by allowing your app to add, lease and delete multiple tasks in parallel.
  • A major overhaul to the Python dev_appserver, 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.
  • Admin console dashboard charts and current load/errors reports are moving to a new, more reliable backend over the next few weeks.
  • Improved support for Python libraries, with Django 1.4.2 and webob 1.2.3 now Generally Available.

The complete list of features and bug fixes for 1.7.6 can be found in our release notes. 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.

-Posted by Chris Ramsdale, Product Manager