Upgrades (in theory at least…) • Loosely coupled functions, unaware that they are being used in a workflow • Messaging abstracted away: latency, retries, failures, queueing… • Can be reliable/fault-tolerant. • Engine predicts invocations to improve the performance (pre-boot functions). Cons: • Adds additional component = complexity • Workflow-specific language to learn… usually YAML (some sort of learning curve), Usually not a general purpose language • Hard to unit test and debug, depending on maturity of framework !40