2013-08-21

Release engineering и вообще разработка в Badoo

Добрейшего!

Не далее как вчера на Хабре увидел интервью, прям напросившееся в почти заброшенный бложик.

Процесс разработки и выкатка релизов в Badoo. Автоматическое тестирование. Девелоперское окружение.

Инетервью с двумя инженерами, которые занимаются configuration management, release management и все, что с этим связано. Прям ностальгия накрыла - именно этим я и занимался немало времени, именно из этих занятий пошёл данный бложик.

В общем, интервью крайне познавательное, всё по делу, много интересного. Комментировать здесь смысла нет - в интервью всё рассказано с избытком. Ну, для тех, кто понимает, о чём речь, конечно.


2013-01-31

github и домовладение

Добрейшего!

Как человек, проживающий четвёртый год в своём доме, не смог пройти мимо ещё одного необычного применения для гитхаба. Один мужик все свои задачу по содержанию своего дома ведет в трекере открытого проекта: https://github.com/frabcus/house/issues.

Сразу скажу, что github в данном случае - просто первый попавшийся под руку инструмент для отслеживания задач. Просто автор уже ведет там свои проекты и решил не бегать между разными платформами и остался там же. По мне, так Basecamp для этой же задачи подошёл бы идеально. Однако, всё равно хорошо получилось.

Конечно же, каждая задача представлена в виде записи в issue tracker, в которой описывается проблема и комменты по ходу решения. Ну и она по закрывается по мере решения задачи. Что характерно - в комменты влазят вроде посторонние люди и предлагают свои решения :))

Нашлось применению и mliestones (майлстоунам, или вехам). У человека была проблема с влажностью в доме - очень неприятная штука, чреватая плесенью, плохим запахом и порчей материалов дома. Он завёл майлстоун и писать туда все таски по ходу работы. В общем, проблема заборота (или снижена до приемлемого уровня) и веха была закрыта.

Отдельно стоит отметить теги. Поскольку одна проблема может иметь отношение к разным системам в доме, то логично каждой такой системе или проблемной области жать тегу и вешать её везде, где придётся. Среди меток - и сам дом. и его украшение, и электрика, и газ, и вода - всё, до чего руки дотянулись.

Ну и как на гитхабе без форков? Их есть там. Правда, те, что смотрел, были дохленькие.

В общем, штука получилась забавная. Правда, мне пока не пригодится - свои задачи по дому пока удаётся держать в голове.

2012-08-08

github и германские законы

Добрейшего!

Один гражданин Германии взял, да и выложил все немецкие законы и правила на Гитхаб:
https://github.com/bundestag/gesetze
Объясняет он это необходимостью показывать людям реальные изменения, которые происходят в законодательстве - мол, народ должен знать, чего делается.

Контроль версий и отслеживание изменений - в действии.

Толково, я считаю. Мир меняется, однако.

2012-05-20

Мой доклад на VLDC2 про SCM

Добрейшего!

В День Пионерии во Владивостоке прошла Vladivostok Developers Conference за номером 2.
Мне довелось выступать первым. Кто о чём - а больной о своём, поэтому я рассказывал о том, про что рассказываю в этом бложике уже третий год. Про SCM, конечно же.

Речь идёт о групповой распределённой разработке и об инструментах и практиках SCM, которые этот процесс поддерживают. В качестве примера взята Rhonda Software, в которой я проработал в общей сложности 6 лет.

Видео начали писать с середины, да и рассказать я успел не всё, что планировал, поэтому, дабы не позориться лишний раз, решил выложить только презентацию :)

Презентацию можно посмотреть здесь: http://www.slideshare.net/Yurriq/scm-vldc2

P.S. Почему пианист - старые читатели, наверное, уже догадались.

P.P.S. А вот чем я занимаюсь в данный момент: Nimble Streamer. Здесь чуть подробнее.

2012-05-01

Release engineering в Facebook

Добрейшего!

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 лежит моё сочинение на тему "Управление изменениями, или Кессонная болезнь проектов". Ушёл в отрыв, сделал безумную, но на мой взгляд интересную аналогию.

2011-12-01

Интервью с техдиром VisualSVN и немного мыслей

Добрейшего.

Набрёл в блоге Якова Сироткина на интервью с Иваном Жаковым, техническим директором VisualSVN, и по совместительству - контрибьютором Subversion.

Интересный пример того, как можно сделать прибыльный проект, используя в качестве базы open source продукты. Сабвершн открыт и бесплатен, однако, как и бОльшая часть оупенсорса - требует или доработки напильником, или хитрой настройки, или гуру, который бы объяснил как надо работать. Парни сделали плагин к Visual Studio, затем свою серверную надстройку над SVN. С них и живут, причём в клиентах у них значатся не последние компании из Fortune 500, а также куча американских госучреждений. В общем, люди определённо добились чего-то на непростом рынке систем контроля версий.

Ситуация, описанная в начале - большая контора, все сидят на Visual SourceSafe, одиночки-энтузиасты пытаются изменить мир к лучшему - была типичной для российских компаний конца XX - начала XXI века. Мантра "так уж здесь повелось" до сих пор успешно работает практически повсеместно. Не сказать, чтобы это было плохо, но во многих ситуациях бывает проще перейти на новый тул, затратить усилия, чем продолжать тратить время и нервы на поддержку тула старого. Особенно если это СорсСэйф... Брр...

Так и с контролем версий. Долгое время стандартом у нас был SourceSafe, просто потому, что шёл вместе со Студией (ибо она повсеместно была хакнутой). CVS, этот стандарт де-факто мира open source того времени, приживался не очень охотно (см. "Так уж здесь повелось"). На этом фоне Subversion стал тем продуктом, который вывел системы контроля версий на новый уровень и его применение стал нормальной практикой не только у нас в стране, но и вообще везде. Это же обстоятельство сыграло против него. Некоторая заторможенность в развитии вылилась в то, что нормальное слияние веток (merge) и его отслеживание ("стрелки мёржа") появилось буквально недавно даже по меркам софтварной индустрии. И если судить по интевью, переименование файлов и директорий будет сделано нормальным образом только в будущем.

Одним словом, появление третьего поколения систем контроля версий стало вопросом времени и оно таки случилось. Новые поколения разработчиков считают стандартом уже не SVN, а git или Mercurial и недоумевают: "как можно работать с *№;%: SVN-ом, когда у меня тут распределённый контроль версий, всё быстро, продвинуто и вообще - Сам Линус его написал!" Флейм комментариев к интервью очень оказателен в этом смысле. Да и спорность некоторых реплик Ивана подливает масла в огонь.

Что сказать - централизованные системы контроля ещё живы и никуда уходить не собираются, взгляните на тот же список клиентов VisualSVN - для них распределённость не является явным плюсом.

Дабы не начинать холивар distributed vs. centralized VCS, на этом и закончу заметку :)

2011-10-23

Перевод // Dear Perforce: f*ck you

Добрейшего!

Кинули тут ссылочку на отличную заметку, буквально крик души человека, измученного нарзаном Перфорсом. Называется он "Dear Perforce: f*ck you", что цензурно можно перевести как "Дорогой Перфорс, иди нахрен", но сведущие в английском поймут, о чём название.

Решил перевести, поскольку сам с недавнего времени работаю с Перфорсом и наступил на некоторые грабли, которые малость испортили нервы. Да и продолжают портить, чего уж там. Замечу, что статья написана в 2007 году и прочитав её в 2011, я не увидел коренных отличий от ситуации на сегодня. Хотя я сам несколько терпимее отношусь к этому продукту :)

Так что ниже - мой перевод исходной заметки, отдельные комментарии показаны в скобочках.

2011-10-12

Осень - время релизов: IBM ClearCase 8.0, SVN 1.7, PlasticSCM 4.0

Добрейшего.

Производители систем контроля версий собирают урожай.

IBM решила тряхнуть стариной и выпустила ClearCase версии 8.0 .
Вот список новых фич, кому интересно. Из заметного - сделали ещё более дружелюбный GUI - как десктопный, так и с веб-интерфейсом.

Ну и не остался в стороне Apache Subversion , он отрелизился до версии 1.7. Обещают ряд вкусностей. Например они таки избавились от папки .svn в каждой директории с подконтрольными файлами. Ну и общее ускорение работы обещают, как без него.

Кстати, очень показателен флейм на Хабре по поводу релиза:
http://habrahabr.ru/blogs/development_tools/130214/
SVN до сих пор вызывает эмоции, значит жив ещё, курилка :)

Ну и ещё Plastic SCM, про который я много писал, также решил обрадовать обновлениями. У них там много всего нового, судя по периодическим новым заметкам в блоге, так что даже не могу выделить однозначно что-то большее, слишком много интересного.

2011-09-29

eTraxis вышел на новую орбиту

Добрейшего!

За суетой чуть не забыл о важном. Как известно постоянным читателям бложика, я пристально слежу за развитием eTraxis - системы для управления задачами, отслеживания ошибок, да и вообще трекинга чего угодно. Так вот, он сделал ещё один шаг вперёд! Его онлайн-версия, etraxis.com, о которой я уже писал, теперь стала полноценным продуктом.

Что значит полноценным? Теперь для пользователей стали доступны расширенные возможности работы, а именно - больше шаблонов, больше активных пользователей, больше места под вложения. Что значит продуктом - да, теперь за неё можно заплатить деньги. :) Были добавлены тарифные планы, каждый из которых даёт расширенные возможности.

Конечно же, бесплатный онлайн-трекинг всё также доступен и в нём по-прежнему действует ограничение на 2 активных шаблона записей и 5 пользователей. Если заказчику нужно больше пространства для манёвра - достаточно заплатить, например через банковскую карту. Сейчас после регистрации в сервисе по умолчанию создается шаблон с типовым сценарием работы над проблемой и группы пользователей. Так что дополнительная настройка workflow - это уже шаг на усмотрение пользователя.

Open source версия всё также никуда не делась. Она по-прежнему доступна и активно поддерживается. Новые версии как выходили, так и будут продолжать выходить стабильно. Функциональность open source решения полностью поддерживается онлайн-сервисом и опробуются именно там.

Итак, заходим, пробуем, ну и конечно же покупаем :)

Впечатления от работы с Perforce

Добрейшего.

Как уже писал чуть ранее, я по роду деятельности после смены места работы активно осваиваю новое пианино - Perforce. Часто его сокращённо называют P4.

До этого на Перфорс доводилось только глядеть через плечо коллег, работавших с ним на небольшом проекте. Так что, можно сказать, знакомство начал с чистого листа. Почитал материалы тренинга и по ходу дела смотрел доки на сайте самого Перфорса.

Общие основы

Perforce - типичная централизованная система контроля версий. Есть сервер, который хранит историю изменений подконтрольных сущностей в репозиториях, которые называются depot. Читается как "дипоу", но вообще - просто депо, типа как трамвайное. Клиент, подключаясь к серверу, берет нужную часть сущностей к себе на локальную машину. С этого момента программа-клиент П4 создает т.н. workspace, т.е. рабочее пространство.