Backend Vision
API v3
A look to our scattered APIs
The BACKEND

cronjobs
workers
api
*staging environment
Meteor Portal


*staging environment
Data services


*staging environment
Zelda
- GraphQL
- REST API
- Callbacks
Not in scope
Lambdas

Returns API?

Icons API?

Instagram Integration API?

And more...
- cpr-*
- clean-up-exports
- corazon-backend-dev-getIntegration (?)
- dispatch-confirmation_*
- emailWizard
- htmlToPdf
- monitor
- resizeLogo
- url-shortener-*
- write-to-exports
- and many more...
Lambda still has its use case, but we have to re-evaluate our approach
The problem to solve
- High entropy
- No clear ownership
- Business value scattered all around
- A lot of power that we could offer to our users
- Maintenance overhead
- Ageing backend
Headless
Frontend/s
Command Line Tools
Professional Services
Shops
API
Inspiration

Stripe

Shopify

Github
Our API will not be like Stripe, Shopify, Github...
* not in the short/middle-term
... but they are a reference and we will deliver progressively with the resources we have
A great Engineering team with experience in building APIs
* with more people joining the team
An awesome Product team that can help us with API requirements and priorities
Technical Writers

API Capabilities
Authentication

API
Authorization server
Used by clients to access the API
Authorization
Under discussion. See Design Doc

Basic deployment

Blue-Green deployment

Basic horizontal autoscaling

Basic vertical autoscaling

Advance auto scaling based on metrics

Transition Plan
Current landscape

Modular monolith first

Independent modules

*if it makes sense
Endpoint ownership

Business endpoints
- Multiple consumers
- Always owned by a Backend team
- Public documentation
Frontend-specific endpoints
- parcelLab's Frontends as sole consumer
- Developed by a Frontend team in a Backend team codebase
- System owned by Backend
- Endpoint owned by Frontend
- Private documentation
- Avoid as much as possible
- Business endpoints should be enough
- Frontend architecture based on well defined and structure API (not the other way around)
Frontend-specific endpoints

Frontend-specific endpoints (alternative)

*a lot of groundwork is missing
More topics to come
- Configuration plan (@parcelLab/Architecture)
- Platform (core and workers) @Josh
Stay tuned: January 12th 2023
Backend Vision 2023 API v3
By Darío Blanco
Backend Vision 2023 API v3
- 137