Showing posts with label Technical Architecture. Show all posts
Showing posts with label Technical Architecture. Show all posts

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, 21 December 2012

Cloud Recipes: Build and Deploy an Azure Web Role with CC.net and GitHub

In this recipe we will create an Azure Web Role (Cloud Service Project), add the solution to a Git Repository, Download CruiseControl.Net server and set-up a build and deployment script to build from the Git Repository and deploy to the Azure Web Role.

To complete this recipe you need the following:
  • The latest release of Cruise Control.NET (1.8.2.0) - Download and install here 
  • A Microsoft Azure Subscription - sign up for a three month free trial here.
  • A Git Account - sign up for a free account here.
  • Putty Gen and Putty Agent can be downloaded here.
  • Git  
  • The .Net framework 4 or above
  • The Azure SDK 1.8 and all the goodies
  • Windows Azure Authoring Tools  
  • Windows Azure Tools for Visual Studio 
  • Visual Studio IDE 2012
I created this recipe on one machine with everything installed in one place. In the real world you would have a dedicated build server.


Wednesday, 28 November 2012

A pragmatist’s view: What is Technical Architecture and how do you do it?

As a Technical Architect in a digital agency I am often am asked what the role actually means or does. This question comes from everyone including Technical Architects (TAs) and one that is actually quite difficult to answer. The reason for this is that the definition of Technical Architecture in the real world has a very broad scope and is different in different companies, projects and from person to person. It is often becomes a religious argument what being a TA means or what the best way of doing it is. Forgetting best practices, patterns, methodologies, techniques and opinions just for a minute, here a broad view ‘what’ a Technical Architect does and ‘how’ they do it. I'll even look at why in some cases. I'll leave where and who up to you.

Tuesday, 9 October 2012

Building a Cloud Platform: Weapons of War


I've just returned home from a big development build. For the last five months we've been in a secret room racing to get version 1.0 of a cumulonimbus size cloud project out. It wasn't easy. Getting to 1.0 was a real battle because... well, you don't know! Because you weren't there... man!

Now that I am back on civilian soil and fighting off night terrors from the horrors of war, I can reflect on what went well and what when badly. This could be a book in its own right; but for this post I'm going to cover The Weapons of War - or the essential tools needed when building any product or platoon... I mean platform.

Monday, 21 February 2011

Buzzword Bazinga: Service Orientated Architecture


... is a grand way of building a system with a lot of moving parts. A simple system has two main things: resources and functions. Resources - such as databases and file systems - is where all information is stored and retrieved. Functions, and the applications that execute them, are the means to interact with the resources. Applications come in a number of guises such as web sites, desktop applications and mobile applications.

Depending on the size and scale of the system; applications can directly connect to these resources. Kind of like a Tie Fighter docking directly into the Death Star. The Death Star being a central core of massive evil; like, for example, a Microsoft Access Database.

But let's say distributing this evil is a galactical ambition and having one place where you can arm, equip and feed the Storm Troopers and send them out to do your nefarious bidding becomes a bottleneck. To scale, you would have look at spreading the resources and facilities around a bit. You could, for instance, take over a planet and build additional docking stations, dormitories with foosball (for those times when the rebels are not trying to overthrow you), and an array of vehicles you could use to turn small furry natives into road kill. The planet would then become a disconnected, fully functioning service of evil.

Tuesday, 25 January 2011

Back to the Estimate

The life of a technical architect is one filled with magic and wonder. We often wonder how to perform expected feats of magic. Forgiving such poor word play, there is one duty we are faced with in our day to day that demands such a skill. This is The Estimate. Being asked to estimate for a project can be like magically predicting the future. Often with a lack of information, people to consult and pressure from the business to come up with the magic number that turns a profit and doesn't send the client packing, it is easy to get it very wrong. Like Marty McFly in Back To the Future II, how do you avoid a dystopian future where you've been fired, your music career is wasted and your wife’s turned out to be a bit of a bloater? Since you probably don't have a flux capacitor, your next best option is to abide by Tech Rash’s top tips for project estimation.

Wednesday, 19 January 2011

A Rough Guide: Software Specification

Software Development can be like going on a holiday to somewhere new. You always run the risk of getting very little sun, potentially ending up in a grotty hotel or getting messed up by muggers and left groaning and penniless in a filthy, urine saturated alleyway. So how do we avoid this scenario and make this holiday the one where we meet up with our new found holiday friends, knock back a few nostalgic caipirinhas and congratulate each other on what a brilliant time we all had?