Один из инженеров GitHub рассказал об организации завершившейся неделю назад миграции инфраструктуры с устаревшего форка фреймворка Ruby on Rails 2.3 на более актуальную ветку Rails 3. Миграцией занимались 4 инженера в режиме полного рабочего дня в течение 6 месяцев. Кроме снятия огромного бремени по сопровождению уже официально не поддерживаемой кодовой базы, обросшей горой надстроек и патчей, переход на Rails 3 позволил добиться существенного снижения нагрузки на серверы.

Миграция была проведена постепенно: на фрондэнд-серверах была обеспечена возможность одновременного применения Rails 2.3 и 3, что позволило отлаживать работу новой версии на небольшом срезе реального трафика, постепенно перенося нагрузку со старой конфигурации на новую.
