2020-10-16 12:13:02 +00:00
|
|
|
---
|
|
|
|
title: Principles
|
|
|
|
---
|
|
|
|
|
|
|
|
### ZITADEL engineering and design principles
|
|
|
|
|
|
|
|
- Be transparent about your decisions
|
|
|
|
- Embrace stateless application design
|
|
|
|
- System of records is the event store
|
|
|
|
- Everything else needs to be able to be regenerated
|
|
|
|
- Try not so solve complex problems outside of the IAM Domain
|
|
|
|
- Use a scalable storage for the event store and read models
|
|
|
|
- Try to be idempotent whenever possible
|
|
|
|
- Reduce necessity of external systems or dependencies as much as possible
|
|
|
|
- Embrace automation
|
|
|
|
- Design API first
|
|
|
|
- Optimize all components for day-two operations
|
2020-10-26 12:54:29 +00:00
|
|
|
- Use only open source projects with permissive licenses
|
2020-10-16 12:13:02 +00:00
|
|
|
- Don't roll your own crypto algorithm
|
|
|
|
- Embrace (industry) standard as much as possible
|
|
|
|
- Make use of platform features
|
|
|
|
- Be able to run with a CDN and WAF
|
2020-10-26 12:54:29 +00:00
|
|
|
- Releases utilized semantic versioning and release whenever feasible
|