Hi, my name is John Travis.
I'm the principal software engineer
at Hyperic Software.
Um, we are a management and monitoring company
that specializes in web-based infrastructure.
Recently, we've got a lot of requests
to expand our offering to provide a visibility
to users who are using
the App Engine application framework.
And cloudstatus.com is the way that we can give
our users information about how their application
will perform in App Engine.
Let me show it to you now.
The first thing when you get to cloudstatus.com
you'll see is our outage dashboard.
The outage dashboard shows
the most recent seven days' worth of service health
and some key performance metrics
across a number of the web-based services.
In the case of App Engine we're showing data storage,
delete time, some read time,
and some memcache access right on the dashboard.
If there's any availability problems,
though, these green bars will turn red
and you'll have more specific information and links
to form details.
So the four key services that we're monitoring
for App Engine are the core engine itself,
the Python runtime,
we're monitoring the datastore, which is a Python abstraction
on top of the big table access,
memcache service,
and finally, the URLFetch service,
which shows the performance and response time
between App Engine, applications,
and various web service providers,
including open social networkers.
So if we dive into the actual engine-detailed data screen,
we'll see a few things.
The first thing you'll notice is that this green bar engine
indicates that the service has been healthy for the past week
and there has been no service outages.
In addition you'll see that the Python runtime
has maintained a pretty constant performance.
So it's about a 1/4 of a second
to calculate the 27th Fibonacci number.
Moving on, we can take a look at the datastore.
And how we've monitored this is decided to create
a typical blog kind of model where we have a user,
some profile data, as well as some blog posts.
So what this screen represents is the amount of time
it takes to perform various actions
on those models, such as creating, deleting,
reading.
You can see that, over the past week,
it's taken longer and longer
for random reads to occur in the big table.
This can occur for a variety of reason,
but it's been fairly constant
ever since we've been monitoring.
Finally, I'd like to show you the URLFetch service.
URLFetch is App Engine's only means of communicating
with external entities.
And this is important for App Engine developers
who want to integrate with web services
provided by Paypal, Facebook, hi5,
any of this open social networking providers.
The reason this screen is important
is it shows you how long it takes
to make web services' requests to the different providers.
And finally, this page shows an aggregate across access
that any App Engine user can expect.
And we provide a plug-in for Hyperic HQ,
our flagship product,
which allows you to monitor custom data
that is specific to your application,
such as how many new users you've logged in today,
how many dollars you've made,
and those metrics can be trended and alerted on
with Hyperic HQ.
I learned two great things when creating
CloudStatus integration for Google App Engine.
The first was, there's a ton of documentation out there.
And I would advise anyone who wants
to write an App Engine application
to take a look at either the Google tech talks,
their I/O talks,
or read some of their White Papers,
such as the GFS or big table papers
to get an even deeper understanding
of the infrastructure.
The second thing I learned was we have to report
a service as available
as available when it's actually available
and down when it's down.
And this means responding correctly to service outages,
as well as scheduled service outages.
To make your application robust against scheduled maintenance,
simply catch the capability disabler
and route your users accordingly.
CloudStatus is gonna be adding new services
along App Engine.
As soon as App Engine adds them, you can be sure
that you'll see them soon appear on cloudstatus.com.