Explore the challenges and lessons learned in building a distributed system through this conference talk from GOTO Aarhus 2013. Delve into the journey of Travis CI as they transformed from a monolithic application to a resilient distributed system. Learn about network partitions, eventual consistency, and the importance of accepting failure as a natural part of distributed systems. Discover simple yet effective solutions for improving system reliability, including rethinking application architecture, implementing circuit breakers, and prioritizing monitoring and testing. Gain insights on handling data ordering issues, managing complexity, and embracing uncertainty in distributed environments. Understand the trade-offs between simplicity and complexity, and how Travis CI's experiences can be applied to improve the resilience and scalability of your own distributed systems.
Overview
Syllabus
Introduction
Travis CI
Travis 2012
The Hub
Old Architecture
Ordering
Clock
The Renaissance
Simplicity
Complexity
Uncertainty
Single Database
Questions
Circuit Breakers
Monitoring
Testing
RabbitMQ
Taught by
GOTO Conferences