Setting up a Windows Development Server

Recently we acquired a new client and set up a new Windows development environment for their project from scratch. Here is a profile of the process we used.

We started working with a small business based in Vancouver, Washington, USA. This was a new client for us, and they desperately needed help with their business processes. (They also requested help with their website, but that is a separate topic for a different day!)

The client was using a mish-mash of common small office/home office software products, including Adobe Professional and Microsoft Office and the processes that were being used in their business were quite convoluted. For example, the order taking process, which was needed for each new order they took, had many repetitive steps across several different programs, involving cutting and pasting and lots of duplication of effort.

For our first step, we had a consultative meeting with the client. This meeting immediately produced a tons of value in the form of actionable insights. These insights showed exactly where we should help them optimize their business processes. This optimization, when complete, will save them lots of time in the order taking process and in following up on orders. This will enable them to spend less time processing the orders. This saves costs on the staff time it takes for each order, reducing the per-order overhead, as well as allowing the order taking process to scale better. This enables them to take more orders and do more business. This a great thing for growing the business!

During the initial meeting we took detailed notes and we identified the key elements in each process. We also began to outline the solutions we would implement at each step.

This is the same basic process development that we have been doing professionally for over a decade.

Since they had a Microsoft Access database in a core role in their internal processes, we outlined a path to step from Access to SQL and then to a web-based app which we would custom develop for them. This is the same basic process development that we have been doing professionally for over a decade. This client’s use case fit nicely with the profile for this kind of work.

In order to facilitate this development process, we immediately provisioned an Amazon EC2 instance with the latest and greatest Microsoft Windows Server. Going this route is much quicker to implement than provisioning local hardware and software, and it is also less expensive, more flexible, and offers better performance out of the box. The required software licenses alone for this development environment and the related production environment would easily be several thousand dollars. Amazon has low recurring fees for their Web Services that are based on usage. Those fees automatically account for the necessary licenses for the software we use.

Since we do so much development work locally, on either Macs or Linux-based machines, I was curious to see what tools we would set up on this Windows based server for our team to share. As I was the one setting this up, I brought along many of my favorites tools. Some of them seem outdated, but they still get the job done. First I installed the truly cross-platform (consistently developed for multi-platform) tools that remain the same across the various dev platforms.

In this case these were:

As far as Windows specific tools for this dev server, they included:

We connected SourceTree to our BitBucket account. With the distributed source tracking, all of the developers on our team are able to program, test, and debug on their local machines and then push and pull accepted changes to and from the central repository.

It’s been a little while since I set up a Windows Server as a Dev environment, and I guess I was a little surprised to see myself using the same old tools. However, it gets the job done, and that’s great!