Я тут за оливье и шампанским самое интересное пропустил. Оказывается ЖЖ лежал в дауне с 31-го по 02-е, и это вызвало истерику и незапланированную пенную вечеринку у некоторых персонажей (не будем показывать пальцем). К счастью лично мне они не писали, но во входящих достаточно писем с «Доколе?!» и «Объясните, в чём дело!».
Я объясню. Но сначала всё-таки хочу предупредить, что я не имею отношения к московским программистам - я директор по продвижению ЖЖ в Украине. У меня большей частью маркетинговые функции, плюс ещё парочка сопутствующих. И внутри СУПа нет рассылки новостей для сотрудников, которые строго-настрого запрещено публиковать - то есть «Дронов знает причину глюков, Бармин знает, я знаю, а вам не скажем» - этого нет.
Есть моё мнение о работе сервиса, о том, как он устроен и почему глючит. Разных вопросов было много, отвечать буду по порядку.
1. Почему ЖЖ постоянно глючит?
ЖЖ очень старый. Тринадцать лет назад Брэд Фитцпатрик создал небольшой сервис онлайн-дневников для своих друзей. Неизвестно, на какое количество пользователей он был рассчитан, но точно не на десятки миллионов аккаунтов. Время шло, ЖЖ переходил из рук в руки (СУП - всего лишь последний из владельцев), количество пользователей росло, разные команды программистов по разному пытались справиться с растущей нагрузкой. На данный момент в движке ЖЖ куча старого кода, который писали совершенно разные люди без единой стратегии и без документирования. И архитектура ЖЖ устарела несколько лет назад - не дизайн (тоже архаичный), а внутреннее устройство.
Именно поэтому простой и наивный совет «добавить серверов, памяти или чего там у вас не хватает»© - не работает. При росте нагрузки масштабирование помогает до поры до времени, это что-то вроде «откладывания решения на потом» - ошибки в архитектуре всё рано вылезут. Если у вас есть знакомый программист, спросите у него, он подтвердит, что ошибки в архитектуре ПО - самые дорогостоящие. Их очень сложно исправлять, когда продукт уже запущен и им пользуются люди. А если это онлайн-продукт (24×7) и пользователей десятки миллионов?..
Если программиста у вас нет, объясню с помощью аналогии. Представьте себе старый многоэтажный дом, в котором живут люди, и вам нужно поменять архитектуру этого дома. Вы вынуждены выбивать сваи и вытаскивать плиты из фундамента(!) Разумеется, дом иногда падает, вместе с жильцами. Дом поднимают и продолжают ремонт. Часто, чтобы дом не падал, обходятся временными решениями - не меняющими архитектуру. Например, из-за прихода новых жильцов и роста количества бытовых электроприборов, электросеть не справляется с нагрузкой, пробки выбивает регулярно. Но жильцы требуют повысить мощность, плевать каким способом, потому что «у соседей в новостройке всё это есть». Проблема решается затаскиванием каждому в окно отдельного силового кабеля - выглядит некрасиво, весь дом в многометровых кабелях, во время сильного ветра они рвутся, жильцы опять недовольны. И так всё время.
Кстати, о «соседних новостройках». Критики ЖЖ постоянно приводят в пример Фейсбук и ВКонтакт, дескать у них гораздо больше пользователей и ничего не глючит. Это, кстати, удобный индикатор - если человек начинает использовать FB и VK как аргумент, то он однозначно профан, можете сразу вычёркивать его из дискуссии. Потому что надо быть совсем уж чайником, чтобы не знать, что Фейсбук и ВКонтакт в два раза моложе ЖЖ, создавались изначально как проекты под большую аудиторию, использовали технологии «web 2.0″ и самое главное - писались одной командой от начала и до конца. Кроме того в этих соцсетях масса ограничений, упрощающих жизнь программистам - попробуйте, например, создать в Фейсбуке сложноформатированный пост с чередующимся текстом, картинками и видероликами. Это просто невозможно сделать. А в ЖЖ чистый HTML и посты весом иногда в десятки мегабайт, учитывайте это.
ЖЖ глючит последние несколько лет вовсе не потому, что его разработкой занимается СУП. Движок ЖЖ просто дошёл до своего предела возможностей и глючил бы в любом случае. Но если ничего не менять, то глюки будут нарастать, пока однажды ЖЖ не остановится навсегда. Если же пытаться ремонтировать, что-то менять в архитектуре, то глюки будут вылезать то тут, то там (напомню - дом иногда падает), но по крайней мере есть шанс выбраться. Перестроить архитектуру в соответствии с новыми потребностями.
2. Почему нельзя просто написать ЖЖ заново, с новой архитектурой? Оттестировать его и за одну ночь запустить новую версию?
Дело в том, что ЖЖ очень старый. Он создавался взрослыми людьми для взрослых людей, в нём практически нет школоты, средний возраст пользователя - 25-35 лет. В ЖЖ уже давно сложилась своя постоянная аудитория, которая неравнодушна к этому сервису и достаточно консервативна. Пользователи ЖЖ противятся любым, самым незначительным переменам. Вспомните, сколько истерик было по поводу того, что убрали заголовок в комментариях?.. Майн гот, какая-то хрень, от которой не зависит ничего принципиального - а воплей было на весь рунет! Думаю лозунг «Верните всё как было» нужно повесить на главной странице livejournal.com, он достаточно точно передаёт настроение пользователей :)
А теперь представьте, если в ЖЖ однажды изменится всё? Если движок полностью перепишут, ЖЖ будет по другому выглядеть и по другому себя вести (а иначе никак - если изменится концепция и архитектура, нельзя будет сохранить внешние атрибуты). Если все те изменения, которые постепенно вводились весь 2012-й год и каждое вызывало ожесточённые дискуссии - если все они появятся в один день - представляете, какой срач поднимется, сколько народу «громко хлопнет дверью»? :) И кстати, непременно вылезут новые глюки, ведь сколько систему не тестируй, десятки миллионов пользователей найдут в ней все проблемы и устроят истерику «ааа, опять ничего не работает - верните всё как было!».
То есть независимо от того, делает что-то СУП или не делает вообще ничего, меняет всё постепенно или радикально, всё равно «СУП - козлы, верните всё как было». При том, что (см.п.1) не менять нельзя. И при том, что большая часть этих критиканов даже несчастный платный аккаунт за $2 в месяц не купили, то есть получают бесплатно сервис, но перманентно недовольны.
Я человек эмоциональный, поэтому я завидую выдержке Дронова. Как он работает в таких условиях - не знаю.
3. Ок, допустим нельзя всё поменять, нужно постепенно дорабатывать. Но почему в таком случае СУП не занимается повышением стабильности сервиса, а вместо этого добавляет «свистелки и перделки» - новый «голубенький» дизайн, лайки в соцсети, рейтинги, жетоны и промо, монетизация и прочие «рюшечки», отягощающие сервис и делающие его ещё более глючным?
Во-первых, меняют одновременно и архитектуру и фасад, но посколььку вы не находитесь внутри процесса и не имеете доступа к коду ЖЖ, вы видите только те изменения, которые видны снаружи - то есть изменения в дизайне и end-user функциональности. Совершенно неверно считать, что никаких других изменений нет.
Во-вторых, многие из «рюшечек» как раз решают проблему разгрузки серверов. Например динамическое развёртывание комментов в новых стилях, добавление комментариев без перезагрузки страницы и т.п. - всё это снижает трафик и нагрузку на серверы. То есть это не только дизайн и украшательства - это комплексное решение для морально устаревшего сервиса.
В-третьих, ЖЖ очень старый (я уже говорил об этом?). Сервису 13 лет и все эти годы он был убыточен. Извините, но платные аккаунты покрывают разве что расходы на хостинг - их слишком мало и стоят они слишком дёшево. Баннерная реклама крайне неэффективна, раздражает и тоже приносит копейки. Из-за своей убыточности ЖЖ сменил уже трёх владельцев и в конечном итоге СУП был поставлен перед выбором: или ЖЖ начинает зарабатывать, или его закроют.
Новое руководство рассудило правильно: блоггеры уже давно занимаются монетизацией, и если уж процесс нельзя остановить, то его нужно возглавить. Основным инструментом заработка для СУПа становятся промо-блоки в рейтингах: хочешь раскрутить свой блог - купи место в промо. Именно поэтому стали строго караться все попытки накрутить рейтинг другими способами. Внутренняя валюта «ЖЖЖетоны» с полноценным вводом и выводом призвана заменить Яндекс.Деньги и Вебмани. Промо-блоки в постах должны заменить постовые (поэтому запретили постовые), а платные репосты должны заменить биржи типа Блогуна. И так далее, и так далее… Нравится вам это или нет, но процесс этот остановить нельзя, потому что либо ЖЖ будет зарабатывать, либо все мы останемся без ЖЖ. Сапиенти сат или продолжать?
Нет, я могу продолжать, я всё это рассказываю на встречах с блоггерами. Не только ЖЖ убыточен, все соцсети пока только проедают инвестиции и «раздают обещания». IPO Фейсбука - это ведь «обещания», его миллиардная стоимость отражает надежды на то, что «однажды Фейсбук научится зарабатывать деньги, и тогда акции вырастут в цене и акционеры круто заработают». Но на сегодняшний день акции в цене падают, а реального заработка кот наплакал, да и методы традиционные - реклама и спам, пусть даже таргетированные. Фактически на пути заработка ЖЖ сейчас впереди планеты всей - ни одна соц.сеть, ни одна блогплатформа не предлагает своим пользователям инструменты для раскрутки и заработка. Наши наработки потом все соцсети скопируют, вот увидите :) Но к тому моменту они не будут инновацией и не вызовут такого срача, который они вызывают в ЖЖ.
Вопросы закончились?
Кроме вопросов ещё были требования и угрозы отставки Дронова, разгона СУПа и т.п. Я понимаю, эмоции, каждый может сорваться. Большая часть блоггеров потом остыла и ушла доедать оливье :)
Но есть среди нас «профессиональные критиканы», которым «глюки ЖЖ всю жизнь поломали» и поэтому кроме потоков говна от них ничего получить нельзя. Много месяцев подряд они ведут себя как мудаки и истерички - в ответ на любые изменения в ЖЖ они фонтанируют говном в своих бложеках, то есть не просто критикуют, а делают это в самой омерзительной форме.
Именно поэтому я хочу сказать: Илья, не вздумай уходить в отставку. Если ты сейчас уйдёшь, то это будет означать, что мудаки победили.
А когда побеждают мудаки - это плохо для всех.