Hard to believe its been more than a year since my last post! I get a lot of “Hey Mike, what have you been up to?” email from this blog and the IIS troubleshooting newsletter, so I figured I should answer this question before getting back to business as usual.
The short answer is, I’ve been heads down reinventing LeanSentry, a startup I helped launch in 2013.
What is LeanSentry?
If you don’t know what LeanSentry is, its an expert performance monitoring & diagnostic service for Windows web applications. The vision for LeanSentry was to take all the troubleshooting and analysis techniques we’ve done at LeanServer for some of the biggest MSFT websites, and let everyone to use them to fix/tune their own web apps.
We first launched the service in 2013 after a brief beta. Things were going great, but later that year we realized we had to make some hard decisions.
The challenges
Our interface was too complicated. We tried to cover as much ground as possible, with a static interface that required too much digging around.
We underestimated how much data customers would send us. Because LeanSentry correlates a lot of performance and health data from the server, some of our customers ended up being 100x more costly to handle than others. We went with a fairly standard data layer on top of Windows Azure storage (SQL Azure, blobs, tables), that ended up a lot harder to scale to the very intensive data processing and analysis demands.
We also had a lot of trouble scaling the expertise. Only a handful of the team could provide the expert insight our customers wanted into the product’s diagnostic results. We wanted to provide excellent customer service, so this put a big drain on the core development team in terms of answering questions and giving performance guidance.
Going dark
Late in 2013, I realized that we were spread too thin to fundamentally address these problems. We needed to build the right product, and the right platform, to deliver the kind of experience our customers wanted, but we had no time to do it because we were busy supporting and growing what we already had.
So, we made one of most difficult decisions a startup can make. To sacrifice revenue growth and industry awareness, and refocus our energy on creating the right product. We’ve stopped all public communication, leaving word of mouth and google as our only sources of new customers.
As a self-funded startup, we were also in the process of raising capital to fund LeanSentry’s growth. Our decision meant keeping LeanSentry self-funded, so that we would have the ability to do the right thing for the technology as opposed to doing the thing our investors wanted. Thankfully, LeanSentry was already profitable and we were able to self-finance the next phase, albeit with some scaledown of personnel and operations.
Getting it right
It was back to basics – working with customers, whiteboards, and coding. Lots of coding.
We rebuilt our entire backend, building a custom data layer that boosted the performance of Azure storage to the levels where we needed it. This combined the relatively cheap Azure storage with a lighting-fast asynchronous cache and batching layer that leveraged disk and memory on our processing servers.
We built a brand new javascript-based interface, that displayed our data and diagnostics in near real time.
I re-wrote the original diagnostics, particularly the IIS/ASP.NET hangs, CPU profiling, and memory analysis, to make them easier to use for both diagnosing problems and proactive tuning, and to keep them very lightweight.
We built LeanSentry OnPremise, a package that allowed customers with security or privacy restrictions to host the entire LeanSentry platform in their own environment.
Coming back
We spent the first quarter of 2015 validating the new product with our customers. So far, it’s been a big success … customers love the new interface, the depths of diagnostics, and the overall ease of use. Check out the company blog for more about the features.
Our challenge now is to pick up where we left off, and begin to grow the new product. We just launched the new www.leansentry.com, and many more exciting features are coming down the pipeline in the next few months.
I am looking forward to getting back to writing, and sharing some of the IIS/ASP.NET performance tricks and lessons learned from building and running a high-volume startup on IIS/ASP.NET and Windows Azure.
In the meantime, check out the brand new LeanSentry here. Let me know what you think.