Коллеги, привет👋
Наткнулся на небольшую статью с заголовком «Ваша идеальная архитектура возможна не такая уж идеальная».
В 2018 году автор представил команде проект распределённой системы с продуманными диаграммами и передовыми технологиями, рассчитанный на будущие потребности. Однако через шесть месяцев эта «идеальная» архитектура стала сдерживающим фактором, а не преимуществом.
Автор подчёркивает, что чрезмерное стремление к созданию универсальной и масштабируемой системы может привести к излишней сложности и негибкости.
Он пришел к следующем выводам:
1️⃣ Старайтесь сделать просто
Начните с самой простой архитектуры, которая способна удовлетворить ваши текущие потребности. Сложность должна быть заслуженной, а не предположенной. Если ваша архитектурная диаграмма напоминает тарелку спагетти, в которую ударила молния, возможно, вы делаете что-то не так.
2️⃣ Изменения должны быть дешевыми
Вместо того чтобы избегать изменений, сделайте их недорогими. Это подразумевает инвестиции в автоматизированное тестирование, непрерывное развёртывание и мониторинг. Когда изменения обходятся дешево, их не нужно бояться.
3️⃣ Учитесь действуя
Вместо попыток предсказать будущее создавайте механизмы, которые помогут вам быстро изучать реальные потребности. Это включает фиче-флаги, A/B-тестирование и надёжный мониторинг использования вашей системы. Работайте с реальными данными, а не с тем, что настаивает один громкий человек на этапе планирования.
—
Автор, конечно, никому Америку не открыл, но читая статью мой мозг сразу же начал проводить аналогию с заезженными до дыр практиками разработки. Первый пункт - KISS, YAGNI. Второй - это про CI/CD и DRY. Третий - это в целом про итеративную разработку и Agile.
Вывод: База - наше всё 🗿
🔗 Ссылка на статью https://www.pulumi.com/blog/your-perfect-infrastructure/
P.S. Раз уж про наваливание базы начал. Пишу пост про SLI, SLO и SLA. Скоро будет!
#SRE #архитектура
Post #9
71