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
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.
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.
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).
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.
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.
High Scalability has posted an excellent comparison of large data sizes, starting from the humble Byte and finishing with the incredible Domegemegrottebyte.