Pull to refresh
1
Alexander Stellove @AlLSTLread⁠-⁠only

Software Engineer

Send message

Почему Discord переходит с Go на Rust

Reading time7 min
Views83K


Rust становится первоклассным языком в самых разных областях. Мы в Discord успешно используем его и на серверной, и на клиентской стороне. Например, на стороне клиента в конвейере кодирования видео для Go Live, а на стороне сервера для функций Elixir NIF (Native Implemented Functions).

Недавно мы резко улучшили производительность одной службы, переписав её с Go на Rust. В этой статье объясним, почему для нас имело смысл переписать службу, как мы это сделали и насколько повысилась производительность.
Читать дальше →

Масштабирование высоконагруженной сети при помощи Nutanix: возможности и проблемы на примере личного кейса

Reading time8 min
Views3.4K
image

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

Какие? Сейчас многие компании онлайн-торговли или доставки не успевают обрабатывать резко взлетевшее количество заказов, теряют клиентов, деньги и репутацию, в том числе по тому, что их IT-инфраструктура не была готова к кратному росту объемов обработки данных. Этого можно было бы избежать при помощи быстрого масштабирования IT-инфраструктуры. Это можно сделать при помощи гиперконвергентной инфраструктуры (Hyper-converged infrastructure, HCI). Именно ей и посвящена эта статья.
Читать дальше →

Управление задачами в Jenkins

Reading time5 min
Views163K


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

На рынке сейчас представлено много других инструментов (как платных, так и бесплатных), позволяющих построить процесс непрерывной интеграции максимально комфортно.
Читать дальше →

Linux в домене Active Directory

Reading time6 min
Views239K
Перед администраторами иногда встают задачи интеграции Linux серверов и рабочих станций в среду домена Active Directory. Обычно требуется:
1. Предоставить доступ к сервисам на Linux сервере пользователям домена.
2. Пустить на Linux сервер администраторов под своими доменными учётными данными.
3. Настроить вход на Linux рабочую станцию для пользователей домена, причём желательно, чтобы они могли при этом вкусить все прелести SSO (Я, например, не очень люблю часто вводить свой длинный-предлинный пароль).

Обычно для предоставления Linux системе пользователей и групп из домена Active Directory используют winbind либо настраивают библиотеки nss для работы с контроллером домена Active Directory по LDAP протоколу. Но сегодня мы пойдём иным путём: будем использовать PowerBroker Identity Services (Продукт известен также под именем Likewise).
Как ввести Linux машину в домен Active Directory

Как управлять виртуальными машинами, если их много

Reading time6 min
Views18K
После того, как у нас вышли в релиз еще несколько проектов, а количество тикетов в трекере на тему «создать пользователя, развернуть виртуалку, дать доступ» превысило все мыслимые пределы, назрела необходимость что-то менять.
Задача: организовать рабочее окружение linux для нескольких команд разработчиков и тестировщиков. Общее количество виртуальных машин — три-четыре десятка.

image
Читать дальше →

Мой маленький Kubernetes: настраиваем тестовый кластер в VirtualBox

Reading time13 min
Views42K

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

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

Обычно изучение Kubernetes стоит начинать с minikube - консольной утилиты, которая умеет быстро создавать кластер из одного узла с использованием VirtualBox. Это самый лучший вариант для быстрого старта.

Но есть и другой вариант. Можно взять VirtualBox, создать несколько виртуальных машин, например, с Ubuntu Server и настроить небольшой кластер Kubernetes прямо на своём домашнем компьютере.

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

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

Осторожно, трафик! В статье очень много скриншотов.

Читать далее

Наши выводы за год миграции GitLab.com на Kubernetes

Reading time9 min
Views11K
Прим. перев.: адаптацию Kubernetes в GitLab считают одним из двух главных факторов, способствующих росту компании. Тем не менее, до недавнего времени инфраструктура онлайн-сервиса GitLab.com была построена на виртуальных машинах, и только около года назад началась её миграция в K8s, которая до сих пор не завершена. Рады представить перевод недавней статьи SRE-инженера GitLab о том, как это происходит и какие выводы делают инженеры, участвующие в проекте.



Вот уже около года наше инфраструктурное подразделение занимается миграцией всех сервисов, работающих на GitLab.com, в Kubernetes. За это время мы столкнулись с проблемами, связанными не только с перемещением сервисов в Kubernetes, но и с управлением гибридным deployment'ом во время перехода. О ценных уроках, полученных нами, и пойдет речь в этой статье.
Читать дальше →

Внедрение CI/CD и DevOps в Enterprise (Ростелеком) — часть 2

Reading time6 min
Views6.9K

Платформа Цифровых Продуктов Ростелеком. Как это устроено

Датой создания Платформы Цифровых Продуктов (ПЦП) можно считать лето 2017. Старое название - Digital Sandbox, или просто Песочница.

В основе инфраструктуры лежат два тенанта на базе виртуализации OpenStack-KVM, размещенных в независимых ЦОДах Национальной облачной платформы: продуктивный стенд ПЦП на М9, стенд разработки на М10.

Из-за обособленности подразделений общества разработке нужен был инструмент с предварительными интеграциями с основными сервисами и продуктами Ростелекома и возможностью мгновенной организации рабочего места. Таким инструментом и стала ПЦП.

Создание платформы позволило существенно сэкономить время на разработке цифровых сервисов и продуктов, упростив их разработку и эксплуатацию за счет того, что теперь не нужна подготовка инфраструктуры “с нуля”. Появилась возможность легко, быстро и эффективно создавать сайты, веб-приложения, чат-боты, различные интеграционные сервисы, а у команды разработки внутри ПЦП - прототипировать, развёртывать и администрировать приложения без необходимости настройки какой-либо инфраструктуры и технологий. Время предоставления готового стенда сократилось до нескольких часов. Все это помогло сделать ПЦП центром IT ядра Ростелекома.

Сетевой сегмент DMZ-КСПД-НОП позволил нам интегрироваться с системами Ростелекома, что в дальнейшем помогло запускать сервисы, работающие с персональными данными по ФЗ-152.

Благодаря всему этому мы смогли сделать ПЦП оптимальным решением для российского рынка, так как ядро платформы построено на базе Open source с применением технологий OpenShift, Kubernetes, Docker, не требующих приобретения дополнительных лицензий, так как являются свободно распространяемым ПО, на ресурсах НОП с набором готовых к работе сервисов. 

Для наглядности приведем пример ниже:

Читать далее

Битва Jenkins и GitLab CI/CD

Reading time11 min
Views63K
В последнее десятилетие достигнуты значительные успехи в сфере разработки инструментов непрерывной интеграции (Continuous Integration, CI) и непрерывного развёртывания (Continuous Delivery, CD). Развитие технологий интеграции разработки и эксплуатации ПО (Development Operations, DevOps) привело к быстрому росту спроса на CI/CD-инструменты. Существующие решения постоянно улучшаются, стремясь идти в ногу со временем, выходят их новые версии, в мире контроля качества ПО (Quality Assurance, QA) постоянно появляется множество новых продуктов. При таком богатстве выбора подбор подходящего инструментария оказывается нелёгкой задачей.



Среди всех существующих CI/CD инструментов существуют два проекта, на которые, определённо, стоит обратить внимание тому, кто ищет что-то из этой сферы. Речь идёт о Jenkins и об инструменте GitLab CI/CD, который является частью платформы GitLab. У Jenkins имеется более 16000 звёзд на GitHub. Репозиторий GitLab на gitlab.com набрал чуть больше 2000 звёзд. Если сравнить популярность репозиториев, то окажется, что Jenkins набрал в 8 раз больше звёзд, чем платформа, в состав которой входит GitLab CI/CD. Но при выборе CI/CD-инструмента это — далеко не единственный показатель, на который стоит обращать внимание. Есть и масса других, и это объясняет то, что во многих сравнениях Jenkins и GitLab CI/CD оказываются очень близко друг к другу.
Читать дальше →

50 вопросов по Docker, которые задают на собеседованиях, и ответы на них

Reading time13 min
Views124K


Docker, первый выпуск которого был еще в 2013 году, — весьма удобный инструмент для сборки пакетов, поставки и запуска приложений в «контейнерах». Большинство крупных компаний, например, Google, Amazon и VMware рассматривают Docker как зрелую технологию для контейнеров, поэтому сейчас самое время изучить этот инструмент и в результате продвинуться по карьерной лестнице. Хотите? В статье будут приведены вопросы по Docker, ответы на которые нужно знать, если вы идете на собеседование.

Читать дальше →

Быстрее, точнее, эффективнее: IBM представила прототип 7-нм ИИ-сопроцессора

Reading time2 min
Views6.2K

Для обучения более-менее продвинутых моделей искусственного интеллекта зачастую требуются значительные ресурсы. А сложноустроенные модели подразумевают инфраструктуру в миллионы долларов. IBM создала технологию, позволяющую сократить стоимость и время обучения. И, конечно, сэкономить.

Корпорация представила прототип нового энергоэффективного 7-нм ИИ-сопроцессора. Использование чипа может повысить эффективность обучающих систем более, чем в 7 раз. Беспилотные автомобили, преобразование текста в речь, машинное зрение, разработка новых лекарств, дроны для доставки — сферы приложения ИИ сегодня бесконечны. Для реализации этих масштабных проектов и нужны подобные технологии.
Читать дальше →

Жизнь за пределами Зиона

Reading time13 min
Views63K
С некоторым удивлением обнаружил, что для большинства хабражителей само собой разумеется, что внутри сервера стоят самые обычные Xeon’ы. Все остальные процессоры — это что-то далёкое и почти несуществующее, поэтому статья «Процессоры для корпораций» вызвала весьма живой интерес. Раз уж тема настолько интересная, попробуем заполнить информационный вакуум. Итак,

Кто и зачем их покупает?
Читать дальше →

Релиз Apache Ignite 2.9.0 — что нового?

Reading time7 min
Views2.7K
Apache Ignite – это высокопроизводительная распределенная база данных с открытым исходным кодом, предназначенная для хранения и распределенной обработки больших объемов данных в кластере узлов. Мы в Сбере активно его используем, и у нас есть команда, занимающаяся разработкой этого продукта. 23 октября 2020 года вышла новая версия Apache Ignite 2.9.0. Как менеджер данного релиза от лица всей команды разработчиков Apache Ignite хочу поделиться информацией об основных нововведениях.

  • Snapshots (Резервное копирование)
  • Трэйсинг
  • Новые возможности тонких клиентов
  • Режим работы кластера «Только чтение»
  • Запуск пользовательского кода в «песочнице»
  • Прозрачное шифрование данных: ротация мастер ключа
  • Инструменты для прерывания пользовательских задач и запросов
  • Кэширование на стороне платформы (.NET)
  • Подключение клиентских узлов к серверным через NAT

Читать дальше →

Обучение робототехнике: что сейчас важно и почему это вошло в программу «Школы 21»

Reading time8 min
Views8.3K
image

Теперь мы знаем, что роботы не будут тупыми и похожими на людей. Сначала они будут похожими на автомобили (потому что беспилотный транспорт уже сейчас есть — например Waymo от Google), потом на квадрокоптеры, а потом на забавно прыгающих собак. Сбер тоже в этом всём участвует, например, частично наши робокомбайны, возможно, вам знакомы по блогу Cognitive Pilot. Наш внутренний департамент SberDigitalAuto стал компанией SberAutoTech, которая в том числе будет заниматься беспилотными технологиями. Нам уже нужны кадры, а через пять лет будет острый дефицит специалистов. И поэтому мы занялись программами обучения робототехнике уже сейчас.

В «Школе 21» появились новые образовательные треки: программирование роботов (ROS), IoT и Электроника и, как следствие, — была организована лаборатория робототехники, в которой участники смогут применять знания на практике.

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

Интереснейшее влияние Cyclone

Reading time16 min
Views5.5K

Оглавление:


  • Cyclone
  • C++, владение и псевдонимы
  • Rust
  • Midori’s M#
  • Pony
  • Cone
  • Резюме

В 2001 году Джим Тревор (AT&T Research) и Грег Моррисетт (Cornell) запустили совместный проект по разработке безопасного диалекта языка программирования C — как развитие более ранних работ над Типизированным Ассемблером. После пяти лет напряженной работы и нескольких опубликованных научных работ, команда (в том числе Дэн Гроссман, Майкл Хикс, Ник Свами и другие) выпустила Cyclone 1.0. А затем разработчики занялись другими делами.

Читать дальше →

DevOps в Сбербанк-Технологиях. Инструментальный стандарт

Reading time18 min
Views33K

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

Читать дальше →

Получаем доступ к рабочему столу WinCE и запускаем Doom на осциллографе Keysight DSOX1102G

Reading time8 min
Views45K
Перевод статьи из блога Джейсона Гина "Разорви на части"

TL;DR: да, на осциллографе Keysight 1000 X-Series реально можно запустить Doom! Однако это непросто сделать.


Keysight DSOX1102G

Осциллограф должен иметь в своём арсенале любой уважающий себя энтузиаст-электронщик. Осциллографы, кратко говоря, позволяют вам изучать волны электрических сигналов в контуре, а цифровые осциллографы (digital storage oscilloscope, DSO) незаменимы тем, что могут найти редкие ошибки в сигнале, которые не распознает аналоговый осциллограф или мультиметр.

Тема моей статьи — DSOX1102G от компании Keysight Technologies (бывш. Agilent), из их недорогой линейки осциллографов, отличающихся неплохим соотношением цены к качеству по сравнению с продукцией конкурентов. Как и большинство их осциллографов, на этой модели работает встроенная ОС Windows Embedded CE 6.0 (также известная, как Windows CE или WinCE), но, как и в большинстве случаев применения WinCE, её интерфейс вы практически никогда не видите – он спрятан за специально сделанным интерфейсом для пользователя.
Читать дальше →

Сбербанк применит возможности блокчейна, но не биткоина

Reading time2 min
Views8.4K
«Сбербанк» намерен присоединиться к международному консорциуму R3, чтобы вместе с Goldman Sachs, JP Morgan, Credit Suisse и Barclays изучать и использовать возможности технологии блокчейн. В консорциуме, основанном в 2014 году, уже состоят 30 крупных финансовых организаций и банков, однако русскоязычных представителей до сих пор в нем не было. Самой известной реализацией блокчейна является биткоин, но использовать сами виртуальные деньги Сбербанк не планирует. Блокчейн будет применяться с целью защиты транзакций банка, а также, в будущем, может снизить его зависимость от международной системы SWIFT.


Читать дальше →

Кунг-фу стиля Linux: разбираемся с последовательными портами

Reading time8 min
Views28K
Раньше последовательные порты были буквально повсюду. И они, в каком-то смысле, никуда и не делись, так как многое, что подключается к компьютеру по USB, на самом деле, выглядит для системы как последовательный порт. Проблема тут заключается в том, что в наши дни всё в мире завязано на компьютерные сети. Конечно, можно купить терминальный сервер, который преобразует последовательный порт в интерфейс Ethernet. Но это совсем не интересно. Здесь я хочу рассказать о том, как пробрасывать последовательные порты по сети с использованием существующих Linux-инструментов. Решение это не идеальное, оно оказывается работоспособным далеко не всегда, но если оно работает, то работает оно хорошо.


Читать дальше →

how to: Как и зачем работать с svn через git

Reading time3 min
Views63K
Добрый день!

В статье я расскажу, как мы работаем с svn через git и почему не выбрали чистый git.

SVN


Subversion — это централизованная система контроля версий. Это главный ее минус и главный ее плюс :)

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

Главный минус — это merge… Те, кто часто делает мерж средствами svn, понимает о чем я.
Это медленно (даже меееееееедлееенно), требует постоянного соединения с репозиторием, а еще эти svn-properties, которые мешают читать diff.
Читать дальше →

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity