8 Manoeuvres to Make You the Perfect Git Citizen

Contribute to a Git Project with Elegance by Rewriting the Past  

One of the greatest features of the GIT version control system is its ability to rewrite local history before pushing it to a remote repository.

more»

21 Commandments for Greenfield Development

A Developer's Guide to New Projects  

The “greenfield” project is known by developers as a productivity Nirvana. It is a beautiful place where there is no legacy, no bugs and endless possibilities. It is also littered with mines.

I’ve recently seen a number of anti-patterns around the creation and early growth new projects, and thought I’d summarize the anti-patterns I’d seen in the past as a guide for developers to avoid these common pitfalls.

more»

Cloud Native London

London DevOps Meetup  

Members of the Cloud Native London Meetup had the pleasure tonight to hear some amazing speakers.

The first talk was called Switching Horses Midstream: The Challenges of Migrating 150+ Microservices to Kubernetes where Sarah Wells, the Technical Director for the Financial Times spoke about their migration from disperate Docker containers to a microservice architecture orchestrated with Kubernetes.

The FT’s content platform team put our first containers live in mid-2015 and migrated the rest of our services over by April 2016. We weren’t using Kubernetes but in late 2016, we decided we wanted to benefit from the work other people were doing and switched over to Kubernetes. We had 150+ microservices and needed to keep the existing platform running in parallel.

more»

Surgeons Who Won’t Sew

And What It Means for Your Engineering Team  

Then she gets up and leaves. The patient is still on dialysis, still bleeding in places, and their internal organs are still on show for everyone else in the room. The patient’s immediate future is secure, but eventually they are still going to bleed to death.

As a DevOps engineer, perhaps one of the best things you can do for an engineering team is to empower them to write and utilize tests. This may be as simple as setting them up with a hosted CircleCI account, or might be as involved as setting up an entire build pipeline on an internal CI system like TeamCity, AWS Codebuild or Jenkins.

more»

Your Production Environment Isn’t Always So Important

The Cost of Moving Slowly  

Until you have found product-market fit, your production environment is often just another test environment. It’s not testing your code, it’s testing your customers.

At a previous startup company, we had a few hundred thousand users. Not all that many, but enough to get some interesting data and be in a position to use it to optimize the business. We had previously built a recommendation engine in Elasticsearch which all our users were piped through, and we user it to provide daily recommendations based on our most recent data. It wasn’t all that complex at first, and served us really well for a while.

more»