Development

Automating manual work, such as deploying your application or running tests, can be a daunting task. Most teams agree that automation is important. But not knowing where to start with this 'huge and important thing', they keep pushing it into the future. In this post I offer a practical approach to get started with automation tomorrow. Automation is one of the cornerstones of Agile software development. The idea is that manual work is tedious, error-prone and therefore something you're likely to do as infrequently as possible. This includes tasks such as testing your application and releasing a new version of…

I'm a big fan of cloud-based hosting. As a matter of fact, this website (based on Ghost) used to be hosted on Microsoft Azure. This worked really well for a while, especially when combined with automated builds and deployment from a connected git repository on BitBucket. What I didn't like about Microsoft Azure is that its hard to predict costs. Despite only moderate traffic (300+ visitors a day), the cost of hosting on Azure varied between 12 and 35 dollars a month (with spikes up to 50 dollars). Looking for an excuse to try something else, I recently got my…

I recently had the pleasure of setting up a continuous deployment environment for a frequently visited 24-7 .NET-based web application that allows visitors to purchase tickets for hundreds of events. Since this application is routinely updated with new functionality by a variety of developers, the need arose for non-disruptive deployments without a complicated and risky manual deployment process. In this post, I share the design we came up with and explain how we tackled some of the problems we ran into. Deployment, or how we used to do it Originally, the application was deployed manually from Visual Studio by publishing…

In the previous post I explained what a service bus is designed to do. In particular, I introduced NServiceBus, which is a .NET implementation of a service bus that I quite like. Since the documentation on NServiceBus is quite limited I decided to write a post that shows you how to use NServiceBus with two actual web applications (MVC), a bit of Ninject and a touch of the CQRS design pattern.  In the next post I will also show you some actual code. You can download the source code. What do we need for NServiceBus? To…

I love Microsoft’s Entity Framework and the MVC framework. Put together, they make my work as a C# developer a lot easier because they take care of a lot of the heavy lifting. As a bonus, they help make my applications more structured, more easily testable and more fun to work on. But it took me a while to get where I wanted to be. As with all technologies, it takes a while to get comfortable with them and learn how to apply them in a good way. This is in part because most tutorials focus on the…