DevOps
Last updated
Testing
Deployment to appropriate environments
Rolling Back
Should take < 10m? Would require optimization on tests?
Optimizing Build,
Do we want include source maps? In staging? Production
Will it work with Sentry for error tracking
K8S? Etc?
Migrations of data (mostly for BE, but should FE be aware/interact somehow)
Prod/Dev/Staging/Local environments
Auth for each - Auth0
Permissions to push to each via GitHub
GitHub flow for merging and promoting app through environments
Restrict push to main/staging (CI passes, # of approvals)
Dockerize local Env with mock backend or seeded backend or shared staging backend
Give DB access to add fake data on your own for FE devs for local integration testing
Notify users what status of servers is, outages, 404 pages, 500 pages
Independent from main service
PagerDuty if something goes down for fast responses
Do we separate out different parts of the app - admin vs public pages vs user frontend?
Makes the app a lot more modular, forces to code in a self-contained way
Slightly decreases dev speed
Do we separate out components - charting etc for use in other apps
Codes? Contact links? Logging? How do we display? Standardized Language
Separate environments for logging and error tracking (Datadog, Sentry)
Unit - Jest
Ability to add seed data, API calls to seed data
Common Scenarios to seed data
Parallel Tests - different containers for parallelization in CI to avoid data race conditions
Integration - with and without BE
Mocking APIs (faster, doesn't account for actual state of API)
Cypress
Selenium
Pickle/Cucumber
Visual Regression Testing
Chromatic
Browser/Mobile Testing
BrowserStack
DataDog
What do we want to log
Details every part of system with spans
Sensitive info scrubbing
User profile tracking
Access controls for logged information
Logging across BE/FE, ray tracing
Start with FE API request, and then see what happened on the BE
Configure Useful Views in Sentry/Datadog
Analytics - Looker
Last updated