Не избегайте разовых затрат на разработку, стараясь добиться снижения расходов на эксплуатацию.
Избавляйтесь от многих режимов отказа путем тотального разделения
Чем более полно вы разделите отдельные серверы, слои и приложения, тем меньше проблем с точками интеграции, каскадными отказами, медленными ответами и блокированными потоками вас ждет. Вы обнаружите, что разделенные приложения легче поддаются адаптации, так как все члены системы настраиваются независимо друг от друга.
Слишком часто работающая над проектом группа ставит своей целью не долгую беспроблемную эксплуатацию, а прохождение тестов контроля качества.