Ай, какая же это боль, когда у тебя уже полностью рабочий сервис, который начинает расти по нагрузке.
Когда разрабатываешь пет-проекты, вообще не задумываешься об инфраструктуре. Кажется, что бесплатные квоты на CI никогда не закончатся. А потом проект начинает расти — и внезапно заканчивается всё 😨
В общем, к чему я пришёл: весь CI вынес на локальную тачку, а CD оставил как есть.
Ещё один вывод: не выбирайте технологии только исходя из текущего размера проекта. В духе: «Сейчас проект маленький, возьму SQLite, а потом как-нибудь перееду». Вот это «потом» может оказаться очень болезненным.
Я долго воевал с полноценным переездом на PostgreSQL. Некоторое время SQLite и PostgreSQL вообще жили параллельно, потому что мигрировать всё сразу оказалось слишком сложно.
При этом и тащить в маленький проект огромную инфраструктуру «на вырост» тоже не стоит. Нужно учиться сразу делать экономно, но при этом учитывать, что проект может вырасти. Выбирать технологии не только под текущую нагрузку, но и под ближайший реалистичный этап развития.
И не бойтесь использовать штуки, которые придумали умные дядьки. Не обязательно изобретать всё самостоятельно. Например, в своём проекте я использую Redis, чтобы распределять нагрузку и не заставлять основной сервис выполнять всю работу одновременно.
Главный урок — пока проект маленький, почти любое техническое решение кажется нормальным. Настоящая цена этих решений становится понятна только тогда, когда проект начинает расти.
Если интересны посты в таком формате — поставь реакцию.
Когда разрабатываешь пет-проекты, вообще не задумываешься об инфраструктуре. Кажется, что бесплатные квоты на CI никогда не закончатся. А потом проект начинает расти — и внезапно заканчивается всё 😨
В общем, к чему я пришёл: весь CI вынес на локальную тачку, а CD оставил как есть.
Ещё один вывод: не выбирайте технологии только исходя из текущего размера проекта. В духе: «Сейчас проект маленький, возьму SQLite, а потом как-нибудь перееду». Вот это «потом» может оказаться очень болезненным.
Я долго воевал с полноценным переездом на PostgreSQL. Некоторое время SQLite и PostgreSQL вообще жили параллельно, потому что мигрировать всё сразу оказалось слишком сложно.
При этом и тащить в маленький проект огромную инфраструктуру «на вырост» тоже не стоит. Нужно учиться сразу делать экономно, но при этом учитывать, что проект может вырасти. Выбирать технологии не только под текущую нагрузку, но и под ближайший реалистичный этап развития.
И не бойтесь использовать штуки, которые придумали умные дядьки. Не обязательно изобретать всё самостоятельно. Например, в своём проекте я использую Redis, чтобы распределять нагрузку и не заставлять основной сервис выполнять всю работу одновременно.
Главный урок — пока проект маленький, почти любое техническое решение кажется нормальным. Настоящая цена этих решений становится понятна только тогда, когда проект начинает расти.
Если интересны посты в таком формате — поставь реакцию.