Например, если вы мониторите среднее время ответа и используете его для управления масштабированием, то имейте в виду: половина запросов будет работать дольше этого среднего. Тут возникает очень важный вопрос: а насколько дольше?
В общем, вот что нужно сделать для улучшения ситуации:
– разобраться с перцентилями: что это такое, о чем они говорят
– проанализировать различные значения перцентилей в своей системе
– решить, какую информацию вы хотите получать о системе
– выбрать правильные значения перцентилей для мониторинга
12. Не сажайте слона и моську в одну базу
Мир IT продолжает развиваться быстро. Более того, эта скорость набирает обороты. Чем оперативнее вы покажете свою идею в виде продукта, тем больше шансов выиграть в гонке. Здесь менеджеры продукта в прямом смысле соревнуются с инженерами: кто же выиграет – скорость запуска или архитектура? Некоторые называют этот период «эпохой MVP».
При появлении очередного проекта, который надо создать быстро-быстро, первое, что приходит в голову, это: «Хмм, у нас уже есть в продакшне монга-постгря-мускуль-чтоугодно, подселим новую базу для проекта туда!»
Не стоит так делать, или же осознавайте последствия и риски. Получается связанность критических компонентов двух совершенно разных проектов: накосячите и сломаете оба, когда пойдете обновлять базу.
Ниже – еще несколько очевидных проблем, связанных с такой практикой.
Когда несколько проектов обращаются к одной и той же базе данных, существует повышенный риск нарушения безопасности, так как все данные в базе данных, включая данные других проектов, могут быть скомпрометированы, если в одном проекте будут найдены уязвимости.
По мере роста числа проектов, использующих одну и ту же базу данных, становится сложнее масштабировать ее для удовлетворения всех потребностей, так как сложно оптимизировать единую базу данных для противоречивых сценариев.
Управлять контролем доступа и разрешениями для нескольких проектов в рамках одной базы данных сложно, что создает новую головную боль при эксплуатации.
Возьмите себе за правило: один проект – одна база данных.