diff --git a/doc/README.md b/doc/README.md index 84c8b98f..00513063 100644 --- a/doc/README.md +++ b/doc/README.md @@ -16,7 +16,7 @@ TODO: why REST URL is not generated with parameters? -## Running sphinx-audobuild +## Running sphinx-autobuild [auto-loader](https://pypi.python.org/pypi/sphinx-autobuild/0.2.3) - rules for convenient development https://pypi.python.org/pypi/sphinx-autobuild/0.2.3. install, and run: diff --git a/doc/source/overview.rst b/doc/source/overview.rst index 8b26fd25..1e814269 100644 --- a/doc/source/overview.rst +++ b/doc/source/overview.rst @@ -6,30 +6,30 @@ What is Mistral? Mistral is a workflow service. Most business processes consist of multiple distinct interconnected steps that need to be executed in a particular order -in a distributed environment. User can describe such process as a set of tasks -ans their transitions. After that it is possible to upload such description -to Mistral that will take care of state management, correct execution order, -parallelism, synchronization and high availability. Mistral also provides -flexible task scheduling so that it can run a process according to a specified -schedule (for example, every Sunday at 4.00pm) instead of running it -immediately. In Mistral terminology such set of tasks and relations between -them called workflow. +in a distributed environment. A user can describe such a process as a set of +tasks and their transitions. After that it is possible to upload such a +description to Mistral, which will take care of state management, correct +execution order, parallelism, synchronization and high availability. Mistral +also provides flexible task scheduling so that it can run a process according +to a specified schedule (for example, every Sunday at 4.00pm) instead of +running it immediately. In Mistral terminology such a set of tasks and +relations between them is called a **workflow**. Main use cases -------------- -Tasks Scheduling - Cloud Cron -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Task Scheduling - Cloud Cron +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ A user can use Mistral to schedule tasks to run within a cloud. Tasks can be anything from executing local processes (shell scripts, binaries) on specified virtual instances to calling REST APIs accessible in a cloud environment. They -can also be tasks related to cloud management like creating virtual instances, -terminating instances and others. It is important that several tasks can be -combined in a single workflow and run in on-schedule manner (for example, on -Sundays at 2.00 am). Mistral will take care of their parallel execution, if -it's logically possible, as well as fault tolerance and will provide workflow -execution management/monitoring capabilities (stop, resume, current status, -errors and other statistics). +can also be tasks related to cloud management like creating or terminating +virtual instances. It is important that several tasks can be combined in a +single workflow and run in a scheduled manner (for example, on Sundays at 2.00 +am). Mistral will take care of their parallel execution (if it's logically +possible) and fault tolerance, and will provide workflow execution +management/monitoring capabilities (stop, resume, current status, errors and +other statistics). Cloud Environment Deployment ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -42,14 +42,14 @@ A user makes a request to run a complex multi-step business process and wants it to be fault-tolerant so that if the execution crashes at some point on one node then another active node of the system can automatically take on and continue from the exact same point where it stopped. In this use case the -user splits the business process into a set of tasks and let Mistral handle -them in a sense that it serves as a coordinator and decides what particular +user splits the business process into a set of tasks and lets Mistral handle +them, in the sense that it serves as a coordinator and decides what particular task should be started at what time. So that Mistral calls back with "Execute action X, here is the data". If an application that executes action X dies then another instance takes the responsibility to continue the work. -BigData analysis & reporting -^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Big Data analysis & reporting +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ A data analyst can use Mistral as a tool for data crawling. For example, in order to prepare a financial report the whole set of steps for gathering and processing required report data can be represented as a graph of related @@ -64,18 +64,18 @@ Ceilometer (CPU consumption 100%). Rationale --------- -The main idea behind Mistral service includes the following main points: +The main idea behind the Mistral service includes the following main points: - Ability to upload custom workflow definitions. - The actual task execution may not be performed by the service itself. - The service can rather serve a coordinator for other worker processes - that do the actual work and notify back about task execution results. - In other words, task execution may be asynchronous thus providing + The service can rather serve as a coordinator for other worker processes + that do the actual work, and notify back about task execution results. + In other words, task execution may be asynchronous, thus providing flexibility for plugging in any domain specific handling and opportunities to make this service scalable and highly available. -- The service provides a notion of task action which is a pluggable piece - of logic that a workflow task is associated with. Out of the box the service +- The service provides a notion of **task action**, which is a pluggable piece + of logic that a workflow task is associated with. Out of the box, the service provides a set of standard actions for user convenience. However, the user - can create custom actions based on the standard action pack. \ No newline at end of file + can create custom actions based on the standard action pack.