Tag Archives: System Architecture

Continuous Deployment with Docker – Container Camp presentation

I had the privilege of talking at the inaugural London Docker conference Container Camp along with a raft of industry-leading minds. Thanks to YLD! for the organisational skills – the conference was a tremendous success.

Video will follow, in the interim here are the slides from my talk: Continuous Deployment with Docker.

Deployment Pipelines: Disproving the Big Bang

Here are my slides from LNUG 08/2014 covering the basics tenets of setting up a continuous deployment pipeline and outlining some of the challenges.

To paraphrase the steps:

  • Start with tests
  • Build a pipeline that’s reliable
  • Deploy to an environment
  • Monitor everything
  • Use KPIs for a cluster immune system
  • Roll back if KPIs exceed tolerances
  • Halt the pipeline, analysis/5 whys?
  • Write a failing test case before fixing it
  • Re-enable the pipeline
  • Sleep well at night

Slides here.

VelocityConf 2013 Videos

Velocity is the must-attend conference for web operations and performance professionals. Engineers and developers gather to explore the latest technologies, techniques, and best practices around resilience, optimization, mobile, cloud, metrics, and more.

This trove of videos contains gems concerning Continuous Delivery, Testing across the stack, Web Performance and more.

High Performance Browser Networking

Google web performance engineer Ilya Grigorik has put together the definitive tome on bleeding-edge, high speed web apps. The book is packed with information on performance optimization best practices for TCP, UDP, and TLS protocols, and explains unique wireless and mobile network optimization requirements:

How prepared are you to build fast and efficient web applications? This eloquent book provides what every web developer should know about the network, from fundamental limitations that affect performance to major innovations for building even more powerful browser applications—including HTTP 2.0 and XHR improvements, Server-Sent Events (SSE), WebSocket, and WebRTC.

It’s free in HTML format via Velocity Conference.

Etsy’s Engineering Talks

A wealth of information is tucked away in Etsy’s Engineering Talks - by the people who build and run Etsy. They cover development, DevOps, security, testing, continuous deployment, configuration management, and engineering culture (among others).

The network is reliable

A fascinating post-mortem on high profile network failures:

This post is meant as a reference point–to illustrate that, according to a wide range of accounts, partitions occur in many real-world environments. Processes, servers, NICs, switches, local and wide area networks can all fail, and the resulting economic consequences are real. Network outages can suddenly arise in systems that are stable for months at a time, during routine upgrades, or as a result of emergency maintenance. The consequences of these outages range from increased latency and temporary unavailability to inconsistency, corruption, and data loss. Split-brain is not an academic concern: it happens to all kinds of systems–sometimes for days on end. Partitions deserve serious consideration.

EC2 timeslicing and reserved instances

AWS Logo

Contrary to the implications in the AWS EC2 documentation reserved instances do not have more power or more generous resource allocation – they are a billing mechanism to ensure that customers with large server allocations are able to bring that quantity up at will. Over the course of years it is up to 70% cheaper to use reserved instances.

CPU timeslicing only occurs on micro instances.