A Better Way to Manage Stateful Systems: Design for Observability and Robust Deployment

Thursday, December 08, 2022 - 3:50 pm4:20 pm AEDT

Kazuki Higashiguchi, Autify

Abstract: 

Designing for monitoring and robust deploying system components with a state of their own is more complex than stateless. We prefer to build our system components as stateless as possible since it is one of the best practices in the cloud-native era, but some systems inevitably have a state. Without consideration, your application hides its state and becomes a black box, which wouldn't be observable. Besides, it would be impossible to implement robust deployment without downtime since we need to verify whether we can release changes by checking the state of running applications.

In this talk, I'm going to discuss some tips to design better stateful systems for observability and robust deployment gained by the project where we've built a business-critical WebSocket server to establish a secure long-living tunnel connection, including:

  • Application design to provide insight into the internal state
  • Blue-green deployment, including business logic
  • Better architecture around stateful applications
  • Filterable logging

Attendees will gain reusable tips and reference examples when building a stateful system.

Kazuki Higashiguchi, Autify

Kazuki Higashiguchi is a Sr. Site Reliability Engineer at Autify, a company serving AI-powered testing automation platforms for web and mobile applications. His day job is building and serving robust and reliable backend infrastructure for handling a bunch of test executions for customers.

BibTeX
@conference {284927,
author = {Kazuki Higashiguchi},
title = {A Better Way to Manage Stateful Systems: Design for Observability and Robust Deployment},
year = {2022},
address = {Sydney},
publisher = {USENIX Association},
month = dec
}

Presentation Video