Привет! Меня зовут Данил Ахметов, и ещё год назад я не был сотрудником Яндекса. А сейчаc работаю в команде, которая разрабатывает внутреннее IaaS-решение масштаба всего Яндекса. Попал я в неё не сразу — сначала были Курсы информационных технологий и стажировка в одном из самых критичных в смысле отказоустойчивости направлений — баннерной системе.
Так как недавно Яндекс объявил новый набор на КИТ, я решил рассказать вам о том, какой опыт я там получил и что они могут дать вам. Регистрация открыта до 7 октября, и, хотя мест уже не так много, я надеюсь, что кому-то мой рассказ поможет решиться пойти учиться и, может быть, немного изменить свою жизнь.
Пару лет назад я закончил Ульяновский государственный университет по специальности «Прикладная информатика». Дипломную работу писал о кластерах, суперкомпьютерах и перспективах распределенных вычислений. Меня пригласили админить в не очень большую компанию, разрабатывающую юридическую справочно-информационную систему. Работа была интересной, была почти полная свобода в решении имеющихся задач — все шло своим чередом. Вряд ли бы многое изменилось, если бы 18 октября 2013 года тимлид отдела разработки веб-версии справочного продукта не прислал мне ссылку на страницу предстоящего КИТа, четвертого по счету.
Возможно, не все люди относятся к Яндексу одинаково. В целом сервисы Яндекса оставляли у меня приятные впечатления, но, как и подавляющее большинство моих знакомых из сферы информационных технологий, искал я в Google. Браузером по умолчанию со времен ранних бета-версий был Chrome, а почта с первого курса была Gmail'ом в персональном домене. Только мой отец, кандидат химических и доктор педагогических наук, предпочитал Яндекс, а в дискуссиях о моей будущей карьере и планах на жизнь, говорил что самые лучшие программисты в России, и сервисы Яндекса всегда приводил в пример, утверждая, что для его задач они решительно лучше всех прочих. Я привык доверять отцу, и, наверное, поэтому испытывал к людям, сделавшим Яндекс, уважение. И не только к программистам.
Для регистрации на КИТ предлагалось написать о себе, опционально можно было прикрепить резюме. После успешного сабмита формы я получил тест с вопросами, которые не вызвали сложностей. Наверное, так и было задумано, потому что самое крутое было впереди.
КИТ начался. В огромном и запредельно ярком офисе собиралась полная аудитория КИТят. Каждый новый раз к нам приходили «бойцы» с разных «фронтов» — Почты, Диска, Маркета, финансовых сервисов — и делились историями успеха. Огромное впечатление на меня произвел Виктор Ашик, неизменный ведущий КИТа и наставник многих и многих специалистов, хоть раз встретившихся с ним. С первых минут он вызвал у меня личное уважение.
Я открыл для себя Cgroups, с головой погрузился в спецификации IPv6, закрепил навыки повседневного шифрования данных и соединений открытым и закрытыми ключами и, самое главное, открыл для себя Python как повседневный инструмент системного администратора. КИТ дал мне огромный толчок, которого очень не хватало, чтобы выйти на новый уровень. Но я еще не догадывался, как скоро и круто моя жизнь изменится.
Курсы завершились пиццей и награждением сертификатами об их окончании. Я узнал, что некоторым выдающимся участникам предложили стажировку в компании. Честно говоря, мне тоже очень хотелось быть на их месте, но я не особо рассчитывал на такую возможность, потому что считал, что я многим слабее тех, кто учился на КИТе вместе со мной.
Однако удача мне улыбнулась. 14-го декабря раздался телефонный звонок, и я получил приглашение на стажировку. Следующие три месяца все свободное от основной работы время я проводил в Группе эксплуатации баннерной системы Яндекса. Это было сложное, но удивительное время: моими коллегами стали создатели сервисов, обрабатывающих много миллионов переходов по баннерам в день, и те, на чьих плечах держится все веселье под названием «Яндекс». Кроме того, я работал с человеком, взломавшим SPS3. Работая с ребятами, я добавил во внутрипроектную систему наливки серверов возможность сверхскоростной сетевой загрузки наливаемых машин по едва анонсированному lpxelinux, доработал сетевую файловую систему remotefs для нужд отдела, освоил автоматизацию рутинных задач с помощью jenkins и лучше разобрался в пакетировании своего ПО для Linux.
Когда моя стажировка подошла к концу, вышло так, что я отпочковался от группы эксплуатации баннерной системы в группу развития инфраструктурного облака в роли junior devops. Возможно, ключевую роль сыграло то, что моя дипломная работа в университете была посвящена вычислительным кластерам.
Для многих не будет секретом что у Яндекса уже есть одна облачная технология— Cocaine, но речь идет не о ней. Cocaine — это система, дающая возможность создавать облачные приложения с использованием кокаинового API, — то есть PaaS (Platform as a Service). Команда, в которую я плавно перекатился, разрабатывает IaaS-решение (Infrastructure as a Service) company-wide масштаба, которое использующется в очень многих проектах. Проще говоря, это такой внутренний DigitalOcean, где пользователь (администратор, разработчик или тестировщик из любого отдела Яндекса) может легко развернуть любое количество виртуальных серверов с любыми характеристиками в любой сети и доменной зоне. И, как по волшебству, управлять ими, забыв о том, что есть физические серверы. Только всё это без биллинга и не DigitalOcean, конечно.
В основе IaaS Яндекса лежит доработанный OpenStack, тесно интегрированный с внутрияндексовой авторизацией (маленькой версией Яндекс.Паспорта), мониторингом, междатацентровой инфраструктурой и многими улучшениями, которые претендуют на включение в апстрим исходного OpenStack'a. Облако — это очень и очень сложная штука, состоящая из большого количества компонентов, некоторых из которых нет нигде за пределами компании. У сервиса несколько уровней абстракции, сквозь которые иногда случается с грохотом проваливаться в самый низ, на голое железо, но даже сегодня мы гарантируем внутренним пользователям качество обслуживания, при котором в облаке можно размещать продуктивные серверы.
Корпоративный IaaS, пожалуй, один из самых молодых и многообещающих на сегодня. Постоянно находясь между разработкой средств администрирования и собственно администрированием инфраструктурного облака, работая в паре с разработчиками компонентов IaaS’a, можно видеть проблему с нескольких сторон сразу и решать ее наилучшим способом. Даже шагая по очевидным граблям, приятно понимать, что идешь по ним первым.
Я, когда шёл на КИТ, хотел учиться у лучших и применять то, чему научусь, везде, где бы я ни оказался. Работать в Яндексе и решать повседневные задачи вместе с теми, кто может многому научить — интересно и круто. Я счастлив быть здесь и сейчас. Но это было бы невозможно не только без КИТа, но и без всех тех, кто был рядом со мной все последнее время: научного руководителя в университете, коллег на предыдущей работе, КИТят, с которыми я учился и попал на стажировку, друзей, и, конечно, родители. Спасибо всем!
Возможно, мой рассказ покажется вам слишком личным, но я буду рад, если он поможет кому-то собраться, и, может быть, сделать новый важный шаг в жизни. А подробности про наш внутренний IaaS мы ещё расскажем.
P.S. Кстати, все лекции прошлых Курсов выложены на Хабре, но программа каждый год обновляется. Список предстоящих лекций можно посмотреть здесь.
Так как недавно Яндекс объявил новый набор на КИТ, я решил рассказать вам о том, какой опыт я там получил и что они могут дать вам. Регистрация открыта до 7 октября, и, хотя мест уже не так много, я надеюсь, что кому-то мой рассказ поможет решиться пойти учиться и, может быть, немного изменить свою жизнь.
Пару лет назад я закончил Ульяновский государственный университет по специальности «Прикладная информатика». Дипломную работу писал о кластерах, суперкомпьютерах и перспективах распределенных вычислений. Меня пригласили админить в не очень большую компанию, разрабатывающую юридическую справочно-информационную систему. Работа была интересной, была почти полная свобода в решении имеющихся задач — все шло своим чередом. Вряд ли бы многое изменилось, если бы 18 октября 2013 года тимлид отдела разработки веб-версии справочного продукта не прислал мне ссылку на страницу предстоящего КИТа, четвертого по счету.
Возможно, не все люди относятся к Яндексу одинаково. В целом сервисы Яндекса оставляли у меня приятные впечатления, но, как и подавляющее большинство моих знакомых из сферы информационных технологий, искал я в Google. Браузером по умолчанию со времен ранних бета-версий был Chrome, а почта с первого курса была Gmail'ом в персональном домене. Только мой отец, кандидат химических и доктор педагогических наук, предпочитал Яндекс, а в дискуссиях о моей будущей карьере и планах на жизнь, говорил что самые лучшие программисты в России, и сервисы Яндекса всегда приводил в пример, утверждая, что для его задач они решительно лучше всех прочих. Я привык доверять отцу, и, наверное, поэтому испытывал к людям, сделавшим Яндекс, уважение. И не только к программистам.
Для регистрации на КИТ предлагалось написать о себе, опционально можно было прикрепить резюме. После успешного сабмита формы я получил тест с вопросами, которые не вызвали сложностей. Наверное, так и было задумано, потому что самое крутое было впереди.
КИТ начался. В огромном и запредельно ярком офисе собиралась полная аудитория КИТят. Каждый новый раз к нам приходили «бойцы» с разных «фронтов» — Почты, Диска, Маркета, финансовых сервисов — и делились историями успеха. Огромное впечатление на меня произвел Виктор Ашик, неизменный ведущий КИТа и наставник многих и многих специалистов, хоть раз встретившихся с ним. С первых минут он вызвал у меня личное уважение.
Я открыл для себя Cgroups, с головой погрузился в спецификации IPv6, закрепил навыки повседневного шифрования данных и соединений открытым и закрытыми ключами и, самое главное, открыл для себя Python как повседневный инструмент системного администратора. КИТ дал мне огромный толчок, которого очень не хватало, чтобы выйти на новый уровень. Но я еще не догадывался, как скоро и круто моя жизнь изменится.
Курсы завершились пиццей и награждением сертификатами об их окончании. Я узнал, что некоторым выдающимся участникам предложили стажировку в компании. Честно говоря, мне тоже очень хотелось быть на их месте, но я не особо рассчитывал на такую возможность, потому что считал, что я многим слабее тех, кто учился на КИТе вместе со мной.
Однако удача мне улыбнулась. 14-го декабря раздался телефонный звонок, и я получил приглашение на стажировку. Следующие три месяца все свободное от основной работы время я проводил в Группе эксплуатации баннерной системы Яндекса. Это было сложное, но удивительное время: моими коллегами стали создатели сервисов, обрабатывающих много миллионов переходов по баннерам в день, и те, на чьих плечах держится все веселье под названием «Яндекс». Кроме того, я работал с человеком, взломавшим SPS3. Работая с ребятами, я добавил во внутрипроектную систему наливки серверов возможность сверхскоростной сетевой загрузки наливаемых машин по едва анонсированному lpxelinux, доработал сетевую файловую систему remotefs для нужд отдела, освоил автоматизацию рутинных задач с помощью jenkins и лучше разобрался в пакетировании своего ПО для Linux.
Когда моя стажировка подошла к концу, вышло так, что я отпочковался от группы эксплуатации баннерной системы в группу развития инфраструктурного облака в роли junior devops. Возможно, ключевую роль сыграло то, что моя дипломная работа в университете была посвящена вычислительным кластерам.
Для многих не будет секретом что у Яндекса уже есть одна облачная технология— Cocaine, но речь идет не о ней. Cocaine — это система, дающая возможность создавать облачные приложения с использованием кокаинового API, — то есть PaaS (Platform as a Service). Команда, в которую я плавно перекатился, разрабатывает IaaS-решение (Infrastructure as a Service) company-wide масштаба, которое использующется в очень многих проектах. Проще говоря, это такой внутренний DigitalOcean, где пользователь (администратор, разработчик или тестировщик из любого отдела Яндекса) может легко развернуть любое количество виртуальных серверов с любыми характеристиками в любой сети и доменной зоне. И, как по волшебству, управлять ими, забыв о том, что есть физические серверы. Только всё это без биллинга и не DigitalOcean, конечно.
В основе IaaS Яндекса лежит доработанный OpenStack, тесно интегрированный с внутрияндексовой авторизацией (маленькой версией Яндекс.Паспорта), мониторингом, междатацентровой инфраструктурой и многими улучшениями, которые претендуют на включение в апстрим исходного OpenStack'a. Облако — это очень и очень сложная штука, состоящая из большого количества компонентов, некоторых из которых нет нигде за пределами компании. У сервиса несколько уровней абстракции, сквозь которые иногда случается с грохотом проваливаться в самый низ, на голое железо, но даже сегодня мы гарантируем внутренним пользователям качество обслуживания, при котором в облаке можно размещать продуктивные серверы.
Корпоративный IaaS, пожалуй, один из самых молодых и многообещающих на сегодня. Постоянно находясь между разработкой средств администрирования и собственно администрированием инфраструктурного облака, работая в паре с разработчиками компонентов IaaS’a, можно видеть проблему с нескольких сторон сразу и решать ее наилучшим способом. Даже шагая по очевидным граблям, приятно понимать, что идешь по ним первым.
Я, когда шёл на КИТ, хотел учиться у лучших и применять то, чему научусь, везде, где бы я ни оказался. Работать в Яндексе и решать повседневные задачи вместе с теми, кто может многому научить — интересно и круто. Я счастлив быть здесь и сейчас. Но это было бы невозможно не только без КИТа, но и без всех тех, кто был рядом со мной все последнее время: научного руководителя в университете, коллег на предыдущей работе, КИТят, с которыми я учился и попал на стажировку, друзей, и, конечно, родители. Спасибо всем!
Возможно, мой рассказ покажется вам слишком личным, но я буду рад, если он поможет кому-то собраться, и, может быть, сделать новый важный шаг в жизни. А подробности про наш внутренний IaaS мы ещё расскажем.
P.S. Кстати, все лекции прошлых Курсов выложены на Хабре, но программа каждый год обновляется. Список предстоящих лекций можно посмотреть здесь.