Cloud World

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Thursday, 21 July 2011

App Engine 1.5.2 SDK Released

Posted on 08:52 by Unknown

As the summer heat descends on the Northern Hemisphere we thought we’d release our newest App Engine version with some changes that are sure to keep you playing around in the cool, air-conditioned indoors (hey, you don’t want your computer to overheat, right?).


Production Changes



  • Adjustable Scheduler Parameters - As we previously discussed, we are introducing two scheduler knobs (okay, they actually look like sliders) that will allow you to control some of the parameters that influence how many Instances run your application. Today you will be able to set the minimum pending latency and maximum number of idle instances for your application.


Datastore Changes



  • Advanced Query Planning - We are removing the need for exploding indexes and reducing the custom index requirements for many queries. The SDK will suggest better indexes in several cases and an upcoming article will describe what further optimizations are possible.

  • Namespaced Datastore Stats - Now, in addition to getting overall datastore stats, we are providing a new option to query datastore stats per namespace.


Task Queue Changes



  • New Task Queue details page - We’ve revamped the Task Queue details page in the Administration Console to provide more information about the tasks being run. You can now see the headers included in the enqueued task, the payload, and information from previous task runs.

  • 1MB Pull Task Size - It’s our belief that there is only one way for size limits to go - and that’s up! So with this release we’ve increased the size for pull tasks to 1MB.

  • Pull queue lease modification - We’ve introduced a new method for Pull Queues that allows you to extend the lease on existing tasks if the initial lease on the task was insufficient.


Lastly, we have some exciting news related to the experimental Go runtime. While it still remains experimental, starting with 1.5.2, all HRD apps will have access to the Go runtime in production.


As always, there are also some small features and bug fixes, the full list of which can be found in our release notes (Python, Java). We look forward to your feedback and questions in our forum.


Posted by The App Engine Team
Read More
Posted in | No comments

Wednesday, 20 July 2011

Postmortem: Java App Engine outage, July 14, 2011

Posted on 12:24 by Unknown

Summary




Last week, we posted about a limited outage on July 14, 2011. Now that our internal postmortem is complete, we thought you would also like to get more detail about what went wrong and what we are going to do to ensure this doesn't happen again.






Root Cause and Analysis




The main lesson learned is to improve our live traffic testing as a relatively minor bug triggered a corner case for some of our customers. The bug was in a new release of the infrastructure in the App Engine Java execution environment. During development, testing, and qualification, this bug was essentially hidden from view because it only manifested itself under specific load patterns. During the outage, requests to affected applications would fail with errors when traffic was routed to affected instances. Application logs would have shown affected instances experienced high latency, error rates, or were not reachable from the Internet. This could have been caught by letting the live traffic testing run longer.




In order for live traffic testing to work properly, we need to improve our monitoring as well. In this case, having more points from which to do black box monitoring would have helped immensely. We are currently working on much broader monitoring for App Engine and will be integrating more extensive black box testing in upcoming quarters.




Once again, we’d like to point out that we could have done a much better job of communicating issues to all of you. While we strive to strike a balance between letting you know about major issues and not bothering you about the day-to-day operations; we clearly should have communicated this incident to you sooner. Rest assured you’ll be better informed of issues in the future.







Timeline




July 14, 2011 - 11:30 AM US/Pacific - The new Java execution environment is released to production.




July 14, 2011 - 5:00-6:00 PM US/Pacific - The previously scheduled Master/Slave read-only maintenance period occurred.




July 14, 2011 - 8:00-9:30 PM US/Pacific - Monitoring shows error rates and latency for Java applications using the Master/Slave datastore are slowly increasing across the entire system. Investigation reveals that the new Java execution environment is malfunctioning.




July 14, 2011 - 9:30 PM US/Pacific - Rollback of the Java execution environment to the previous version begins. Latency and error rates begin to fall.




July 14, 2011 - 11:30 PM US/Pacific - Rollback of the Java execution environment to the previous version completes. Java Master/Slave applications are functioning normally.






Remediation





  • Faster notification on our status site and downtime-notify mailing list

  • More live traffic stress tests for new releases

  • Better black box monitoring to detect small impacts more quickly





[Edit] Clarification: no HR datastore apps were affected. Overall, the outage resulted in a 1.9% error rate, affecting approximately 0.005% of all App Engine traffic at peak.






Posted by Wesley Chun, Google App Engine Team
Read More
Posted in | No comments

Friday, 15 July 2011

Java App Engine outage, July 14, 2011

Posted on 17:17 by Unknown

On July 14, 2011, beginning at 7 PM US/Pacific time (PDT/GMT-7), a subset of Java App Engine applications were affected by a service outage, which gradually increased in magnitude over time. At 9:30 PM US/Pacific, repair work commenced which began to reduce the effect of the outage; by 11:30 PM US/Pacific, the repair work had completed, restoring normal service to all Java App Engine applications.




During this period, affected applications would have experienced high latency and error rates. This outage occurred shortly after a scheduled maintenance period; however, the outage was not related to the maintenance work.




Overall reliability, quick return to service, and fast, accurate communication to our customers are some of the core goals of Google App Engine's service offering. While we restored service relatively quickly, it's clear to us that we fell short in prompt communication of status updates. We apologize for this, and we'll look at our procedures to improve our performance in this area.




In the meantime, we have a preliminary understanding of the outage, and we are continuing our investigation to insure that we have fully repaired the root cause. We will publish a detailed postmortem once we have concluded our research. Thanks again for your patience and understanding.



[Edit] Clarification: no HR datastore apps were affected. Overall, the outage resulted in a 1.9% error rate, affecting approximately 0.005% of all App Engine traffic at peak.






Posted by Wesley Chun, Google App Engine team

Read More
Posted in | No comments

Wednesday, 13 July 2011

Wanted: App Engineers

Posted on 08:16 by Unknown

You may have heard the news that 2011 is Google’s biggest hiring year yet. And the App Engine team is looking for a few great Software Engineers to join us in San Francisco to code, collaborate on innovative ideas for platform computing, and get burritos with us every Friday.






The App Engine team in San Francisco.


We think we have some of the best and most enthusiastic developers out there-- so we thought we’d ask you to come work with us. The App Engine team needs talented developers to help build the platform by developing the features on our road map and issue tracker, as well as that amazing feature idea you have that will revolutionize App Engine for our users.


If you are a backend engineer who is experienced with C++ or Java, lives and breathes distributed systems, and is obsessed with scalability, please visit our jobs website to submit your resume along with a cover letter describing your experience with App Engine. We’ll be in touch if we think your experience matches our open positions.


Thanks for continuing to help make App Engine a great platform!


Posted by The App Engine Team
Read More
Posted in | No comments

Wednesday, 22 June 2011

Highlights from our Google I/O Presentations

Posted on 09:52 by Unknown

Now that things have settled down from last month’s Google I/O, we thought it would be a good time to highlight some of the technical talks given by the App Engine team. At this year’s I/O, we emphasized some of the big themes we’ve been focusing on this past year: availability and productionization of our platform, removing limits while maintaining performance at scale, and developing new APIs.


Availability and Productionization of our Platform


Since App Engine automatically handles all of the sharding and distribution of your application across datacenters, we thought it would be important to talk about the strategies we use to run and maintain our platform. These talks also give you an opportunity to meet some of the engineers who carry pagers so you don’t have to.



  • More 9s Please: Under the Covers of the High Replication Datastore - We were excited to announce the HR Datastore in January, since it provides a high level of availability, even during unplanned outages, and even if an entire datacenter goes offline. HRD uses the paxos algorithm to distribute data across multiple datacenters. Alfred Fuller and Matt Wilder talk about the high level distribution strategy used and how this helps keep your app serving.

  • Life in App Engine Production - Let’s face it - everyone has some great war stories about running live applications. And the stories of Google’s SRE team probably rank with the best of them. Michael Handler and Alan Green talk about what goes right and what can go wrong running in Production.


Removing Limits while maintaining performance at scale


How can you design your application so you can transition from serving 1 user to 1 million users with the minimum amount of work? How do you make sure your user experience stays consistent for those users?



  • App Engine Backends - At I/O this year we launched App Engine Backends, which allow you to write long running processes on App Engine. Crunch numbers, process data, and build large in-memory models! Justin Haugh and Greg Darke give an overview of this new feature and cover best practices.

  • Scaling App Engine Applications - We always get lots of question on what it means and how it works to scale an app using App Engine (hint: low latency is the key!). Guido van Rossum and Justin Haugh explain how instances work and cover best practices for scaling your application.



Developing New APIs



  • Full Text Search - It took 8 days after App Engine’s initial launch for this feature request to be filed - and now work on the Full Text Search API is nearing completion. Bo Majewski and Ged Ellis give a preview of the upcoming App Engine Full Text Search API.

  • App Engine MapReduce- So you just want to analyze 5TB of data? You’ll probably need MapReduce to do so! Mike Aizatsky talks about the progress being made on the App Engine MapReduce framework and how you can use it to generate reports for your data.

  • Large-scale Data Analysis using the App Engine Pipeline API - Once you’ve written one MapReduce, you’ll probably want to write more, and then you’ll need a way to manage your application’s analysis pipeline. In this talk, Brett Slatkin discusses a lightweight API for managing MapReduce workflows.


Our team always enjoys participating in Google I/O because our engineers get to share their vision and discuss their work with a large audience. If you are interested in what some of our customers had to say at I/O, check out the Google Enterprise Blog. Of course, with App Engine featured in 23 talks for Google I/O, we couldn’t cover them all here. See the complete session list for I/O and discover all the talks on App Engine and more!



Posted by The App Engine Team
Read More
Posted in | No comments

Monday, 20 June 2011

App Engine 1.5.1 Release

Posted on 15:30 by Unknown

It’s been about a month since Google I/O 2011, so we thought it was time for another release. This month we are releasing ProtoRPC as an official Python API, making the High Replication Datastore (HRD) available in the SDK to help developers better understand the consistency model, adding presence to the Channel API, plus a few more goodies. Check them out below:


Serving Changes


  • Geolocation Header: App Engine will now include a header with every client request that represents a best-effort attempt to identify the country from which the request originated. This header, “X-AppEngine-country,” can allow you to customize content based on the origin of the user. We hope this means no more “Select your location” drop downs for users!

Updated Java and Python APIs


  • Channel API (Presence Support): You can now configure an inbound service for your application to detect user presence for the Channel API. This lets you take an action when a user connects or disconnects from the Channel.
  • Images API (WebP Support): The Images API now supports WebP images. If you haven’t checked it out, WebP is a new image format that Google open sourced earlier this year which provides lossy compression for images and can be up to 39% smaller than JPEG images of a similar quality!

New Python APIs


  • ProtoRPC: ProtoRPC is an open source framework for creating a well defined and easy to use web-based RPC service. While ProtoRPC is similar to using Google Protocol Buffers to define services, the goal of ProtoRPC is to make it easy for developers to start defining web based services, while still allowing those services to scale and evolve over time.

Datastore


  • High Replication in the SDK: Since releasing the High Replication Datastore, we’ve wanted to provide tools that help developers understand and test the new consistency model while developing their applications. The 1.5.1 SDKs for Java and Python can now emulate the HRD consistency model. This means that now, by setting the appropriate SDK config options, queries across entity groups will occasionally return results that don’t reflect the most recent data written. This should allow you to develop your application to be more resilient to this consistency model.

As with all releases, 1.5.1 contains some additional small features and many bugfixes, the full list of which is available in our release notes for Python and Java. Hopefully you’ll find this release useful. Either way feel free let us know what you think by posting in the App Engine group.


Thanks!


The App Engine Team
Read More
Posted in | No comments

Friday, 17 June 2011

Getting Started with the Tasks API on Google App Engine

Posted on 11:45 by Unknown
This is cross-posted from the Google Apps Developer Blog


Last month, we launched the Google Tasks API, which received a very warm welcome in the developer community. Google Tasks stores tasks that users enter via Gmail, their mobile device, calendar, or iGoogle homepage. The Google Tasks API provides developers with a powerful set of API endpoints for searching, reading, and updating Google Tasks content and metadata.


To help all of you get started using the Google Tasks API, we wrote a new hands-on tutorial: Getting Started with the Tasks API on Google App Engine. In this tutorial, you will learn how to:
  • Create a simple App Engine app using the Google APIs Client Library.
  • Provide Google Tasks users a mechanism to authorize your app to access their tasks.
  • Make authorized requests to the Tasks API.


By the end of the tutorial, you’ll have an App Engine app that creates a stylized list of tasks for a specific user delivered from the Tasks API:

Check out the tutorial and ask any questions you have in the Google Tasks API forum.


Posted by Johan Euphrosine, Developers Program Engineer
Read More
Posted in | No comments
Newer Posts Older Posts Home
Subscribe to: Posts (Atom)

Popular Posts

  • A Day in the Cloud, new articles on scaling, and fresh open source projects for App Engine
    The latest release of Python SDK 1.2.3, which introduced the Task Queue API and integrated support for Django 1.0, may have received a lot ...
  • Tutorial: Adding a cloud backend to your application with Android Studio
    Android Studio lets you easily add a cloud backend to your application, right from your IDE. A backend allows you to implement functionality...
  • Outfit 7’s Talking Friends built on Google App Engine, recently hit one billion downloads
    Today’s guest blogger is Igor Lautar, senior director of technology at Outfit7 (Ekipa2 subsidiary), one of the fastest-growing media enterta...
  • Bridging Mobile Backend as a Service to Enterprise Systems with Google App Engine and Kinvey
    The following post was contributed by Ivan Stoyanov , VP of Engineering for Kinvey, a mobile Backend as a Service provider and Google Cloud ...
  • TweetDeck and Google App Engine: A Match Made in the Cloud
    I'm Reza and work in London, UK for a startup called TweetDeck . Our vision is to develop the best tools to manage and filter real time ...
  • New Admin Console Release
    Posted by Marzia Niccolai, App Engine Team Today we've released some new features in our Admin Console to make it easier for you to mana...
  • Qubole helps you run Hadoop on Google Compute Engine
    This guest post comes form Praveen Seluka, Software Engineer at Qubole, a leading provider of Hadoop-as-a-service.  Qubole is a leading pr...
  • The new Cloud Console: designed for developers
    In June, we unveiled the new Google Cloud Console , bringing together all of Google’s APIs, Services, and Infrastructure in a single interfa...
  • Pushing Updates with the Channel API
    If you've been watching Best Buy closely, you already know that Best Buy is constantly trying to come up with new and creative ways to...
  • Google BigQuery goes real-time with streaming inserts, time-based queries, and more
    Google BigQuery is designed to make it easy to analyze large amounts of data quickly. This year we've seen great updates: big scale JOI...

Categories

  • 1.1.2
  • agile
  • android
  • Announcements
  • api
  • app engine
  • appengine
  • batch
  • bicycle
  • bigquery
  • canoe
  • casestudy
  • cloud
  • Cloud Datastore
  • cloud endpoints
  • cloud sql
  • cloud storage
  • cloud-storage
  • community
  • Compute Engine
  • conferences
  • customer
  • datastore
  • delete
  • developer days
  • developer-insights
  • devfests
  • django
  • email
  • entity group
  • events
  • getting started
  • google
  • googlenew
  • gps
  • green
  • Guest Blog
  • hadoop
  • html5
  • index
  • io2010
  • IO2013
  • java
  • kaazing
  • location
  • mapreduce
  • norex
  • open source
  • partner
  • payment
  • paypal
  • pipeline
  • put
  • python
  • rental
  • research project
  • solutions
  • support
  • sustainability
  • taskqueue
  • technical
  • toolkit
  • twilio
  • video
  • websockets
  • workflows

Blog Archive

  • ▼  2013 (143)
    • ▼  December (33)
      • 2013 Year in review: topping 100,000 requests-per-...
      • 2013 Year in review: making Google Compute Engine ...
      • 2013 Year in review: bringing App Engine to the PH...
      • Now Get Programmatic Access to your Billing Data W...
      • 2013 year in review: making scalability easy with ...
      • 2013 Year in review: taking Google Cloud Platform ...
      • 2013 Year in review: pushing the limits of Big Data
      • 2013 Year in review: enabling native connections f...
      • 2013 Year in review: bringing Offline Disk Import ...
      • Best practices for App Engine: memcache and eventu...
      • 2013 Year in review: giving time back to developers
      • 2013 Year in review: bringing together mobile and ...
      • Go on App Engine: tools, tests, and concurrency
      • Qubole helps you run Hadoop on Google Compute Engine
      • Alert Logic security and compliance solutions for ...
      • Outfit 7’s Talking Friends built on Google App Eng...
      • You can now deliver any-screen streaming media usi...
      • Using Google Compute Engine with open source software
      • DataTorrent offers massive-scale, real-time stream...
      • DataStax Enterprise feels right at home in Google ...
      • Why We Deployed Zencoder on Google Cloud Platform
      • Scalr and Google Compute Engine
      • Cloud9 IDE on Google Compute Engine
      • Fishlabs architects upcoming game with Compute Eng...
      • An ode to Sharkon
      • SaltStack for Google Compute Engine
      • Google Compute Engine and App Engine give Evite fr...
      • SUSE Linux Enterprise Server Now Available on Goog...
      • Google Compute Engine is now Generally Available w...
      • The new Persistent Disk - faster, cheaper and more...
      • Red Hat and Google Compute Engine – Extending the ...
      • Google Compute Engine helps Mendelics diagnose gen...
      • CoolaData digs into the “why” of online consumer b...
    • ►  November (15)
    • ►  October (17)
    • ►  September (13)
    • ►  August (4)
    • ►  July (15)
    • ►  June (12)
    • ►  May (15)
    • ►  April (4)
    • ►  March (4)
    • ►  February (9)
    • ►  January (2)
  • ►  2012 (43)
    • ►  December (2)
    • ►  November (2)
    • ►  October (8)
    • ►  September (2)
    • ►  August (3)
    • ►  July (4)
    • ►  June (2)
    • ►  May (3)
    • ►  April (4)
    • ►  March (5)
    • ►  February (3)
    • ►  January (5)
  • ►  2011 (46)
    • ►  December (3)
    • ►  November (4)
    • ►  October (4)
    • ►  September (5)
    • ►  August (3)
    • ►  July (4)
    • ►  June (3)
    • ►  May (8)
    • ►  April (2)
    • ►  March (5)
    • ►  February (3)
    • ►  January (2)
  • ►  2010 (38)
    • ►  December (2)
    • ►  October (2)
    • ►  September (1)
    • ►  August (5)
    • ►  July (5)
    • ►  June (6)
    • ►  May (3)
    • ►  April (5)
    • ►  March (5)
    • ►  February (2)
    • ►  January (2)
  • ►  2009 (47)
    • ►  December (4)
    • ►  November (3)
    • ►  October (6)
    • ►  September (5)
    • ►  August (3)
    • ►  July (3)
    • ►  June (4)
    • ►  May (3)
    • ►  April (5)
    • ►  March (3)
    • ►  February (7)
    • ►  January (1)
  • ►  2008 (46)
    • ►  December (4)
    • ►  November (3)
    • ►  October (10)
    • ►  September (5)
    • ►  August (6)
    • ►  July (4)
    • ►  June (2)
    • ►  May (5)
    • ►  April (7)
Powered by Blogger.

About Me

Unknown
View my complete profile