Русский
Русский
English
Статистика
Реклама

Импортозамещение

Как дочка Ростех-а, продавшая десятки тысяч камер в школы, делает российские камеры c дырявой китайской прошивкой

20.06.2020 16:21:57 | Автор: admin
Всем привет!

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

О том, как мы начинали я писал в статье.

С тех пор многое изменилось мы стали поддерживать еще больше чипсетов, например, таких как mstar и fullhan, познакомились и подружились с большим количеством как иностранных, так и отечественных производителей IP камер.

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


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

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

Но, однако, сегодня, читая новости в фейсбуке, и попивая утренний кофе чуть не разлил его, прочитав новость о том, что дочка Ростеха, компания ЭЛВИС-НеоТек поставит десятки тысяч камер в школы.

Детали, про то как мы их тестили под катом.

Да, да это те самые ребята, которые приносили мне откровенный дешевый и плохой китай, под видом собственной разработки.

Итак, давайте по фактам: К нам принесли камеру VisorJet Smart Bullet, из отечественного в ней была коробка и листик приемки ОТК (:-D), внутри оказалась типовая китайская модульная камера на базе чипсета Hisilicon 3516.

После того, как сделали дамп прошивки, очень быстро стало понятно, что реальный производитель камеры и прошивки некая контора Brovotech, которая специализируется на поставке IP камер с кастомизацией. Отдельно, возмутило второе название этой конторы ezvis.net топорная подделка названия компания Ezviz b2c дочки одного из мировых лидеров Hikvision. Мда, все в лучших традициях Abibas и Nokla.

В прошивке все оказалось стандартно, незатейливо по китайски:

Файлы в прошивке
alarm.pcm
bvipcam
cmdserv
daemonserv
detectsns
font
lib

libsony_imx326.so
reset
start_ipcam.sh
sysconf
600106000-BV-H0600.conf
600106001-BV-H0601.conf

600108014-BV-H0814.conf
system.conf -> /mnt/nand/system.conf
version.conf
www

logo
elvis.jpg
qrcode.png

От отечественного производителя видим файлик elvis.jpg неплохо, но с ошибкой в названии фирмы судя по сайту они называются elvees.

За работу камеры отвечает bvipcam основное приложение, которое работает с A/V потоками и является сетевым сервером.

Теперь про дыры и бэкдоры:

1. В bvipcam очень просто находится бэкдор: strcmp (password,20140808) && strcmp (username,bvtech). Он не отключаемый, и работает на не отключаемом порту 6000



2. В /etc/shadow статический пароль root и открытый порт telnet. Не самый мощный макбук брутфорснул этот пароль меньше чем за час.



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

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

Кстати, чуть позже нашел статью в ней проделали более глубокую работу по исследованию дыр в камерах от brovotech. Мда.

По итогам обследования, мы написали в elvees neotek заключение, со всеми обнаруженными фактами. В ответ получили от ЭЛВИС-НеоТек шикарный ответ: Прошивка для наших камер базируется на Linux SDK от производителя контроллеров HiSilicon. Т.к. эти контроллеры используются в наших камерах. При этом поверх данного SDK разработано наше собственное ПО, отвечающее за взаимодействие камеры по протоколам обмена данными. Специалистам, проводившим тестирование, было затруднительно выяснить это, так как мы не предоставляли root-прав к камерам.

И при оценке со стороны могло сложиться ошибочное мнение. При необходимости мы готовы продемонстрировать вашим специалистам весь процесс производства и прошивки камер на нашем производстве. В том числе показать часть исходных кодов прошивки.

Естественно, исходников никто не показал.

Я принял решение с ними больше не работать. И вот, два года спустя, планы компании Elvees по производству дешевых китайских камер с дешевой китайской прошивкой под видом российской разработки нашли свое применение.

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

Но, увы, простейшее сопоставление инструкции по эксплуатации российской камеры инструкциям в интернете дало результат.

Итак, встречайте оригинал: камеры не известного вендора milesight.





Чем этот milesight лучше brovotech? С точки зрения безопасности скорее всего ничем: дешевое в закупке решение.

Достаточно взглянуть на скриншот Web интерфейса камер milesight и ЭЛВИС-НеоТек не останется никаких сомнений: российские камеры VisorJet клон камер milesight. Совпадают не только картинки web интерфейсов, а и дефолтный IP 192.168.5.190, и чертежи камер. Даже дефолтный пароль похож: ms1234 vs en123456 у клона.

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

Обновление МойОфис в 3 раза ускоряет почту, добавляет новые функции и еще 4 иностранных языка

07.07.2020 20:09:59 | Автор: admin


В начале июля 2020 года МойОфис выпустил второе крупное обновление. В новой версии 2020.01.R2 наиболее заметные функциональные изменения произошли в средствах для работы с электронной почтой и календарем. Была произведена оптимизация серверных компонентов МойОфис Почта, которая привела к 3-кратному увеличению скорости рассылки писем на 500 и более адресатов.


Почтовая система


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



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



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

Появилась возможность импорта сторонних календарей, пользователи смогут перенести запланированные встречи из почтовой системы Microsoft Exchange. Эта функция особенно актуальна при миграции с иностранных решений на МойОфис.



В новой версии МойОфис обновлены дизайн приложения Календарь, а также внешний вид системных уведомлений.



Изменился и редактор событий в МойОфис появились расширенные настройки повторения событий,





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



просмотр занятости других участников и рекомендации по планированию встреч.

МойОфис SDK


Комплект средств для разработчиков МойОфис SDK пополнился новым компонентом Автономным модулем редактирования (АМР). Это специальная веб-версия редакторов МойОфис, которая предназначена для интеграции в продукты сторонних разработчиков. Такие приложения нетребуют отдельного сервера и содержат полный набор функций редактирования и форматирования, нопри этом не имеют функций совместной работы. Редактор в АМР обрабатывает только те файлы, которые передаем ему информационная система приложение или сервис, куда интегрирован саммодуль АМР.

Автоматический модуль редактирования позволяет добавить функции редактирования документов вSaaS-сервисы без необходимости передачи пользовательских данных за пределы защищенного периметра и без необходимости развёртывания дополнительных серверов. Новый модуль доступен технологическим партнерам по специальной ISV-лицензии, которая приобретается отдельно.

МойОфис Document API, другой компонент из состава МойОфис SDK, также был обновлен. Теперьпользователи могут задействовать функции для работы с отдельными разделами документа ивыбирать книжный или альбомный формат страницы.

МойОфис Текст и МойОфис Таблица


В текстовом редакторе появилась функция принудительной очистки форматирования текста, которую можно вызвать через кнопку на панели инструментов или с помощью сочетания клавиш [CTRL]+[ПРОБЕЛ].



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

Средства форматирования


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



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



Базовый шаблон документа


В релизе 2020.02.R2 появилась возможность замены базового шаблона нового документа. Поумолчанию, изменить базовый шаблон может только системный администратор. Это сделано длятого, чтобы обычный пользователь не мог случайно заменить настройки документов, принятые ворганизации. Основные пользовательские шаблоны можно хранить в любом месте доступ книмосуществляется через пункт меню [Файл] [Создать по шаблону].

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

Замена базового шаблона нового документа на отдельном компьютере происходит в несколько действий:
Запустите настольное приложение МойОфис от имени администратора.
Создайте требующийся образец шаблона, который содержал бы всю необходимую информацию, разметку страницы и колонтитулы.
Выберите пункт меню [Файл] и затем [Сохранить шаблон...]. Сохраните шаблон в специальной папке [Default Template].

Программа ищет базовые шаблоны в стандартных папках установки, доступ к которым есть только уадминистраторов. Например, в операционной системе Windows эта папка располагается по адресу "C:\Program Files\MyOffice\Default Template", а в Linux "/usr/local/bin/my_office".

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

Почтовый клиент




Дизайн почтового клиента МойОфис Почта для ПК был обновлён, он получил оформление скристальным паттерном и возможность отображения изображений пользователей (аватаров). Ранеетакая функция была доступна только в облачной версии почтового клиента.

Средства локализации


Облачные версии МойОфис теперь переведены на белорусский, казахский, немецкий и итальянский языки.



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

Мобильные приложения


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



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

Эльбрус VS Intel. Сравниваем производительность систем хранения Аэродиск Восток и Engine

28.09.2020 06:06:32 | Автор: admin


Всем привет. Мы продолжаем знакомить вас с системой хранения данных Аэродиск ВОСТОК, выполненной на базе российского процессора Эльбрус 8C.


В этой статье мы (как и обещали) детально разберем одну из популярнейших и интереснейших тем, связанной с Эльбрусами, а именно производительность. На тему производительности Эльбруса есть достаточно много спекуляций, причем абсолютно полярных. Пессимисты говорят, что производительность Эльбруса сейчас никакая, и чтобы догнать топовых производителей потребуются десятилетия (т.е. в условиях нынешней реальности никогда). С другой стороны, оптимисты говорят, что уже сейчас Эльбрус 8C показывает хорошие результаты, а в ближайшие пару лет с выходом новых версий процессоров (Эльбрус 16С и 32С) мы сможем догнать и перегнать ведущих мировых производителей процессоров.


Мы в Аэродиске люди практичные, поэтому пошли самым простым и понятным (для нас) путем: протестировать, зафиксировать результаты и только потом делать выводы. В итоге мы провели довольно большое количество тестов и обнаружили ряд особенностей работы Эльбруса 8С архитектуры e2k (в том числе, и приятных) и, конечно же, сравнили это с аналогичными СХД на процессорах Intel Xeon архитектуры amd64.


Кстати, более подробно о тестах, результатах и о будущем развитии СХД на Эльбрусах мы поговорим на нашем очередном вебинаре "ОколоИТ" 15.10.2020 в 15 00. Зарегистрироваться можно по ссылке ниже.


РЕГИСТРАЦИЯ НА ВЕБИНАР


Тестовый стенд


Мы создали два стенда. Оба стенда состоят из сервера с Linux-ом, подключенного через 16G FC-коммутаторы к двум котроллерам СХД, в которой установлено 12 SAS SSD 960 ГБ дисков (11,5 ТБ сырой емкости или 5,7 ТБ полезной емкости, если используем RAID-10).


Схематично стенд выглядит следующим образом.



Стенд 1 e2k (Эльбрус)


Конфигурация оборудования следующая:


  • Linux-сервер (2xIntel Xeon E5-2603 v4 (6 cores, 1,70Ghz), 64 GB DDR4, 2xFC-адаптер 16G 2 порта) 1шт.
  • Коммутатор FC 16 G 2 шт.
  • СХД Аэродиск Восток 2-Э12 (2xЭльбрус 8С (8 cores, 1,20Ghz), 32 GB DDR3, 2xFE FC-adaptor 16G 2 port, 12xSAS SSD 960 GB) 1 шт

Стенд 2 amd64 (Intel)


Для сравнения с аналогичной конфигурации на e2k использовалась похожая конфигурация СХД с похожим процессором по характеристикам на amd64:


  • Linux-сервер (2xIntel Xeon E5-2603 v4 (6 cores, 1,70Ghz), 64 GB DDR4, 2xFC-адаптер 16G 2 порта) 1шт.
  • Коммутатор FC 16 G 2 шт.
  • СХД Aerodisk Engine N2 (2xIntel Xeon E5-2603 v4 (6 cores, 1,70Ghz), 32 GB DDR4, 2xFE FC-adaptor 16G 2 port, 12xSAS SSD 960 GB) 1 шт

Важное замечание: используемые в тесте процессоры Эльбрус 8С поддерживают оперативную память только DDR3, это конечно плохо, но не долго. Эльбрус 8СВ (в наличие его у нас пока нет, но скоро будет) поддерживает DDR4.


Методика тестирования


Для генерации нагрузки мы использовали популярную и проверенную временем программу Flexible IO (FIO).


Обе СХД сконфигурированы согласно нашим же рекомендациям по настройке, исходя из требований к высокой производительности на блочном доступе, поэтому используем дисковые пулы DDP (Dynamic Disk Pool). Чтобы не искажать результаты тестирования, на обеих СХД отключаем, компрессию, дедупликацию и RAM-кэш.


Созданы 8 D-LUN-ов в RAID-10 по 500 ГБ, каждый, суммарный полезный объём составляет 4 ТБ (т.е. примерно 70% от возможной полезной емкости данной конфигурации).


Выполняться будут основные и популярные сценарии использования СХД, в частности:


первые два теста эмулируют работу транзакционной СУБД. В этой группе тестов нам интересны IOPS-ы и задержка.


1) Случайное чтение маленькими блоками 4k
a. Размер блока = 4k
b. Чтение/запись = 100%/0%
c. Количество работ = 8
d. Глубина очереди = 32
e. Характер нагрузки = Full Random


2) Случайная запись маленькими блоками 4k
a. Размер блока = 4k
b. Чтение/запись = 0%/100%
c. Количество работ = 8
d. Глубина очереди = 32
e. Характер нагрузки = Full Random


вторые два теста эмулируют работу аналитической части СУБД. В этой группе тестов нам также интересны IOPS-ы и задержка.


3) Последовательное чтение маленькими блоками 4k
a. Размер блока = 4k
b. Чтение/запись = 100%/0%
c. Количество работ = 8
d. Глубина очереди = 32
e. Характер нагрузки = Sequential


4) Последовательная запись маленькими блоками 4k
a. Размер блока = 4k
b. Чтение/запись = 0%/100%
c. Количество работ = 8
d. Глубина очереди = 32
e. Характер нагрузки = Sequential


третья группа тестов эмулирует работу потокового чтения (пример онлайн трансляции, восстановление резервных копий) и потоковой записи (пример видеонаблюдение, запись резервных копий). В этой группе тестов нам уже интересны не IOPS-ы, а MB/s и также задержка.


5) Последовательное чтение большими блоками 128k
a. Размер блока = 128k
b. Чтение/запись = 0%/100%
c. Количество работ = 8
d. Глубина очереди = 32
e. Характер нагрузки = Sequential


6) Последовательная запись большими блоками 128k
a. Размер блока = 128k
b. Чтение/запись = 0%/100%
c. Количество работ = 8
d. Глубина очереди = 32
e. Характер нагрузки = Sequential


Каждый тест будет длиться один час без учета времени прогрева массива в 7 минут.


Результаты тестов


Результаты тестов сведены в две таблицы.


Эльбрус 8С (СХД Аэродиск Восток 2-Э12)



Intel Xeon E5-2603 v4 (СХД Аэродиск Engine N2)



Результаты получились крайне интересные. В обоих случаях мы хорошо утилизировали процессорные мощности СХД (70-90% утилизации), и при таком раскладе явно бросаются в глаза плюсы и минусы обоих процессоров.


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


Если говорить о случайной нагрузке небольшими блоками, то:


  • с точки зрения случайного чтения Intel, безусловно, впереди Эльбруса, разница в 2 раза;
  • с точки зрения случайной записи однозначно ничья, оба процессора показали примерно равные и достойные результаты.

В последовательной нагрузке небольшими блоками картина другая:


  • и при чтении, и при записи Intel существенно (в 2 раза) опережает Эльбрус. При этом, если у Эльбруса показатель IOPS ниже чем у Intel, но выглядит достойно (200-300 тысяч), то с задержками явная проблема (они в три раза выше чем у Intel). Вывод, текущая версия Эльбруса 8С очень не любит последовательные нагрузки небольшими блоками. Явно есть над чем работать.

А вот в последовательной нагрузке большими блоками картина прямо противоположная:


  • оба процессора показали примерно равный результат в MB/s, но есть одно НО. Показатели задержек у Эльбруса в 10 (в десять, Карл!!!) раз лучше (т.е. ниже), чем у аналогичного процессора от Intel (0,4/0,5 ms против 5,1/6,5 ms). Вначале мы подумали, что это глюк, поэтому мы перепроверили результаты, сделали повторный тест, но повторный тест показал ту же картину. Это серьезное преимущество Эльбруса (и архитектуры e2k в целом) перед Intel (и, соответственно, архитектуры amd64). Будем надеяться, что этот успех получит дальнейшее развитие.

Есть ещё одна интересная особенность Эльбруса, на которую внимательный читатель может обратить внимание, посмотрев на таблицу. Если взглянуть на разницу показателей чтения и записи у Intel, то во всех тестах чтение опережает запись в среднем примерно на 50%+. Это норма, к которой все (в том числе и мы) привыкли. Если посмотреть на Эльбрус, то показатели записи значительно ближе к показателям чтения, чтение опережает запись, как правило, на 10 30%, не более.


О чем это говорит? О том, что Эльбрус очень любит запись, а это, в свою очередь, говорит о том, что этот процессор будет очень полезен в задачах, где запись явно преобладает над чтением (кто сказал закон Яровой?), что также является несомненным преимуществом архитектуры e2k, и это преимущество нужно развивать.


Выводы и ближайшее будущее


Сравнительные тесты процессоров среднего уровня Эльбрус и Intel для задач хранения данных показали примерно равные и одинаково достойные результаты, при этом каждый процессор показал свои интересные особенности.


Intel сильно превзошел Эльбрус в случайном чтении небольшими блоками, а также в последовательном чтении и записи небольшими блоками.


При случайной записи небольшими блоками оба процессора показывают равные результаты.


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


Кроме того, Эльбрус в отличии от Intel, одинаково хорошо справляется как с нагрузками чтения, так и с нагрузками записи, в то время как у Intel чтение всегда значительно лучше записи.
Исходя из полученных результатов можно сделать вывод о применимости систем хранения данных Аэродиск Восток на процессоре Эльбрус 8С в следующих задачах:


  • информационные системы с преобладанием операций записи;
  • файловый доступ;
  • онлайн-трансляции;
  • видеонаблюдение;
  • резервное копирование;
  • медиа-контент.

Коллективу МЦСТ есть ещё над чем работать, но результат их работы виден уже сейчас, что, конечно, не может не радовать.


Данные тесты проводились на ядре Linux для e2k версии 4.19, на текущий момент в бета-тестах (в МЦСТ, в Базальт СПО, а также у нас, в Аэродиске) находится ядро Linux 5.4-e2k, в котором, кроме всего прочего, серьезно переработан планировщик и много оптимизаций под скоростные твердотельные накопители. Также специально для ядер ветки 5.х.х АО МЦСТ выпускает новый компилятор LCC версии 1.25. По предварительным результатам, на том же процессоре Эльбрус 8С, собранное новым компилятором новое же ядро, окружение ядра, системные утилиты и библиотеки и, собственно, ПО Аэродиск ВОСТОК позволит получить ещё более значительный прирост производительности. И это без замены оборудования на том же процессоре и с теми же частотами.


Мы ожидаем выхода версии Аэродиск ВОСТОК на базе ядра 5.4 ближе к концу года, и как только работа над новой версией будет завершена, мы обновим результаты тестирования и также опубликуем их здесь.


Если теперь вернуться к началу статьи и ответить на вопрос, кто же прав: пессимисты, которые говорят, что Эльбрус никакой и никогда не догонит ведущих производителей процессоров, или все-таки оптимисты, которые говорят, что уже почти догнали и скоро перегоним? Если исходить не из стереотипов и религиозных предубеждений, а из реальных тестов, то, однозначно, правы оптимисты.


Эльбрус уже сейчас показывает хорошие результаты, если сравнивать его с процессорами amd64 среднего уровня. До верхних в линейке моделей серверных процессоров Intel или AMD 8-ке Эльбруса, конечно, далеко, но она туда и не целилась, для этого будут выпущены процессоры 16С и 32С. Вот тогда и поговорим.


Мы понимаем, что после этой статьи вопросов про Эльбрус станет ещё больше, поэтому мы решили организовать ещё один онлайн-вебинар ОколоИТ, чтобы в прямом эфире на эти вопросы дать ответы.


В этот раз у нас в гостях будет заместитель генерального директора компании МЦСТ, Константин Трушкин. Записаться на вебинар можно по ссылке ниже.


РЕГИСТРАЦИЯ НА ВЕБИНАР


Всем спасибо, как обычно ждем конструктивной критики и интересных вопросов.

Подробнее..

Первый взгляд как устроена новая корпоративная почтовая система Mailion от МойОфис

30.09.2020 16:04:54 | Автор: admin


Почти четыре года назад мы начали проектировать принципиально новую распределенную почтовую систему Mailion, которая предназначена для корпоративных коммуникаций. Наше решение построено на Cloud Native микросервисной архитектуре, способно работать с более чем 1 000 000 пользователей одновременно и будет готово покрыть 100% потребностей крупных корпораций.


За время работы над Mailion команда выросла в несколько раз, и сейчас в продукт вовлечено почти 70 разработчиков. Мы прошли большой путь от идеи и первых прототипов до этапа пилотирования коммерческой версии. Настало время рассказать Хабру о том, что за продукт мы создаем, как устроена и работает наша почтовая система, какой стек технологий мы используем и почему за нашим решением будущее корпоративных коммуникаций. Погнали!


Хабр, привет! Меня зовут Антон Герасимов, я руковожу департаментом разработки в московском центре разработки компании МойОфис. Сегодня мы хотим представить Mailion принципиально новую российскую почтовую систему корпоративного класса, которая станет достойной альтернативой популярным иностранным решениям. Mailion обладает высокой нагрузочной способностью, беспрецедентными возможностями масштабирования и отказоустойчивости, а также требует минимального внимания со стороны системных администраторов.


Сейчас наша разработка находится в стадии бета-версии, но совсем скоро, по нашему плану до конца 2020 года, перейдет в статус пилотного внедрения коммерческого продукта.


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





## Что такое корпоративная почтовая система?
Простой и очевидный ответ на этот вопрос средство для работы с электронной почтой и календарем. Но дьявол, как известно, кроется в деталях.

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

В основе нашей системы лежит принцип платформенного решения. Мы отталкиваемся от концепции Unified Communications и предлагаем единый инструмент для работы с почтой, календарем и документами внутри одной системы, с возможностью наращивания функциональности решения за счет подключения дополнительных модулей и компонентов. Расширения, к слову, могут быть разработаны не только нами, но и нашими партнерами. Для этой цели будет опубликован и достаточно широкий инструментарий SDK.

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

*********
Типичная корпоративная функция механизм отзыва писем, который крайне востребован в крупных компаниях, но при этом практически не используется ни в B2C-сегменте, ни в малом бизнесе. Все дело в том, что среди малых групп пользователей вероятность возникновения такой потребности довольно невелика, да и цена ошибки намного меньше. Причем реализовать эту функцию вне корпоративной почтовой системы просто невозможно даже в почте Google нет отзыва писем в том виде, к которому привыкли пользователи Exchange. Корень проблемы находится в устройстве почтовых протоколов из 80-х годов прошлого века.
*********

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

### Что скрывается под капотом
[![](http://personeltest.ru/aways/habrastorage.org/webt/ms/uk/xl/msukxlv16wc4nms_4af5hj50f2s.jpeg)](http://personeltest.ru/aways/habrastorage.org/webt/ms/uk/xl/msukxlv16wc4nms_4af5hj50f2s.jpeg)

В состав нашего продукта входят почтовое решение, инструмент для календарного планирования, адресная книга, а также интерактивный просмотр документов на базе нашего же решения МойОфис для работы с документами.

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

В чем отличия почтовых систем МойОфис
Читатель Хабра, уже имевший опыт работы с решениями МойОфис, знает, что в составе коммерческих продуктов присутствует МойОфис Почта. И возникает вопрос а в чем же ее отличия от корпоративной почтовой системы Mailion, над которым работала моя команда?

Мы в МойОфис решили, что для удовлетворения потребностей компаний разного масштаба необходимо сделать две почтовые системы корпоративного класса. Продукт МойОфис Почта предназначен для организаций, в которых число пользователей исчисляется тысячами или несколькими десятками тысяч. Для более крупных структур целесообразнее применять Mailion новый продукт МойОфис, который построен на Cloud Native микросервисной архитектуре, имеет беспрецедентные возможности по масштабированию и отказоустойчивости.

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

Две почтовые системы МойОфис принципиально разные. Они построены с использованием разных технологических стеков, и инструменты для каждой из систем выбираются в соответствии с целями и задачами того сегмента, в котором будет разворачиваться почтовая система. У нас есть общее продуктовое видение того, что должно присутствовать в почтовых системах, а также синхронизация в подходах к дизайну. Но это два продукта, которые рассчитаны на разную аудиторию пользователей.


### Какие вызовы стоят перед разработчиками
Далее по тексту я буду говорить только про новую корпоративную почтовую систему Mailion.

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

Большая доля кода Mailion собственная разработка, код, права на который полностью принадлежат нам и который мы можем изменять и дорабатывать при необходимости. Большая часть кода нашей почтовой системы написана самостоятельно на Go (Golang). Кроме Go, мы используем C++, а также Java Script ES6 для веб-части.

Оставшиеся 5% так называемые тяжелые компоненты, такие как базы данных. К их числу относятся RethinkDB, ArangoDB и Redis. Из ключевых технологий также отмечу еще gRPC систему удаленного вызова процедур, которая используется как единый механизм для взаимодействия по API, это важная часть.

## Из чего состоит продукт
Корпоративная почтовая система это не сервер в вакууме. В состав нашего продукта входит порядка 70 компонентов и 45 сервисов, которые занимаются обслуживанием почтовой системы. Все эти элементы написаны с нуля и являются собственной разработкой МойОфис.

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

### Совместимость с почтовыми системами
Mailion работает по стандартным протоколам. Для того чтобы начать пользоваться нашим решением, нужно лишь настроить клиентские приложения и дальше работать с ними в привычном окружении. Например, можно использовать входящее в продукт МойОфис Почта клиентское приложение.

Также для удобства наших пользователей мы создали специальный плагин, который обеспечивает бесшовный переход с Exchange. С его помощью пользователи смогут при замене почтового сервера продолжить работать с MS Outlook они даже не заметят, что в их привычном взаимодействии со средствами коммуникации что-то изменилось. Такой плагин позволяет плавно переносить пользователей из прежней почтовой системы, без остановки работы всей организации. Это особенно важно, если вам требуется заменить средства для работы сотен тысяч пользователей.

### Легкость администрирования
Особенность нашей корпоративной почтовой системы в необходимости крайне малого участия администраторов. При проектировании мы постарались найти баланс между возможностью кастомизации и сложностью управления. Чтобы этого добиться, нам потребовалось провести множество исследований паттернов поведения администраторов сложных корпоративных систем.

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

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

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

[![](http://personeltest.ru/aways/habrastorage.org/webt/e_/_b/74/e__b74fo4yx844m2zg2vtdx-34c.jpeg)](http://personeltest.ru/aways/habrastorage.org/webt/e_/_b/74/e__b74fo4yx844m2zg2vtdx-34c.jpeg)

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

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

#### Адаптивность
Особенность дизайна интерфейсов корпоративной почтовой системы Mailion возможность отображения на устройствах с экранами любых размеров. Все визуальные компоненты тщательно прорисованы, они правильно масштабируются при работе на мобильных устройствах и отлично подходят даже для управления пальцами на сенсорных экранах. Также при изменении размера окна приложения трансформируется и колоночная верстка размер колонок смещается пропорционально, в строгом соответствии с постулатами концепции насыщенных интернет-приложений.

#### Системность
В основе дизайна корпоративной почтовой системы Mailion лежит системный подход. Мы разрабатываем это направление с начала 2017 года, когда о дизайн-системах говорить было не так модно, как нынче. Дизайн-система это набор правил и инструментов для визуального и технического исполнения, который отражает философию продукта и постоянно развивается.Мы вводили ее для упрощения коммуникации между разработкой и дизайном.

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

Шрифты также определяются через переменные: интерфейс может использовать фирменный шрифт компании-клиента, если это предусмотрено клиентским брендбуком. При этом разные шрифты могут иметь разный размер литер, и мы это учитываем. Например, PT Sans в 16-м размере выглядит ощутимо мельче, чем Roboto в том же 16-м размере. Поэтому мы подстраиваем размер текстовых блоков под особенности конкретного шрифта.

Устройству нашей цветовой библиотеки и особенностям работы со шрифтами мы посвятим отдельные статьи.

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

### Интеллектуальная медиа панель
Наши фокус-группы показали, что пользователи считают громоздкими интерфейсы привычных почтовых систем. Опрошенные нами респонденты отмечали, что особенно сложно работать с событиями в календаре и с вложениями. Мы старались добиться отзывчивости интерфейса и увеличения производительности сделать так, чтобы нашим продуктом было приятно пользоваться.

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

Этот инструмент помогает в ситуациях, когда пользователям приходится работать с большими треками из сотен сообщений. Часто бывает так, что требуется найти документ или картинку, которые были только в одном из них. Медиапанель создает перечень всех элементов из цепочки писем, и отображает их в одном месте. В результате чего находить нужный объект становится гораздо проще.

### Локализация
Потребность в корпоративной почтовой системе есть не только у российских пользователей. МойОфис проводит последовательную политику по выходу на иностранные рынки, поэтому вопросам локализации продуктов уделяется довольно большое внимание.

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

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

## Yes, we are hiring!
На создание нашего продукта ушло несколько сотен человеко-лет. И при всем желании я бы не смог рассказать сразу обо всем в рамках одной статьи. Тем не менее я надеюсь, что эта публикация послужит отправной точкой для знакомства с нашим продуктом как я уже сказал выше, я планирую в дальнейшем рассказывать более подробно как о самом решении и его особенностях, так и о наших подходах к разработке.

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

Прямо сейчас у нас открыто почти [полсотни](http://personeltest.ru/aways/hh.ru/employer/213397?customDomain=1) вакансий в разработке. Приходите к нам на работу, если вы хотите вместе с нами создавать продукт, который способен перевернуть представление корпоративного мира об электронной почте.
Подробнее..

Подготовка к импортозамещению, или Куда бежать, на что смотреть и к кому обратиться за помощью

19.01.2021 10:15:06 | Автор: admin
Всем привет!

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

Дисклеймер: разбор имеет вольное толкование формулировок приказа и выражает субъективное видение. Но при этом, искренне надеюсь, что кому-то такие трактовки окажутся ближе и яснее. Увидимся в комментариях.

Источник

Итак, к вам пришло понимание, что вы неизбежно попадаете под категорию организаций, на которые распространяются требования приказа (в вашем уставном капитале доля участия Российской Федерации, субъекта Российской Федерации превышает 50%, АО с тем же % госучастия и т.д.).

С чего начать


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

Первыми неявными определениями для меня стали определения импортного ПО, данные в пунктах 4 и 5 приказа. Если упростить, то весь софт, не вошедший в Единый реестр российского ПО и Единый реестр евразийского ПО (дальше буду называть их реестры), считается импортным. Исключением является только ПО, разработанное, произведённое и распространяемое российской компанией, в том числе ПО, разработанное непосредственно по вашему заказу сторонней организацией, или ПО самостоятельной разработки (во всех случаях нужны доказательства, а лучше внесение в один из реестров).

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

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

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

Коротко о пунктах 9-12. Рекомендуется (на самом деле, это обязательно) планировать всё в соответствии с требованиями приказа, назначить ответственное лицо, занимающее должность, не ниже определённой, изменить свои планы развития и стремиться к импортозамещению, переходить только на ПО, соответствующее пунктам 4-5 приказа.

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

Пункт 14 разобраться в предоставленной классификации, на мой взгляд, не способен никто. Куда проще по аналогу из реестров найти свой класс/тип или обратиться к регулятору. Сэкономите время и нервы.

Пункты 15-16 использовать только ПО, входящее в реестры. Например, если собираетесь использовать Альт Рабочая станция или RELS, то всё ПО, входящее в репозиторий, должно быть отдельно включено в реестры. Иначе не считается.

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

Документы


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

План должен содержать:

  • список организационно-технических мероприятий;
  • сведения о планируемых финансовых ресурсах с указанием сроков, объемов и источников финансирования, необходимых для эффективной реализации;
  • целевые показатели эффективности (в соответствии с таблицей, прилагаемой к приказу);
  • полную инвентаризацию и описание всех программных средств (прикладное ПО, системы, утилиты, драйверы вообще, всё);
  • характеристики используемого импортного ПО;
  • список замещающего ПО кандидатов на замещение импортного ПО (личная рекомендация на каждого импортного выбирать несколько наших, по основным параметрам и характеристикам ПО может подходить на замену, но при внедрении могут вскрыться неприятные тонкости, поэтому иметь план Б всегда хорошо);
  • анализ амортизации железа и возможность его использования с ПО из реестров;
  • требования к функциональным, техническим и эксплуатационным характеристикам, предъявляемым к различным классам/типам программного обеспечения;
  • перечень задач и мероприятий, направленных на устранение факторов и барьеров, препятствующих переходу на преимущественное использование отечественного программного обеспечения;
  • функциональная классификация АРМ (автоматизированных рабочих мест);
  • функциональные, технические и эксплуатационные требования к АРМ;
  • оценка требуемых временных и финансовых ресурсов для реализации задач по переходу на преимущественное использование отечественного программного обеспечения;
  • план мероприятий по организации перехода на преимущественное использование отечественного ПО.

Да, кстати, в пункте 22 намекают, что при планировании можете оперировать какими хотите показателями, но приёмка будет только в числовом и процентном выражении.

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

Пункты. 24-25 по сути то же самое, что в пункты 4 и 5. Если используете ПО, разработанное, произведённое и распространяемое российской компанией, в том числе ПО, разработанное непосредственно по вашему заказу сторонней организацией или ПО самостоятельной разработки, то или внесите его в реестр или будьте готовы предоставить неоспоримые доказательства вышеперечисленного.

Пункты 26-28 делайте всё возможное для ухода от импортной продукции сейчас и на перспективу, планируйте бюджеты/закупки/внедрение, исходя из целей импортозамещения.

Далее повторение всего сказанного ранее, общие рекомендации о ведении проекта, ничего обязательного к исполнению.


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

И, наконец, перейдём к более детальному рассмотрению системы расчёта индикатора эффективности.

Во всё той же таблице 2.2 приказа существует столбец Наименование целевого показателя. Содержание именно этого столбца определяет способ расчёта индикатора эффективности, и определяется он для каждого класса (типа) ПО.

Разберём два основных случая расчёта показателей эффективности. У вас две системы виртуализации Hyper-V и VMware, индикатор импортозамещения 0%. Способ расчёта звучит так: Доля отечественного программного обеспечения, установленного и используемого в государственных компаниях на серверном оборудовании, от общего количества используемых средств обеспечения облачных и распределенных вычислений, %. В этом случае, если вы замените все узлы Hyper-V на Rosa Virtualization, индикатор станет 50%, объёмы виртуализации, количество виртуальных машин в системах и т.д. не играют никакой роли.

У вас используются браузеры Chrome (137), Mozilla (54), Яндекс.Браузер (1200) итого 1391 клиент установлен в контуре организации, на АРМ или сервере значения не имеет. Способ расчёта звучит так: Доля пользователей в государственных компаниях, использующих отечественное программное обеспечение, от общего числа пользователей, %. В этом случае индикатор будет равен 86,26%. Здесь всё просто, клиент стоит на АРМ, значит, используется. Пытаться доказывать обратное не имеет смысла.

Все прочие случаи рассчитываются по аналогии.

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

Да, здорово смотрится, но читать её здесь невозможно, поэтому я даю ссылку на оригинал

  1. Скопировали структуру и названия из оригинальной таблицы приказа.
  2. Перечислили всё используемое ПО, подходящее под класс (тип).
  3. Провели инвентаризацию и зафиксировали количество ПО/ИС, для которых будет происходить расчёт индикатора эффективности.
  4. Привели варианты, предлагаемые для замены текущего ПО.
  5. Обозначили, входит ли продукт в реестры, является СПО (свободнораспространяемым ПО) или импортным.
  6. Дали краткую оценку соответствия ФТТ предлагаемого и замещаемого ПО.
  7. Прописали ключевые ФТТ исходного ПО, те, которым обязательно должно соответствовать предлагаемое ПО.
  8. Собрали и прописали бизнес-критичность для понимания уровня детализации требований на этапе пилотирования.
  9. Прописали, имеет ПО или нет нативный дистрибутив для *nix систем. Для ОС пункт выглядит странно, но для специфического софта из разряда 3DS max и его аналогов из реестров, очень актуально. Эта информация необходима для понимания, потребуется использовать vine для портирования ПО или нет.

Заключение


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

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

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

  1. Инвентаризация пользовательского и системного ПО
  2. Классификация систем и ПО в соответствии с требованиями приказа
  3. Определение списка приоритетных для замещения систем
  4. Подбор нескольких вариантов замещающего ПО для приоритетных систем
  5. Проработка ТЗ и плана по пилотированию замещения
  6. Пилотное замещение
  7. Оценка эффективности замещения на основании результатов пилота
  8. Проработка ЧТЗ и документации в соответствии с приказом для боевого замещения приоритетных систем
  9. Замещение боевых систем
  10. Подготовка документации в соответствии с требованиями приказа

Спасибо за то, что нашли время для моего текста. Буду рад вопросам комментариях.
Подробнее..

Гиперконвергентная система AERODISK vAIR v2. Часть 1. Система виртуализации АИСТ

14.04.2021 06:04:04 | Автор: admin


Всем привет. Этой статьей мы начинаем знакомить вас с новой версией российской гиперконвергентной системы AERODISK vAIR v2, в частности, со встроенным гипервизором АИСТ, который сейчас получил возможность работать автономно от vAIR, используя внешние СХД.


Изначально мы хотели рассказать о функциональности новой версии vAIR в одной статье, но материала получилось очень много, и мы встали перед выбором: либо сократить материал, либо разбить его на три части. Мы выбрали второй вариант и разбили материал следующим образом:


  • Управление кластером и гипервизор АИСТ
  • Файловая система ARDFS
  • Аппаратные платформы, лицензирование и поддержка

Соответственно, в первой части мы расскажем о функциях управления vAIR v2 и более подробно о подсистеме виртуализации. Но сначала хотелось бы сказать пару слов об архитектурных изменениях в версии vAIR v2.


Коротко об архитектуре. Основные отличия между первой и второй версией


С момента выхода первой версии в 2019 году архитектура vAIR претерпела ряд изменений. Связано это в первую очередь с борьбой за стабильность, ресурсоемкость и производительность. Однако обо всем по порядку.


Описывать полностью архитектуру с нуля мы рамках этой статьи не будем. Коснёмся лишь тех отличий, которые существуют в настоящий момент между первой и второй версией. Для более глубокого знакомства с изначальной архитектурой vAIR v1 рекомендуем ознакомиться с нашими предыдущими статьями на эту тему:



На уровне большой картинки на данный момент архитектура vAIR v2 выглядит следующим образом:



Ну а теперь переходим к деталям.


Косметические изменения


Незаметное внешнему глазу, но при этом важное и трудоемкое событие произошло в распределенной базе конфигураций (ConfigDB), которая отвечает за одновременное хранение конфигураций всех компонентов решения на всех нодах кластера. Мы полностью её переработали и, соответственно, оптимизировали. В итоге ConfigDB стала значительно стабильнее и минимизировала пожирание бесценных аппаратных ресурсов. Если говорить о цифрах, то за счёт переработки полезную производительность решения удалось увеличить примерно на 30%, что, очевидно, хорошо.


Стандартный блок данных, которым оперирует ARDFS, изменился с 4МБ до 64 МБ. Сделано это было также с целью увеличения производительности ввода-вывода.


Ещё одним маленьким, но приятным бонусом, который получился в результате оптимизации ARDFS и ConfigDB, стало снижение минимальных системных требований по количеству нод в кластере. Первая версия vAIR требовала не менее четырех нод, во второй-же версии начинать можно с трёх нод. Мелочь, но тоже приятно.


АИСТ покинул гнездо


Теперь перейдем к главному архитектурному изменению, с которого и начнем рассказ про подсистему виртуализации. Гипервизор АИСТ, который раньше умел работать только внутри vAIR, научился летать работать автономно и, соответственно, может поставляться отдельным продуктом по отдельной лицензии.


Для справки: и АИСТ, и vAIR как два отдельных продукта прошли всю необходимую экспертизу регуляторов и, соответственно, добавлены во всех необходимые гос. реестры Минцифры и Роспатента, чтобы по-честному считаться российским ПО.


Чтобы не было путаницы, поясним. По факту АИСТ и vAIR не являются разными продуктами. Гипервизор АИСТ это составная и обязательная часть гиперконвергентной системы vAIR, при этом АИСТ может использоваться в качестве самостоятельного решения, а также АИСТ может всегда быть обновлен до полноценного vAIR-а.


Данное архитектурное изменение не только позволяет импортозаместить зарубежную виртуализацию на российских предприятиях, но и открывает ряд крайне полезных сценариев использования vAIR. Разберем их:


Сценарий 1. Просто гиперконвергент


Тут все просто. АИСТ используется как составная часть vAIR и работает с хранилищем ARDFS. Это то, что было в первой версии, и остается сейчас.



Виртуальные машины, сеть и хранилище работают в рамках одной отказоустойчивой аппаратной платформы (3 ноды+).


Сценарий 2. Просто виртуализация


Классическая серверная виртуализация. На локальные диски физических серверов устанавливается АИСТ, к АИСТу пригоняются сторонние СХД по файловым или блочным протоколам, и на базе этих СХД хранятся виртуальные машины.



При этом в этой схеме всегда остается возможность добавить локальных дисков во все физические серверы, объединить их быстрым (от 10 Гбит/сек) интерконнектом и обновить лицензию АИСТа до vAIR, получив в итоге гибридный сценарий (см. ниже).


Сценарий 3. Гибридный сценарий


Самый интересный сценарий. Мы одновременно с гиперконвергентом используем в качестве хранилища виртуальных машин сторонние СХД (например ENGINE или ВОСТОК :-)). Полезным является то, что к любой виртуалке, которая хранится на ARDFS, мы можем легко прицепить дополнительные виртуальные диски с СХД. И наоборот, к любой виртуалке, которая лежит на СХД, мы можем прицепить виртуальные диски с ARDFS. Это открывает очень много возможностей, начиная с задач постепенной и бесшовной миграции инфраструктуры между разными хранилищами, заканчивая полезным использованием старых СХД и серверов хранения, которые и выкинуть жалко, и подарить некому.



В итоге, когда мы пишем vAIR, мы имеем ввиду большой продукт в целом гиперконвергентную систему, которая включает в себя гипервизор АИСТ и файловую систему ARDFS. А если мы пишем АИСТ, то имеем в виду только компонент, который отвечает за серверную виртуализацию и виртуальную сеть. Чтобы внести ещё больше ясности, приводим ниже таблицу с разбивкой функционала по компонентам.



Обзор функционала. Что нового и для чего


Функции управления


Управление системой осуществляется при помощи web-консоли на русском языке (поддерживаются любые браузеры) или командной строки. Важной и полезной плюшкой является то, что за счёт распределённого хранения конфигураций для осуществления управления всем кластером можно подключиться к любой ноде по IP или DNS-имени. Специальных серверов управления разворачивать не нужно. При этом это не запрещено.


Предусмотрен сценарий развертывания управляющей виртуальной машины (УВМ), которая через RestfulAPI может осуществлять полноценное управление всем кластером.


Кстати RestfulAPI, как понятно выше, есть, он описан и работает (по нему будет отдельная статья). Его спокойно можно использовать для автоматизации операций и интеграции со смежными системами. К примеру, уже сейчас есть интеграция (и, кстати, есть внедрение в продуктив) с российским VDI-решением Термидеск, как раз реализованная на базе нашего API. Плюс ещё несколько продуктов вендоров-партнеров на подходе.


Для управления виртуальными машинами изнутри гостевой ОС используется на выбор два протокола: VNC (по умолчанию) или Spice. На уровне отдельных ВМ администратор может задавать разные варианты подключений.



Сам интерфейс разбит на несколько логических частей.


1) Основная область управления, в которой выполняются почти все операции



2) Основное меню, которое выдвигается наведением курсора



3) Панель действий, на которой отображаются доступные для выбранного объекта действия.



4) Панель задач, которая показывает, какие задачи выполняются или были выполнены над выбранным объектом, вызывается выбором объекта и последующим кликом по кнопке задачи.



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



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



Лирическое отступление: когда я эту функцию показал моему старому товарищу, который является тру-админом (то есть он админил системы в те славные времена, когда систем ещё не существовало) он воскликнул:
Вы нормальные там??!!! Нельзя админить серьезные системы через мобилу!!!
Хочу отметить, что во втором своём высказывании он, безусловно прав, лазить по серьезным кластерам через мобилку опасно, можно ткнуть не туда и всё как обычно упадёт, но всегда есть НО
Я напомнил ему ситуацию, в которую он попал несколько лет назад, когда потратил примерно 40 минут времени и 10 тонн мата на то, чтобы перезагрузить пару зависших виртуалок на известном гипервизоре, используя свой смартфон. Ноутбука у него с собой не было, а его заказчик с паром из ушей требовал устранить проблему здесь и сейчас.
Вспомнив об этом случае, мой товарищ тру-админ перестал сомневаться в нашей нормальности :-).

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


Гипервизор АИСТ


Не секрет, что в основе АИСТа лежит старый добрый KVM с libvirt-овой обвязкой. При этом наша реализация очень сильно доработана. Про годный веб-интерфейс, который управляет не только виртуализацией, но и сетью с хранилищем и который доступен, как с любой ноды, так и с управляющей ВМ, мы писали выше. Но это далеко не все доработки. Вот ещё несколько крайне достойных функций, которых в штатном KVM-е нет.


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



Если параметр HAVM активен, то в случае отказа ноды кластера, ВМ автоматически перезапуститься на другой ноде.


Для отдельных ВМ или для групп ВМ предусмотрены приоритеты обслуживания (QOS) из libvirt-а, где в свою очередь предусмотрены шаблоны популярных конфигураций.



Для защиты данных на уровне ВМ, а также для большей гибкости администрирования предусмотрены мгновенные снимки и клоны (которые можно превратить в шаблоны ВМ соответственно). Важной доработкой и одновременно крайне большой радостью является то, что снэпшоты делаются на горячую (при работающей ВМ) и полностью поддерживают консистентность файловых систем гостевых ОС (Linux, Solaris, Windows, BSD) и ряда поддерживаемых СУБД (пока только PostgreSQL и MySQL). При этом с помощью RestfulAPI никто не мешает реализовать консистентные снимки для других систем внутри гостевой ОС самостоятельно.


Для внешнего хранения из коробки поддерживается NFS, то есть хранить виртуалки можно на распределенном хранилище ARDFS (доступно в vAIR) или на внешней СХД по протоколу NFS. Опционально предусмотрена поддержка блочных внешних СХД по протоколам iSCSI и FC.


Миграция виртуальных машин со сторонних гипервизоров


Миграция, причем неважно откуда и куда, всегда стоит особняком во всей ИТ-жизни. За время полутора лет эксплуатации нашими заказчиками первой версии vAIR они (и мы автоматически) регулярно сталкивались с проблемами миграции виртуальных машин со сторонних гипервизоров в АИСТ. Штатный конвертер KVM штука хорошая, но крайне капризная. Поэтому в vAIR v2 (и в АИСТе соответственно) мы предусмотрели человеческий конвертер ВМ из VMware/Hyper-V прямо в интерфейсе vAIR/АИСТ.



Для конвертации администратор выбирает шару NFS (пока только NFS), где лежат файлы виртуальных машин VMware или Hyper-V. Далее vAIR сам сканирует шару на наличие нужных ему файлов и формирует доступный список для миграции. Далее выбираем целевой пул ARDFS (или внешнюю СХД), то есть куда будем конвертировать, выбираем нужные файлы ВМ (можно несколько, они будут конвертироваться по очереди) запускаем и идём пить пиво.



Когда пиво выпито, новые, уже сконвертированные, виртуалки ждут нас уже внутри vAIR-а в выключенном состоянии.


Мониторинг и логирование


Функции мониторинга реализованы как локально, так и удаленно. Администратор может работать со счетчиками утилизации ресурсов CPU, RAM, сетевых интерфейсов и подсистемой ввода-вывода (IOPS, MB/s, latency), как на уровне отдельных нод, так и на уровне кластера в целом.



Всё то же самое доступно и для удаленной системы мониторинга на базе Grafana.



Для логирования и алертинга предусмотрен журнал событий (ноды, порты, физические диски (SMARTCTL), сенсоры, температура и т.п.) с разбивкой по категориям и возможностью оповещения по электронной почте. Опционально поддерживается SNMP.




Кроме описанных выше возможностей гипервизор АИСТ позволяет выполнять функционал, который мы считаем must have, поэтому сильно его разрисовывать не будем, а просто перечислим:


  • Обновление ПО без остановки и миграции виртуальных машин
  • Живая миграция ВМ, а в ближайшем будущем с возможностью динамичного распределения ресурсов (а-ля DRS)
  • Распределённые виртуальные коммутаторы с поддержкой VLAN-ов
  • Расширение кластера без остановки виртуальных машин
  • Автоподдержка (автоматическое оповещение производителя и заведение тикетов в тех. поддержку, при согласии заказчика, само собой)
  • Метрокластер (отдельная большая функция, которой мы посветим позже отдельную статью)

Детально ознакомиться с особенностями функционала можно в технической документации, которая есть у нас на сайте:


https://aerodisk.ru/upload/Datasheet_AIST_final_11042021.pdf


В завершение первой части


В процессе разработки vAIR и АИСТ собственных решений в области виртуализации многие наши доверенные партнеры (которые допущены к раннему доступу), глядя на это, утверждали, что это плохая идея, потому что ВМварь и Нутаникс не догнать, они слишком крутые и великие, у них тысячи программистов по всей планете, бороды длиннее и свитера в два раза толще.


На подобные утверждения мы всегда задавали вопрос.


А эти компании сразу появились на свет с тысячей бородатых разрабов в толстых свитерах?

ИЛИ другой вариант


А вы когда родились вам сразу было 35 лет, у вас была машина, семья, дача, работа и образование? Это в комплекте вам врачи в роддоме выдавали?

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


притча на эту тему.


Однажды странник попал в город, где шло грандиозное строительство. Мужчины ворочали большие камни под палящим солнцем. Что ты делаешь? спросил наш герой у одного из рабочих, который медленно тащил булыжник. Ты что, не видишь камни таскаю! зло ответил тот. Тут странник заметил другого рабочего, который волок телегу с большими камнями, и спросил: Что ты делаешь? Я зарабатываю на еду для своей семьи, получил он ответ. Странник подошел к третьему рабочему, который занимался тем же, но работал энергичнее и быстрее. Что делаешь ты? Я строю храм, улыбнулся тот.

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


В жизни это совсем не так. Практически всегда (за редким исключением), новый серьезный продукт создается небольшим коллективом до 10 человек (а обычно 2-3). При этом на этапе создания закладывается 80% всего функционала продукта. Далее продукт силами этого маленького коллектива выходит на рынок (или как-то еще громко заявляет о себе), и там его уже подхватывают инвесторы (фонды, холдинги или крупные производители).


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


На этом мы завершаем первую часть цикла статей про vAIR v2. В следующей статье подробно расскажем о функционале файловой системы ARDFS.


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


Голосование доступно тут, на Хабре, а также в нашем телеграм-чате https://t.me/aerodisk


Всем спасибо за внимание, как обычно ждем конструктивной критики и интересных вопросов.

Подробнее..

Нагрузочное тестирование СХД на Эльбрусе на базе нового ядра Линукс версии 5.4

31.05.2021 06:09:55 | Автор: admin


Тестирование СХД Аэродиск Восток на базе процессоров Эльбрус 8С на новом ядре 5.4 показало крайне позитивный результат: 1,4 миллиона IOPS! Пока оптимисты верили и надеялись, а пессимисты снисходительно улыбались, программисты работали писали код. В итоге новая версия ядра Линукс v5.4 для архитектуры Эльбрус позволила в разы улучшить производительность подсистемы ввода-вывода и полностью реализовать процессора Эльбрус 8С/СВ для систем хранения данных.


По этому прекрасному поводу мы в Аэродиске, предварительно обновив боевую версию встроенного Альт-Линукса в СХД ВОСТОК до ядра 5.4, повторно выполнили нагрузочное тестирование СХД, которое мы публиковали полгода назад. С прошлым отчетом можно ознакомиться по данной ссылке.


Новые тесты проводились на долгожданном ядре Линукс для e2k версии 5.4, которое появилось начале 2021 года, за что хотим сказать огромное спасибо коллективам разработчиков МЦСТ, Базальт СПО, а также Михаилу Шигорину лично.


В ядре 5.4 изменений много, но нас интересуют только основные изменения с точки зрения СХД, а их можно разделить на следующие группы:


Общие обновления:


  • переработан планировщик ввода-вывода, что позволяет лучше параллелить IO между дисками;
  • много мелких оптимизаций под скоростные твердотельные накопители;
  • и самое главное изменение новый компилятор от МЦСТ (LCC версии 1.25).

Обновления от Аэродиска:


  • обновлённый таргет-драйвер, который позволяет лучше параллелить IO между процессорными ядрами;
  • обновление логики работы связки ядро процессора диск для систем на Эльбрусе.

Тестовый стенд


Тестирование мы выполняли на том же железе, что и в прошлый раз. Стенд состоит из сервера с Линуксом, подключенного через FC-коммутатор к двум контроллерам СХД Восток, в которой установлено 12 SAS SSD дисков.


Конфигурация оборудования следующая:


  • Linux-сервер (2xIntel Xeon E5-2603 v4 (6 cores, 1,70Ghz), 64 GB DDR4, 2xFC-адаптер 16G 2 порта) 1шт.
  • Коммутатор FC 16G 1 шт.
  • СХД Аэродиск Восток 2-Э12 (2xЭльбрус 8С (8 cores, 1,20Ghz), 32 GB DDR3, 2xFE FC-adaptor 16G 2 port, 12xSAS SSD 960 GB) 1 шт

Ниже схема стенда.



Методика тестирования


Также как и в прошлый раз для нагрузочных тестов мы использовали популярную и проверенную временем программу Flexible IO (FIO).


СХД сконфигурирована исходя из наших рекомендаций к высокой производительности на блочном доступе или просто настройки для ALL-Flash систем. Поэтому используем не менее двух дисковых пулов DDP (Dynamic Disk Pool). Чтобы не бить в одну точку и максимально реализовать вычислительный потенциал платформы создаем несколько LUN-ов в RAID-10 (8 шт. по 500 ГБ каждый).


Все LUN-ы презентуем двум контроллерам (пополам, по 4 каждому), чтобы максимально утилизировать все ресурсы СХД.


В ходе тестирование будут выполняться следующие популярные сценарии использования СХД, в частности:


Последовательная нагрузка маленькими блоками 4k


  • 100%_read_4k_sequential
  • 100%_write_4k_sequential

Случайная нагрузка маленькими блоками 4k


  • 100%_read_4k_random
  • 100%_write_4k_random

Последовательная нагрузка большими блоками 128k


  • 100%_read_128k_sequential
  • 100%_write_128k_sequential

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


Во всех тестах мы, чтобы не искажать результаты тестирования, намеренно отключаем RAM-кэш СХД, который используется для ускорения ввода-вывода, компрессии и дедупликации. Забежим вперед и отдельно скажем про утилизацию оперативной памяти СХД в целом (чтобы к этому вопросу больше не возвращаться). Во всех тестах RAM утилизируется практически одинаково, т.е. слабо, т.к RAM-кэш, дедуп и компрессия отключены. Вся утилизация RAM это внутренние системные операции СХД. Если бы мы включили RAM-кэш, то результаты были бы заметно лучше, но тогда тест был бы не совсем честным. При этом график утилизации оперативки мы для порядка все-равно приводим в отчете ниже.


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


100%_read_4k_sequential

[global]
blocksize=4k
size=80%
direct=1
buffered=0
ioengine=libaio
iodepth=128
group_reporting
rw=read
numjobs=16
runtime=2400
time_based=1
per_job_logs=0
log_avg_msec=30000
write_bw_log=./logs/read-iodepth-128-numjobs-16
write_iops_log=./logs/read-iodepth-128-numjobs-16
write_lat_log=./logs/read-iodepth-128-numjobs-16
[job-1]
filename=/dev/sdj
[job-2]
filename=/dev/sdc
[job-3]
filename=/dev/sdd
[job-4]
filename=/dev/sde
[job-5]
filename=/dev/sdf
[job-6]
filename=/dev/sdg
[job-7]
filename=/dev/sdh
[job-8]
filename=/dev/sdi


100%_write_4k_sequential

[global]
blocksize=4k
size=80%
direct=1
buffered=0
ioengine=libaio
iodepth=128
group_reporting
rw=write
numjobs=16
runtime=2400
time_based=1


write_bw_log=./logs/4k-seq-write.results


write_iops_log=./logs/4k-seq-write.results


write_lat_log=./logs/4k-seq-write.results


[job-1]
filename=/dev/sdj
[job-2]
filename=/dev/sdc
[job-3]
filename=/dev/sdd
[job-4]
filename=/dev/sde
[job-5]
filename=/dev/sdf
[job-6]
filename=/dev/sdg
[job-7]
filename=/dev/sdh
[job-8]
filename=/dev/sdi


100%_read_4k_random

[global]
blocksize=4k
size=80%
direct=1
buffered=0
ioengine=libaio
iodepth=64
group_reporting
rw=randread
numjobs=2
runtime=2400
time_based=1
per_job_logs=0
log_avg_msec=30000
write_bw_log=./logs/4k-rand-read.results
write_iops_log=./logs/4k-rand-read.results
write_lat_log=./logs/4k-rand-read.results
[job-1]
filename=/dev/sdc
[job-2]
filename=/dev/sdd
[job-3]
filename=/dev/sde
[job-4]
filename=/dev/sdf
[job-5]
filename=/dev/sdg
[job-6]
filename=/dev/sdh
[job-7]
filename=/dev/sdi
[job-8]
filename=/dev/sdj


100%_write_4k_random

[global]
blocksize=4k
size=80%
direct=1
buffered=0
ioengine=libaio
iodepth=16
group_reporting
rw=randwrite
numjobs=2
runtime=2400
time_based=1
per_job_logs=0
log_avg_msec=30000
write_bw_log=./logs/4k-rand-write.results
write_iops_log=./logs/4k-rand-write.results
write_lat_log=./logs/4k-rand-write.results
[job-1]
filename=/dev/sdc
[job-2]
filename=/dev/sdd
[job-3]
filename=/dev/sde
[job-4]
filename=/dev/sdf
[job-5]
filename=/dev/sdg
[job-6]
filename=/dev/sdh
[job-7]
filename=/dev/sdi
[job-8]
filename=/dev/sdj


100%_read_128k_sequential

[global]
blocksize=128k
size=80%
direct=1
buffered=0
ioengine=libaio
iodepth=128
group_reporting
rw=read
numjobs=16
runtime=2400
time_based=1
per_job_logs=0
log_avg_msec=30000
write_bw_log=./logs/128k-seq-read.results
write_iops_log=./logs/128k-seq-read.results
write_lat_log=./logs/128k-seq-read.results
[job-1]
filename=/dev/sdj
[job-2]
filename=/dev/sdc
[job-3]
filename=/dev/sdd
[job-4]
filename=/dev/sde
[job-5]
filename=/dev/sdf
[job-6]
filename=/dev/sdg
[job-7]
filename=/dev/sdh
[job-8]
filename=/dev/sdi


100%_write128k_sequential

[global]
blocksize=128k
size=80%
direct=1
buffered=0
ioengine=libaio
iodepth=16
group_reporting
rw=write
numjobs=2
runtime=2400
time_based=1
per_job_logs=0
log_avg_msec=30000
write_bw_log=./logs/128k-seq-write.results
write_iops_log=./logs/128k-seq-write.results
write_lat_log=./logs/128k-seq-write.results
[job-1]
filename=/dev/sdj
[job-2]
filename=/dev/sdc
[job-3]
filename=/dev/sdd
[job-4]
filename=/dev/sde
[job-5]
filename=/dev/sdf
[job-6]
filename=/dev/sdg
[job-7]
filename=/dev/sdh
[job-8]


Результаты тестов


Последовательная нагрузка маленькими блоками 4k


100%_read_4k_sequential
График загрузки CPU СХД и RAM СХД


Ввод-вывод СХД, IOPS и latency


100%_write_4k_sequential
График загрузки CPU СХД и RAM СХД


Ввод-вывод СХД, IOPS и latency


Результат:


Результаты теста с использованием последовательного характера нагрузки небольшими блоками 4k нас впечатлили, получилось !1,4 миллиона! IOPS на чтение и 700k на запись. Если сравнивать это с предыдущим нашим тестом на ядре 4,19 (371k и 233k IOPS), то это скачек в четыре раза при том, что железо мы не меняли.


Также отмечаем довольно небольшую утилизацию CPU, она примерно на 20% ниже предыдущего теста (69/71% против 76/92%).
Задержки при этом остались на том же уровне, что и полгода назад, это не значит, что с этим мы думаем мириться, это значит, что над этим мы ещё будем работать. В конце статьи, будет итоговая таблица сравнения с тестом полугодовой давности на ядре 4,19.


Случайная нагрузка маленькими блоками 4k


100%_read_4k_random
График загрузки CPU СХД и RAM СХД


Ввод-вывод СХД, IOPS и latency


100%_write_4k_random
График загрузки CPU СХД и RAM СХД


Ввод-вывод СХД, IOPS и latency


Результат:


Показатели случайной нагрузки маленькими блоками, характерной для транзакционных СУБД остались практически без изменений по сравнению с прошлым тестом. СХД Восток на Эльбрусе вполне нормально справляется с подобными задачами, выдавая 118k IOPS на чтение и 84k IOPS на запись при довольно высокой утилизации CPU.


Отмечаем, что для Эльбруса в отличии от других процессоров работа в режиме постоянной загрузки близкой к 100% является штатной ситуацией (он для этого создавался). Мы это проверяли, оставляя СХД Восток с нагруженным процессором под 95% на несколько дней и результат был следующий: 1) процессор был холодный; 2)процессор и система в целом работали в нормальном режиме. Поэтому к высокому уровню утилизации процессоров Эльбрус следует относиться спокойно.


Также с прошлого ядра сохранилась приятная особенность. Если посмотреть на задержки при случайной нагрузке маленькими блоками, то внимание привлекает то, что задержки на запись ниже, чем на чтение (3 мс против 8 мс), когда мы все привыкли, что должно быть наоборот. Эльбрус с точки зрения случайного характера нагрузки по-прежнему любит запись больше чем чтение, что несомненно является отличным преимуществом, которое грех не использовать.


Последовательная нагрузка большими блоками 128k


100%_read_128k_sequential
График загрузки CPU СХД и RAM СХД


Ввод-вывод СХД, IOPS и latency


100%_write_128k_sequential
График загрузки CPU СХД и RAM СХД


Ввод-вывод СХД, IOPS и latency


Результат:


Ещё полгода назад СХД Восток на базе процессоров Эльбрус показала отличный результат в тесте последовательной нагрузки большими блоками, что актуально для видеонаблюдения или трансляций. Особой фишкой Эльбруса были ультранизкие задержки при работе с большими блоками (0,4-0,5 мс против 5 6 мс у аналогичного процессора архитектуры x-86).


При чтении данных большими блоками данное преимущество удалось не только закрепить, но и развить. Максимальную скорость на новом ядре удалось поднять в два раза (5,7 ГБ/с на ядре 5.4 против 2,6 ГБ/с на ядре 4.19) при задержках 0,3 мс! Также нагрузка на процессор при данном тесте тоже выглядит лучше (52% на 5,4 против 75% на 4,19).


А вот с записью не так все радужно. К сожалению, в новой версии ядра получить ультранизкие задержки на запись уже не удается, во всяком случае пока. Они находятся на уровне 11 мс (а было 0,5 мс), что в целом не плохо, т.к. примерно такой же уровень задержек при таком тесте мы видим на процессорах других архитектур. Так или иначе это наше домашнее задание, над которым мы будем работать. При этом позитивный момент все-таки есть. Как и в других тестах утилизация процессора значительны снижена (74% против 95%).


Итоговые результаты тестирования АЭРОДИСК ВОСТОК на базе процессоров Эльбрус 8 С, ядро 5.4


Улучшение в 5.4 зеленые, ухудшения 5.4 оранжевые


Для сравнения, результаты тестирования АЭРОДИСК ВОСТОК на базе процессоров Эльбрус 8С, ядро 4.19


Улучшение в 5.4 зеленые, ухудшения в 5.4 оранжевые


Прогресс виден не вооруженным глазом! Новая версия ядра 5.4 для архитектуры Эльбрус позволила выжать практические максимумы из совсем не нового процессора Эльбрус 8С (2016 г. выпуска). На данный момент даже у самых ярых пессимистов уже не повернется язык назвать процессор Эльбрус медленным, все таки полтора миллиона IOPS это много.


В очередной раз мы убедились в отличной работе СХД на Эльбрусе среде, где преобладает последовательная нагрузка, а это аналитические СУБД, онлайн-трансляции, видеонаблюдение, обработка больших данных и т.п.


Кроме того, Эльбрус отлично себя показывает в случайной нагрузке на запись, показывая минимальные задержки, что актуально для классических транзакционных СУБД.


Безусловно есть ещё над чем работать (те же задержки при записи больших потоков), но за прошедшие полгода коллектив МЦСТ проделал титаническую работу, и она дала видимый результат, что не может не радовать.


В конце этого 21-ого года мы ожидаем новый процессор Эльбрус 16С, который, кроме того что будет намного быстрее, ещё будет поддерживать аппаратную виртуализацию, а это значит что у нас в России наконец-то появится полностью отечественные не только СХД, но и системы виртуализации, и гиперконвергентные системы (кто сказал АИСТ и vAIR?))).


Кстати о птичках! В течение этой недели мы определимся с датами следующего технического вебинара ОколоИТ про нашу систему виртуализации АИСТ и гиперконвергентную систему vAIR, ссылка на регистрацию появится в этой статье (следите за обновлением), а также в нашем телеграмм-чате.
Ну и само собой, не можем не напомнить о бесплатных курсах по системам Аэродиск, на которые можно записаться тут.


На этой позитивной ноте завершаем очередную статью про Эльбрус. Традиционно ждем каверзных вопросов, конструктивных споров и предложений.

Подробнее..

SimInTech первая среда моделирования в России, импортозамещение, конкуренция с MATLAB

06.10.2020 14:22:26 | Автор: admin

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

С этим вопросом я пришла к Вячеславу Петухову, основателю компании 3В Сервис, которая производит отечественную среду моделирования и разработки SimInTech. После попытки продать свою разработку в Америке он вернулся в Россию и делает конкурента MATLAB здесь.

Поговорили о трудностях внедрения сложного IT-продукта на российский рынок, маркетинге на грани, принципах работы SimInTech и её преимуществах перед MATLAB.


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

Фаря:
На чём написана среда SimInTech?

Вячеслав Петухов:
Изначально и сейчас она написана на Паскале.

Серьёзно? Кто-то на нем еще пишет?

Да. Он спокойно себе развивается, Скайп был написан на Delphi. Когда мы начинали разработку это была чуть ли не первая среда, в которой можно было быстро набрать код, не заморачиваясь, и заняться сутью.

Если сравнивать с MATLAB, то какие библиотеки SimInTech, по твоему мнению, самые сильные сейчас, какие еще недоработанные, какие планируется доработать?

Математическое ядро уже готово, можно использовать. Готова гидравлика. Кипение воды в трубах и работа турбины это основа, то, с чего всё начиналось. Один заказчик долго пытался посчитать с помощью MATLAB, но в итоге у него ничего не заработало, у нас эта задачка буквально через день была решена.

В целом у нас нет ничего неудачного, но есть области, где мы еще не копали. Допустим, в MATLAB есть тулбокс для расчета динамики летательных аппаратов, а у нас нет. Но это не потому, что у нас что-то не хватает, просто мы этим не занимаемся.

А что на счетавтоматической генерации кода? MATLAB этим очень кичится.

Это смешно. Матлабовская кодогенерация это просто смех. Если говорить про наш продукт, то теперь операторы АЭС открывают ноутбук на станции, открывают схему в SimIntech, подключают к стойке, которая управляет реактором, и правят эту схему. Программиста нет.

***

Мне кажется, это очень интересная история, что вы делаете свой сложный российский продукт, но почему у вас такой жесткий маркетинг? Почему в каждую дырку (отверстие) нужно обязательно вставлять MATLAB?

Потому что изначально все наши коммерческие проекты начинались тем, где обкакивался MATLAB. Я считаю, что MATLAB у нас используют все, это стандарт де-факто, они на рынке, все их знают. И вот мы приходим и говорим: У нас есть всё то же самое, только лучше. Но часто возникает проблема, если приходишь с российским продуктом: Это что, импортозамещение? Взяли, денег намыли, теперь нам пытаются впарить это

Вот одна из твоих цитат из ВКонтакте:

И при этом ты говоришь, что по отношению к SimInTech понятие импортозамещение употреблять не стоит. Хотя тут сам на это и намекаешь.

Здесь написано, что ВУЗ заплатил 25000000 . За что? Зачем ВУЗу на 25000000 покупать MATLAB?

А зачем ему SimInTech покупать?

SimInTech не надо покупать. Качай и учи. Передаточные функции, фазочастотный анализ, устойчивость. Это всё можно делать бесплатно. У нас можно качать демоверсию и в ней всё это делать.

И сколько эта демоверсия доступна?

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

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

Это понятно. Но моя задача тебе продать. Как еще я тебе продам, если ты пользуешься MATLAB? Ты позовёшь своих инженеров и скажешь им: Вот пришли ребята, хотят нам предложить аналог MATLAB. А у инженера в матлабе наработана библиотека и куча всего. Он откроет SimInTech и скажет: Ой, да у вас интерфейс не такой, да у вас линии неправильные рисуются и т.д.

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

Наш заказчик к нам придёт, потому что у него проблема с MATLAB. А те, у кого нет проблем с MATLAB, кого всё устраивает, в принципе, не наши заказчики. Они не придут. Мне нужно, чтобы все знали, что SimInTech это то же самое, что MATLAB, но лучше.

То есть ты за счёт MATLAB пиаришься?

Ну да.

***

А зачем ты приходил к конкурентам в Софтлайн (дистрибьюторы MATLAB)?

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

Чем закончилась ваша встреча?

Их директор сказал: Мне не интересно, у меня и так всё хорошо. Не захотел участвовать в процессе маркетингового сопровождения: уроки, презентации, материалы, учебная литература. Я хотел, чтобы Софтлайн, как он продаёт MATLAB, продавал SimInTech. Деньги, которые сейчас уходят в Америку, можно было бы оставлять у себя и делить с нами.

Очень амбициозно

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

Подробнее..

Recovery mode Нужна ли России своя операционная система и другое ПО?

28.02.2021 12:13:00 | Автор: admin

Нужно ли России делать свою особую операционку и другое ПО?
Не спешите с выводами.

Изображение с сайтаcorchaosis.ru

В мире программного обеспечения важны:

  • Понятность, знакомость интерфейса пользователю. Если пользователю требуется три часа на то чтобы освоить ваш продукт, а у пользователя зарплата в месяц 100 000 рублей, то это эквивалентно тому что пользователь заплатил за ваш продукт больше на 1785.71 рублей.

    Как посчитал: (100 000 (зарплата) / 21 (рабочих дней))*(3 (часа)/8 (часов в рабочем дне)) = 1785.71 рублей. Это если вы раздаёте бесплатно свой продукт. Если за плату, то плюс его цена.

  • Совместимость с оборудованием и другими программами. В том числе тем что ещё не выпушено. Если вы делаете свою ОС, с которой не совместимы стандартные виндовые или линуксовые драйвера, значит, для каждого нового оборудования вам их придётся писать самим. Это тупик.

  • Кто разработчик и какова цена?

    - Плохо: Разработчик зарубежный, программа платная и дорогая. Примеры: Windows, MS Office, Photoshop, Oracle.

    - Лучше: Разработчик отечественный, программа дешёвая.

    - Хорошо: Проект опенсорсный (т.е. с публичным исходным кодом), программа бесплатная.

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

Что требуется сделать, чтобы в России было своё высококачественное ПО:

Берёте опенсорсные продукты (ОС, OpenOffice, PostgreSQL) и начинаете их улучшать силами программистов в России. [ Как требуется развивать PostgreSQL ] Максимально входим в каждый проект, подключаем самых квалифицированных профессионалов, цель - чтобы максимальную часть системы писали наши программисты, без права выезда из России. Если нас не пускают к ядру системы - анализируем, можем ли мы в своём отдельном продукте сделать лучше чем у них. Если да - создаём свою отдельную ветку продукта, если нет - создаём задачи для решения которых нужно знать ядро системы и сажаем программистов делать эти задачи, даже если они не особо актуальны.

Максимизируем совместимость. Я не понимаю почему Линукс не работает на Win32API. Свою третью систему команд - не линукс и не виндовс - точно делать не следует. Это же касается и процессоров Эльбрус - система команд должна быть общепринятой а не своей отдельной.

Никому не захочется покупать оборудование или игру специальной модификации для совместимости с конкретным ОС.

И никому не захочется переучиваться под не привычный экранный интерфейс. А это значит, российское законодательство надо модифицировать, явным образом прописав что копирование экранных интерфейсов компьютерных программ (кроме графики игр и мульмедийных систем) не запрещено. А затем на этой основе создавать специальные сборки OpenOffice с интерфейсом, идентичным программам от майкрософт. Создать операционку, которая будет выглядеть как MS Windows и иметь нативную, без wine, систему команд Win32API, можно наряду с линкувыми. Создать офисный пакет, который будет выглядеть и работать как MS Word, Excel, PowerPoint. Создать графический редактор, который будет выглядеть и работать как Adobe Photoshop. Желательно силами государства и в режиме опенсорс, максимально совместимо с примочками и драйверами других систем.

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

Подробнее..

История портирования Reindexerа как покорить Эльбрус за 11 дней

15.06.2021 18:13:51 | Автор: admin

Всем привет! На связи Антон Баширов, разработчик из ИТ-кластера Ростелекома. Импортозамещение набирает обороты, а российский софт всё глубже проникает в нашу повседневную ИТ-шную сущность бытия. Процессоры Эльбрус и Байкал становятся более востребованными, комьюнити расширяется, но мысли о необходимости портировать весь наш любимый технологический стек на неизведанную архитектуру E2K звучат страшнее рассказов про горящий в пламени production-кластер.

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

Итак, гость в студии база данных Reindexer, разработка нашего ИТ-кластера.

Стоит сказать, почему выбор пал именно на Reindexer, а не другую БД. Во-первых, всеми любимый и известный Postgres уже есть в составе пакетов ОС Эльбрус. Переносить его нет необходимости. Во-вторых, наш гость уже прошел испытания на ARM, следовательно, пришло время ему покорить Эльбрус.

Стоит упомянуть, что Reindexer появился на свет как продуктвыбора между Elastic и Tarantool. Это определенно хочется попробовать завести на отечественном процессоре.

День 0. Знакомство с гостем

Несколько слов про нашего гостя:

Имя:NoSQL in-memory database Reindexer с функционалом полнотекстового поиска
Возраст:на момент испытаний версия БД была 3.1.2
Происхождение:Россия
Место рождения:пытливый ум разработчика Олега Герасимова@olegator99
Место жительства:https://github.com/Restream/reindexer
Место работы:Ростелеком
Строение:основная составляющая C++, имеются примеси из языка Ассемблера и немного CMake
Особенности:- Ассемблерные вставки;
- Много С++11 и C++14;
- Используются корутины.

Деятельность:- Хранение данных в памяти и на диске;
- Выполнение SQL запросов со скоростью 500K queries/sec для PK запросов;
- Выполнение запросов типа full-text search (почти как Elastic, только не тормозит);
- Работа в режиме server и embedded;
- Общение с крутыми парнями: Go, Java, Rust, .NET, Python, C/C++ и (да простит меня Хабр) PHP.

Заскучали? На этом нудная часть закончилась. В эфире рубрика Ээээксперименты!

День 1. А ты думал, в сказку попал?

Для начала попробуем нашего друга собрать из того, что есть.Идем на тестовый сервер Эльбрус 8C с ОС Эльбрус 6.0.1, клонируем туда репозиторий и запускаем CMake.

Хорошие новости, мы нашли компилятор! Новость действительно хорошая, ведь у Эльбруса свой компилятор LCC.

К счастью, создатели Эльбрус сделали LCC полностью совместимым с GCC и наши любимые нативные программки и сборщики смогут чувствовать себя хорошо без особых манипуляций. LCC уже сделал за вас нужные линки:gcc -> /opt/mcst/bin/lcc*.

Зачем Эльбрусу свой компилятор?

Дело в том, что компилятор у Эльбруса не такой, как все. Он выполняет много работы, связанной с анализом зависимостей и оптимизацией:

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

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

Но вернемся к нашему гостю и тому, что не понравилось CMake.

В скриптах сборки, в CMakeLists.txt выполняется определение операционной системы и архитектуры процессора, на которой собирается Reindexer. Нужно это для того, чтобы подключать правильные исходники ассемблера, ведь как говорится Write once, run anywhere.

Разумеется, на момент написания скриптов никто не знал про процессоры Эльбрус, поэтому наш скрипт и упал. Исправляем.

Программисты люди ленивые, поэтому:

Попытка 2:

А что так можно было? На самом деле да для того, чтобы завелся CMake, этого было достаточно. Теперь ударим в бубен и запустимmake -j8:

Для тех, кто уже успел поработать с кроссплатформенным софтом, не новость, что С/С++ код с помощью макросов разделяют на платформозависимые секции.

Поэтому, в некоторые места кода Reindexer понадобилось добавить парочку новых условий для__E2K__и__LCC__:

После колдовства с макросами нас ждал монстр пострашнее:

Вот что бывает, когда игнорируешь messages у CMake.

Из-за того, что CMake не нашел подходящих исходников, компилятор не смог найти реализации двух функций:jump_fcontextиmake_fcontext. Про назначение этих функций я расскажу чуть позже, а пока что давайте успокоим нашего гостя и подсунем ему пару пустышек:

Этих операций оказалось достаточно, чтобы Reindexer собрался.

Поздравляю, у вас двойня!

Вот они, наши два долгожданных файла:

# file reindexer_serverreindexer_server: ELF 64-bit LSB executable, MCST Elbrus, version 1 (GNU/Linux
# file reindexer_toolreindexer_tool: ELF 64-bit LSB executable, MCST Elbrus, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux.so.2, for GNU/Linux 2.6.33, with debug_info, not stripped

Это можно считать успехом. Мы смогли собрать наш первый Эльбрус-бинарник. Даже два бинарника: reindexer_server и reindexer_tool.

Подведем итоги. Чтобы собрать Reindexer, мы:

  • Поправили CMake-скрипты;

  • Добавили несколько условий в макросы препроцессора;

  • Заглушили ASM функции.

День 3. Наш Гость, попав на Эльбрус, начал подавать признаки жизни

Первый запуск прошел успешно - сервер поднялся, и даже открылся web-ui.

Я привык не останавливаться на достигнутом и решил немного поработать над Reindexer.

Результат меня порадовал - Гость устал и прилег отдохнуть:

Такое поведение наблюдалось только на Эльбрус. На i5 все работало штатно.

Давайте разбираться. Вооружившись отладчиком (gdb кстати под E2K работает прекрасно) и CLion, мне удалось докопаться до истины.

Пару запросов к Reindexer смогли воспроизвести ошибку:

Падает в деструкторе. Интересный момент - упало на free (в данном случае free реализуется через jemalloc). Видимо, здесь идет высвобождение памяти по некорректному указателю. Ошибку эту я исправлял в два этапа:

  1. work around - дело в том, что QueryEntry лежит в объекте ExpressionTree, в самом классе примечательного я не нашел, поэтому копнул в сторону родителя. Оказалось, что до вызова деструктора был вызван вот такой копирующий конструктор, в котором есть интересный MakeDeepCopy(), реализованный с помощью библиотечкиmpark-variant.

    Подробнее про expression tree рассказываюттут.

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

    Итог - оно заработало.

  2. TODO: Исправление тоже есть, но рассказ про него уже выходит за рамки данной статьи. Небольшой спойлер (код из mpark-variant с патчем под e2k):

inline constexpr DECLTYPE_AUTO visit(Visitor &&visitor, Vs &&... vs)#ifdef E2K //Fix for Elbrus    -> decltype(detail::visitation::variant::visit_value(lib::forward<Visitor>(visitor),                                                 lib::forward<Vs>(vs)...))    {     return detail::visitation::variant::visit_value(lib::forward<Visitor>(visitor),                                                 lib::forward<Vs>(vs)...);    }#else    DECLTYPE_AUTO_RETURN(        (detail::all(             lib::array<bool, sizeof...(Vs)>{{!vs.valueless_by_exception()...}})             ? (void)0             : throw_bad_variant_access()),        detail::visitation::variant::visit_value(lib::forward<Visitor>(visitor),                                                 lib::forward<Vs>(vs)...))#endif

День 5. Он ожил! Ну почти

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

Но все это время я упорно игнорировал один компонент.

Помните, как мы убрали завязку на ASM и функцииmake_fcontext и jump_fcontext?

Так вот, ASM исходники в Reindexer нужны для реализации C++ корутин, а эти функции - ключевые для корутин из библиотеки boost/context.

Кто такая эта ваша Корутина?

Корутина это функция, которая может быть приостановлена и возобновлена в любой момент. Для реализации достаточно трех основных компонентов:
- функция
- механизм для ее паузы (suspend)
- механизм для возобновления ее с той точки, в которой была сделана пауза (resume).

Реализацию корутин можно увидеть в таких языках и библиотеках, как:

  • Libcoro(корутины на C/С++)

  • Koishi(тоже корутины, тоже на С/С++)

  • Boost(и это тоже корутины, тоже на С/С++, корутин много не бывает!)

  • Node-fibers(корутины для NodeJS на базе libcoro)

  • Tarantool(fibers на базе libcoro)

  • Kotlin(свои корутины, не на C++)

  • C++20

  • Goroutine

Для наглядности вот скрин теста корутин из Koishi:

Последовательность следующая:

  1. Создали корутину, выделили стек, задали функцию;

  2. Возобновили корутину - в этот момент вызвалась наша функция;

  3. Приостановили корутину с помощьюkoishi_yield здесь мы вернули управление в test1 сразу после строчкиkoishi_resume;

  4. Если мы еще раз сделаемkoishi_resumeна нашей корутине мы вернемся на строчку функции cofunc1 сразу после первого вызоваkoishi_yield.

Без корутин не будет работать reindexer_tool, но не можем же мы оставить Reindexer без такой важной конечности. Будем исправлять.

Начнем с анализа ситуации. Ожидаемо, что ASM Эльбруса бустовские корутины не поддерживают (пока что), а значит нам нужно реализовать их самим. Подробности и реализацию бустовских корутин можете посмотретьздесь, а сейчас наступило время скрещивать ужа с ежом.

Есть несколько вариантов реализовать корутины:

  • Вариант 1:написать ASM реализацию. Самый очевидный, но при этом самый сложный вариант. У нас есть в планах попробовать именно этот вариант, так как ASM корутины - самые быстрые.

  • Вариант 2: забить. Нет, это не наш путь.

  • Вариант 3: использовать библиотеку.

По счастливой случайности Koishi оказалось той самой библиотекой, поддерживающей реализацию корутин с помощью встроенных E2K функций:makecontext_e2k()иfreecontext_e2k().

Koishi, Koishi, что это вообще такое?

Если коротко это библиотека, предоставляющая удобный API по использованию корутин на C/C++ с несколькими вариантами реализации:

  • ucontext

  • ucontext_e2k (наша прелесть)

  • fcontext

  • win32fiber

  • ucontext_sjlj

  • emscripten

Там, где стандартная медицина бессильна, в дело вступает генная инженерия.

Для начала внедрим Koishi в организм Reindexer:

Заменим больной орган на здоровый:

Стараемся не повредить то, что уже работает:

Одним из backend-ов Koishi для корутин выступает fcontext (те же самые boost исходники, что в Reindexer). Последуем древней мудрости работает не трогай! и оставим как есть в случае, если у нас не E2K архитектура. Для Эльбруса мы будем использоватьucontext_e2k.c

И вот он, наш мутант с корутинами полностью здоров и функционален (и на amd64, и на E2K):

День 11. Проводим финальные испытания

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

Всего в Reindexer около 300 функциональных тестов, и мне не терпится запустить их все.

Тесты бежали, бежали и не добежали. Один из тестов вызвал Segmentation Fault.

Всему виной оказались вот эти строчки:

struct ConnectOpts {  /* тут тоже код, но он не такой интересный */  uint16_t options = 0;  int expectedClusterID = -1;};

Обычный код, что тут такого? скажете вы. Но не все так просто. Запоминаем, что здесь два поля, которые инициализируются при объявлении.

Попробуем воспроизвести на изолированном более простом примере.

ASM, настало твое время

Внимание на скриншот:

Ошибка проявляется именно в том случае, когда отсутствуют не проинициализированные поля. Другими словами, если все ваши поля инициализируются при объявлении вы счастливчик, поймавший Segmentation Fault.

Баг заключается в том, что скомпилированное создание структуры выглядит как странныйaddd. Именно эта строчка и вызывает segfault. Кстати, если вместоbool anyField = falseнаписать простоbool anyField, то код совершенно другой и ошибки нет.

Семь бед, один ответ обновитесь!

Разгадка тайны оказалась проста. На момент работы с Reindexer последней версией компилятора LCC была v.1.25.16, однако в состав пакетов ОС Эльбрус по умолчанию входит 1.25.14, на котором я и запускал тесты. Добрые люди из сообщества подсказали нам, что уже в 15 версии данный баг был исправлен. Я решил обновиться на 16-ую и посмотреть, что будет.

Вот что нам принес новый компилятор LCC v.1.25.16:

C++ код такой же, однако ASM совсем другой, и что самое главное он работает! Последовательно (заранее прошу прощения за мой ломаный asm-русский переводчик):

  1. gestp - выделяем стек и кладем его в %dr3

  2. setwd - задаем текущее окно в регистровом файле

  3. setbn - задаем подвижную базу регистров в текущем окне регистрового файла

  4. addd - кладем "дно" стека (стек размером 0x20) в %dr2

  5. addd - выделяем на стеке нашу структуру

  6. ldb - достаем из констант наш false и кладем его в %r5

  7. stb - кладем наш false из регистра %r5 в наше поле anyField1

  8. addd - подготовили локальный указатель на структуру для вызова метода

  9. addd - передаем указатель в базовый регистр для передачи при вызове anyMethod (в anyMethod мы достаем указатель из регистра %dr0)

  10. disp - подготавливаем регистр перехода на anyMethod

  11. call - вызываем anyMethod

Дальше все просто пересобрать, перезапустить, обрадоваться.

Тесты прошли успешно, и теперь у нас есть полностью рабочий и протестированный Reindexer на Эльбрусе.

На этом все ?

На самом деле нет. Сейчас мы смогли:

  • собрать Reindexer Server

  • запустить Reindexer Server

  • собрать Reindexer Tool

  • запустить Reindexer Tool

  • переписать кусочек Reindexer Tool

  • уронить Reindexer и поднять его

  • добиться 100% проходимости Reindexer тестов

Мы научились:

  • собирать C++ софт на Эльбрус

  • переписывать C++ софт под особенности и отличия Эльбрусов

  • разбираться в ASM E2K

  • превозмогать трудности

  • разбираться в C++ корутинах даже на Эльбрусе

Что в планах:

  • корутины на ASM E2K (может быть даже сравнить fcontext ASM на i5 и ucontext/ASM на E2K)

  • оптимизировать Reindexer под архитектуру Эльбрус

  • перенести еще несколько интересных приложений на Эльбрус

  • дополнить базу библиотек и пакетов Эльбрус

  • организовать E2K инфраструктуру и песочницу

Что же можно сказать про Эльбрус со стороны простого разработчика?

Эльбрус это ваш друг. Он уже умеет в 80% современного софта, работать с ним можно и достаточно комфортно. Его архитектура - действительно произведение искусства, идея одноядерного параллелизма достойна уважения и несет в себе большой потенциал. Вопрос лишь в том, получится ли его раскрыть.

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

Подробнее..

Eще один бэкап больше, чем скрипт, проще, чем система

28.07.2020 10:08:24 | Автор: admin
Систем резервного копирования множество, но что делать, если обслуживаемые сервера разбросаны по разным регионам и клиентам и нужно обходиться средствами операционной системы?



Добрый день, Habr!
Меня зовут Наталья. Я тимлид группы администраторов приложений в НПО Криста. Мы Ops для группы проектов нашей компании. У нас довольно своеобразная ситуация: мы устанавливаем и сопровождаем наше ПО как на серверах нашей компании, так и на серверах, расположенных у клиентов. При этом бэкапить сервер целиком нет необходимости. Важны лишь существенные данные: СУБД и отдельные каталоги файловой системы. Конечно, клиенты имеют (или не имеют) свои регламенты резервного копирования и часто предоставляют некое внешнее хранилище для складывания туда резервных копий. В этом случае после создания бэкапа мы обеспечиваем отправку во внешнее хранилище.

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

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

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

Условия задачи были следующие:
1. базовый инстанс бэкапа автономен, работает локально
2. хранение резервных копий и логов всегда в пределах сети клиента
3. инстанс состоит из модулей такой своеобразный конструктор
4. необходима совместимость с используемыми дистрибутивами Linux, включая устаревшие, желательна потенциальная кроссплатформенность
5. для работы с инстансом достаточно доступа по ssh, открытие дополнительных портов необязательно
6. максимальная простота настройки и эксплуатации
7. возможно (но не обязательно) существование отдельного инстанса, позволяющего централизованно просмотреть состояние бэкапов с разных серверов

То, что у нас получилось, можно посмотреть здесь: github.com/javister/krista-backup
ПО написано на python3; работает на Debian, Ubuntu, CentOS, AstraLinux 1.6.
Документация выложена в каталоге docs репозитария.

Основные понятия, которыми оперирует система:
action действие, реализующее одну атомарную операцию (бэкап БД, бэкап каталога, перенос из каталога А в каталог Б и т. д.). Существующие actions лежат в каталоге core/actions
task задание, набор actions, описывающий одну логическую задачу бэкапа
schedule расписание, набор task с опциональным указанием времени выполнения задачи

Конфигурация бэкапа хранится в yaml-файле; общая структура конфига:
общие настройки
раздел actions: описание действий, используемых на этом сервере
раздел schedule: описание всех заданий (наборов действий) и расписание их запуска по крону, если такой запуск требуется
Пример конфига можно посмотреть здесь: github.com/javister/krista-backup/blob/master/KristaBackup/config.yaml.example

Что умеет приложение на текущий момент:
поддерживаются основные для нас операции: бэкап PostgreSQL, бэкап каталога файловой системы через tar; операции с внешним хранилищем; rsync между каталогами; ротация бэкапов (удаление старых копий)
вызов внешнего скрипта
выполнение вручную отдельного задания
/opt/KristaBackup/KristaBackup.py run make_full_dump

можно добавить (или убрать) в кронтабе отдельное задание или все расписание
/opt/KristaBackup/KristaBackup.py enable all

генерация триггер-файла по результатам бэкапа. Эта функция полезна в связке с Zabbix для мониторинга бэкапов
может работать в фоне в режиме webapi или web
/opt/KristaBackup/KristaBackup.py web start [--api]


Разница между режимами: в webapi нет собственно веб-интерфейса, но приложение отвечает на запросы другого инстанса. Для режима web нужно установить flask и несколько дополнительных пакетов, а это не везде приемлемо, например в сертифицированной AstraLinux SE.

Через веб-интерфейс можно посмотреть состояние и логи бэкапов подключенных серверов: веб-инстанс запрашивает данные с бэкап-инстансов через API. Доступ к web требует авторизации, доступ к webapi нет.



Логи некорректно прошедших бэкапов размечаются цветом: warning желтым, error красным.





Если администратору не нужна шпаргалка по параметрам и серверные ОС однородны, можно скомпилировать файл и распространять уже готовый пакет.

Распространяем мы эту утилиту в основном через Ansible, выкатывая сначала на часть наименее важных серверов, а после тестирования на все остальные.

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

Проблемы методологии проектирования микропроцессорных систем

24.12.2020 16:21:15 | Автор: admin

Применяемая, в настоящее время, для проектирования СБИС, методология с использованием языков описания аппаратуры, обладает общепризнанными недостатками, а именно:

  • Разработка сложных СБИС требует сотни квалифицированных инженеров, несколько лет работы и затрат в миллиарды долларов.

  • До половины времени разработки, уходит на поиск и устранение ошибок в программной модели проектируемого микропроцессора.

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

Отечественные и зарубежные идеи, решения проблем проектирования СБИС, лежат в рамках общепринятой парадигмы, применения языков программирования для описания проектируемой аппаратуры. Все эти решения используются в реализуемых, в настоящее время, программах DARPA.

Программы DARPA

В рамках программы Electronics Resurgence Initiative, объявленной DARPA, поставлена задача преодолеть проблемы применяемой методологии проектирования микропроцессорных систем. С этой целью реализуется следующие подпрограммы:

  • CRAFT предполагает создание средств высокоуровневого синтеза СБИС;

  • IDEA направлена на создание автоматического генератора компоновки SoC, многокристальных микросхем, печатных плат;

  • POSH нацелена на создание жизнеспособной экосистемы проектирования аппаратуры и верификации, с открытым исходным кодом, которая позволит экономически эффективно проектировать ультра-сложные SoC.

В случае успешного выполнения указанных программ полученные результаты должны быть объединены в перспективных САПР. Предполагается достичь 10 кратного роста в скорости разработки над ручным созданием RTL кода. Кроме того, ставится цель принципиально изменить практику разработки микропроцессорных устройств. Итоговая цель преобразования инженерной практики описана так:

  • Разработка СБИС становится частью инструментария разработчика программного обеспечения.

  • Каждая компания разработчик ПО, получает возможность разрабатывать СБИС.

Описывая ситуацию в отрасли разработки микропроцессорных систем, DARPA говорит о следующих проблемах (на основе Electronics Resurgence Initiative Page 3 Investments Design Thrust). Интеллектуальные системы следующего поколения, в областях искусственного интеллекта, автономных транспортных средств, связи, радиоэлектронной борьбы и радиолокации, потребуют на порядок большей эффективности обработки, чем та, которую предлагает современная коммерческая электроника. Достижение требуемых уровней производительности, потребует разработки очень сложных платформ SoC, использующих самые передовые технологии интегральных схем. В последние годы сложность микросхем быстро росла, произошел взрыв затрат и времени, необходимых для разработки усовершенствованных SoC, печатных плат и многокристальных сборок (SiP). Предлагаемая инициатива создаст новые парадигмы для интеллектуального физического проектирования и уменьшит барьеры для проектирования высокопроизводительных, высокоэффективных специализированных интегральных схем.

Исследовательский подход в программе CRAFT (из доклада Khailany Brucek CRAFT Final на ERI Summit 2019):

  1. Поднять уровень абстракции при разработке аппаратуры:

    a. Использовать языки более высокого уровня, например, C ++ вместо Verilog;

    b. Использовать инструменты высокоуровневого синтеза;

    c. Использовать библиотеки и генераторы, например, MatchLib.

  2. Применение методологии AGILE в разработке СБИС:

    a. Небольшие команды, совместно работая над архитектурой, реализацией, VLSI (Very Large Scale Integration);

    b. Непрерывная интеграция и средства автоматической верификации;

    c. AGILE методы управления проектами;

    d. Круглосуточная генерация из С++ в схему.

Предложен высоко продуктивный подход к разработке цифровых СБИС для создания сложных SoC. Маршрут проектирования включает средства высокоуровневого синтеза, объектно-ориентированные библиотеки синтезируемых компонентов на языках SystemC и С++. И модульный подход к физическому проектированию СБИС основанный на мелкозернистом глобально асинхронном и локально синхронном (GALS) тактировании. Методология проектирования была продемонстрирована на 16-нм тестовом чипе FinFET, предназначенном для машинного обучения и компьютерного зрения. (A Modular Digital VLSI Flow for High-Productivity SoC Design, Khailany et al., DAC 2018)

Spoiler

Рисунок 1. Вариант маршрута проектирования предложенный для программы CRAFT [1].

Программа IDEA состоит из двух этапов. На первом этапе будет создан генератор макетов, для создания автоматизированной платформы проектирования печатных плат, SoC и SiP. На втором этапе должна быть создана программная система, которая на основе функционального описание высокого уровня и заданных ограничений, будет создавать печатные платы и микросхемы правильной конструкции на основе обширной библиотеки коммерческих компонентов (COTS). Примеры компонентов COTS включают в себя коммерчески доступные микросхемы для печатных плат, кристаллы для SiP и IP-модули для SoC. Созданный список цепей, будет поступать на вход генератора макетов, разработанного в первой части программы. Таким образом будет создана сквозная автоматизированная платформа проектирования для печатных плат, SoC и SiP.

Spoiler

Рисунок 2. Схема применение искусственного интеллекта для решения задачи проектирования СБИС, по замыслу программы IDEA [5].

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

Spoiler

Рисунок 3. Концепция маршрута проектирования программы IDEA [5].

В программе POSH предлагается использовать практику разработки ПО с открытым кодом, в области разработки микропроцессорных систем. В документах DARPA говорится следующее. Появление экосистемы программного обеспечения с открытым исходным кодом позволило создать глубокую иерархию программного обеспечения со многими уровнями абстракции, что значительно повысило производительность в проектах разработки сложных программных систем. Модель абстрагирования программного обеспечения позволяет программисту сосредоточить свои усилия в одной конкретной области, игнорируя при этом большое количество деталей, которые в противном случае были бы слишком сложными для обработки. Чтобы создать устойчивую экосистему разработки аппаратуры с открытым исходным кодом, программа POSH создаст технологии, методы и стандарты для эффективной разработки SoC с открытым исходным кодом. Предполагается, что критически важным компонентом этих усилий станет разработка технологий проверки, обеспечивающих доверие к строительным блокам (IP блокам) аппаратного обеспечения с открытым исходным кодом.

Одной из причин, по которой не удалось реализовать открытую и совместную экосистему SoC, является высокая стоимость аппаратных сбоев. Аппаратная ошибка, обнаруженная в изготовленном оборудовании, может обойтись коммерческим компаниям в миллионы или миллиарды долларов в виде отзывов и потерянного дохода. Это отличается от индустрии программного обеспечения, где ошибка часто может быть исправлена на месте с помощью недорогого обновления программного обеспечения. Для создания открытой аппаратной экосистемы существует потребность в рентабельной технологии валидации, подходящей для совместных разработок с открытым исходным кодом.

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

Spoiler

Рисунок 4. Экосистема с открытым исходным кодом для разработки SoC по замыслу программы POSH [4].

Программа POSH предполагает создание необходимых компонентов экосистемы для широкого использования в разработке SoC, блоков с открытым исходным кодом. Главными компонентами экосистемы являются программные средства, обеспечивающие моделирование, верификацию, валидацию, отладку отдельных IP блоков и собранных на их основе SoC.

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

Промежуточные результаты программ, представленные на ERI Summit 2019, подтверждают возможность достижения заявленной цели.

В частности, в рамках программы CRAFT показаны следующие результаты:

  • Снижение трудоёмкости в 8-11 раз для аналоговых и цифровых интегральных схем.

  • Сокращение трудоёмкости в 4.3-5.3 раза при переносе на технологию 16-нм GF, продемонстрированное на цифровых и цифро-аналоговых ASIC.

Однако существует ряд проблем:

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

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

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

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

Обратим внимание на методы повышения производительности проектирования, используемые в программах DARPA:

  • При разработке аппаратуры поднять уровень абстракции на котором человек описывает проектируемую систему. Все ниже лежащие уровни абстракции передать автоматическим средствам.

  • Минимизировать участие человека в решении задачи проектирования, за счёт применения средств искусственного интеллекта.

  • Создать условия для повторного использования качественных строительных блоков аппаратного обеспечения.

Парадигма проектирования остаётся прежней использование языков программирования для описания проектируемой аппаратуры.

Описанные программы опираются на базу существующих решений, готовые к использованию компоненты COTS, IP блоки, программные средства с открытым исходным кодом. Однако, опираясь только на готовые компоненты невозможно достичь высшей производительности или минимального энергопотребления. Разработка новых архитектур, максимально сложных SoC и SiP с использованием новых технологий производства, для этих задач остаётся всё та же методология проектирования, которая критикуется в программах DARPA.

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

В декабре 2019 года компания NVIDIA представила перспективную платформу для самоуправляемых автомашин и роботов [6]. Анонсированный процессор NVIDIA Orin появится не ранее 2022 год. Для обеспечения пятого уровня автономности самоуправляемого автомобиля, потребуется сочетать пару процессоров Orin и два не названных, перспективных, дискретных графических процессора NVIDIA [32]. Уровень быстродействия в этом случае составит до 2000 триллионов операций в секунду, при энергопотреблении до 750 Вт.

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

Другим примером могут служить современные программы создания суперкомпьютеров максимальной производительности, которые реализуют Евросоюз, США, Китай, Япония и другие страны. Эти программы, в частности, реализуемые DARPA и DOE, фокусируются на решении следующих задач [25]:

  • Существенный рост производительности при умеренном энергопотреблении;

  • Повышение надежности аппаратуры и программ;

  • Рост продуктивности программирования.

Увеличение реальной производительности на разных типах задач требует создания принципиально новых SoC и SiP с использованием передовых архитектур и технологий производства, не основанных на ранее использовавшихся решениях.

Например, суперкомпьютер Neocortex, создаётся для задач классов DCIGN и RNN это более точное прогнозирование погоды, анализ геномов, поиск новых материалов и разработка новых лекарств. Предположительно, будет введено в эксплуатацию до конца 2020 года [37]. Он объединяет серверы Cerebras CS-1 и HPE SuperDome Flex в единую систему с общей памятью. Сервер Cerebras CS-1 основан на уникальном процессоре Cerebras. На изготовление одного процессора уходит целая 300-мм пластина [2].

Основой для роста сложности микропроцессорных систем, в ближайшем будущем, станет развитие технологии 3D TSV. Например, концепция, предложенная IBM [16], к настоящему моменту, изготовление микроканалов продемонстрировано в кремнии [22].

Spoiler

Рисунок 5. Концепция построения перспективных микропроцессорных систем предложенная IBM [16].

Краткая характеристика современной методологии, ключевые проблемы

К настоящему времени в проектировании сложных микропроцессорных систем сложилась практика, представленная на рисунке 6, в изложении Brucek Khailany (Director of research, ASIC & VLSI NVIDIA Corporation).

Spoiler

Рисунок 6. Использование языков программирования в проектировании СБИС [1].

В процессе проектирования используются различные языки программирования, как специализированные, в частности языки описания аппаратуры (HDL), так и языки высокого уровня общего назначения.

Создаваемое изделие описывается в виде программы на языке описания аппаратуры (HDL). Созданная программа, обычно, представляет собой модель уровня регистровых передач (RTL), которая должна быть преобразована в логическую схему посредством автоматического синтеза (Logic Synthesis). Далее созданную схему необходимо превратить в описание физического изделия. Для чего выполняется последовательность этапов проектирования, которую принято называть физическое проектирование (physical design).

Упрощённая схема маршрута проектирования СБИС, с выделением этапов физического проектирования, представлена на рис. 7.

Spoiler

Рисунок 7. Типовой маршрут проектирования с выделением этапов физического проектирования СБИС [23].

Здесь важно отметить, что инженерная задача разработки вычислительной системы (SiP) разделена на две задачи с разным понятийным аппаратом. Для логического проектирования - математический понятийный аппарат, а для физического проектирования - понятийный аппарат описывающий физические процессы.

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

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

Взаимосвязи понятий отрасли, в виде распространения задаваемых ограничений, на возможные варианты инженерных решений, показаны на рис. 8.

Spoiler

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

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

Трудоёмкость проектирования, например, для NVIDIA Xavier оценивается в 8000 человеко-лет [1].

По слова Jensen Huang, на создание NVIDIA V100 потребовалось несколько тысяч инженеров, ушло несколько лет, при примерной стоимости разработки в 3 миллиарда долларов [7].

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

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

Spoiler

Рисунок 9. Стоимость разработки СБИС в зависимости от их сложности [7].

Следует отметить, что современная методология проектирования сложилась и развивалась на основе инструментов и их возможностей, а человек должен был подстраиваться под предлагаемые ему условия работы. И на современном этапе ситуация не изменилась. Предлагаемые в программах DARPA решения опираются на прогресс в инструментах, то есть методологии программирования, прикладной математике и развитии систем искусственного интеллекта. А человек, будет вынужден адаптироваться к новым условиям труда, которые будут навязывать новые средства проектирования.

Мышление человека в инженерной практике

Изложенный выше подход к созданию методологии проектирования принято называть инструментальным. То есть методология строится на возможностях инструментов, к работе с которыми человек должен адаптироваться. Возможен и противоположный инструментальному подход к созданию методологии проектирования [30].

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

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

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

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

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

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

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

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

Происходит это в силу особенности работы человеческой психики в процессе решения инженерных задач.

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

Установлено, что в силу личных особенностей мышления, некоторые люди легче оперируют вербальными понятиями, а другие визуальными [33].

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

В частности, в рамках психологии программирования, установлено, что профессиональные программисты обладают, отличными от представителей других профессий, особенностями мышления. В том числе, развитыми вербальными способностями. То есть быстрее и с меньшей умственной нагрузкой осваивают новые языки, в том числе искусственные, и работают с текстами [17, 27].

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

Ошибка - неизбежный результат деятельности человека. Вероятность совершения ошибки определяется многими факторами среди которых сам человек, его физическое и психоэмоциональное состояние, уровень знаний и навыков, а также факторы условий, в которых совершается деятельность [30].

Любая работа ума создаёт умственную нагрузку, которая постепенно утомляет нервную систему, что снижает концентрацию и повышает вероятность ошибки. Умственная нагрузка, при решении одной и той же задачи, может различаться в зависимости от условий в которых человек должен эту задачу решать. Например, слепая игра в шахматы (не глядя на доску) или решение ханойской головоломки в уме (без физического перемещения дисков) создают большую умственную нагрузку, чем те же задачи находящиеся в поле зрения [10, 12].

Мышление в процессе решения задачи проектирования представляет собой последовательность интеллектуальных действий.

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

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

Восприятие информации предполагает установление соответствия между формами представления информации (установлены методологией) и известным человеку понятийным аппаратом отрасли. Тогда возникает понимание условий задачи и выполняется поиск решения.

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

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

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

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

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

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

Дополнительная умственная нагрузка определяется особенностями методологии и реализующих её инструментов (т.е. САПР и др.). Например, необходимость учитывать, в процессе проектирования, понятия отрасли, которые в методологии отсутствуют, создаёт дополнительную умственную нагрузку и повышает вероятность ошибок.

Связь между формой представления понятий и скоростью восприятия понятий (условий задачи), установлена экспериментально. Следствием этого стало введение терминов образный интерфейс, когнитивная графика, экологический интерфейс. Создание таких интерфейсов внедрено в инженерной практике, прежде всего в операторской работе по управлению сложными промышленными объектами [29].

В некоторых отраслях исторически сложилось и внедрено в САПР введение процесса решения в поле зрения, что упрощает восприятие понятий (т.е. процессов и взаимосвязей) и поиск решения.

В качестве примера можно привести отрасль авиастроения. Для примера рассмотрим, выполненный не профессионалом, проект тяжёлого конвертоплана созданный в САПР T-FLEX CAD 16 (см. рис. 10). Проект состоящий из более чем 60000 тел был создан одним инженером, исключительно на основе информации из открытых источников и собственного опыта проектирования. На исследование предметной области ушло около 2-х месяцев и ещё примерно 6 месяцев периодической работы на реальное проектирование [31].

Spoiler

Рисунок 10. Проект летательного аппарата в САПР T-FLEX CAD 16.

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

Описание решения ведётся в визуальной среде, где объекты прямо соответствуют понятиям в которых человек мыслит о задаче. Взаимодействие объектов также легко воспринимается и прямо соответствует физическим процессам отрасли. Промежуточные этапы описания и конечное решение доступны для многократного анализа на предмет улучшения и выявления ошибок. Используемые в проектировании САПР и другие программные средства позволяют наблюдать поведение проектируемых систем и физические процессы (см. рис. 11).

Spoiler

Рисунок 11. Визуализация обтекания модели самолёта в виртуальной аэродинамической трубе.

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

В проектировании СБИС точным решением является описание физической структуры изделия, которая будет создана в процессе изготовления СБИС.

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

Источники проблем методологии проектирования

Анализ методологии на предмет поиска источников проблем проведён с точки зрения условий, создаваемых методологией, для работы мышления человека.

Конфликт формы представления понятий

Используемая методология проектирования требует от разработчика представить физическое изделие в форме программы. На всех этапах разработки создаваемое изделие описывается средствами языков программирования, то есть алгоритмическими понятиями, в форме программ (см. рис. 6).

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

Требуется всё многообразие не алгоритмических понятий отрасли, представить их алгоритмическим выражением (средствами используемых языков программирования). В то время, как разработка вычислительных систем и СБИС не тождественна программированию, на уровне понятийного аппарата. Понятийный аппарат программирования лишь подмножество понятийного аппарата отрасли вычислительной техники.

Такая ситуация создаёт конфликт формы представления понятий, а значит и дополнительную умственную нагрузку.

На практике установлено, что текст, далеко не всегда, лучшая форма представления понятий, в том числе алгоритмических. Примером могут служить медицинские алгоритмы. Практика показала, что их текстовое описание не лучший способ представления, потому, в настоящее время, используются схемы алгоритмов, в частности визуальный язык ДРАКОН [21].

Разрыв целостности маршрута и понятийного аппарата

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

Применительно к существующей технологии производства СБИС выделяют следующие проблемы логического синтеза [23]:

  • Задержка на межсоединениях становится доминирующей, что требует совмещения этапов sizing/physical/logic synthesis. Логический синтез без учета реализации схемы в кремнии неэффективен.

  • Изготовление транзисторов усложняется, что делает критическим методы проверки, рассеиваемая мощность становится определяющим фактором.

Многие задачи физического проектирования NP-трудны решаются при помощи эвристик, которые, обычно, находят почти оптимальные решения [24]. Необходимо заметить, что при использовании эвристик, важным является наличие на выходе фильтра здравого смысла оценки результата человеком. Без развитых средств визуализации, эффективный контроль качества синтеза человеком не возможен.

Для решения этой проблемы, в программе IDEA, предлагается использовать, на этапе логического синтеза и физического проектирования СБИС, обученные модели искусственного интеллекта (см. рис. 2). При этом результаты должны контролироваться человеком (см. рис. 3).

Любой из HDL является, прежде всего, языком программирования и, как следствие, инструментом более высокого уровня абстракции, чем понятийный аппарат этапа схемотехнического проектирования. Кроме того, языки программирования применяются на всех этапах проектирования, как средство описания решения (см. рис. 6). Тем самым подталкивая человека мыслить лишь об алгоритмах.

Ранее основным средством решения задачи на этапе схемотехнического проектирования являлось схемное проектирование. Не только как способ описания решения, но как метод мышления в понятиях этапа схемотехнического проектирования.

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

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

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

Требования к личным навыкам

В силу применения языков программирования для описания создаваемого устройства, основная форма представления информации, с которой работает человек тексты на искусственных языках (см. рис. 12).

Spoiler

Рисунок 12. Описание двухвходового мультиплексора на языке SystemVerilog [13].

Как следствие, основная часть умственно работы, т.е. восприятие и создание информации, связанна с восприятием и созданием текстов на искусственных языках (текстов программ).

Работа с текстом с минимальной умственной нагрузкой требует развитых вербальных навыков, которые формируются далеко не у всех взрослых людей [33].

Для формирования развитых вербальных навыков (навыков работы с текстами), необходимо соответствующее обучение. Установлено, что такие навыки формируются у профессиональных программистов [17, 27]. Но далеко не у всех людей, прошедших профессиональное обучение по специальностям программная инженерия (software engineer) или прикладная математика.

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

Вывод

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

Проблема и предлагаемое решение

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

Известно лишь два подхода к построению методологии проектирования инструментальный и человеко-ориентированный (антропоцентрический).

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

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

Во-вторых, прогресс ИИ (машинного и глубокого обучения) достигнут в условиях постоянного контекста задачи, т.е. компоненты задачи и критерии качества решения со временем не меняются. Но в инженерном деле, в частности в проектировании СБИС контекст задачи изменчив. При том, что качество решения задачи проектирования СБИС оценивается по нескольким критериям, и в разных областях применения СБИС значимость критериев различна. И кроме того, для обучения ИИ требуется большое количество примеров, но в области проектирования СБИС таких примеров может оказаться недостаточно.

В связи с этим, некоторые успехи в достижении поставленных в программах DARPA целей, не дают гарантии дальнейшего роста производительности проектирования на основе предлагаемой парадигмы. Прежде всего, применительно к микропроцессорным системам (SoC & SiP) предельных параметров.

Второй подход для создания методологии проектирования, в отрасли вычислительной техники, ранее не применялся.

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

Автор предлагаемого проекта, наблюдал на практике эффективность схемного проектирования при разработке микроархитектуры микропроцессора. В рамках проекта суперкомпьютера Ангара, под руководством Эйсымонта Л.К., автор участвовал в разработке микропроцессора с массовым параллелизмом, где применялся метод схемного проектирования. Разработка микроархитектуры выполнялась одним человеком, обладавшим большим опытом схемотехнического проектирования. Применение схемного проектирования показало существенно меньшее количество ошибок, допускаемых человеком, при разработке микроархитектуры и схемотехнической реализации функций блоков. При этом, описание уже готовых схем, на языке Verilog, приводило к появлению ошибок, отсутствовавших в схемном описании. Для сравнения, работая в INTEL Corp., автор участвовал в разработке микропроцессора Kevet (проект закрыт). В проектировании RTL модели микроархитектуры, относительно простого микропроцессора, участвовало 6 инженеров. Для верификации RTL кода, только на микроархитектурном уровне, было задействовано 20 человек.

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

Ранее упомянутый пример, проект тяжёлого конвертоплана выполненный в САПР T-FLEX CAD 16, интересен тем, что проектирование ведётся в визуальной среде, дающей явную связь между понятиями, в которых мыслит инженер, и объектами, составляющими проектируемую систему.

Другой пример из области ракетостроения. При создании космической системы Энергия-Буран, для повышения производительности программирования, были созданы проблемно-ориентированные языки, основанные на терминах, понятиях и форме представления алгоритмов управления и испытаний, используемых разработчиками корабля. Такой подход позволил повысить производительность программирования и надёжность программного обеспечения. В дальнейшем, на основе когнитивно-эргономического подхода, был создан графический язык ДРАКОН. Применение его для создание различных ракетно-космических систем доказало эффективность идей, положенных в его основу [14, 28, 39].

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

Литература

1. A modular digital VLSI flow for high-productivity SOC design. Brucek Khailany director of research, ASIC & VLSI NVIDIA CORPORATION. ERI Summit 2018.

2. Cerebras процессор для ИИ невероятных размеров и возможностей. Геннадий Детинич. 20.08.2019. https://3dnews.ru/992698 (дата обращения: 11.11.2020)

3. DARPA мечтает радикально упростить проектирование чипов. 04.07.2018 https://3dnews.ru/972103 (дата обращения 07.05.2019)

4. IDEA & POSH program updates. Andreas Olofsson. DARPA MTO program manager. ERI Summit 2019.

5. Intelligent Design of Electronic Assets (IDEA) & Posh Open Source Hardware (POSH) // Andreas Olofsson Program Manager, DARPA/MTO. Proposers Day Mountain View, CA. 9/22/17.

6. NVIDIA Introduces DRIVE AGX Orin Advanced, Software-Defined Platform for Autonomous Machines. Tuesday, December 17, 2019. https://nvidianews.nvidia.com/news/nvidia-introduces-drive-agx-orin-advanced-software-defined-platform-for-autonomous-machines (дата обращения: 11.11.2020)

7. Silicon Compilers - Version 2.0 // Andreas Olofsson Program Manager, DARPA/MTO. International Symposium on Physical Design. March 25-28, Monterey, CA. 2019.

8. Будылина С.М., Смирнов В.М. Физиология сенсорных систем и высшая нервная деятельность: Учеб. пособие для студ. высш. учеб, заведений. М. 2003.

9. Бухтев А. Методы и средства проектирования систем на кристалле. // Chip News 2003. -4.

10. Гигиена труда : учебник / под ред. Н. Ф. Измерова, В. Ф. Кириллова. -2-е изд., перераб. и доп. -М. : ГЭОТАР-Медиа, 2016.

11. Горбунов В., Елизаров Г., Эйсымонт Л. Экзафлопсные суперкомпьютеры: достижения и перспективы. Открытые системы. СУБД 2013. -07 http://www.osp.ru/os/2013/07/13037342/ (дата обращения 05.11.2013)

12. ГОСТ Р ИСО 10075-2011 Эргономические принципы обеспечения адекватности умственной нагрузки. Основные термины и определения.

13. Дональд Томас. Логическое проектирование и верификация систем на SystemVerilog / пер. с анг. А. А. Слинкина, А. С. Камкина, М. М. Чупилко; науч. ред. А. С. Камкин, М. М. Чупилко. М.: ДМК Пресс, 2019.

14. ДРАКОН [электронный ресурс]: Википедия. Свободная энциклопедия. https://ru.wikipedia.org/wiki/ДРАКОН (дата обращения: 11.11.2020)

15. Ильин Е. П. Дифференциальная психология профессиональной деятельности. СПб.: Питер, 2008. 16. Инновационные суперкомпьютерные технологии и проблемы создания отечественной перспективной элементной базы. / Л.К.Эйсымонт, В.С.Горбунов. Доклад на 5-м Московском суперкомпьютерном форуме. 21 октября 2014 года.

17. Исследование способности к усвоению искусственных языков у программистов. Орел Е. А. ОРГАНИЗАЦИОННАЯ ПСИХОЛОГИЯ. Т. 2. 2. 2012.

18. Как устроена универсальная разумная система? Анохин К.В. Наука о поведении: четыре главных вопроса Школа молодых ученых, 7-13 октября 2015. https://scorcher.ru/articles/images/3678/anokhin.pdf (дата обращения 08.09.2019)

19. Канышев В., Шагурин И. Применение языка SystemC и средств разработки на его основе для проектирования Систем на кристалле. // Chip News 2006. -9.

20. Когнитом: разум как физическая и математическая структура. К.В. Анохин. Семинар Социофизика. 27 сентября, 2016.

21. Космический ДРАКОН. Как заброшенный проект "Роскосмоса" подарил язык литовской медицине. Николай Воронин. BBC NEWS Русская служба. 5 августа 2019. https://www.bbc.com/russian/features-48583773 (дата обращения: 11.11.2020)

22. Кремниевый радиатор с микроканалами с жидкостью в 100 раз лучше металлического. 01.03.2019 https://3dnews.ru/983605 (дата обращения: 05.05.2019)

23. Ложкин С.А., Марченко А.М. Математические вопросы синтеза интегральных схем. [электронный ресурс] http://mk.cs.msu.ru/index.php/Математические_модели_и_методы_синтеза_СБИС (дата обращения: 15.10.2013)

24. Марков И. Проектирование интегральных схем: от разбиения графов до временной оптимизации систем. Лекции на факультете ВМК МГУ. 2013.

25. На пути к экзафлопсному суперкомпьютеру: результаты, направления, тенденции. / Горбунов В.С., Эйсымонт Л.К. Доклад на третьем Московском суперкомпьютерном форуме 01.11.2012

26. Общая психология : учебник для вузов / В. В. Нуркова, Н. Б. Березанская. 3-е изд., перераб. и доп. М. : Издательство Юрайт, 2017.

27. Особенности интеллекта профессиональных программистов. Орел Е. А. BECTH. MOCK. УН-ТА. СЕР. 14. ПСИХОЛОГИЯ. 2007. 2.

28. Параджанов В. Д. Как улучшить работу ума: Алгоритмы без программистов это очень просто! М.: Дело, 2001.

29. Представление информации для поддержки когнитивной деятельности человека-оператора. Анохин А. Н. // Актуальные проблемы психологии труда, инженерной психологии и эргономики. Выпуск 6 / Под ред. А. А. Обознова, А. Л. Журавлева. М.: Издательство Институт психологии РАН, 2014.

30. Применение концепций инженерной психологии к профессиям, традиционно не считающимся операторскими. С.А. Дружилов // Электронный журнал Психологическая наука и образование 1 2011.

31. Проект тяжёлого конвертоплана в T-FLEX CAD 16 (более 60000 тел). T-FLEX CAD. 25.11.2019. https://3dtoday.ru/blogs/topsystems/proekt-tyazhelogo-konvertoplana-v-t-flex-cad-16-bolee-60000-tel (дата обращения: 11.11.2020)

32. Процессор NVIDIA Orin шагнёт за пределы 12-нм технологии с помощью Samsung. Алексей Разин. 19.12.2019. https://3dnews.ru/1000054 (дата обращения: 11.11.2020)

33. Психология мышления. Гурова Л.Л. М.: ПЕР СЭ, 2005.

34. Психология программирования: цели, проблемы, перспективы. Рожников В. А. ОБЩЕСТВО: СОЦИОЛОГИЯ, ПСИХОЛОГИЯ, ПЕДАГОГИКА 3 2014.

35. Стасевич К. Человеческий мозг похудел на 14 миллиардов нейронов. 01.03.2012 года. http://compulenta.computerra.ru/archive/neuroscience/664455/ (дата обращения: 15.10.20013)

36. Стрелков Ю.К. Инженерная и профессиональная психология. 2-е изд. - М.: Издательский центр Академия, 2005.

37. Суперкомпьютер Neocortex: 800 тыс. ядер Cerebras для ИИ. Юрий Поздеев. 09.06.2020. https://servernews.ru/1013005 (дата обращения: 11.11.2020)

38. Финский суперкомпьютер получит 200 тысяч ядер благодаря 7-нм CPU AMD EPYC Rome. 15.12.2018 https://servernews.ru/979696 (дата обращения: 07.06.2019)

39. Энергия Буран [электронный ресурс]: Википедия. Свободная энциклопедия. https://ru.wikipedia.org/wiki/Энергия__Буран (дата обращения: 11.11.2020)

Подробнее..

Нерабочие дни закончились, рабочие начались, а над чем работать? ИТшник на распутье

11.09.2020 18:10:30 | Автор: admin
Какой же это кайф, оказывается, заказать капучино в обычном торговом центре, как приятно никого не спрашивая выйти на улицу и пообщаться с друзьями. Такие простые радости в марте и апреле были недоступны, подавляющее большинство сидело по домам и работало удаленно, насколько вообще возможно работать из дома (семьям в панельках и не только привет)

image

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

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

Цель же данной статьи не потуги айтишников в макроэкономических прогнозах, а лишь субъективный взгляд на происходящее, и попытка дать ответ на вопрос Что делать? и немного матчасти, куда же без неё, ведь это хабр, без конкретики тут нельзя :)

Что ж, с вводной частью закончено, поехали!

Факт глубокого кризиса в мировой экономике давно признан, но насколько глубоким он будет узнать очень полезно, чтобы знать, к чему готовиться. Один из индексов, наиболее часто используемый для прогнозирования аналитиками от экономики индекс PMI. Если он выше 50 заказы на продукцию растут, если ниже падают, показатели в РФ: ru.investing.com/economic-calendar/russian-markit-manufacturing-pmi-1630 в сентябре перевалило за 50, но летом был ужас-ужас.

На нас, как и на всех граждан, влияет ситуация с бюджетом РФ. А у бюджета РФ дефицит. Способов борьбы с дефицитом бюджета три:

  1. Секвестр бюджета
  2. Девальвация
  3. Заимствования на внешнем рынке.

И мы уже видим все три инструмента в действии.

  1. Минфин уже предложил (а мы хорошо знаем, что в России значит слово предложил) секвестр бюджета. Для нашей экономики секвестр не сулит ничего хорошего, а урезание оборонного бюджета говорит о том, что это не рядовой кризис, кому интересно, предлагаем почитать позитив по ссылочке https://www.rbc.ru/economics/21/07/2020/5f15ab829a7947382f5ec57e

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

Так же имеют место факты вроде остановки одной из ниток с помпой открывавшегося Турецкого потока, https://www.rbc.ru/society/10/07/2020/5f08c3ff9a7947c8483647fd потому что Турции газ дешевле покупать не у России, даже Белорусь начала покупать нефть у США и Норвегии, понятно, что это политика, но факты закупок это факты. А отросшим ценам на нефть радоваться не стоит, надо смотреть на объемы поставок, а объемы продаж у России сильно упали, все мы помним духоподъемные майские новости о рухнувшем на 52% экспорте Газпрома, на 32% сырой нефти и на 43% каменного угля. Это не может не повлиять на экономику нашей страны в среднесрочной перспективе.

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

image

На сайтах поиска работы количество соискателей увеличивается, а вакансий больше не становится. С учетом того, что триггером для кризиса явилась пандемия и, как следствие, ИТ-инфраструктура для организаций стала палочкой-выручалочкой, конкуренция за рабочие места среди админов и их руководителей будет увеличиваться.

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

На какие тренды в ИТ пандемия 2020-го оказала стимулирующий эффект в России больше всего? Выделим три:

  1. инструменты для удалённой работы и общения
  2. автоматизация/цифровизация
  3. импортозамещение

Дисклеймер: Примеры программ ниже не охватывают всё известные/популярные/актуальные продукты, это именно примеры.

1. Удаленная работа


Удалённый рабочий стол в самом широком смысле. Классика, например: RDP, RemoteApp, VDI, не забывая про VPN и т.п. Есть ещё и сторонние сервисы типа VNC: AnyDesk, TeamViewer и пр. они, конечно, несут в себе определенные угрозы безопасности, но люди продолжают ими пользоваться. Сюда же отнесём любое собственное ПО для удалённой работы: например, мобильное приложение для топ-менеджмента для работы с бюджетами, вроде банк-клиента.
Инструменты для удалённого общения через интернет подразумевается максимально широкий спектр: эл.почта; портал; форумы; соц.сети; мессенджеры и т.д. Последние особенно плотно вошли в нашу жизнь (к хорошему быстро привыкаешь); привычка, что ответы на текущие и простые вопросы гораздо быстрее получить в режиме онлайн (или как будет минутка ответить), а также увидеть, прочитано или нет и т.п.: Telegram, Whatsapp и др.
Сюда же отнесём сервисы и для видео-конференций с шерингом экрана: Zoom, Skype для бизнеса, Slack, Google Meet (ранее Hangouts Meet) и пр.

Другие инструменты для удалённой и совместной работы (работа в команде без привязки к местоположению участников). Офисные пакеты: Google Таблицы, Google Документы и Google Презентации, Office 365, Quip, Apple iWork.

Менеджеры задач: есть великое множество CRM, также таких трекеров задач как Jiro, LeaderTask, Redmine, Todoist, GitHub и даже pachca.com.

Менеджеры проектов: Microsoft Project, Адванта, Asana, Битрикс24, Basecamp, ProofHub, Podio.
Облачные хранилища: Google Диск, Яндекс.Диск, Dropbox, OneDrive.

Сервисы для заметок: OneNote, Evernote, Notion. Канбандоски: Trello, MeisterTask, Blossom; интерактивные онлайн-доски: например, miro.com.

Редакторы ментальных карт (Ментальной картой называют схематическое изображение процессов или идей, которое упрощает восприятие информации): MindMeister, Mindomo, MindMup, X-mind.

Таймтрекеры (Таймтрекеры помогают следить за тем, сколько времени тратится на те или иные задачи, зачастую автоматически): Timely, Toggl, RescueTime, Harvest. Службы автоматизации: Zapier, Power Automate, IFTTT.

Платформы для массовой коммуникации: Google-формы или рассылки с использованием того же Мailchimp.

У подавляющего большинства этих сервисов есть одна общая черта наша информация хранится не на наших собственных серверах/хранилищах, а где-то ещё. Зато дешево, иногда на уровне бесплатности, а бесплатный сыр тоже как-то надо монетизировать, в коммерческих филантропов верится с трудом. Несмотря на декларируемую доступность 24*7 всё-таки существует зависимость от внешних сервис-провайдеров (ведь этим летом даже Git пару часов был не доступен), ну и доступ к ней с их стороны. Что является сильным останавливающим фактором. Т.е. одно дело провести разовый безобидный опрос через гугл-формы, другое хранить действительно важную информацию в неизвестно каком ЦОД-е. Вопросы ИБ и сохранности данных всегда будут актуальными.

2. Автоматизация/Цифровизация


Если вспомнить про первую часть данной статьи, про секвестры и тому подобное, то главное о чём здесь нужно помнить работников будут сокращать. Соответственно, сразу вспомнят про автоматизацию, т.к. эта штука позволяет освободить множество белых (а иногда и синих) воротничков от работы (или, как говорят HR-ы, освободить их время для прочих задач), данный процесс идет уже не одно десятилетие (скорее даже не одно столетие), последние 20-30 лет процесс автоматизирования был более плавным, нежели внедрение паровых механизмов в Англии из-за которых луддитов в 1812-м пришлось усмирять огнём на поражение со стороны военных (тогда еще и неурожаи наложились и континентальная блокада, устроенная Наполеоном все европейские рынки был потеряны, людей пришлось массово увольнять).

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

В этом сегменте, разумеется, наиболее актуальная тема документооборот, или даже ЕСМ-платформы (кое-что неплохо рассказано тут http://personeltest.ru/aways/habr.com/ru/company/alee/blog/137407/).

ЭДО так же почти везде актуален. Несмотря на все надежды, полностью от бумаги мы повсеместно уйдем еще очень и очень нескоро, поэтому в крупных организациях стоит обратить внимание на решения по оцифровке и обработке бумажных документов (OCR: Optical Character Recognition) и следом/параллельно обычно идет роботизация бизнес-процессов (RPA).

Так же пандемия подстегнула внедрение корпоративных комплексных платформ управления мобильными устройствами, созданные для работы с любыми конечными устройствами, на всех платформах, для всех сценариев использования. Решения типа AirWatch или же отечественный ОПТИМУМ.

Про SAP, 1C здесь не будем, так как это отдельная Галактика для специализированных фирм и специалистов.

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

3. Импортозамещение


До пандемии из всех трех, данный тренд, пожалуй, был наиболее ярко выраженным, а после ушел в тень удаленки. Однако, проблемы в экономике, которые набирают обороты во всём мире, приводят к усилению протекционизма и торговых войн. Можно, разумеется, искать изъяны в отечественных ИТ-решениях, но вопрос наличия национальной ИТ-индустрии это слишком важный вопрос, если не сказать больше, значимость ИТ-индустрии плавно приближается к важности наличия собственной сильной армии. И нужно отметить, что по некоторым направлениям, по большей части это касается ПО в чистом виде, и firmware, в частности, где возможна реализация частных инициатив, за последние 5 лет появились вполне осязаемые достижения.

Что происходит с самых ходовым железом серверами (и, следом, СХД) давайте сделаем августовский снепшот на память:

Даже несмотря на то, что уже 5 лет как товарищ Сноуден бросил все свои дела, и лично приехал к нам в Россию со своей девушкой (в Россию. Со своей девушкой. Ну ведь и правда же уникальнейший человек) рассказать, как же всё на самом деле устроено, мы сказали ему спасибо, вид на жительство выдали, и продолжили закупать любимое, хорошо знакомое железо. Intel (как впрочем и AMD), например, ведь хорошие процессоры делает, про уязвимости/бэкдоры и их потенциальную/реальную опасность тоже все знают. Конечно, для эксплуатации большинства из них нужно уже находиться внутри периметра, но угроза ИБ всё равно есть. Т.е. если Meltdown и Spectre хоть как-то лечатся патчами (и обновлением микрокода процессора), то многие другие никак не лечатся, ещё есть необнаруженные уязвимости. Чтобы не казаться голословным приведем информацию с официальных сайтов: https://developer.amd.com/wp-content/resources/55449_1.16.pdf и https://www.intel.ru/content/dam/www/public/us/en/documents/specification-updates/xeon-scalable-spec-update.pdf, статус поиска/реализации способов лечения немалого кол-ва старых и новых уязвимостей, что у Epyc no fix planned, что у Xeon Scalable No Fix (также можно почитать, например, статью http://personeltest.ru/aways/habr.com/ru/post/427757/).
Российские серверы, актуальный список: https://gisp.gov.ru/pp719/p/pub/products/ в поле наименование (продукции) ввести Сервер (аналогично можно увидеть и СХД/хранения данных). На сегодня (09.09.2020) мы видим 23 реестровых номера серверов (и 12 СХД), а также есть информация о ещё некоторых на пути к внесению в этот список. Про Эльбрусы мы писали еще в 2015 году.

Обзор и сравнительное тестирование ПЭВМ Эльбрус 401 PC. Часть четвёртая бенчмарки
Обзор и сравнительное тестирование ПЭВМ Эльбрус 401 PC. Дополнение вопросы и ответы
Сейчас же на подходе (ожидаем серийно в 2021 году) Эльбрус-16С с 16-ю ядрами, частотой 2.0 ГГц и поддержкой памяти DDR4, многие отечественные производители уже вовсю готовятся предложить годные сервера и СХД на них.

Cisco с Juniper никуда не делись, а Huawei молодец, поймал момент, и, отправив своих партнеров в типографии печатать тысячи наклеек с красивым названием на кириллице, получил взрывной рост продаж. Хотя даже без той поддержки которую оказывало родное государство Huawei есть ряд довольно крупных заказчиков, у которых почти вся сетевая инфраструктура уже построена и успешно работает на отечественных https://www.qtech.ru/ и https://eltex-co.ru/ (мы хорошо знаем про этих, но это далеко не полный список отечественных производителей сетевого оборудования).

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

Про отечественное железо и ПО будет отдельная статья, а кому интересно сейчас для начала, вот познавательная ссылочка https://reestr-minsvyaz.ru/reestr/reestr-po-klassu-operacionnye-sistemy/ (попробуйте ответить на вопрос: а почему же все они зарегистрированы в 2016 году?).

Пробежались галопом по разным дисциплинам, в том числе гуманитарным, на что теперь обратить внимание ИТ-шнику, чтобы

  • и российское,
  • и про автоматизацию,
  • и чтобы к очередному возможному осеннему одомашниванию удаленкой юзеров пригодилось?

Вспомнилась одна из решаемых задач нашего заказчика (одна из крупнейших строительных компаний РФ):

Проблемы заказчика:

1. в ходе проектирования, строительства и обслуживания объектов несколько тысяч сотрудников этой организации всё больше и больше коммуницируют между собою и сотнями подрядчиков через мессенджеры типа WhatsApp, Telegram и т.п. В эти коммуникации входят не только обмен сообщениями, но и переговоры, а также всё больше и больше обмен документами (последний пункт руководство компании посчитало уже совсем неприемлемым).

image

2. Заказчик еще до этого проекта был в курсе, что при помощи чат-ботов можно сильно упростить рутинные процессы внутри компании, начиная с получения справки НДФЛ-2 и заказом пропуска на грузовые машины подрядчиков, заканчивая согласованием договоров.

3. Безопасники, как всегда, хотят всё контролировать, работа у них такая, и сразу же после сертификата ФСТЭК вспоминают про реестр отечественного ПО. Плюс проблема уволившихся сотрудников, которые месяцами (а в некоторых случаях и годами) имеют доступ к конфиденциальной переписке ни к информации, ни к составу участников общих групп в условном WhatsApp у служб заказчика нет, а информация сохраняется на частном смартфоне навсегда.

4. Далее высказались айтишники, вспомнив про то, что удаленка не так далека, как кажется, примерно там же, где и скорые холода + хоть обычный сезонный грипп, а это значит, что нужно чтобы не только на ios/android ставилось, а чтобы и desktop версия была и web-версия, ну чтоб не хуже чем WhatsApp-ы. Ну и разумеется, если речь идет о корпоративных коммуникациях, то рассматриваемая система должна без проблем интегрироваться с AD, exchange и т.п.

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

Что привлекало в этом данном корпоративном мессенджере изначально:

разворачивается на своём (корпоративном) сервере
клиенты как для мобильного (IOS или Android), так и для ПК (Приложение или Web).
интеграция с корпоративными ИС (из коробки только AD, а для остального есть документация BotX, см. следующий пункт)
встроенный чат-бот (а точнее платформа для разработки корпоративных ботов)
таск-менеджер (задачи на человека, разбиваются на подзадачи, дедлайн и т.п.).
разработка продукта на 100% в РФ
сертификат ФСТЭК
прицепом по умолчанию в этом мессенджере есть видеоконференции (сейчас на ПК или Web версиях) и голосовые вызовы.

Расскажем немного про инсталляцию, процесс установки потребовал:

0) Выбрать схему (один сервер или два (Front и Back)).
Схемы сетевого взаимодействия взяли из инструкции администратора.
Вариант один сервер (Single CTS):

image

Вариант два сервера (Front и End):

image

1) Создать ВМ с параметрами, исходя из предполагаемого кол-ва корпоративных пользователей и выбранной схемы одного или двух серверов (см. таблицу 1).
Таблица 1. Требования для одного сервера с хранением данных 1 год:

image

2) Установить на выбор гостевую ОС: RHEL, CentOS, Ubuntu; а на ОС установить: Docker

3) Предоставить FQDN созданного сервера разработчику, в ответ получить файл настроек.
Зачем? Ответ простой: мессенджер доступен не только корпоративным пользователям, им могут пользоваться и обычные пользователи (как у WhatsApp), но их обслуживают уже сервера разработчика. И между различными пользователями также можно общаться. Вот только доступа к корпоративному функционалу у обычных пользователей (скачавших свободно-распространяемую версию) без нашего разрешения не будет совсем.

4) Установить образы контейнеров из репозитория разработчика (здесь снова потребовалось связаться с разработчиком).

5) Настроить сетевое взаимодействие согласно выбранной схеме.

6) Настроить голосовой сервер.

7) Настроить интеграцию с AD. (конечно, можно добавлять корпоративных пользователей и по e-mail, но это выбор для небольших организаций).

8) Установить клиент на телефон мессенджер (android или iOS) и проверить, всё ли работает как задумано (начав с тестовых пользователей). Затем, регистрируя живых пользователей (интеграция уже есть, процесс крайне простой), ещё раз потестить.

9) С ботами из коробки оказалось немного сложнее: с одной стороны, есть дополняемый каталог ботов, а с другой нет 100% готовых корпоративных ботов. Одна из причин: ИС (информационные системы) у всех свои и интеграция с ними требует участия программиста, которые, кстати есть у того же разработчика. Хотя запилить простенького бота можно и самостоятельно, но нужно обладать минимальной квалификацией (соответствующая документация на BotX предоставлена разработчиком по первому требованию).

Проверим насколько корпоративный мессенджер Экспресс отечественный официально:
https://reestr.minsvyaz.ru/reestr/?sort_by=date&sort=asc&sort_by=date&sort=asc&name=Express&owner_status=&owner_name=&show_count=100&name=Express&owner_status=&owner_name=&set_filter=Y
Есть соответствие, под номером 5745 находим: Система коммуникаций Express.

Что еще интересного есть в архитектуре мессенджера Express:
Федеративная структура. Построенная федерация позволяет совершать защищённую и безопасную коммуникацию между серверами и сотрудниками разных компаний.

image

Фишки: Взаимную видимость контактов можно настроить не только в обе стороны, но и только в одну сторону;
Какие данные видны, также гибко настраивается (по сути какие поля из AD видны);
В том числе поэтому для топ-менеджмента обычно вводится свой сервер CTS со своими настройками (не только режим супервизора выключен, но и виден другой список полей AD, например, номер телефона точно не виден);
После настройки доверенного соединения между двумя CTS серверами дружественных организаций, по сути, трафик между пользователями этих дружественных корпоративных серверов не будет идти через паблик (RTS).
Причем, разработчики сделали красивую фичу с наглядным и интерактивным представлением состава участников группы с межсерверными связями (скрин примера ниже)
image
Выделим плюсы корпоративного мессенджера Express:
Снижение рисков утечек информации (ключевой, жирный плюс) при довольно небольшой стоимости (небольшие требования) и бОльший контроль;
Снижения рисков потери информации (при корректно налаженной отказоустойчивости/катастрофоустойчивости);
Защита персональных данных (тройное шифрование, в тоже время невозможность восстановить данные при утрате паролей от ключей шифрования);
Также проявлена забота и о приватности, например есть т.н. Стелс-режим для деликатных переговоров. По таймеру все сообщения сгорают (по времени, после отправки, либо после прочтения).
Объединенный список контактов: контакты телефона, коллеги (поиск по корпоративному каталогу) и бизнес-партнёры (поиск на доверенных серверах).
Минимальное время на адаптацию. Стандартный набор для мессенджера, а именно: сообщения, файлы, звонки, конференции.
Корпоративные чаты и каналы вместо рассылок по почте (можно включить видимость сообщений, опубликованных до присоединения пользователя к каналу).
Определенное управление контентом и пользователями; Аудит событий ИБ и в том числе, при необходимости: статистика по активностям пользователей и режим супервайзера (контроль переписки). А для руководства можно поднять ещё один сервер без контроля (т.е. для всех остальных сотрудников с контролем, ну или тоже без, решайте сами). При выключенном режиме супервайзера даже после его включения (режима) нет возможности проконтролировать более раннюю переписку.
Стоимость корпоративного мессенджера Express на наш взгляд вполне гуманна, а с ростом стоимости доллара и евро будет становиться всё гуманнее и гуманнее, а за работающий продукт всегда лучше заплатить российскому производителю, ведь в итоге это зарплата твоего сокурсника, соседа по району или стране.
Полное исключение страновых и значительное снижение политических рисков
image
(уже стала забываться эпопея с телеграмом, но лучше подержать её в памяти).

И минусы:
Аппаратные требования: они есть; в том числе есть требования к сети.
Время на внедрение. На развёртывание и отладку системы потребуется, пусть и минимальное время, но время, обычно несколько дней. На адаптацию пользователей также нужно пусть и минимальное, но время (ведь пользовательский опыт уже приобретён на других мессенджерах). А вот для того же чат-бота потребуется уже бОльшее время (исчисляемое неделями) и бОльшие ресурсы.
Самостоятельное устранение аварий. Когда сервис по какой-то причине упал (при должной настройке это надо постараться, но сложно ли умеючи), никто за админа не сделает его работу (поддержка, конечно, может поддержать, но свой сервер, своя сеть, свой фаерволл и т.д.). И полноценное общение через этот мессенджер прервётся на время аварии (но другие способы связи никто не отменяет). Т.е. если бизнес сэкономил на отказо-/катастрофо- устойчивости, то будет ещё на один возможный маленький пожар больше.
Новая иконка на смартфоне вместо привычных может вызвать сопротивление юзеров, значение которой гораздо серьезнее, чем может показаться на первый взгляд.

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

AlterOffice возвращается в Единый реестр российских программ?

13.09.2020 10:12:15 | Автор: admin
В мае 2020 года на Хабре достаточно активно обсуждались вопросы, связанные с перипетиями вхождения офисного пакета AlterOffice в Единый реестр российских программ для ЭВМ.
Наиболее популярной стала точка зрения, сводящаяся к тому, что AlterOffice абсолютно справедливо исключен из Единого реестра российских программ для ЭВМ и вообще Эта поделка не имеет ни одного правового основания считаться российской разработкой. Если вдруг это творение снова окажется в Реестре, то перед всей Минцифрой и членами экспертного совета надо будет поднимать вопрос о соответствии занимаемых ими должностей. Альтернативные мнения, сводящиеся к тому, что не все так просто и нужно разбираться широкой поддержки публики не получили.
Летом споры поутихли, все-таки даже во времена коронавируса отпуска и летний отдых никто не отменял, но вот настала осень и свое мнение по данному вопросу высказал Арбитражный суд города Москвы. Маловероятно, что судьи арбитражных судов читают Хабр, поэтому позиция суда несколько разошлась с той позицией, которая преобладала здесь. За деталями прошу под кат.

Прежде, чем перейти к самой новости, напомню, что было в предыдущих сериях.
Для тех, кто не очень в курсе про Единый реестр
Реестр создан на основании Постановления Правительства Российской Федерации от 16.11.2015 Об установлении запрета на допуск программного обеспечения, происходящего из иностранных государств, для целей осуществления закупок для обеспечения государственных и муниципальных нужд и формируется на основании решений Экспертного совета по российскому программному обеспечению. В Экспертный совет поступают заявления от правообладателей, совет рассматривает эти заявления в соответствии с административным регламентом и голосует за включение или невключение ПО в Реестр. С кратким анализом содержимого реестра по состоянию на осень 2019 года можно ознакомиться здесь

Начать надо с того, что офисные приложения, которые хотят попасть в Реестр должны соответствовать дополнительным критериям. Проверку на соответствие этим и другим критериям сейчас осуществляют эксперты собственными силами. Для того, чтобы было легче подавать заявления и проверять Центром компетенций по импортозамещению в сфере ИКТ были выпущены методические рекомендации. А в октябре 2020 года должен заработать новый порядок включения в Реестр, который конечно же решит все проблемы. Предварительную оценку, кстати, будет делать именно Центр компетенций по импортозамещению в сфере ИКТ.
AlterOffice был включен в Единый реестр в мае 2019 года, а уже в ноябре 2019 года исключен из Реестра. Примечательно, что в феврале 2020 года Минцифра вернулась к этому вопросу и уточнила основание исключения AlterOffice из Реестра. При этом есть мнение, что исключение из Реестра могло быть связано с тендером на закупку офисного ПО для Минцифры
Если же отойти от бюрократической и юридической истории вопроса и посмотреть на него с технической точки зрения, то становится понятно, что значительная часть офисного ПО, включенного в Реестр в той или иной степени основывается на Libre Office или Open Office. Хороший анализ некоторых пакетов приведен здесь. Исходя из этого, становятся очевидными все те претензии, которые предъявляются к программам, подобным AlterOffice. Весьма странным, на первый взгляд, выглядит ситуация, когда некто берет ПО с открытым исходным кодом, производит в некоем объеме доработки и включает его в Реестр, одним из требований которого является наличие исключительных прав у заявителя. Логика подсказывает, что куда проще использовать, например, Libre Office, а не его условные клоны или менее зрелые продукты. Однако в реальности все совсем не так
Перенесемся в начало сентября. CNews и D-Russia публикуют новость о том, что Арбитражный суд города Москвы обязал Минцифрцу вернуть Alter Office в Реестр. Вот так дела! Узнав о столь интересном повороте, мы идем на сайт Арбитражного суда, находим там дело А40-114871/2020, читаем резолютивную часть решения, запасаемся попкорном и ждем изготовления решения в полном объеме.
Наконец, 10 сентября публикуется и решение в полном объеме. В мотивировочной части решения, на мой взгляд, никаких сенсационных выводов нет, всем, кто интересовался вопросом, известно, что российский Гражданский кодекс не особо дружит со свободными лицензиями, предпочитая почти не замечать их. Однако в России исключительное право подтверждается путем подачи заявления о включении в Реестр программ для ЭВМ, а статья 1262 ГК РФ говорит о том, что сведения, внесенные в Реестр программ для ЭВМ или в Реестр баз данных, считаются достоверными, поскольку не доказано иное. Ответственность за достоверность предоставленных для государственной регистрации сведений несет заявитель. При этом в составе заявки на включение в Реестр программ для ЭВМ подаются депонируемые материалы, идентифицирующие программу для ЭВМ. Заглянем в Реестр программ для ЭВМ и обнаружим там AlterOffice под номером 2019611306.
К чему было это отступление, а к тому, что суд в обосновании своего решения приводит следующее.
Обществом представлено в материалы дела свидетельство 2019611306 от
24.01.2019 о регистрации программного комплекса AlterOffice в Федеральной службе
по интеллектуальной собственности, что свидетельствует об обладании заявителем
исключительного права на программу для ЭВМ программный комплекс AlterOffice.
В соответствии с п.1 ст.1225 Гражданского кодекса РФ программы для
электронных вычислительных машин (программы для ЭВМ) являются
интеллектуальной собственностью и входят в перечень результатов интеллектуальной
деятельности, которым предоставляется правовая охрана на территории Российской
Федерации.
ООО Алми Партнер, являясь правообладателем Программы, вправе
использовать её по своему усмотрению любым не противоречащим закону способом, в
том числе распоряжаться исключительным правом на неё, а также по своему
усмотрению разрешать или запрещать другим лицам её использование.
Согласно ст.1261 ГК РФ авторские права на все виды программ для ЭВМ (в том
числе на операционные системы и программные комплексы), которые могут быть
выражены на любом языке и в любой форме, включая исходный текст и объектный код,
охраняются так же, как авторские права на произведения литературы.
В силу пункта 6 статьи 1262 Гражданского кодекса РФ сведения, внесенные в
государственный Реестр программ для ЭВМ или в Реестр баз данных, считаются
достоверными.
Суд также принимает во внимание, что исключительные права заявителя на
программное обеспечение AlterOffice не оспорены и не ограничены. Споры,
связанные с защитой нарушенных интеллектуальных прав в отношении Программы,
отсутствуют.
Доказательств обратного суду не представлено.

Как видите, подход судьи Алсупа здесь не применяется. В самом деле не клонировать же суду с GitHub репозитории AlterOffice и Libre Office и не делать их diff. Хотя опыт был бы занятным.
А дальше самое интересное:
Минкомсвязи России в нарушение порядка, установленного п.33, 34 Правил не
представлено надлежащих и допустимых доказательств, в подтверждение указанных
обстоятельств.
Представленные ответчиком замечания экспертов совета, а также результаты
экспертизы ФГУП НИИ Восход указанным требованиям Правил не отвечают, в связи
с чем к замечаниям экспертов совета суд относится критически.
Суд также принимает во внимание то, что согласно имеющемуся в материалах
дела приложению к письму от 16.09.2019 5Д-05/2435 ФГУП НИИ Восход, в
рамках проверки, проводимой по замечаниям эксперта И.И. Массуха и В.В. Рубанова
предполагаемые нарушения лицензии MPL, а именно пункт 3.2 и 3.4. не нашли своего
подтверждения.
Так ФГУП НИИ Восход при Проверки, проводимой по замечаниям эксперта
Рубанова В.В. в соответствии с письмом от 29.08.2019 Р11-1-06-062-20043, по
замечаниям эксперта, в отношении пункта 3.2. лицензии MPL указывает: Результат
проверки ФГУП НИИ Восход в пункте 8.4. файла license, описание получения
исходного кода приведено. Возможность получения исходного кода посредством
личного кабинета проверена, адрес ссылки из личного кабинета
https://github.com/Almipartner/core.
По замечаниям эксперта, в отношении пункта 3.4. лицензии MPL указано:
Результат проверки ФГУП НИИ Восход файл с содержимым присутствует.
В отношении доводов экспертов об отсутствии упоминаний, что программное
обеспечение AlterOffice является производным от продукта, лицензированного на
условиях лицензии MPL, и о соответствующих неотъемлемо наследуемых из лицензии
MPL правах пользователей производного продукта Результат проверки ФГУП НИИ
Восход следующий: по тексту файла license (дословное) соответствие, что данный
продукт является производным от продукта, лицензированного на условиях лицензии
MPL, и о соответствующих неотъемлемо наследуемых из лицензии MPL правах
пользователей производного продукта не найдено, но имеется пункт 8.3. Отдельные
компоненты Программного обеспечения могут содержать ссылки и включения
материалов и программного обеспечения, распространяемых на условиях свободного
лицензирования. В этих случаях Правообладатель не претендует на авторство и, по
мере возможностей, делает сноску на принадлежность авторских прав и
местонахождение лицензионного соглашения такого программного обеспечения, со
схожим значением описанным другими словами.
Таким образом, указанные экспертами совета нарушения были опровергнуты
результатами проверки ФГУП НИИ Восход.
В связи с вышеизложенными обстоятельствами, суд приходит к выводу о том, что
на дату принятия решения об исключении программного обеспечения из Реестра
программа AlterOffice соответствовала всем требованиям, предъявляемым к
программам для включения в Реестр
.

Так что читатель данной статьи может смело идти в личный кабинет на Гитхабе и получать там исходный код, как того и требует MPL. Такие дела.
Полагаю, что высока вероятность обжалования данного решения и мы увидим продолжение этой истории. Возможно, участникам спора даже придется писать в Спортлото.
Замечу, что при всей неоднозначности истории с AlterOffice формирование судебной практики по делам такого рода, на мой взгляд, свидетельствует о положительной динамике. Правила игры могут кого-либо не устраивать, но пускай уж они будут ясными и однозначными.
Подробнее..

Huawei представит собственный браузер, магазин приложений и облачный сервис в рамках обхода санкций США

11.01.2021 16:10:01 | Автор: admin

Китайская компания Huawei вплотную занялась избавлением от проблем со стороны США, то есть обходом санкций, наложенных правительством. Полным ходом идет разработка новых процессоров, собственной ОС и ряда других продуктов.

Так, Huawei приступила к созданию браузера для настольных ПК и ноутбуков. Кроме того, компания в скором времени представит магазин приложений, облачный сервис Huawei Cloud и поддержку мобильных сервисов Huawei Media Services.

Для чего это все?


Прежде всего, новые сервисы, браузер и прочие продукты предназначены для установки на ноутбуки Huawei. Вероятно, компания продолжит выпускать устройства как с ОС Windows, так и с собственной операционной системой на тот случай, если конфликт между странами зайдет дальше и Microsoft откажет в сотрудничестве.

Программные продукты компании станут доступными не только на своих устройствах, но и нанастольных ПК, включая те рабочие станции, что выпущены на базе процессора Kunpeng 920 3211K. В качестве ОС используется Deepin Linux.

Браузер Huawei в основном предназначен для внутреннего рынка Китая на внешнем он вряд ли справится с мощной конкуренцией со стороны других обозревателей. Сейчас в пятерку самых популярных браузеров входят Edge и Internet Explorer от Microsoft с долями рынка 2,98% и 3,01% соответственно (на декабрь 2020 г.), а также Firefox (8,78%) и Safari компании Apple (9%). На первом месте находится Chrome от Google ему принадлежит около 70% рынка браузеров.


А что насчет приложений?


У магазина от Huawei не так много конкурентов, и несмотря на App Store и Microsoft Store, он будет пользоваться популярностью. Просто потому что это альтернативный источник ПО как для китайского, так и для международного рынков.


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

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

Но работа ведется активно, в проект вложено большое количество ресурсов. Huawei заявила о начале разработки собственного магазина приложений еще в 2019 году, на данный момент в него вложено более $1 млрд.

Какую ОС предлагает Huawei?


Об этом хорошо известно компания разработала собственную операционную систему на основе Linux. Существует она в двух вариантах для серверов и десктопов.

Основа системы разрабатываемый много лет дистрибутив Deepin. Ранее он назывался Hiweed Linux, со времени старта разработки в 2004 году. Затем его стала развивать компания Wuhan Deepin Technology. Несмотря на то, что система государственная, она является международным проектом.

В свою очередь, в основе Hiweed Linux Debian Linux. После всех доработок система получила уникальный интерфейс на базе среды рабочего стола DDE (Deepin Desktop Environment) и несколько десятков предустановленных утилит, большинство из которых разработаны китайцами. В список предустанавливаемого ПО входит файловый менеджер Deepin File Manager и видеоплеер DMovie. Кроме того, частью этой системы является офисный пакет WPS Office.

Ноутбуки и новый процессор


В ближайшее время Huawei запустит продажу нового ноутбука на основе ARM-процессора Kirin 990 и без ОС Windows. Смонтирован он в корпусе MateBook 14. Ноутбук называется Qingyun L410.


Процессор разработан на базе 7-нм технологии, называется он Kirin 990. Для ускорения процесса разработки Huawei не создавала устройство с нуля, а просто изменила базу под чипы Intel для ARM-архитектуры. В качестве основы Huawei использовала модель MateBook B5-420, которая считается премиум-моделью. Она же смонтирована в корпусе MateBook 14, так что логично, что Qingyun L410 смонтирован в нем же.

У Huawei есть и собственная мобильная ОС


Кроме операционной системы для ноутбуков, китайская компания работает и над альтернативой Android. ОС для мобильных называется HarmonyOS 2.0. Предназначена она для установки на планшеты, часы и смартфоны Huawei. Здесь проблема тоже в санкциях у китайцев нет доступа к сервисам Google.

Сейчас Huawei опубликовала бета-версию этой ОС для разработчиков, подготовив сборки для смартфонов Huawei P40, P40 Pro, Mate 30 и Mate 30 Pro, а также для планшета MatePad Pro. Пользовательский интерфейс базируется на оболочке EMUI 11. Первые гаджеты с этой операционной системой поступят в продажу в октябре 2021 года.


Насколько можно судить, Huawei не планирует отказываться от своих продуктов даже в том случае, если санкции снимут. Руководитель австрийского подразделения Huawei Фред Ванфэй на пресс-конференции в Вене заявил следующее: Мы бы хотели и далее использовать открытую экосистему Android. Но, если нам не предоставят такой возможности, мы будем развивать собственную экосистему альтернативных программных продуктов.

Подробнее..

Бриз перемен опыт внедрения Р7-Офис в энергетической компании

02.03.2021 10:09:04 | Автор: admin
Вслед за госорганами импортозамещение добралось и до компаний с государственным участием. В этой статье расскажем, как внедряли отечественный офисный пакет Р7-Офис в Дальневосточной генерирующей компании, меняли мировоззрение пользователей и боролись с негативом.

Источник

О заказчике


Дальневосточная генерирующая компания (сокращенно ДГК) является четвертой по величине установленной мощности региональной генерирующей компанией России и ведущей энергогенерирующей компанией на Дальнем Востоке. Охват зоны деятельности компании составляет десятую часть от всей территории РФ. Дальневосточная генерирующая компания входит в группу компаний РусГидро.

Согласно директиве правительства от 6 декабря 2018 г., госкомпаниям предписано в течение двух месяцев подготовить и утвердить план перехода на российское ПО до 2021 г. По решению совета директоров в июне 2019 года Дальневосточная генерирующая компания присоединилась к директиве правительства, и управлению ИТ и связи пришлось озаботиться этим вопросом.

Еще не ветер


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

Не будем сейчас говорить про муки выбора да, они были. Но выбор сделан, и, наверное, мы не ошиблись ведь со светом на Дальнем Востоке все в порядке.

Текущее состояние проекта


  • Отечественный офисный пакет Р7-Офис Профессиональный установлен на 1400 персональных компьютерах АО ДГК в дополнение к офису от Microsoft. Это позволяет пользователям постепенно знакомиться с продуктом.
  • Проведено обучение специалистов поддержки пользователей по продуктам Р7.
  • Р7 установлен как основной и единственный офисный пакет на более чем 300 машинах с операционной системой РЕД ОС. Некоторым пользователям предоставляется терминальный доступ к офисным продуктам Microsoft.
  • Установлен и проходит опытную эксплуатацию Р7-Офис Сервер, предназначенный для совместной работы с документами в офисном пакете Р7-Офис Профессиональный, также предоставляющий возможность доступа к общим документам с мобильных устройств и через веб-браузеры.
  • Давайте поговорим об опыте, который мы получили в процессе внедрения Р7-Офис, и о тех подводных камнях, с которыми, возможно, и вам придется столкнуться, если тема перехода на российское ПО для вас тоже актуальна.

Называть вещи своими именами


Когда какой-то один производитель становится суперуспешным в своей нише, его фирменное название становится нарицательным. Так случилось с компанией Xerox мы стали называть все копировальные аппараты ксероксами. Аналогичная история с офисными документами формат файла стал прочно ассоциироваться с наиболее популярным приложением. Часто так и пишут: прошу предоставить документы в формате Word и Excel, а не .docx и .xlsx.

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

На самом деле .docx и .xlsx это открытые форматы семейства Office Open XML (OOXML). Это давно не собственность Microsoft, а уже как 12 лет международный стандарт ISO / IEC 29500: 2008. За это время независимые разработчики научились прекрасно его поддерживать, и теперь вам совершенно не обязательно покупать офисный пакет только от компании из США.

Но сила привычки очень велика, особенно если это привычка руководства. Бывает, что даже из высоких инстанций приходят строгие письма, где конкретно требуют предоставить ответ в формате Word. Естественно, что ваш сотрудник может растеряться: Если мне поставят Р7-Офис, как же я исполню поручение?

Поэтому нужно заблаговременно менять мировоззрение пользователей, объяснять им, что такое формат файла, и что есть другие программы, которые его поддерживают, не только Word и Excel. В нашем случае Р7-Офис.

Все говорят, что пользуются макросами, и ты говори


Пользователи бывают не только пугливы, но и хитры (как им кажется). Прознав по сарафанному радио о том, что макросы из MS Office не переносятся автоматически в Р7-Офис, они могут сказать, что макросы им позарез нужны (хотя они их в глаза не видели), и по этой причине им никак нельзя ставить отечественный продукт. Конечно, эта ложь наивна, но можно простить им эти незамысловатые ухищрения, на которые они идут, чтобы оттянуть момент миграции. Иногда людям нужно чуть больше времени, чтобы принять изменения.

Обычно макросами пользуются 15-20% сотрудников в компании. К ним нужно отнестись очень внимательно. В большинстве своем это довольно простые вещи, которые не составит труда воспроизвести на новой платформе и здесь надо просто помочь, ибо переход с VBA на JavaScript все-таки не совсем тривиальное упражнение. И давайте без фанатизма макросы, особенно в Excel, могут быть очень навороченными и ценными с точки зрения бизнеса. В таком случае будет разумнее оставить человека в покое.

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

Как быть со шрифтами


До сих пор во многих ГОСТАх и во многих регламентных документах в компаниях прописаны шрифты Times New Roman и Courier New. Это шрифты, которые поставляются совместно с продуктами Microsoft и являются проприетарными. Если вы переводите своих пользователей с Windows на российские операционные системы на основе Linux, то этих шрифтов у вас не будет, дистрибутив Р7 их тоже не содержит. Тем не менее, открыть документ с этими шрифтами у вас получится, а вот создать новый нет.

Технически проблема решаема существуют отечественные шрифты, которые являются полными метрическими аналогами Times New Roman. Это значит, что их применение вместо родного шрифта от Microsoft не приведет к искажению документов. Например, можно взять PT Astra Serif и PT Astra Sans, разработанные НПО РусБИТех и НПП ПараТайп, или шрифтовой набор XO_Fonts от компании Новые облачные технологии. И те, и другие распространяются бесплатно. Но тут возникает проблема обратной совместимости, отправляя документ с такими шрифтами в организацию, в которой стоят офисные пакеты MS и этих шрифтов нет, проблемы могут быть у принимающей стороны.

При этом проблема все равно остается, ведь если в регламенте или стандарте четко сказано использовать Times New Roman, значит, он и должен быть. Ведь никогда не знаешь, насколько дотошными могут оказаться разнообразные ревизоры еще скажут, что документ оформлен ненадлежащим образом и доказывай потом, что хотел как лучше, отечественный софт и все такое А вдруг не сработает?

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

Привычка свыше нам дана


Когда началось внедрение Р7-Офис в подразделениях ДГК, нас буквально завалили служебными записками пользователи, которых лишили привычного инструмента. Иногда даже в знак протеста пишут от руки, чтобы показать, как они страдают от нововведений. Многое из того, что в них написано, реально Р7-Офиса не касается ведь пользователи еще получили новую операционную систему. А кому-то просто обидно, что он стал участником этого эксперимента, в то время как коллеги работают как раньше.

Мы сохраняем эти документы, чтобы через год достать, показать им и спросить: Ну что, проблемы ушли? Потому что мы уверены на все сто, что все получится.

Да, встречаются баги, которые раздражают. Например, год назад нельзя было добавить в словарь новые слова по правой кнопке мыши, как это делается в Word. А в энергетике много специальной терминологии, и весь документ из-за этого выглядит красным Р7 воспринимает эти слова как ошибочные. И это жутко раздражает. Если честно мы вообще не понимаем, в чем тут проблема.

Еще пользователи поначалу могут упрекать новый продукт в медлительности. Однако факты этого не подтверждают, в целом Р7-Офис работает не менее быстро, чем импортный аналог. Здесь все дело в привычке в знакомой среде человек действует на автомате, быстрее попадает по клавишам и щелкает мышкой. Просто поменяйте клавиатуру в своей голове, и будет такой же эффект временного замедления работы.

Так что первую волну жалоб нужно просто переждать. А потом пользователи привыкнут к новому продукту и будут счастливы.

Ты же программист Скажи, какой офис поставить на мобильный?


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

Приложение Р7 бесплатное, оно не содержит рекламы и открывает три набора документов (тексты, таблицы и презентации), позволяет их редактировать. Что еще нужно на мобильном телефоне? Там нормальная верстка, поддерживаются все шрифты. Попробуйте. Это удобно, даже если вам совсем не важно импортозамещение.

Не бросай одного его


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

Поэтому очень важно провести обучение собственных специалистов. Когда ваша первая линия техподдержки отвечает Я не знаю, как это сделать это стыдно. Не знаете, как кавычки ёлочкой поставить, как таблицу правильно отформатировать? Потому что вы и есть те (имею в виду ИТ-специалистов первой линии), кто в принципе создает впечатление о новом софте. Если вы не умеете этот программный продукт внутри компании презентовать, продвигать, настраивать и обслуживать, то он никогда не взлетит.

Не делайте из пользователей подопытных кроликов, начинайте с установки Р7 в ИТ-отделе. Это залог успеха в переводе всей организации на новые рельсы. Иначе сотрудники будут смотреть на вас косо дескать, себе оставили что получше, а нам даете какую-то ерунду. Да и с поддержкой вопрос закроется почти автоматически, любой айтишник сможет помочь пользователю.

Под лежачий камень вода не течет


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

И хотя расстояние от Хабаровска до Нижнего Новгорода, где находится штаб-квартира вендора Р7, всего на тысячу с лишним километров меньше, чем до Редмонда, где сидят программисты Microsoft (5784 и 7008 км соответственно), разница в коммуникациях колоссальна.

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

Например, еще недавно, откроем вам секрет, Р7-Офис не умел открывать две таблицы в соседних окнах. Буквально два месяца прошло он стал уметь: теперь мы рядом открываем два файла, из одного в другой копируем, все прекрасно.

Используйте ресурсы интегратора


Надо понимать, как устроен ИТ-рынок, и извлекать из этого пользу. Есть вендор и есть интеграторы (например, в ЛАНИТ есть центр компетенции по офисному ПО), и у них специально выделены ресурсы на продвижение продукта. Пользуйтесь этим. Организуйте тестирование продукта, пишите технические задания, внедряйте вместе с ними, просите помочь вам с обучением, с документацией.

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

Ну и напоследок: не задавайтесь! Мы все люди, все делаем ошибки, и тем не менее, все у нас получится. Кстати, демоверсию Р7-Офис можно найти здесь.

Статья написана в соавторстве с degpa.
Подробнее..

Циски есть? А если найду?.. про не такой уж и далёкий 2037й год

26.04.2021 14:21:23 | Автор: admin

ПРОЛОГ. В корпорации идёт обыск. У парадного входа с колоннами стоит вереница тёмно-синих, c глухой тонировкой микроавтобусов Volkswagen transporter. Рядом с ними курят пара человек в штатском, большинство внутри здания. ИТ-директор предприятия ходит из угла в угол своего кабинета, откуда его вежливо, но очень сухо попросили никуда не выходить, Вас обязательно вызовут резануло его слух и с тех пор не выходило из головы. Ожидание страшнее казни, вспомнился Федор Михайлович. В его голове крутился один вопрос найдут или не найдут. Конечно, основное телеком-оборудование он давно поменял на отечественное, но во втором ЦОД-е и в парочке удаленных серверных оставалось еще несколько цисок и пара блейдов хьюлета всё еще использовались в качестве файловых помоек

Вернёмся в наши дни: 21 декабря 2019 года было принято постановление 1746 Об установлении запрета на допуск отдельных видов товаров, происходящих из иностранных государств. Для того чтобы показать серьезность намерений государства в части изменения политики закупок иностранного оборудования сначала направляли письма с рекомендациями следовать букве постановления 1746, а затем и вызовы на ковер тех ИТ-руководителей оборонных и финансовых учреждений с госучастием, кто продолжал закупать импортную вычислительное и телеком-оборудование.

Каждый раз наблюдая недостаточную эффективность действий по импортозамещению, правительство закручивало гайки сильнее:

  • Было внесено изменение в постановление 145, о правилах использования каталога товаров, работ, услуг для обеспечения государственных и муниципальных нужд.

  • Для закупок по 44 ФЗ приняты постановления 878, 961, 2013 (Третий лишний, Предел для Единственного поставщика, О минимальной доле закупок товаров российского происхождения)

  • Для закупок по 223 ФЗ - постановления 925, 878, 2014 (Приоритет товаров российского происхождения, Третий лишний, О минимальной обязательной доле закупок российских товаров).

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

  • Для определения российского происхождения ПП РФ 719 от 10.07.2015 и др. Вроде бы и не связанные напрямую, но, по сути, имеющее отношение к законам о закупках, т.к. позволяют юридически определить, что является Российским, а что нет.

    Перечислим основные реестры российского:

    Для ПО используется реестр МинЦифры: https://reestr.digital.gov.ru/.

    Для промышленной продукции реестр МинПромТорга: https://gisp.gov.ru/pp719v2/pub/prod/.

    Для радиоэлектронной продукции ещё один реестр, Единый реестр российской радиоэлектронной продукции: https://gisp.gov.ru/documents/10546664/. Заметим, что с погрешностью в десять дней, указанная в нём продукция будет являться частью реестра МинПромТорга.

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

Например, с 01.07.2020 при использовании КТРУ заказчикам запрещено указывать дополнительную информацию, а также дополнительные потребительские свойства, технические, качественные, эксплуатационные характеристики радиоэлектронной продукции. Проблема оказалась в том, что КТРУ зачастую содержит минимальное описание характеристик товара, которое не позволяет полноценно определить необходимый заказчику объект закупки. В то же время наличие хоть какого-то описания товара в позиции каталога лишает заказчика возможности сформировать такое описание полностью самостоятельно.

Как поступают заказчики в этих реалиях?

  1. Используют КТРУ максимально прямо. Есть случаи, когда заказчик получает то, на что он рассчитывал, но это в большинстве случаев получается наоборот.

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

  3. Закупают вместо оборудования услуги (например, по модернизации), т.к. услуги сами по себе в КТРУ не включены, следовательно, описывать товары, используемые при оказании таких работ и услуг нет необходимости, т.к. они не выступают самостоятельным объектом закупки.

  4. Производят различные действия с составом спецификации закупки (объединяют, наоборот разбивают, используют альтернативные варианты продуктов с другими кодами КТРУ) и т.д.

  5. Применяя КТРУ, обосновывают указание дополнительной информации (при этом морально готовы отстаивать свое обоснование в ФАС). Ниже пример такого обоснования:

Еще один пример - невозможность закупать по 44-ФЗ автоматизированное рабочее место и ПО. Наиболее безопасный для заказчика вариант - закупать компьютерное оборудование (АРМ) и программное обеспечение (в т.ч. операционные системы) порознь. В тех случаях, когда это технически невозможно (например, если планируемые к закупке компьютеры в принципе не продаются без операционных систем), заказчику нужно быть готовым доказать правомерность формирования "объединенного" лота.

При этом, закупки ПАК проходят без вопросов со стороны ФАС, например - поставка программно-аппаратного комплекса ВКС Минздрава России для обеспечения выполнения задач ситуационного центра.

Указан состав ПАК (сервер, мониторы, беспроводная система презентаций и др.). Ряд из этих товаров есть в КТРУ (Сервер 26.20.14.000-00000189 и др.) На поступившую жалобу - не описаны компоненты по КТРУ - ФАС ответила, что заказчик прав, так как предмет закупки ПАК в КТРУ отсутствует.

Давайте изучим саму процедуру закупки.

Взависимости отисточника дохода, гос.заказчики могут проводить закупки по44-ФЗ (если организация тратит бюджетные деньги) ипо223-ФЗ (если тратит собственные иунее есть положение озакупках).

Посмотрим, какие этапы проходит бюджетное учреждение при закупке радиоэлектронного оборудования по 44-ФЗ:

Как можно заметить, чисто технических блоков (зелёные), которые напрямую зависят от технического специалиста всего несколько. И есть пара блоков (красные), которые, наоборот, оказывают значительное влияние на техническую составляющую закупок (а не зависят от технического специалиста, скорее он от них). Блоков, в которых может потребоваться его участие как технического специалиста (желтые), уже побольше. Остальные блоки (белые) скорее организационные: они не особо пересекаются с технической составляющей закупок, но их необходимо исполнять/соблюдать для корректного осуществления закупок по 44-ФЗ (или по 223-ФЗ для второй схемы).

Ключевая техническая составляющая закупки это ТЗ. От предварительного до финального. Здесь для инженера важно, чтобы объект закупки действительно решал поставленную задачу, интегрировался в существующий ландшафт, позволял попадать в различные требуемые RPO/RTO и т.д. А ещё хочется, чтобы он был удобен в эксплуатации, администрировании, обслуживании. Сюда же отнесём не совсем технический вопрос: целевое расходование средств; т.е. задача, должна быть выполнена, но нет смысла в звездолёте, там, где достаточно обычной машинки.

Строгий закон 44-ФЗ, по которому обязаны проводить закупки государственные и муниципальные заказчики, порождает весьма ограниченный выбор закупаемого оборудования.

В отличие от него, работа по 223-ФЗ предполагает:

  • что заказчикисамостоятельно разрабатывают правила проведения закупочных процедур, которые прописывают вПоложении о закупке;

  • что лицом, которому поручены закупки, может бытьлюбой специалист организации(профильного образования не требуется);

  • что торги могут быть организованына любых электронных торговых площадках(их насчитывается более 150).

Закупка радиоэлектронного оборудования по 223-ФЗ:

Но, и в случае закупки по 223 заказчику надо учитывать несколько неприятных моментов:

1. При проведении аукционов, либо других закупок с пошаговым снижением, победитель с радиоэлектронной продукцией из иностранного государства должен будет снизить свою ценуна 30%. Т.е. эти 30% надо закладывать в стоимость лота. (ПП 925)

2. Правила квотирования закупок. С1января 2021 года для товаров российского происхождения (из Реестра промышленной продукции и Реестра российской радиоэлектронной продукции) установлена минимальная доля (впроцентах) кобъему закупок, осуществленных заказчиком вотчетном году.

Таким образом, если понадобится купить нормальный ноутбук (1 шт.), заказчику придется купить к нему ещё один. И не просто отечественной отвёрточной сборки, но и зарегистрированный в реестре Минпромторга. (ПП 2013)

Однако, постановление 2013 пока не предусматривает обязанность заказчика составлять какой-либо отчет о достижении им минимальной доли и размещать сведения о достижении доли в ЕИС.

На день подготовки настоящего материала, законодательство Российской Федерации также не предусматривает мер ответственности для заказчика за недостижении им установленной минимальной доли.

Мы предполагаем, что требования об исполнении минимальных долей могут быть предъявлены директивами Правительства к хозяйственным обществам, доля участия в которых Российской Федерации превышает 50%. Возможно, что такие директивы также затронут деятельность госкорпораций.

Перед теми, кто закупает по 44 и 223 ФЗ сейчас стоит выбор:

Вариант 1: стоять на своём, закупать то, что нравится, что проверено, наиболее знакомо, наименее непривычно и/или неудобно. Каким бы ни был курс доллара.

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

Вариант 3: знакомиться с отечественными решениями и закупать подходящее. В это верится с трудом, но есть работающие отечественные разработки, сопоставимые по цене или дешевле импортных. Особенно это касается ПО, т.к. импортное ПО с этого года стало облагаться НДС 20%, а российское осталось безНДС-ным. Таким образом комбинируя закупки отечественного и импортного и волки сыты и овцы целы.

* Давать универсальные советы в этой сфере дело абсолютно провальное и рискованное. Слишком много различных деталей, серьезно влияющих на принятие решений:

- сфера деятельности предприятия санкционное ли оно и насколько, ретивость/пассивность 1-го отдела, и насколько резко оно может стать санкционным, когда ретроспективно могут вспомнить про несоблюдение нормативов и т.д.

- политика партии руководства предприятия да, многое зависит от установок директора (от злостного игнорирования всех постановлений, до прямо противоположной паранойи)

- задачи, решаемые ИТ-департаментом (технический аспект) привязка к сформировавшемуся ландшафту и т.д.

- бюджет ну куда ж без него

- способности/желание/гибкость ИТ-персонала к исследованию и внедрению новых решений привыкший/замотивированный к определенному вендору специалист очень весомый фактор

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

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

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru