Cadence is a fault-tolerant stateful code platform created by Uber that enables users to write stateful applications without worrying about handling the complexity of handling process failures. 

Workflows provide primitives to enable application developers to express complex business logic as code. It also provides asynchronous history event replication that can help users recover from zone failures. 

Cadence provides a durable virtual memory that is not linked to a specific process, preserving the full application state including function stacks, with local variables across all sorts of host and software failures. 

It consists of a programming library and a managed service and allows for developers to author and coordinate tasks in Go and Java as officially supported languages and Python and Ruby supported by the community. 

At the core of Cadence is a highly scalable multitentant service. The service exposes all of its functionality through a strongly typed gRPC API. A Cadence cluster include multiple services, each of which may run on multiple nodes for scalability and reliablity.

Additional details on Cadence are available here