CNews Cloud: Облачные сервисы

Microsoft отказывается от C#. Фундаментальный компонент Office 365 будет переписан на языке Rust, обожаемом хакерами

Бизнес Кадры Цифровизация Бизнес-приложения Техника Облака
, Текст: Дмитрий Степанов
Microsoft продолжает переписывать отдельные элементы собственной экосистемы программных продуктов на модном типобезопасном языке программирования Rust. На этот раз целью глобальной корпорации стал фундаментальный серверный компонент, обеспечивающий работу набора облачных сервисов Microsoft 365 (ранее именовался Office 365). Под эту задачу «Гигант из Редмонда» формирует отдельную команду и ищет высококвалифицированных архитекторов ПО, владеющих C# и, собственно, Rust.

Microsoft 365 «под капотом» переведут на Rust

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

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

В обязанности потенциального сотрудника будут входить «определение направления развития технических аспектов [M365], проектирование и реализация библиотек компонентов Rust, SDK, а также перевод существующих глобальных сервисов на основе C# на Rust», следует из текста объявления.

mic600_1.jpg
Фото: Microsoft
Microsoft планирует переписать наследника Office 365 на Rust

C# – это язык программирования с C-подобным синтаксисом, разработанный Microsoft. Является основным языком разработки приложений для платформ Microsoft .NET Framework и .NET Core.

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

Работа в Праге с возможностью частичной «удаленки»

Фактически работодателем в данном случае выступает группа Substrate App Platform, входящая в структуру организации M365 Core Platform. Последняя является частью Microsoft, разрабатывает и поддерживает серверные компоненты платформы Microsoft 365.

Substrate App Platform в свою очередь ведет работу над Microsoft Substrate. Это специальная служба управления данными сервисов Microsoft 365, которая оперирует незаметно для пользователя, но тем не менее играет важную роль в обеспечении функционирования применяемых им облачных служб.

Соискателю следует иметь в виду, что выполнять свои обязанности в случае успеха на собеседовании придется из офиса в Праге (Чехия), причем проводить в нем понадобится как минимум 50% от совокупного рабочего времени. Остальные 50% и менее разрешается расходовать на работу в удаленном режиме – по договоренности с работодателем.

Вакансия была размещена 26 января 2024 г. и, судя по тому, что на момент публикации данного материала не была удалена с сайта Microsoft, остается актуальной.

Новая команда разработчиков

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

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

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

Что такое Microsoft 365

Microsoft 365 (M365) представляет собой набор облачных сервисов и приложений для бизнеса и коммуникаций, доступ к которому предоставляется по подписке. В перечень ПО, входящего в состав набора входят в том числе редакторы документов Word, Excel и PowerPoint.

До осени 2022 г. продукт назывался Microsoft Office 365, однако затем «Гигант из Редмонда» принял решение о его переименовании и обогащении новыми возможностями.

Об интересе к Rust со стороны Microsoft

Рассматривать возможность переноса кода собственных проектов на современные типобезопасные языке в Microsoft начали не позднее 2019 г. В декабре 2019 г. CNews писал о том, что специалисты «Редмондского гиганта» разрабатывают новый язык программирования под кодовым названием Verona, который базируется на Rust.

Непосредственно с Rust в Microsoft начали экспериментировать летом 2019 г., а в ноябре того же года Адам Берч (Adam Burch), программист из команды разработчиков Hyper-V (системы аппаратной виртуализации для x64-систем на основе гипервизора), написал в корпоративном блоге о том, что ему поручили переписать на Rust некий низкоуровневый компонент Windows. Он также отметил, что опыт применения Rust для него оказался в целом положительным.

Серьезность планов Microsoft по переходу на Rust подтвердило заявление Дэвида Уэстона (David Weston), вице-президента корпорации по безопасности, о том, что специалисты компании компании переписывают на Rust отдельные составляющие операционной системы Windows 11. Переработке подверглись такие компоненты как Win32k GDI и DWriteCore.

Стоит также отметить, что Microsoft входит в число участников Rust Foundation, наделенных «платиновым» статусом. Эта организация определяет вектор развития языка программирования Rust.

Некоторые факты о Rust

Rust появился в 2006 г. как личный проекта Грейдона Хоара (Graydon Hoare), сотрудника Mozilla. В 2009 г. Mozilla начала спонсировать разработку Rust для собственных нужд, а также расширила команду для дальнейшего развития языка.

Интерес Mozilla к Rust был вызван наличием огромного числа критических уязвимостей в разрабатываемом компанией браузере Firefox, в реализации которого присутствовало свыше 4 млн строк на языке C++. Rust был создан с учетом требований безопасности и параллелизма, что сделало его подходящим выбором для переписывания многих компонентов Firefox в рамках проекта Quantum по полной переработке архитектуры браузера. Кроме того, Mozilla использовала Rust для разработки Servo, движка рендеринга HTML, который должен был заменить действующий движок рендеринга Firefox.

Помимо Mozilla и Microsoft в своих проектах Rust применяют Google, Amazon, Dropbox, Fastly, Baidu.

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

В рейтинге популярности языков программирования TIOBE в январе 2024 г. Rust занял 19 строчку, уступив Python, C, C++, Java, C#, JavaScript, PHP и даже Fortran.