Friday, January 27, 2017

Azure Functions: Limitations

For a project I’m working on we are investigating the usage of Azure Functions to replace the existing PaaS components we are using. But what are the limitations?

A customer explained me that they tried to move to FaaS before using AWS Lambda but where unhappy with the constrains and limits that AWS Lambda has.

Let’s compare the two:

  AWS Lambda Azure Functions
Request Payload Size 6MB No limit
Max duration 300 seconds No limit
Deployment Package Size 50MB No limit
Size of code/dependencies 250MB No Limit
Concurrent executions 100 Only limited to the # of instances

Should I say more? Smile

Some useful links:

Thursday, January 26, 2017

TFS –Work item not visible on Product Backlog

After splitting out some Product Backlog Items in TFS into smaller ones, we noticed that they were no longer shown on one of the boards.

What is going on?


The problem was that the we created the new PBI’s as children of the existing PBI.  As a consequence TFS no longer shows the parent PBI’s as it only shows the leaf nodes by design. In this sample it means that the Requirement 1.0 PBI is not shown, only Requirement 1.0.1 & 1.0.2 are visible on the board:


Wednesday, January 25, 2017

Team Foundation Server 2017–Enable new work item form

The new work item form that was released a year ago as part of one of the VSTS updates has made it to the on-premise Team Foundation Server 2017 product.

However after upgrading to TFS 2017, the new work item form is not yet visible. Only for new collections this new form experience is available by default, for existing collections you explicitly have to enable it.

Here are the steps to enable this

  • Go to the Collection Administration page
  • Click on the Enable the new work item form link


  • Choose an opt-in model for the new work item form
    • If you want to immediatelly activate it, choose “New form only”
    • If you want to allow users to try the new experience, choose “Enable opt-in for all users”. Users will get an ‘Try the new form’ link on their ‘old’ work item form allowing them to test the new functionality


Tuesday, January 24, 2017

Mini-SPA’s(Single Page Apps)

After building multiple both small and large Single Page Applications I’ve landed on an approach where I typically split out my single Single Page App into multiple smaller SPA’s. Similar to using microservices on the backend this approach offers a lot of benefits.

First of all the initial footprint of your application is a lot smaller. Second working with multiple people on a SPA becomes easier, less change that something is broken after pulling the latest sources from your source control system. You can also avoid some of the issues regarding session expiration, javascript bugs that make your app freeze, memory leaks, etc… that you otherwise need to handle yourself.

However each time I start a new project and I try to explain this approach to someone I get strange looks and people doesn’t understand why you shouldn’t build your SPA as one big monolith?

Last week I stumbled over a blog post by Maurice De Beijer where he explains a similar approach. Now I feel confirmed in my opinion Smile

Are there other people out there who split out their SPA?

Monday, January 23, 2017

ASP.NET Core: Set the environment on your Powershell prompt

While trying to run our ASP.NET Core application from the commandline using ‘dotnet run’ we got the following warning:

Development environment should not be enabled in deployed applications, as it can result in sensitive information from exceptions being displayed to end users. For local debugging, development environment can be enabled by setting the ASPNETCORE_ENVIRONMENT environment variable to Development, and restarting the application.
Makes sense, however in this case we would like to run the application using “Development” as the configured environment. 

How can we do that?

From the command prompt:

dotnet run

From Powershell:

dotnet run
Remark: Note that the environment change will only apply to the current window. So it is important to run both commands from the same command prompt 

Friday, January 20, 2017

Walking down the memory lane–The history of JavaScript

Just a really short post with a link I wanted to share about the history of JavaScript:


Thursday, January 19, 2017

Visual Studio Test goes Open Source

Microsoft, in its continuous effort to move to the open, has open sourced their Visual Studio Test Platform. This is not MSTest, the testing framework, but the tooling  and engine in Visual Studio that powers test explorer and vstest.console.

The Visual Studio Test architecture has four major components:

  1. Test Runner is the command line entrypoint to test platform (vstest.console).
  2. Test Execution Host is an architecture and framework specific process that actually loads the test container and executes tests.
  3. Data Collector Host process hosts the various test execution data listeners.
  4. IDE/Editor process is used by developer for Edit/Build the application and trigger test runs.

runtime) of the test.

Not all parts are open sourced yet, but the rest will follow…

vstest.console overall architecture