Woopra: State of the Union for January 2009
Saturday, January 24th, 2009Greetings fellow Wooprites! It’s been too long since my last State of the Union, and for that I apologize. Luckily for me, plenty of you are not shy about prodding for information and updates, and since we aims to please… here come a bunch of them!
Infrastructure
Over the last 90 days Woopra has evolved significantly, though it’s done so in ways not yet visible. You see, all of the heavy lifting is done on the back end to keep everything running smoothly and to add new features. Those of us who actually use the service really only interact with it primarily through the Woopra Client interface, or through the WordPress plugin which embeds stats in our blog.
Let me spend a moment talking about the changes to the back end, which we as users rarely think about:
- As Woopra expands across the Web onto more and more sites, we keep track of every single page view on every single site. And for every visit there are around 20 pieces of information Woopra collects. Woopra is seeing more than 50 million page views a day across more than 50,000 sites, so that means we’re collecting 1,000,000,000 pieces of raw statistical data each day… and growing.
- In addition to collecting the data, every time one of us opens our Woopra client we are pulling down streams of that information from the statistics Engines (thats what we call the servers that collect data) in real time. This places additional and constant demand on the infrastructure.
- Gathering and serving this amount of data alone is quite a technical feat, but planning ahead to handle 100 times this transaction load adds a whole other degree of complexity. And we want to ensure that Woopra runs as well or better when we’re handling data for 500,000 or 5,000,000 sites.
- Over the last couple of months we’ve scaled up our hosting architecture by 300%. But simply adding more physical machines to handle the load is not good enough. It’s important to ensure that the databases are also optimized, the javascript that sends data to the Engines is speedy, and that the Client can access the data quickly. Efficiency is key when working on a project with this kind of scale.
- Along with the expanded physical infrastructure, there has been daily ongoing work done to optimize the Engines for performance as well as to add some new features I’m going to let you know about in a moment.
Tackling the issues related to scaling the service was not something we planned on doing while we were actively in development. As some of you may recall, we launched Woopra as a very small closed beta at WordCamp Dallas, but received an unprecedented amount of demand for the service – which we immediately began working to fulfill. Don’t get me wrong, it’s a good problem to have… as problems go. But it has added to the challenges.
Interface
Now, in addition to the challenges of scaling the infrastructure on the back end. We’ve been working hard in a number of key areas to deliver the Woopra statistics to YOU in a dramatically improved manner. But this means a lot more than simply giving you guys an updated Client. It means giving you new and exciting ways to access your stats, communicate with your site visitors, and even add new features to Woopra!
(more…)