«Открытые системы»

Наступление нового века в компьютерном мире совпало с неожиданным обнаружением проблемы сложности на самых разных уровнях. На микроуровне это касается микропроцессоров, на среднем — привело к росту популярности программного обеспечения промежуточного слоя, на макроуровне это связано с Web-сервисами. В деле борьбы со сложностью в Microsoft особые надежды связывают с методами формального моделирования, которые позволят решить проблемы взаимодействия компонентов. Корпорация намерена гораздо шире применять формальные методы для построения систем и систем, состоящих из систем
Эрик Раддер: «Современные средства разработки позволяют легче, чем прежде, адаптировать формальные методы моделирования, которые созданы в других инженерных дисциплинах»

Для того чтобы принять участие в конференции Microsoft «Платформа 2006. Определяя будущее», Москву посетил Эрик Раддер, который занимает пост старшего вице-президента серверного подразделения корпорации, а также отвечает за развитие взаимодействия с разработчиками. Основное внимание Раддер и его команда уделяют координации общей модели программирования для клиентских и серверных приложений, разработке оптимальных инструментов для платформы .Net и расширению функций Windows, приближающих ее к серверным операционным системам Windows Server System. Накануне открытия конференции Раддер ответил на несколько вопросов еженедельника Computerworld Россия.

Сейчас вы работаете в непосредственном контакте с Биллом Гейтсом, этим могут похвастаться немногие…

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

Какова цель вашего визита в Россию?

За минувший год это мой третий визит в Россию, что свидетельствует о значении местного рынка для нашей компании. Дважды я говорил о грядущем выпуске новых версий Visual Studio 2005 и SQL Server 2005, а в этот раз мы будем отмечать выпуск этих продуктов в продажу. Я стараюсь максимально способствовать развитию внутрироссийской экосистемы Microsoft, в том числе поддерживать уже созданные и создаваемые группы пользователей. Ну и, естественно, положение обязывает — встречи с чиновниками, представителями бизнеса, студентами. Этот вид деятельности тоже крайне необходим, поскольку на протяжении последних нескольких лет мы последовательно увеличиваем инвестиции в российский рынок и нам нужна обратная связь.

Насколько велико влияние специалистов из России на новые разработки Microsoft? Некоторые склонны преувеличивать «русский фактор», другие — преуменьшать, каково положение на самом деле?

Для нас важны все партнеры во всех странах, в том числе и в России. Что же касается ситуации внутри корпорации, то, к примеру, в том подразделении, которое мне ближе и которое, как я уже говорил, занимается серверными продуктами и инструментальными средствами, влияние выходцев из России очень заметно. В первую очередь я бы отметил Кирилла Фаенова, специализирующегося в области высокопроизводительных вычислений, а также его тезку Кирилла Татаринова, возглавляющего работы, связанные с управлением. Сейчас Татаринов расширяет сферу своей деятельности; в нее теперь попадают решения, связанные с виртуализацией и системами хранения данных. А всего только в штаб-квартире Microsoft работает более 800 программистов с русскими корнями, и их, видимо, будет больше. Но еще быстрее растет локальный штат специалистов, я думаю, в этом году мы примем на работу еще около сотни человек.

По моим наблюдениям, XXI век в мире компьютерных систем начался в 2005 году. Что бы вы назвали в качестве самых важных событий этого года в ИТ-индустрии вообще и для Microsoft в частности?

Очевидным признаком «информационных технологий XXI века» является новый уровень развития Internet. Рост темпов подключения людей, информации, систем и устройств к Сети очень велик — посмотрите на количество россиян, подключившихся к Сети за пять последних лет. Еще одним зримым признаком стало развитие технологий Web-сервисов. Это первый случай в истории информационных технологий, когда образовалась экосистема, объединяющая всех основных вендоров, ориентирующаяся на единый набор стандартов. И конечно же, в последние годы наблюдаются колоссальные изменения во всем спектре аппаратного обеспечения, от мобильных устройств, до высокопроизводительных вычислений, где происходит массовый переход на 64-разрядные микропроцессоры.

Как вам видится состояние дел в области Web-сервисов на начало 2006 года?

Идея сервисов как способ переноса данных из точки А в точку В за несколько лет не сильно изменилась, приобрела новые качества: безопасность, надежность, возможность выполнения транзакций. Организации и отдельные потребители теперь могут относиться к сервисам с большим доверием. Кроме того, нужно отметить огромный прогресс в области инструментальных средств создания сервис-ориентированных архитектур (SOA). Достижение этой цели было одним из главных желаний Microsoft при создании Visual Studio 2005. Используя этот инструментарий, легче и проще писать для SOA, важно подчеркнуть, что полученные в результате системы будут управляемы со стороны Web-сервисов. Все это происходит на фоне того, что технические возможности для поддержания систем в архитектуре SOA перестали быть ограничением. Теперь, когда запас по производительности имеется, фокус смещается с собственно технических решений на то, чтобы сделать эти решения привлекательными, чтобы с ними можно было работать с самых разных устройств и т. д.

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

Я согласен с тем, что сложность повышается от микроуровня до макроуровня. Действительно, для борьбы со сложностью мы интуитивно использовали технику деления целого на составные части. С этой точки зрения сервисы — всего лишь другое название для компонентов, и действительно сложность переносится в инфраструктуру, во взаимодействие между компонентами, между сервисами. И, если провести сравнение компьютерной науки с другими научными дисциплинами, то мы обнаружим, что, несмотря на видимый прогресс, мы существенно отстаем по уровню формализации. Я думаю, что для решения проблемы сложности нам следует адаптировать те методы, которые разработаны в других отраслях инженерных знаний. Одна из надежд связана с методами формального моделирования, которые позволят решить проблемы взаимодействия компонентов. Эта надежда основывается на том, что современные средства разработки можно проще, чем прежде, связать с формальными методами. Я думаю, что наступил момент, когда мы можем расширить применение формальных методов, сократив целые классы потенциальных ошибок. Простой пример: в Visual Studio 2005 можно явным образом описать окружение, в котором будет работать решение. Если разработчик нарушит каким-то образом границы описанной среды, то уже в процессе разработки он будет об этом уведомлен. В будущем мы намерены гораздо шире применять формальные методы для построения систем и систем, состоящих из систем. Я думаю, это та область, на которую мы должны обратить свое внимание в ближайшие годы.

Это ваше замечание невольно затрагивает вопрос образования. Узкое специализированное обучение ИТ-специалистов, доминирующее в последние годы, дает прекрасные практические навыки, но по системной подготовке существенно уступает тому, как учили 20 или 30 лет назад…

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