-
Notifications
You must be signed in to change notification settings - Fork 69
DevOps
DevOps is the combination of cultural philosophies, practices, and tools that increases an organization's ability to deliver applications and services at high velocity: evolving and improving products at a faster pace than organizations using traditional software development and infrastructure management processes.
What is DevOps? - Amazon Web Services (AWS)
As the c0d3-app grows it is important to ensure we are providing a good user experience and developer experience. We ideally should have alerts in place to know about all errors, route slowdowns and security risks as soon as possible. We should not rely on users to tell us when things are broken or running really slow. The sooner we can spot an issue the easier it is to track down the code causing the problem and fix it.
[Todo: Add System diagram detailing all the c0d3 services (were they are hosted) and how they are linked]
Currently are system is broken into 3 parts
- Logging - a store of all the logs
- Error tracking - more detailed view of only errors
- Application Performance Monitoring (APM) - record user sessions to monitor real user experience
Currently (6/5/2021) to persist server logs with our c0d3-app host, vercel, you must setup a 3rd party log drain integration. They only have two options, logflare or datadog. Datadog only offers a free 14 day trial while logflare offers a very generous, 12.5 million logs per month, free tier so I chose to go with them. *free tier only persists logs for 3 days and allows alerts every 4 hours
Drains
- GarageScripts.vercel - all logs
- GarageScripts.vercel.404 - all 404 errors
- GarageScripts.vercel.build - all build logs
- GarageScripts.vercel.consolelog - all server side console.logs
- GarageScripts.vercel.errors - all msgs that include 'error' in the msg
-
GarageScripts.vercel.slow - all responses that take >2.5seconds to respond
* May want to filter out preview branches from these logs or make seperate drains for production
Alerts
- 404 & Error drains get reported to discord every 4 hours (private engineer only channel
logflare
)
* Could add email or sms alerts if desired
Destination for things that are actionable errors or crashes
Sentry vs Logging
Using sentry.io to record both frontend and backend errors. Integrates with vercel to receive all new source maps and release ids from vercel at build time, allowing the app to report unuglified source code when recording errors.
[TODO: add details description]
currently testing out sentry.io APM capabilities and also have Posthog
[TODO: add details description]