Sunday, April 07, 2019

Cadence: Dynamic Workflow Orchestration Engine from Uber

Welcome | Cadence

"Open Source, Scalable, Durable Workflows
Write workflows and activities to orchestrate the business flow of events in your application"


Improving the User Experience with Uber’s Customer Obsession Ticket Routing Workflow and Orchestration Engine | Uber Engineering Blog

"Workflows are the coordination logic, and are responsible solely for orchestrating the execution of activities. Activities are the implementation of individual tasks in the business logic."

(GoLang)

"Cadence is a distributed, scalable, durable, and highly available orchestration engine we developed at Uber Engineering to execute asynchronous long-running business logic in a scalable and resilient way."



Fusion.js: web apps framework from Uber

Fusion.js Documentation

"Modern framework for fast,
 powerful React (+node.js) apps

Fusion.js gives you the developer experience you expect from a React/Redux setup and provides tools to take project quality to the next level.
...
Write your server and client code together and Fusion will take care of the rest."
Introducing Fusion.js: A Plugin-based Universal Web Framework

Build a ‘Hello World!’ Application in 5 Minutes with Fusion.js | Uber Engineering Blog


Uber Infrastructure

Uber is running private data centers, not using public cloud
It is also not using Kubernetes, instead has has developed its own cluster scheduler.
It is moved from node.js to GoLang for performance.
It has also moved from Posgres to MySQL, and running "schemaless" datastore.
It has a LOT of data, and running ML on that.

Uber Infrastructure with Prashant Varanasi and Akshay Shah - Software Engineering Daily

Peloton: Uber's Cluster Scheduler with Min Cai and Mayank Bansal - Software Engineering Daily

Why Uber Engineering Switched from Postgres to MySQL | Uber Engineering Blog

Designing Schemaless, Uber Engineering's Scalable Datastore Using MySQL | Uber Engineering Blog
"...key-value store which allows you to save any JSON data without strict schema validation, in a schemaless fashion (hence the name). It has append-only sharded MySQL with buffered writes to support failing MySQL masters and a publish-subscribe feature for data change notification"

Uber's Big Data Platform: 100+ Petabytes with Minute Latency | Uber Engineering Blog