Over the past year, we've seen users build entire event-driven applications such as social networks on top of Apache Flink (Drivetribe.com), elevating the importance of state management in Flink to a whole new level. Users are placing more and more data as state in Flink, using it as a replacement to conventional databases. With such mission-critical data entrusted to Flink, we need to provide similar capabilities of a database to users. One of such capabilities is being flexible in how data is persisted and represented. Specifically, how can I change how my state is serialized and stored, or even the schema of my state, as business logic changes over time? In this talk, we'll provide details on the latest state management features in Flink that allows users to do exactly that. We'll talk about how Flink manages the state for you, how it provides flexibility to the user to adapt to evolving state serialization formats and schemas, and the best practices when working with it.