Opinions
- Keep it simple
- Create useful abstractions
- Build something you’re proud of
- Avoid broken windows
- Naming is important
- Automate testing and deployment
- Avoid handling base exceptions
- Instrument all I/O
- Be prepared for outages
- Use linting to set standards
- Reduce depencies
- Document using how to’s and clean code
- Optimize reads <100ms
- Minimize the write path <100ms
- Make writes idempotent
- Use retries and timeouts to improve reliability
- Events are helpful, but introduce complexity
- Aim for one service per team
- Scale horizontally
Let's Talk
Reach out to us at dan@app-vitals.com, and let’s build something amazing together.