Selectel: как работает российский провайдер инфраструктуры и облаков

Selectel: как работает российский провайдер инфраструктуры и облаков

Чем занимается инфраструктурный провайдер, можно ли в него устроиться и как там с импортозамещением

У нас спецпроект с Selectel: они делятся своими знаниями и опытом, а мы рассказываем вам о них, чтобы вы захотели у них работать. Будут две статьи: эта об ИТ-инфраструктуре и работе Selectel и вторая о работе в Selectel.

«Selectel» — это российская компания, благодаря которой работают проекты «Самоката», «Учи.ру», Ostrovok.ru,  VC.ru, ПИКа, «Амедиатеки» и «Додо» и других известных компаний. «Selectel» обеспечивает ИТ-инфраструктуру для крупных сервисов, а также облака и дата-центры.

Что значит «провайдер инфраструктуры»

Представьте, что у вас сервис по доставке пиццы. Вам нужно где-то хранить информацию о заказах, работе курьеров, платежах и складских остатках. Сначала с этим справляется один компьютер, который стоит у вас в кабинете под столом. Но однажды в офисе отключается интернет, и всю работу сервиса парализует — вы не можете принимать заказы, отправлять курьеров и считать остатки. 

Ничего страшного: вы находите подсобку, проводите туда резервный канал интернета, а заодно резервное питание от генератора и сейфовую дверь, чтобы воры не унесли дорогой компьютер. Вот это всё — ваша ИТ-инфраструктура. Вы только что стали сами себе провайдером инфраструктуры.

Проходит время, и у вас уже настолько много данных и настолько сложный софт, что нужен не один компьютер, а три. А через год нужно будет пять. Они уже не поместятся в подсобке. Вам нужно построить отдельный домик, который теоретически может выдержать отключение света, разрыв каналов связи и прямое попадание молнии. Так у вас появилась потребность в дата-центре. Дата-центр — тоже часть ИТ-инфраструктуры. 

ИТ-инфраструктура — это всё, что позволяет вашим программам работать. Чаще всего под этим понимаются компьютеры, каналы связи и всё, что обеспечивает их работоспособность: инженеры, резервное питание, резервная связь, охрана, роутеры, уборка, температурный режим и т. д.

Selectel: как работает российский провайдер инфраструктуры и облаков

Selectel — это компания, которая делает за вас всю инфраструктурную работу: 

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

Что значит «облако»

Представьте, что у вас всё тот же сервис по доставке пиццы, только теперь это огромная сеть по всей стране. Раньше для обработки запросов вам было достаточно восьмиядерного процессора и 16 ГБ оперативной памяти, а сейчас на пике заказов вам нужно 64 ядра и 128 ГБ оперативы. Иначе ваш сервис просто зависает, а люди остаются без пиццы. Но где быстро взять процессор на 64 ядра? Как быстро залезть в комп и установить в него 128 ГБ оперативы, если он сам поддерживает максимум 64? 

Чтобы решить эту проблему, люди придумали облако. Облако — это кластер компьютеров, которые с помощью специального софта могут работать как единый гибкий сверхразум. Упрощённо говоря: 

  1. У нас есть 10 серверов, в них по 8 ядер и по 16 ГБ оперативы.
  2. Мы их объединяем в «облако» и накатываем специальный софт, который по-умному управляет этими ядрами и гигабайтами.
  3. Получается «мегамозг» с 80 ядрами и 160 ГБ оперативы.
  4. Теперь мы можем этот «мегамозг» гибко распределять среди клиентов.

Например, если кому-то нужно 2 ядра и 2 гига оперативы — нате. Если кому-то нужно 24 ядра и 32 гига — держите. Сейчас надо 10 ядер, а завтра 20? Да пожалуйста. Пока физически есть ядра и гиги, их можно перекраивать как угодно по потребностям клиента. 

Selectel: как работает российский провайдер инфраструктуры и облаков

Зачем это клиентам 

Клиентам нужны провайдеры ИТ-инфраструктуры, потому что строить её самостоятельно — слишком дорого и сложно. Это под силу только сверхбольшим сервисам типа Яндекса или Mail.ru.

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

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

Что делает Selectel

Selectel делает две принципиальные вещи: 

  1. Строит и поддерживает «железную» инфраструктуру — здания дата-центров, питание, стойки с серверами, обслуживание, замену компонентов и т. д. Можно представить, что это компания, которая закупает серверы и сдаёт их в аренду.
  2. Разрабатывает и поддерживает «софтовую» обвязку — все программы, через которые клиенты управляют своими серверами: заказывают, добавляют, убирают, настраивают, обслуживают, перезапускают и т. д. 

В «железной» части, в основном, нужны закупщики, архитекторы, инженеры и сисадмины. Их задача — чтобы нужные комплектующие приехали на склад, кто-то из них собрал сервер, сервер вставили в стойку, подключили к роутеру и т. д. У них там своя атмосфера. Нам сейчас интереснее второе. 

Какой нужен софт

В части разработки «Selectel» создаёт большую софтовую «прослойку» между железом и пользователем. Возьмём на упрощённом примере: 

  • Клиент заходит в панель управления и говорит: «Хочу добавить к серверу ещёе 8 ядер». Для этого нужен интерфейс.
  • Бэкенд панели управления должен обработать этот запрос и сделать так, чтобы клиенту выставили за это счёт.
  • Отдельное приложение должно принять деньги за услугу. 
  • Запрос должен попасть в среду управления виртуальными машинами и серверами. Эта среда должна для себя решить, за счёт чего она добавит новые ядра.
  • Среда переносит виртуальную машину на самый подходящий физический сервер, мол, «Задействуй ядра вот этой машины»
  • Новый сервер начинает обрабатывать инструкции виртуальной машины с большим числом ядер

Так благодаря нескольким слоям софта желание клиента превращается в исполненные инструкции на ядрах процессора. Весь этот софт нужно разрабатывать, а потом — поддерживать, чтобы всё работало вместе и не ломалось. 

Selectel: как работает российский провайдер инфраструктуры и облаков

Принципы Selectel в разработке софта

Разработка в Selectel проходит в командах, которые берут на себя какую-то часть продукта. В целом в компании используются спринты и элементы Agile, но внутри каждая команда может сама определять, какие методики управления ей больше подходят. Общие принципы такие: 

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

Делать быстро и минимально необходимое. В Selectel продукт делают короткими итерациями по 1—3 месяца. В итерацию берут только тот необходимый минимум, который нужен клиентам. Разработка экономная и за счёт этого эффективная. 

Специализация. Над каждым направлением работает группа, которая исторически это направление поддерживала. Например, группа биллинга будет заниматься учётом и отображением потребления, а группа виртуальных машин — виртуальными машинами. Всё оптимизировано под быстрые и качественные результаты. 

Плотное общение в нужное время. В начале спринта команда встречается и обсуждает весь продукт целиком: проходит по всем сценариям, знает все функции, понимает общий контекст и вникает в детали. И дальше весь спринт команда работает в общем информационном поле. Есть точки синхронизации внутри команды и между командами. Минимум бюрократии, каждый занимается своим делом с теми людьми, которые ему нужны. В команде развития облака нет менеджеров, которые занимаются синхронизацией команд — команды синхронизируются сами. 

Тесты, доки, два ствола. Каждый спринт включает в себя не только сам код, но и тесты, деплой на боевые сервера, рассылку по сотрудникам отдела продаж, обучение сотрудников поддержки и создание документации. Это в Selectel попадает под Definition of Done — то есть «Что мы считаем сделанной работой». 

Все видят всё. Вся работа ведётся в общей системе Confluence. Можно задать вопрос любому коллеге, пригласить его для консультации, показать свои результаты или обменяться мнениями. 

Ответы на важные вопросы

Зачем что-то ещё писать, если инфраструктура плюс-минус одинаковая всё время?

На самом деле инфраструктура постоянно меняется: появляются новые накопители данных, новые процессоры, появляются серверы с графическими процессорами; новые потребности в облаках и сервисах; новые проекты вроде управляемых баз данных. Каждая штука со словом «новый» — это новая логика в биллинге, новые кнопки в интерфейсе, новые страницы документации.

Плюс всё старое хозяйство постоянно нужно поддерживать и обновлять.

Ещё постоянно растут требования к оптимизации алгоритмов. Если раньше у тебя диспетчер управлял тысячей виртуальных машин на кластере, это одни требования к быстродействию. Если теперь у тебя миллион виртуальных машин, это другие требования. 

Как западные санкции повлияли на работу?

Selectel многократно вырос по числу клиентов и утилизированным мощностям, потому что множество клиентов переходят от западных провайдеров в Россию. 

Насколько Selectel зависит от зарубежных технологий? Как по нему могут ударить санкции?

Всё оборудование Selectel импортное, но не вендорское. Это значит, что компания закупает серверы не как целые решения (например, компании HP), а как набор компонентов, которые можно закупать у разных поставщиков. 

Что это значит: если крупные вендоры типа HP уйдут из страны, это никак не затронет Selectel. А вот если перекроют ввоз вообще всех серверных компонентов, то придётся что-то придумывать. В России сейчас нет тех производств, которые могли бы поставить компоненты в нужном количестве — серверные накопители, материнские платы, оперативную память и т. д. Если они появятся, проблема будет решена.

Будут ли полностью русские «облака» на базе российских процессоров «Байкал» и «Эльбрус»?

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

Кто нужен в Selectel?

А об этом и о старте карьеры в компании мы расскажем в статье через неделю. Пока что можно подписаться на карьерный канал «Selectel’а» в Телеграме или посмотреть вакансии на сайте selectel.ru/careers/all/

Selectel: как работает российский провайдер инфраструктуры и облаков

Что дальше

Через неделю расскажем о работе в Selectel и карьерных возможностях. 

Текст:

Максим Ильяхов

Иллюстрации:

Алексей Сухов, Алина Окунькова

Корректор:

Ира Михеева

Вёрстка:

Кирилл Климентьев

Соцсети:

Алина Грызлова

Это:

Спецпроект «Кода» в интересах Selectel

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Начать карьеру в ИТ
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
easy