After releasing the Cloud Ninja Metering Block (https://cnmb.codeplex.com/) a lot of new changes to the various technologies surfaced, and we decided to upgrade the block to incorporate these changes. Following is a list of updates we brought into the block with this release. 1. Source code availability. You can find the first version of the […]
In this post, I will explore how to create a new provider and plug it into to the CNMB framework. One of the requirements for your application could be to count the number of rows on a table per tenant periodically, and save that for future use, say to understand the heaviest users of the […]
Greetings all. In this post I want to get a little bit deeper into the block’s data collection components’ implementation. At the core of the metering block are two main concepts, the TickTock component and the providers. The TickTock component is a concept we borrowed from the Patterns and Practices Microsoft Enterprise Library 5.0 Integration […]
Microsoft today announced free ingress on Azure. This is particularly important for applications that are processing large files that are uploaded. Although in a typical web application, where ingress costs may not be significant, this is important cost savings for those apps with high volume inbound data. Details are here: http://blogs.msdn.com/b/windowsazure/archive/2011/06/22/announcing-free-ingress-for-all-windows-azure-customers-starting-july-1st-2011.aspx
I used to play with makefiles many years ago when I was developing on Unix systems, but I should admit I have not given it a go with the MSBuild files so far. While we were building the Cloud Ninja project, deploying first version was easy, because there were no users of it yet, we […]
We had recently posted a sample to demonstrate the basics of building a multi-tenant SaaS application on Windows Azure at http://cloudninja.codeplex.com. Check it out.
In the Cloud Ninja sample, we tried tackling one of the often asked questions when running a multi-tenant application in the SaaS model for keeping track of the resource usage. This is a longer explanation of why we just used Length property on the blob itself to approximate the usage. Following is the snippet showing […]