Author: David Ellis

From structure to behaviour – migrating to an Event Sourced system

For a few years now we have identified Event Sourcing as being a good fit for the sort of applications we build at TIM Group. This is becoming increasingly important as the business has been transitioning from an alpha capture and distribution tool to a platform that provides analytics as […]

Read More

Scenario testing for infrastructures

Recent advancements have allowed us to provision an entire environment with a single command. The next major challenge facing us is how to perform updates to environments, this gives rise to an additional set of challenges (and constraints) for our automated provisioning system. We’re working towards a provisioning system that […]

Read More

Towards A Rich Domain Model for Infrastructure

We suffer from a number of issues around how we provision environments that host our software. One of the most annoying of these is that we need to make sure puppet runs complete in the correct order because different role types will “export” resources to PuppetDB, which are then consumed […]

Read More

Introducing Orc and its agents

This post is the third part of series documented here (part 1) and here (part 2). In the previous post we discussed the Application Infrastructure Contracts. These contracts mean that new applications can be deployed to production with minimal effort because the infrastructure tools can make assumptions about their behaviour. […]

Read More

Standardized application infrastructure contracts – part 2 – towards continuous deployment

This post is the second part of a series, which starts here: https://devblog.timgroup.com/index.php/2012/07/17/standardized-application-infrastructure-contracts To deploy a new version of an application we need to be able to do the following in a standard way: download a new version of an artifact install and start a version of an app (deploy) […]

Read More

Standardized application infrastructure contracts

When we began implementing a continuous deployment pipeline for yet another application the age old principle of DRY (Don’t Repeat Yourself) started to become more difficult to ignore. Our applications had been produced at different times each with varying technology stacks and each with the newest approach the team had […]

Read More