Please log in to watch this conference skillscast.
All systems reflect the history and evolution of their designers, as well as their constraints in time, cost, team composition, and organizational factors. The architecture of our applications documents our attempts at making tradeoffs to balance our needs and limitations. If we get it right our systems will support 1 or 2 orders of magnitude growth. But when growth accelerates, systems will show signs of stress. Where and how this stress will degrade your application is a challenge to predict, or even detect in real time.
Setting a course of action to meet new growth can be difficult. Architectural changes are even more burdensome for hyperscale systems. Tolerances are lower and component changes must not regress in performance. Edge cases that are one-in-a-million events become common. But there is hope! Here are some proven patterns and lessons learned while evolving systems at internet-scale.
Sign O’ The Times: Iterative System Evolution at Hyperscale
Ines Sombra
Sr. Director of Engineering, Data Engineer Fastly