Overview
Cadence 1.0 is a powerful open-source workflow orchestration platform designed for building and managing stateful services at scale. With over six years of development, it has been adopted by numerous companies, including Uber, and is capable of handling complex workflows reliably and efficiently.
What You'll Learn
1
How to build scalable workflows using Cadence APIs
2
Why Cadence is suitable for managing stateful services
3
When to use Cadence for long-running workflows and microservice orchestration
Key Questions Answered
What is Cadence and how does it function?
Cadence is an open-source code-driven workflow orchestration platform that allows developers to build and manage stateful services efficiently. It simplifies the orchestration of complex workflows by enabling users to write workflows in their native programming languages, thus bridging the gap between writing and scaling applications.
What are the main features of Cadence 1.0?
Cadence 1.0 includes features such as default APIs for workflow management, metrics for observability, debugging tools, hierarchical workflows, and support for gRPC and TLS. These features enhance the reliability, scalability, and operational efficiency of workflows.
How does Cadence ensure reliability and scalability?
Cadence guarantees 99.9% availability and has been used for over 12 billion executions and 270 billion actions monthly at Uber. It supports load balancing and scaling for workflows, activities, and task lists, ensuring robust performance even under high demand.
What is the roadmap for future Cadence releases?
The roadmap for Cadence includes a focus on observability, cost efficiency, and improving user experience. The team aims to enhance usability, efficiency, and community engagement while maintaining backward compatibility in future releases.
Key Statistics & Figures
Monthly executions
12 billion
This statistic highlights the scale at which Cadence operates, particularly at Uber.
Monthly actions
270 billion
This figure demonstrates the extensive usage of Cadence in managing workflows and actions across services.
Technologies & Tools
Some links below are affiliate links. We may earn a commission if you make a purchase.
Database
Apache Cassandra
Used as part of the underlying technology stack for Cadence.
Search Engine
Elasticsearch
Utilized for indexing and searching workflow data.
Messaging System
Kafka
Employed for handling real-time data streams within Cadence.
Database
Mysql
Part of the technology stack supporting Cadence.
Key Actionable Insights
1Leverage Cadence's APIs to streamline your workflow management processes.Using Cadence's built-in APIs can significantly reduce the complexity of managing workflows, allowing developers to focus on coding rather than orchestration details.
2Utilize Cadence's metrics and observability tools for better operational insights.By monitoring metrics such as latency and error rates, teams can proactively address issues and optimize their workflows for better performance.
3Consider adopting Cadence for long-running workflows and microservice orchestration.Cadence is designed to handle complex workflows efficiently, making it an ideal choice for applications that require reliable state management across distributed services.
Common Pitfalls
1
Overcomplicating workflows with unnecessary dependencies.
This can lead to increased complexity and maintenance challenges. It's essential to keep workflows as simple as possible while ensuring they meet the necessary requirements.
2
Neglecting to monitor workflow metrics.
Without proper observability, teams may miss critical performance issues. Regularly reviewing metrics can help identify bottlenecks and optimize workflows.
Related Concepts
Workflow Orchestration
Stateful Services
Microservices Architecture