Cloud & Delivery

DevOps

DevOps is the part of building and maintaining software that decides how often you can safely change it. It comes down to automating the routine operational work and standardising the environments underneath, and we design that for the scale the solution actually runs at.

Talk To Us

From commit to running service

Pipelines

A pipeline is worth having when nobody thinks about it. Ours build, check and test on every commit under a clean Git Flow, then package and release without a manual step in the middle. We work in whichever house the code already lives in rather than moving a client onto ours: GitLab and Bitbucket for the repositories, TeamCity, Azure DevOps Pipelines and AWS CodePipeline for the automation.

GitLabBitbucketTeamCityAzure DevOpsAWS CodePipeline

Standard environments, zero-downtime releases

Containers and Orchestration

Standardising the environment is what makes the rest of it safe, so services are packaged as images, registered, and rolled into a cluster with no downtime on the live system. We run both of the big managed orchestrators in production, on AWS and on Azure, and choose per client rather than per preference.

DockerAmazon ECRAmazon ECSAmazon EKSAzure AKS

Moving the data, and watching it move

Streaming and Observability

The interesting problems arrive as volume. Kafka carries the events, with brokers split by data type and topics created from the shape of the traffic itself, feeding relational stores, Elastic indexes and static files. Logs and message data go to Elasticsearch, Logstash and Kibana, so what the platform is doing can be watched rather than guessed at.

Apache KafkaElasticsearchLogstashKibanaNginx

Selected Work

Where It Has
Actually Run

The two platforms these tools were proven on, in detail: what they were built from, and what they carry.

All client work

Ready When You Are

Ship It More
Often, Safely.

If deploying is the part everyone dreads, that is the problem worth talking about first.