Расскажу о том, что обычно понимают под архитектурой серверных приложений. Что такое API, SOA и архитектурные паттерны. Как создается и эволюционирует архитектура. Что такое фреймворки и каково их влияние на архитектуру.
- Прежняя архитектура поисковика на Rails, ее недостатки (про большой RoR и неявный Руби).
- SoA архитектура
- SoA на примере нового поискового движка Yasen
- Конфигурация (DSL для описания системы)
- Отладка (REST-интерфейс для всех частей системы)
- Отказоустойчивость (сценарии отказа и наш им ответ)
"Хорошая архитектура увеличивает количество решений, которые вы не приняли" - Дядюшка Боб (http://www.8thlight.com/our-team/robert-martin)
- Как отделить ядро приложения от фреймворка?
- Как правильно подойти к сложной предметной области?
- Как уменьшить количество ошибок моделирования используя более прагматичный "индукционный" подход?
- Как писать функциональные тесты/спецификации на всю систему?
- Как выпрямить процесс разработки системы: от требований через череду прототипов, бета-версий и рефакторингов до предметного ядра системы?