Шаблон для проектирования ПО
Чеклист на человеческом языке для колхозных стартаперов, которые хоть ненадолго начинают задумываться, перед тем как код писать, но ещё не понимают энтерпрайз архитекторов из бигтеха.
## Что проектируем
### Что оно должно делать
### Что там самое главное
### Что вторично и может тормозить, падать и т.д.
### Чем точно никогда не станет
## Ресурсы
Сколько у нас
- Денег (сразу и(ли) поток)
- Времени
- Люди и их уровень компетенций
- Своего железа (аппаратная инфраструктура)
- Наработок на которых основываемся (программная инфраструктура)
## Как оно должно работать
### Ожидаемая динамика
- В чём измеряем нагрузку, DAU, RPS, PPS, гигабиты данных, строки БД
- Как должен выглядеть MVP (начнём с одной виртуалки?:)
- Какая нагрузка предполагается через год
- Какой верхний предполагаемый потолок роста
### Требования
- Где забить на консистентность
- Масштабируемость
- Где бутылочное горлышко
- Где забить на нелинейность роста
- Гибкость VS Надёжность
- Отказоустойчивость - что дублируем
- Регулярность изменений
- Технологии
- Безопасность
## Что на выходе