Today marks a special day for us on the App Engine team. It was just forty-six years ago today that IBM announced the IBM System/360. As Wikipedia puts it, “It was the first family of computers designed to cover the complete range of applications, from small to large, both commercial and scientific.” One of the unique aspects of the S/360 was that customers could start with a small system while being confident that they could upgrade their system to scale to larger workloads without having to rewrite their application code.
We’ve come a long way since the days of 7.2MB disk drives and when systems with 256KB of main memory were considered large. Customers haven’t changed all that much though. Developers still want a platform which makes it easy to build, easy to manage and easy to scale their applications. That’s exactly what inspired us to build Google App Engine.
It was two years ago today that we launched App Engine to the first 10,000 developers. Those developers formed the start of today’s vibrant community of over 250 thousand developers. Each day your apps collectively serve over 250 million pageviews. Since it’s our Birthday we thought we’d share our traffic graph with you.
It all started on April 7, 2008 with the Python runtime. And, after a somewhat false start with the FORTRAN 77 runtime, we were able to successfully launch App Engine for Java, along with a number of other exciting features, on our first anniversary.
Those of you who have followed along closely know that we didn’t stop there. We’ve kept up the pace, launching a significant new feature almost every month since then. The datastore team has added everything from key-only queries, kindless queries, ancestor queries inside of transactions and query cursors to configurable datastore deadlines, opt-in eventual consistency and a whole new way of replicating data across data centers. Meanwhile the rest of the team hasn’t skipped a beat, delivering a number of new platform capabilities including Task Queues, XMPP support, incoming email and blobstore. We even affixed our own shipment of delete buttons to the Admin Console.
This is probably a good time to call out one of our recent favorites though. It’s an instrumentation library which provides great data and insights. It comes bundled with the SDK and can be easily enabled in your application. Of course we’re talking about Appstats. If you do one thing this week to celebrate our birthday and improve the performance of your app while helping to make the web faster, you should enable Appstats. You might be surprised what you learn about your own app or you might even win a t-shirt.
Of course it’s often the little things that count: API fetch from blobstore, expanded URL fetch ports, DoS API, IPv6 support, removing the 1000 row result limit, Java unit testing framework, custom admin console pages, Java app pre-compilation, datastore stats, wildcard domains, per request statistics in HTTP response headers, SDK dataviewer and stable unique id for users to name a few. If you saw something in that list you didn’t know about, be sure to read 10 things you didn't know about App Engine, visit the ever growing list of great App Engine articles, and, while you prepare for Google I/O 2010, be sure to review the excellent and highly informative App Engine sessions from previous years. The Java developers among you are of course already reading the App Engine Persistence Blog.
We want to take this opportunity to thank you for your tremendous support. Hearing your feedback is really important to us. It helps us stay on course. Your feedback has also helped drive the list of things we’re working on.
We know many of you like the big features and the new APIs we’ve launched. We have graphs that show you’re using them. But, we often don’t get enough detailed feedback on how you’re using these APIs, whether they’re working really well, or whether there’s room for improvement. Let us know how we’re doing. We’d love to hear what your favorite APIs are and how you use them, especially if you’re doing something interesting you think others might like to hear about. Also, tell us about your favorite little feature. What’s that one thing that made your life easier?
Please don’t mind the crumbs as we enjoy some cupcakes.