I am the founder of a startup called Cotega and also a Microsoft employee within the SQL Azure group where I work as a Program Manager. This is a series of posts where I talk about my experience building a startup outside of Microsoft. I do my best to take my Microsoft hat off and tell both the good parts and the bad parts I experienced using Azure.
Over the years I have constantly been amazed at how customers end up using products I work on. No matter, how much thought and planning has been put into a product it seems you can never fully appreciate how customers will use your products until they actually start using them. I suppose that is a key reason for building a “Minimum Viable Product” and to get your product out the door as soon as possible so that you can get this feedback an iterate quickly.
One example of this became very clear early on in the Cotega beta. Initially, I thought that charting of logged data would be really useful for DBA’s to be able to visualize the trends that were happening over time within their database. This was a key reason for adding this feature. After talking with various people, I started to realize that although this was in fact useful to DBA’s, what many of them really felt would be useful would be to take these charts and embed them in their own web site so that their customers could see the health of the system. In a way, their customers would be my customers. This was really a surprise to me and something I had never thought of. As it turned out, it was very easy to implement because it was just a matter of creating a new MVC page that accepted the name of the chart and the user name to be used to builds the chart. Then I could use either <OBJECT> or <IFRAME> tags to take this page and embed it. Here is an example that shows a historical look at how long it takes to connect to my SQL Azure database. The numbers to the right indicate how many milliseconds it took to complete the connection.
This chart will be loaded dynamically each time you load this page. Here is the code that I used to embed this chart. Notice how, I used iFrame, which is because WordPress does not work well with the Object tag.
<iframe src=”http://cotega.com/home/charts?agentName=Monitor Customer Database&userName=liam” frameborder=”0″ marginwidth=”0″ marginheight=”0″ scrolling=”no” width=”500″ height=”400″></iframe>
Cloud Competitive Advantage
As it turned out, this ended up being a real competitive advantage for me over traditional on-premises monitoring solutions. Since Cotega is hosted completely in the Azure environment, it is very easy for me to make these charts available to be embedded in customer’s web sites. If Cotega was an on-premises system, this would have been much more difficult due to firewall and other issues. Also, if the charting was only used by DBA’s, this capability to embed charts and data would not be nearly as critical.
While I am on the subject, you might be interested to learn how I chose to implement the charting. In the early stages of the beta, I used a charting control from Infragistics. This control was great and very easy to use (although certainly not cheap). In the end, I decided to use a charting control from Protovis because it had the ability to copy and paste charts directly from the Dashboard so that they could be used in something like Excel or Word. If you are using Internet Explorer, give this a try by right clicking on the above chart and choosing paste into a Word document. Very cool, right? The other nice part about Protovis is that it is easy and free.