API

Service responsible for the HTTP API to almost all services. Centre of the world. Used by the Frontend, used by Flow steps in almost all regular jobs.

Downtime

Platform down

If the API service is down then the Platform is down. Frontend won’t work. New Flow steps can not be started. Existing steps may (or may not) fail depending on component.

Scaling

Can be scaled to any reasonable amount of pods. Service is stateless itself (but uses external storage – MongoDB).

Deployment

Use rolling release. Remove pod – start pod with a new version. Forbidden to stop ALL pods.

Strong dependencies

API strongly depends on the MongoDB and the RabbitMQ. Without them it will not start.

Weak dependencies

API will start but not function without the following services: