Ryan Cooke explains how, over the course of six months, his company transitioned from a disparate set of applications deployed across many servers, some manually provisioned, to running its entire stack in a container orchestration architecture. This included not just application servers but also large core databases, sharded distributed search indexes, batch ETL processes, and operations metrics and log aggregators.
Ryan recounts this journey, starting with the goals for the transition: reducing architecture complexity and infrastructure costs. An important prerequisite was properly setting expectations of leadership, customer success, and developers. Due to a DevOps culture that considered service downtime a rare anomaly, the company followed a migration path that minimized disruption. Ryan shares lessons learned and gotchas that can help teams considering adopting a similar architecture to avoid pitfalls. Along the way, he also discusses how the homogeneity of orchestration in infrastructure architecture, rather than software, can lead to increased engineering velocity. Not only did it greatly simplify his company’s infrastructure as code, but individual developers also learned to love the ease of getting their work into production.
Ryan Cooke is head of technology at N26. Ryan has over a decade of experience working with high-performing engineering teams in startups. As both a founder and early employee, he has had input into every aspect of developing modern distributed cloud-native architectures. In the last few years, he has been mostly involved with sophisticated retrieval and categorization systems for large sets of unstructured data. Ryan is also passionate about building great engineering cultures in the organizations he runs, starting with recruiting, through an emphasis on constant learning, self-improvement, autonomy, and ownership.
©2019, O'Reilly Media, Inc. • (800) 889-8969 or (707) 827-7019 • Monday-Friday 7:30am-5pm PT • All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners. • email@example.com