Tag Archives

2 Articles

10 Wishes I have for Microsoft Azure

Posted by Malisa Ncube on

These are some of the wishes I have for Windows Azure using Visual Studio. I wish I could tick all of them off as available or be found wrong in thinking that they don’t exist when they actually do. They have either not been straightforward or seemed completely absent and have made me lose a lot of hair, gain weight and wish for a beer on Monday morning.

Lets get right into it.

  1. Reverse engineer all settings from a subscription and generate a powershell script which when I run against another subscription I would get exactly the same configuration.

  2. DocumentDb to be improved to support IQueryable. I want to simply write a linq statement and the SQL expression is generated and I don’t have to write the SQL query my self – I feel like I’m going back to 1980. I am thinking of customising a linq translator online for this and get my repository cleaner.

  3. There is little to no documentation for using Azure CDN online. Let me not even mention best practices or samples.

  4. While its good that Azure ServiceBus supports AMQP, it would be nice to support more. e.g. MQTT – if IoT is the future why is this not reflected here?

  5. HDInsight clusters are insanely expensive. You set it up today with minimal cores and the next 2 days it has consumed a sizable chunk of your balance.

  6. HBase SDK is almost unusable. It will be nice if the SDK was complete and we could have a proper Northwind sample or NerdDinner that will follow good practices e.g. Unit Testing, BDD, Repositories, Desired State Configuration, Continuous Delivery and such. Have a way to map to entities.

  7. The schema evolution of the database is still not Azure friendly. e.g. What happens if you want to force drop/create.

  8. Entity framework does not seem geared for sharding on Azure

  9. I think it would be nice to enable better reporting on errors/exceptions. Maybe have a debug deployment which compiles with debug symbols and gives you a more details stacktrace.

  10. Publishing from Visual Studio sometimes works and sometimes it doesn’t. I have noticed that making major changes to the project and publishing using Visual Studio tools does not properly clean the existing installation often resulting in old files and new files all thrown around the installation folder. I normally have to delete my webapp and recreate it to have this work. Very frustrating.

Opensource Azure with TFS Online

Posted by on

As you may know; Azure is an open platform enabling deployments from many programming languages including PHP, NodeJS and various operating systems.


There is a scenario which I have been trying to experiment with. This is enabling Visual Studio Online for non-TFS projects. This would enable me to throw a PHP project without Source Control Explorer or Visual Studio onto the repository and have somehow the deployment automagically get pushed to my linked Azure site.

The ALM powers of TFS Online are simply hard to resist for me. Some of them include.

  • Managing development teams and collaboration.
  • Managing backlogs iterations and project tasks.
  • Bug tracking
  • Version control (you can use git for this if you want)
  • Security
  • Managing builds and continuous testing and deployment
  • From the control panel, it seems there is extensibility on the services. Currently I see the Azure service. We are probably going to see more services there, hopefully it’d also be possible for third party companies to add services on the control panel.

While this list is not exhaustive of the features you get from TFS online, it presents some of the things I need if I’m developing any project.

You may recall the Windows Azure Websites already supports deployment through git. This option enables you to collaboratively work with your co-admins to continuously work an push changesets onto Azure.


I spent a while with my friends who wanted to use the features of both TFS online and Azure in one seamless process. They wanted to consolidate their tasks into one portal which would give them a window into how the project is running, prevent delays and present the true picture of the project that can be communicated to their customers, while enabling linkages with code, bugs and visibility on all the finer intricacies. They were tired of using spreadsheets which are not up-to-date and the disconnect caused by the fact that developers don’t want to document stuff and there was no clear picture of what they were doing. There was no clear bug management system, putting a lot of mental pressure on developers to remember bugs, their location and status :).

These guys are strictly Linux/PHP/MySQL and have a beautiful solution. We had to host it in a powerful platform.


The natural approach was to create a new team project in tfs.visualstudio.com and link it to azure website. But remember this project is not a Visual Studio project and the developers had no Team/Build Explorer and develop their sites mostly using Notepad like IDEs. First of all, when you create a project on tfs.visualstudio.com, the build is disabled by default – I ‘m not sure why it is like this. Secondly, if you somehow install a Team Explorer plugin and enable it remotely you will get the following error message.

TF277005 : Access Denied.

TF277005 : Access Denied.

From this, I suspected that if you are not using Visual Studio tooling and possibly the MSBuild files, you may not succeed in this approach. I stand to be corrected on this.

We then decided to come up with a simple solution presented by Scott Hanselman here.

We simply created two remote locations. One for Windows Azure and the other for TFS online. We then created simple bash scripts that push to both repositories. We them later improved the scripts so that deployment to Azure was a specific process, which was done through a specific one-click script. We did not like the idea of pushing changes and they are immediately reflected without proper sanctioning by all the stakeholders.

I hope in the near future we will have a standard set of commands that can be remotely executed to enable tests and build scenarios of non-MS Build projects in TFS Online.

You can get more information from below