All Products
Search
Document Center

CloudFlow:What is CloudFlow?

Last Updated:Nov 28, 2023

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.

swf_product1

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.