Thursday, 31 January 2013

What is Dev Ops and why is it important?

We have recently been recruiting for a new role in our company: that of a Developer Operations role, or Dev Ops. This initiative has mainly been inspired by other companies who have identified the need for a separation between Development and Operations, and the need for development skills in the operations sphere.

An example of an Application Life-cycle Process without development operations would look something like this.

The work flow would go as follows:

Tuesday, 15 January 2013

Application Hosting Types Demystified

As a technology consultant, there are certain conversations which seem to always get confused. One of these conversations is around hosting. There is a lot of variation in understanding and agreement of what types of hosting there are and what they are called. I've become quite confused by this myself.

This post is my attempt at providing a crystal clear definition of the types of hosting and what they mean to you (a user of hosting services) and the hosting provider.

I've broken down hosting into these the following categories: Onsite Servers, Offsite Servers, Offsite Virtualised Servers and Cloud Services.

Below is a matrix which lists these types of hosting and what aspects you have to look after (marked with ‘C’) and what parts the hosting provider looks after (marked with ‘H’).

Friday, 11 January 2013

Cloud recipe: Standing up an Enterprise, Solr Search Server on Azure in fifteen minutes

I recently saw some Twitter activity around a new on-line Community called VM Depot. From the website: "VM Depot is a community-driven catalogue of preconfigured operating systems, applications, and development stacks that can easily be deployed on Windows Azure."

One of the VMs which caught my eye was an Linux VM with a fully configured instance of Apache Solr 4: a lightening fast, enterprise Lucene search engine built by the Apache community.

In this Cloud Recipe we will deploy a fully configured Linux VM running Apache Solr and write some C# code to talk to it.

To complete this recipe, you need the following:
  • A Windows Azure Subscription. 
  • Node.JS and node package manager (NPM). This can be downloaded and installed here.
You should be able to complete this recipe in under 30 minutes.

Tuesday, 8 January 2013

The most important part of Agile is education. Ongoing education.

Agile is a widely adopted methodology across the software devevlopment industry. The two main frameworks of Agile are Scrum and Kanban, both similar variants to each other but which both address the same set of problems with software traditional waterfall development, such as slower and more problematic delivery.

They address these problems through more collaboration across disciplines to ensure decisions are made with all relevant viewpoints taken into account, more frequent release cycles to ensure early exposure of the product to the client and the ability to adapt and change course where necessary, and a commercial structure that understands the reality of complex, software development with many integration points by agreeing to either fixed price or fixed scope, but not both.