Hot Deploying Low-Latency Services for 24/7 Operation by Martin Thompson


Ensuring Continuous Availability and High Performance in Modern Software Deployment with Low Latency

In today’s fast-paced digital world, the concept of hot deploying low-latency services is gaining significant attention. As businesses strive to maintain 24/7 operations without compromising on performance, understanding the intricacies of software deployment becomes crucial. Martin Thompson’s talk at YOW! 2022 delves into this subject, shedding light on both the challenges and solutions associated with frequent software releases.



Read more

The Cost of Downtime

One of the primary hurdles in deploying software is the fear of downtime, which not only disrupts services but can also lead to substantial financial losses. Martin Thompson references a study indicating that downtime can cost businesses around $5,600 per minute. This staggering figure highlights the importance of minimizing system outages. Despite advancements, the most common cause of downtime remains operator error or misconfiguration, followed closely by underlying platform failures and cyberattacks. As the digital landscape evolves, so too does the cost and frequency of these downtimes.

Continuous Availability in a Global Economy

Martin Thompson makes a noteworthy point about the need for systems to be always on, driven by the global nature of today’s digital economy. With users accessing services round the clock from various time zones, scheduled downtimes are becoming increasingly infeasible. This expectation for continuous availability is not just about convenience; it’s also about staying competitive. If a service is unavailable, users might quickly switch to a competitor’s offering. Thus, high availability and hot deploying become critical components of modern system architecture.

Techniques for Fault Tolerance and Rolling Upgrades

To achieve these goals, Martin Thompson emphasizes the importance of replicating state machines and consensus-based algorithms. These techniques allow systems to handle failures gracefully and ensure data integrity across multiple nodes. By using methodologies like Raft, businesses can maintain service continuity even when individual nodes are taken down for maintenance or upgrades. This infrastructure not only supports fault tolerance but also facilitates rolling upgrades, where systems can be updated without interrupting user services.

The Importance of Versioning in Software Deployment

Martin Thompson underscores the significance of versioning in software deployment. As systems become more complex, with multiple versions running simultaneously, keeping track of changes through semantic versioning becomes essential. This practice, alongside well-designed interaction protocols, ensures that systems can communicate effectively even during upgrades. By adopting these strategies, businesses can confidently move towards a future where software can be deployed more frequently and with minimal risk.

Martin Thompson

Martin Thompson
Creator of Aeron & Co-Founder

Martin is a Java Champion with 30+ years of experience building complex and high-performance computing systems. He is most recently known for his work on Aeron and SBE. Previously at LMAX he was the co-founder and CTO when he created the Disruptor. Prior to LMAX Martin worked for Betfair, content companies with the world’s largest catalogues, and some of the most significant C++ and Java systems of the 1990s.
He can be found giving training courses on performance and concurrency, and distributed systems when he is not cutting code to make systems better. Twitter: @mjpt777