Azure App Configuration – Central Configuration Repository

Cloud based applications are distributed in nature. As the times go it becomes more and more difficult to maintain an overview over all settings used across all of the components. Finally there is a new Azure service to store and manage application and deployment settings and feature flags in one place.

Use Managed Identity in Azure API Management to Authenticate With an Azure Function

You don’t want that someone is calling your Azure Functions unauthenticated. You can rely on old-school function keys or use Azure Active Directory. Azure Functions provide elegant Authentication / Authorization functionality previous known as Easy Auth which works nicely with Azure API Management.

{Create} Test Azure

Wie verbindet man Softwarequalität und Wirtschaftlichkeit? Am 03. März hielt ich einen Vortrag bei Microsoft Österreich zum Thema Visual Studio Online, Microsoft Azure und Application Lifecycle Management. Seht euch ein Zusammenspiel zwischen einem Tester, Entwickler und wie euch Microsoft Azure dabei unterstützen kann an.

Custom Performance Counters with PostSharp in Windows Azure

The performance measurement is one of the most important things in the software development. Performance should be addressed throughout the whole development process and not only when the risks become problems. Major motivation for running something in the cloud is the fault-tolerance and scalability. Notice: without performance, scalability doesn’t exists.

“Performance and scalability are inseparable from each other. It doesn’t make sense to talk about scalability if a software system doesn’t perform. However, a software system may perform but not scale.”

This article shows you an approach how to dynamically measure performance of your code at runtime. With the help of PostSharp I created the aspect which is applicable to the all members in the solution. This aspect is using the performance counter of type AverageTimer32  to the measure average execution time.

Monitoring FTP server (file shares) in Windows Azure

It is some time ago that is possible  to use Virtual Machine(VM) in Windows Azure. A good example when you could use VM is build your own FTP Server hosted in Azure. The problem is that most products are using hard disk to store the data. The question is how you could access the data from your Web or Worker Role instances.

Windows Azure: Just plug-in your work (Part 2)

In my previous post I described the idea of using plug-ins in Windows Azure.  In context of this sample we implemented a general plug-in framework. As we saw in the video, we need two services: one which is taking the work orders and stores them in the repository and the other one which is processing them.

WorkOrderGatewayService is representing a service which takes the work orders and stores them in the BLOB Storage. This service also answers the question whether the work order is done or not. WorkOrderProcessorService is representing the service which is processing the work orders.

Windows Azure: Just plug-in your work (Part 1)

I often hear about the Cloud as the Messiah these days. Cloud should not be seen as a bad architecture saver; it is not. Bad architecture or approach will remain ‘bad’ under any circumstances, but linked with a Cloud you will faced significant costs. Cloud is about elasticity enabled through the pooled resources. If you don’t achieve high utilization, you are paying for nothing. High utilization of machines should be given as well, but how can we achieve this? The idea is simple; we are specializing work, instead of worker.

The “worker” in context of Windows Azure (now Windows Azure Cloud Services) is the Worker Role. The Worker Role is the beast which is continuously looking for a new job to be processed, similar to a Windows Service. But how to deliver a job do be done in flexible way and independently? The idea is simple, with the help of plug-ins.

Update 14. February 2013: In the Plug-Ins infrastructure I implemented in this sample was one big design issue. If you downloaded the code before this date, please take the new one. Read this blog entry for more details.

Update 10. March 2013: In the class PluginBase was overridden the method InitializeLifetimeService. This method is returning null, to disable remoting lifetime service. If you don’t do this you will get, after couple of minutes, the Remoting Exception “Object […] has been disconnected or does not exist at the server.” when the plugin’s instance is not be used. This is not the best idea for your production code, because the plugin’s instance is staying in memory until will not be explicitly unloaded from.