Cycling Workflow Orchestration:
the Cylc Workflow Engine
Hilary Oliver
NIWA
| Why Cylc? | |
| What's new? (Cylc 8) | |
| Cylc 8 preview demo |
|
Website https://cylc.org |
|
|
Developer chat and VC https://riot.im/app/#/group/+cylc:matrix.org |
|
|
User discussion forum cylc.discourse.group |
|
|
Code & development hub https://github.com/cylc |
research
real-time
cycling
seamless
(meta-scheduling)
transition
simulated
time
cycling
operations
| Production ready | |
| Cycling: date-time & arbitrary | |
| Job retry on failure | |
| Restart from checkpoint | |
| Distributed architecture |
| Live monitoring | |
| Manual intervention | |
| Simulation mode | |
| External triggering | |
| Open Source GPLv3 |
Smaller workflows are very easy!
Efficient programmatic generation of large and complex workflows
| Task config inheritance | |
| Task parameter expansion | |
| General Pythonic templating |
System Architecture
The road to
Cylc 8!
cylc-7.8.4 - current stable production system
| Single point of access | |
| Site identity management integration | |
| Fine-grained authorization in WFS | |
In-browser UI, with no need for:
|
|
| Retire suite-specific passphrase |
|
Server and CLI |
2
|
⟶ |
3
|
|
Data & network layer |
|
⟶ |
& Protocol Buffers |
|
Web framework |
|
⟶ |
|
|
Front-end |
|
⟶ |
|
|
Documentation |
|
⟶ |
|
pip install cylc-flow)
pip install cylc-uiserver)
conda install cylc
Server program & CLI. Mostly unchanged, but:
Serves the UI to the browser, and:
Javascript with Vue.js
cylc gui, gscan)