Добрейшего!
RSS лента в очередной раз принесла интересную подборку материалов от OpenQuality.ru, где взгляд немедленно зацепился на некоторые ссылки из раздела "Архитектура систем". Особенно за последнюю ссылку :)
Однако самое вкусное там для меня - это Exclusive: a behind-the-scenes look at Facebook release engineering - эксклюзивный материал про управление релизами в Facebook. Кому лень читать или кто думает, читать ли вообще, - несколько основных моментов.
Код пишется на PHP, затем транслируется в оптимизированный код на C++, который затем отстраивается в единый бинарник размером 1.5 Гб. Да, полтора гигабайта.
Далее код выкладывается во внутренний доступ и посредством BitTorrent скачивается на все сервера которые участвуют в работе. Итог по времени - 30 минут, из которых 15 минут делается сам бинарник, а ещё 15 - этот бинарник распространяется по серверам.
При этом то, что касается статического контента - яваскрипты, стили и т.п. - распросраняется через свои же CDNы, т.е. распределённые сети доставки контента.
Оставим за скобками странную цепочку PHP -> C++ -> Большой-Бинарник-На-Полтора-Гига, однако доставка релиза через торрент - это остроумно. Ну и распространение статики через CDN - вообще отлично.
P.S. Кстати, на всё том же OpenQuality лежит моё сочинение на тему "Управление изменениями, или Кессонная болезнь проектов". Ушёл в отрыв, сделал безумную, но на мой взгляд интересную аналогию.
RSS лента в очередной раз принесла интересную подборку материалов от OpenQuality.ru, где взгляд немедленно зацепился на некоторые ссылки из раздела "Архитектура систем". Особенно за последнюю ссылку :)
Однако самое вкусное там для меня - это Exclusive: a behind-the-scenes look at Facebook release engineering - эксклюзивный материал про управление релизами в Facebook. Кому лень читать или кто думает, читать ли вообще, - несколько основных моментов.
Код пишется на PHP, затем транслируется в оптимизированный код на C++, который затем отстраивается в единый бинарник размером 1.5 Гб. Да, полтора гигабайта.
Далее код выкладывается во внутренний доступ и посредством BitTorrent скачивается на все сервера которые участвуют в работе. Итог по времени - 30 минут, из которых 15 минут делается сам бинарник, а ещё 15 - этот бинарник распространяется по серверам.
При этом то, что касается статического контента - яваскрипты, стили и т.п. - распросраняется через свои же CDNы, т.е. распределённые сети доставки контента.
Оставим за скобками странную цепочку PHP -> C++ -> Большой-Бинарник-На-Полтора-Гига, однако доставка релиза через торрент - это остроумно. Ну и распространение статики через CDN - вообще отлично.
P.S. Кстати, на всё том же OpenQuality лежит моё сочинение на тему "Управление изменениями, или Кессонная болезнь проектов". Ушёл в отрыв, сделал безумную, но на мой взгляд интересную аналогию.
Интересно, а почему бинарник такого титанического размера-то?
ОтветитьУдалитьМожно посмотреть размер образа виндовс как пример. Поскольку релиз накатывается на каждую из машин в их фермах, то там наверняка включено сразу всё до кучи, включая апдейты для ОСи и т.п.
ОтветитьУдалитьРазмер windows мне понятен. У facebook-то почему такой размер, там функциональности-то относительно немного. Хотя, может у них там функционал распределенной БД и поисковой системы ... Но все равно - многовато.
ОтветитьУдалить