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:
- Iron-bank (degradation),
- Quota-service (degradation),
- Bran-read (degradation),
- Steward (degradation).