Stateless architecture is more than just functions as a service—it’s a powerful and interesting design choice that, like everything in the world of software development, comes with advantages and disadvantages. We’ll begin by examining the core principles of stateless design and how they contrast with traditional stateful approaches. The discussion will highlight key advantages, including improved scalability, easier deployment and maintenance, and enhanced fault tolerance. We’ll also address the trade-offs that come with statelessness, such as increased network traffic and complexity, potential performance issues—and the basic challenge of thinking about your software in a different way. Particular attention will be given to handling user sessions, caching mechanisms, and data consistency in a stateless environment. Attendees will gain insights into when and how to leverage statelessness, along with practical tips for overcoming common hurdles in stateless application management.
Statements Abou t Stateless DevOpsDays Cairo 2024 Dan “phrawzty” Maher
Dan “phrawzty” Maher ! Open Source Engineer @ Cerbos ! Co-Chair of DevOpsDays ! Previously Scaleway, Datadog, Mozilla, Ubisoft… ! A little more ops than dev ;) @phrawzty // cerbos.dev 2
Cerbos - Externalised, policy-based runtime authorisation for your applications. - Open source, written in Go - https://cerbos.dev/ - Most importantly: it’s stateless! @phrawzty // cerbos.dev 4
Agenda 0. What Even Is State? 1. Core Principles 2. Advantages & Disadvantages 3. Practical Concerns @phrawzty // cerbos.dev 6
What is state? State refers to any information that a system or application needs to retain between different requests or interactions to understand and respond correctly to subsequent requests from the same user or process. @phrawzty // cerbos.dev 7
Examples of state - User sessions - Request context - Client-specific data - System state @phrawzty // cerbos.dev 8