CloudFlow is a fully managed cloud service that coordinates distributed tasks.
In CloudFlow, you can orchestrate distributed tasks in sequence, branches, or parallel. Based on the defined steps, CloudFlow reliably coordinates task executions, tracks the state transition of each task, and executes the retry logic that you defined when necessary to ensure the smooth completion of your flow. CloudFlow provides the logging and auditing features to monitor the execution of workflows. This helps you diagnose and debug applications. CloudFlow simplifies complex tasks such as task coordination, state management, and error handling required for application development and execution of business flows. In this way, you can focus on business logic development.
The following figure illustrates how CloudFlow coordinates distributed tasks. These tasks can be functions, integrated cloud service API operations, and programs that run on virtual machines (VMs) or containers.
Benefits
Coordination of distributed components
CloudFlow can orchestrate applications that are developed in different architectures, different networks, and different languages. CloudFlow can also eliminate the gaps in the transition from Apsara Stack to the hybrid cloud (Apsara Stack and Alibaba Cloud) or Alibaba Cloud, or from a monolithic architecture to a microservices architecture.
Less flow code
CloudFlow provides rich control logic such as Sequence, Choice, and Parallel, so that you can implement complex business logic with less code.
Improved fault tolerance of applications
CloudFlow manages flow states and provides built-in checkpoints and playback capabilities to ensure that your application is executed step by step as expected. Error retries and capture allow you to flexibly handle errors.
Serverless
When you use CloudFlow, you are charged based on the number of step transitions that occur during the execution of your workflow. After the workflow is executed, you are not charged. CloudFlow supports automatic scaling, which frees you from managing hardware budgets and extensions.
Functions and features
Service orchestration capabilities
CloudFlow can separate flow logic from task execution and save your time in writing and orchestrating code. For example, after you invoke a face recognition function to detect the face in an image, the image is cropped based on the face position, and a message is sent to notify you at last. CloudFlow provides a serverless solution to reduce your orchestration and O&M costs.
Coordination of distributed components
CloudFlow can coordinate applications that are developed in different languages, different architectures, and different networks. CloudFlow serves as a coordinator when applications transit from Apsara Stack to the hybrid cloud (Apsara Stack and Alibaba Cloud) or Alibaba Cloud or evolve from a monolithic architecture to a microservices architecture.
Built-in error handling
By using built-in error retry and capture capabilities, CloudFlow can automatically retry tasks that failed or timed out, respond differently to different types of errors, and define fallback logic.
Graphical monitoring interfaces
CloudFlow provides graphical interfaces that allow you to define flows and view the execution states of the flows. The states involve input and output. This allows you to identify and handle errors.
Support for long-running flows
CloudFlow can track the entire flow and allow long-time flow execution to ensure the completion of the flow. Some flows may require several hours, days, or even months to be executed, for example, O&M-related pipelines and email promotion flows.
Flow state management
CloudFlow manages all states in a flow execution, including tracking execution steps of the flow and the data transfer between steps. You do not need to manage the flow states yourself or build complex state management into tasks.