Thursday 18 July 2013

ThoughtWorks Tech Radar Event.

Last night, in flashy Sandton, ThoughtWorks South Africa gave a presentation about their Tech Radar with an emphasis on continuous delivery.

The TechRadar itself is quite interesting, although most of the features in it are not really surprising, especially if part of your job as a researcher is to research what is out there.

Quite a few companies have started doing their own radar to assess on a regular basis what technology stacks they should be using. This seems like a good idea.

They detailed how they build the radar. It is based on continuous feedback from technical people on what works and what does not, the information is then collated and curated by a "board". Rinse. Repeat.

On the topic of continuous delivery, it is something I would really like to adopt in the project I am working on, purely because we are such a small team and have to rely on as much automation as possible. I don't think it is that hard as most of the tooling is there. As ThoughtWorks mentioned, in most cases, the barriers to adoption are not technical, they are mostly social. That stuff is not really new, check out those prescient slides from HP Labs from 7 years ago, but the technology has become a lot easier.

Tool wise, things are (and have always been) a lot easier on Linux than on Windows. ThoughtWorks mentioned that they were having a lot of success managing Windows systems with Chef and Octopus (for .Net apps).

They had a lot of success with NuGet (http://nuget.org/) which is a tool to manage dependencies for .Net and C++ projects.

On the Linux side, some people are moving to Ansible because it is a lot easier to setup and learn. I spoke to someone in charge of https://www.cloudafrica.net/ and one of his engineers was able to setup a Riak 4-node cluster from scratch in 4 hours (this includes the time it took to install and learn Ansible).

Other points I've noted:

  • Use virtual machines for your services.
  • Your entire infrastructure can be described by code and data and resides under source control.
  • You should be able to throw away VMs and re-provision new ones very quickly (hence the need for a configuration management tool like Chef, Ansible).
  • Test the robustness of your system by randomly killing machines. This one very much reminded me of Colin Low's Brutality Manager that he built for the SE3D project I worked on at HP Labs.

If anything, the event made me really appreciate the freedom that I have working in an R&D environment (now at Quantel, and before that at HP Labs): that is the ability to continuously explore new technologies and use it in projects. I am very grateful for that.

No comments:

Post a Comment