Брайан Валентайн о Windows Server 2003
Новый продукт Microsoft свидетельствует об изменении приоритетов компании.

С наступлением завершающего этапа разработки нового серверного продукта Microsoft — Windows Server 2003 — пришло время обсудить этот самый сложный на сегодня и максимально ориентированный на интересы клиента серверный продукт Windows. В приведенном ниже интервью старший вице-президент подразделения «Продукты Windows» в Microsoft Брайан Валентайн рассказывает о ходе разработки Windows Server 2003, об изменениях в организации рабочего процесса и о будущем Windows. С Брайаном Валентайном беседует Поль Тюрро.

Поль Тюрро (ПТ): Чем с точки зрения процесса разработки Windows Server 2003 отличается от предыдущих версий Windows? Что происходит с повышением уровня сложности продуктов Windows — с каждой новой редакцией увеличивается время, затрачиваемое на разработку, или просто растет число разработчиков?

Брайан Валентайн (БВ): Создание Windows 2000 было связано с большими затратами сил и средств. Однако организация процесса разработки оставляла желать лучшего. Эффективность работы, инструментальные средства и производительность я бы оценил очень низко. Мы создали замечательный продукт, но с огромными затратами энергии.

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

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

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

У Microsoft есть ряд клиентов, в том числе партнеры в рамках программы Joint Development Program (JDP), с которыми компания взаимодействует ежедневно. С такими клиентами проводятся совместные совещания на протяжении всего этапа проектирования, что помогает нам принимать приоритетные решения по конкретным элементам, вводимым в создаваемый продукт. На этапе завершения процесса, т. е. на той стадии, на которой сегодня находится Windows Server 2003, такие клиенты заблаговременно развертывают продукт и организуют его тестирование в производственной среде. Результаты отражаются непосредственно на процессе разработки и на поставке продукта.

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

БВ: Да, подход к рабочему процессу принципиально изменился. Мы привыкли говорить: «На сделанную работу спрос будет». Однако ситуация изменилась — теперь приходится привлекать клиентов, гарантировать им высокое качество продуктов и предоставлять «карту» наращивания платформ. Мы должны быть наготове в случае любых перемен. Это подразумевает многое, в частности обеспечение оптимальной управляемости, наивысшего качества (безусловно, с учетом аспектов защиты), быстроты развертывания и т. д.

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

ПТ: Над какими продуктами Вам приходилось работать и какова была Ваша роль в деле разработки Windows Server 2003?

БВ: Я пришел в Microsoft в августе 1987 г. на должность руководителя испытаниями для OS/2 (проект LAN Manager), затем перешел в коллектив разработки приложений Workgroup Application Group, который со временем стал группой Exchange Server. В конце 1998 г. мне предложили возглавить разработку Windows 2000. В процессе работы над Windows 2000 мне пришлось приложить руку к каждому элементу этого семейства, так что теперь я имею отношение к любому продукту, в чьем названии есть слово Windows. По существу, в группе Windows Server 2003 я являюсь лицом, принимающим окончательные решения. Дэйв Томпсон (вице-президент) управляет текущими делами, связанными с проектом. Он отвечает за любые технические вопросы и взаимодействует с Биллом (Вегте, вице-президентом группы Windows Server; см. врезку «Возвращаясь к истокам NT»). Любой вопрос, требующий ответа, в конце концов, приходит ко мне, и я провожу все решающие обсуждения. Чтобы оценить состояние проекта, я беседую с руководителем групповых программ Ианом Макдональдом и руководителем группы исследований и разработки Тодом Ванке после каждого совещания группы War Team. Группа War Team состоит из большого числа специалистов по Windows, каждый из которых отвечает за свои части проекта. Группа собирается несколько раз в течение дня с целью анализа ошибок, выявленных в готовящейся редакции.

Моя история неразрывно связана с руководством сложными проектами. Процесс построения законченной среды я интерпретирую не просто как создание продукта, а как образ жизни. Каждый должен чувствовать свою причастность к этому процессу. Продукт должен содержать некую «изюминку», поскольку мы создаем такие вещи, которые другие не имеют возможности создавать. Поэтому мои функции не ограничиваются руководством проекта. Я должен поддерживать в своих сотрудниках профессиональную гордость и брать на себя принятие окончательных решений. Стив (Балмер, генеральный директор), Билл (Гейтс, председатель правления и главный архитектор программного обеспечения) и Джим (Олчин, вице-президент группы «Платформы») возлагают на меня главную ответственность за Windows Server 2003.

ПТ: Каким Вы видите процесс интеграции платформы .NET с базовой операционной системой? Будут ли переписываться куски последующих редакций Windows в виде управляемого кода?

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

ПТ: Когда 64-разрядная технология станет жизнеспособной как на сервере, так и в настольных приложениях?

БВ: В Windows Server 2003 предусмотрена встроенная поддержка Intel Itanium, что должно способствовать широкому распространению 64-разрядной технологии. 64-разрядные архитектуры, которые мы планируем поддерживать, строятся на базе процессоров Itanium и AMD-64 (от AMD). Эти архитектуры теперь являются «родными» элементами в процессе создания системы, который затрагивает их ежедневно, так же как и 32-разрядные продукты.

Что касается Longhorn, следующей редакции Windows, здесь наша цель — сделать все, что является «родным» для Windows, также «родным» для всех платформ в 64-разрядном исполнении. В Windows Server 2003 мы далеко продвинулись в этом направлении, однако законченное решение требует полномасштабной поддержки всей «экосистемы». В частности, необходима поддержка независимых поставщиков программных продуктов (ISV), а также всех наших главных серверных и настольных приложений. Windows Server 2003 не предусматривает такую широкую поддержку устройств, как 32-разрядные версии.

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

ПТ: Работает ли Microsoft над обобщением типов запоминающих устройств, с которыми может взаимодействовать Windows? К примеру, когда Tablet PC и прочие устройства будут поддерживать монолитные устройства хранения?

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

ПТ: Вы однажды рассказывали забавную историю об использовании беспроводных сетей для выключения автомобильной сигнализации на стоянке корпорации Oracle. Случались ли у Вас еще какие-нибудь интересные истории?

БВ: Клиентские продукты всегда связаны с забавными случаями и смешными историями. Серверы — совершенно другой мир. Когда я возглавлял группу Exchange, мой сын привел своих приятелей показать, что представляет собой Microsoft и чем занимается его отец. Серверная стойка была единственным, что я смог показать ребятам. «Видите эту зеленую лампочку? — спросил я их. — Я должен делать так, чтобы она светилась».

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

Поль Тюрро — редактор новостей в Windows &.NET Magazine. Готовит еженедельные выпуски Windows 2000 Magazine UPDATE (http://www.winnetmag.net/email), а также ежедневные выпуски новостей WinInfo (http://www.wininformant.com/). С ним можно связаться по адресу: thurott@winnetmag.com.


Возвращаясь к истокам NT
Дэвид Томпсон, вице-президент группы серверных продуктов Microsoft, пришел в компанию в 1990 г., возглавив группу перспективных разработок в рамках проекта LAN Manager for OS/2. Затем в том же году он вошел в группу Windows NT, где руководил созданием системы сетевого обмена NT, способной работать не только с продуктами Microsoft, но и с внешними программами.

Марк Луковски, ведущий инженер и разработчик серверных продуктов Windows, пришел в Microsoft в 1988 г. с первой волной сотрудников бывшей компании DEC, сопровождавших Дэйва Катлера, разработчика NT. Он широко известен своей технической интуицией и первыми работами по преобразованию NT, изначально построенной на базе OS/2, в систему, работающую с 32-разрядными приложениями Windows.

Поль Тюрро беседует с названными представителями Microsoft о том, с чего все начиналось, т. е. об NT.

Поль Тюрро (ПТ): С чего началась история NT?

Марк Луковски (МЛ): Мы объединились в группу в ноябре 1988 г. Первое, что мы сделали, — приобрели в качестве машин для разработки старшие модели семейства 386/25 с жестким диском на 110 Мбайт и оперативной памятью 13 Мбайт, которые стоили чрезвычайно дорого, после чего приступили к составлению проектной документации в редакторе Word. Спустя две недели мы перешли к разработке кода. Первоначально NT была ориентирована на RISC-процессор Intel i860, выпуск которого сильно отставал от расписания. Так как группа не располагала собственными компьютерами с процессором i860 для проведения тестирования, пришлось воспользоваться имитатором i860 (под кодовым названием N-Ten). Именно поэтому система была названа NT. Тестирование первых элементов кода прошло в середине декабря 1988 г., а к январю была выполнена начальная загрузка базовой системы на имитаторе.

ПТ: Но жизнь процессора i860 оказалась очень короткой?

МЛ: Да, мы отказались от i860 и перешли к микросхеме MIPS R3000. Наша архитектура полностью оправдала себя. Система NT была задумана как мобильная, и ее работоспособность удалось доказать почти сразу после перехода на MIPS. Переход прошел практически безболезненно. Впоследствии, благодаря привлечению к реализации проекта дополнительных сотрудников, был запущен вариант с Intel i386. Некоторое время мы держались в стороне от 386, чтобы избежать ориентации только на эту архитектуру.

ПТ: Когда было принято решение сделать NT версией Windows?

ML: В мае 1990 г., когда начал вырисовываться облик Windows 3.0, возникла идея перейти от OS/2 к 32-разрядной версии Windows. Подвергнув анализу 16-разрядные программные интерфейсы (API) Windows, мы подсчитали, во что выльется их растяжение до 32 разрядов. После полутора месяцев, ушедших на подготовку набора API, результаты были представлены на рассмотрение проектно-аналитической группы, включавшей 100 специалистов. Главным было то, что новые API выглядели и работали аналогично Win16. Мы с легкостью смогли перевести 16-разрядные приложения на NT. Простота всей процедуры произвела благоприятное впечатление. По сути, это была «накачанная» Windows, а не OS/2.

Дэвид Томпсон (ДТ): В сентябре 1990 г. NT из внутреннего проекта превратилась в реальный продукт. Именно тогда я подключился к этой работе. Я был сотрудником группы LAN Manager, и, когда NT стала Windows NT, мы влились в данный проект. Группа NT выросла с 28 до 300 специалистов. Мы получили первый настоящий производственный план.

ПТ: В разговорах о переходе от OS/2 к Windows часто звучат предположения о скрытой деятельности Microsoft, узурпирующей OS/2, однако программисты Microsoft, с которыми мне приходилось беседовать, были с этим не согласны.

МЛ: Нам пришлось пройти через утверждение проекта, как и любому независимому производителю программного обеспечения, и получить санкцию руководства, прежде чем приступить к переходу. Мы провели совещание с IBM, в ходе которого показали около 20 слайдов. Сначала слушатели решили, что Win32 — всего лишь причудливое название OS/2. Я объяснил суть перевода 16-разрядных приложений на 32 разряда, что следовало воспринимать как естественную эволюцию. OS/2 имела абсолютно другой набор API, и я сказал: «Давайте сделаем ее более похожей на Win16. Это обеспечит оптимальную совместимость новых API».

ПТ: Оправдала ли себя модульная архитектура NT за эти годы?

ДТ: Наша базовая архитектура отличается такой устойчивостью, что мы смогли перенести NT с машин 386/25 1990 г. на современные устройства — 64-процессорные, 64-разрядные мультипроцессорные машины и стекируемые серверные «лезвия» стоимостью 1000 долларов. Мы смогли охватить весь перечень устройств.

МЛ: Благодаря тому что в модели подсистемы NT ядро отделено от прикладного окружения, например POSIX и Win32, с переходом на Windows нам не пришлось менять ядро или задавать программистам новую работу. Не потребовалось менять и глубинные пласты планировщика. С точки зрения архитектуры система еще в 1988 г. была задумана для многопроцессорного использования. Вытесняющая многозадачность и активные маски процессора были встроены в ядро NT. Однако до 1991-1992 гг. мы не располагали мультипроцессорной аппаратурой.

ПТ: Процесс разработки Windows, безусловно, сильно изменился за эти годы. Каким он был в самом начале?

ДТ: Первоначально предусматривалось определенное время в течение дня для проверки кода. Впоследствии мы «перевели стрелку» и создали новую систему. Коллектив расширился до 85 человек, и рабочий процесс стал более последовательным. Наш руководитель Дэйв Катлер требовал персонально с каждого сотрудника писать заявки на исправление на белой доске, стоящей в лаборатории. Однажды я принял 85 заявок, и это был максимальный результат на тот момент. Сегодня у нас бывает свыше 1000 заявок ежедневно. Это уже совершенно иной масштаб, и белая доска стала теперь электронной (на базе Web).

ПТ: Расскажите о принципе «испытай на себе».

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

ПТ: Как вы решаете проблему обслуживания всех поддерживаемых версий Windows?

ДТ: Инфраструктура обслуживания значительно расширилась. Самое большое изменение — это увеличение времени поддержки наших продуктов. Поставляемым серверным продуктом клиенты пользуются в течение 10 лет, а полномасштабное обслуживание продолжается семь лет. Важным событием следует считать отделение клиентских версий от серверных в ходе разработки Windows XP. Это не просто отличающиеся линии продуктов, но совершенно разные продукты, вырастающие один из другого. В частности, в основу следующей клиентской версии будет положен код Windows Server 2003.

ПТ: Что Вы можете сказать о программах коррекции и пакетах обновлений?

ДТ: Мы стараемся незамедлительно выпускать программы коррекции, когда это возможно. Пакеты обновлений — гибкий инструмент, через них мы могли как добавлять функции, так и исправлять недостатки. Пользователи, однако, дали нам понять, что предпочитают последнее. Возникает вопрос: что, собственно, следует считать дефектом? Отсутствие функции защиты? Пользователи сами часто расходятся во мнениях. Пакет обновлений NT 4.0 Service Pack 3 (SP3) был последним в деле добавления в пакеты обновлений масштабных защитных средств. Теперь мы перешли к концепции общих развертываемых выпусков (Generally Deployable Releases, GDR). Пакеты обновлений у нас в компании называют GDR. Каждый сотрудник может и обязан устанавливать их, и они не должны негативно влиять на работу приложений, для чего предусмотрены соответствующие меры и адекватное тестирование.

ПТ: Уход Windows 2000 от названия NT вызвал немало вопросов. Почему это произошло?

ДТ: Из маркетинговой группы Windows в маркетинг NT пришел специалист, который рекомендовал везде использовать название Windows. Сначала не хотелось менять вывеску, так как у NT была хорошая репутация. Однако благодаря настойчивой рекламе надежности Windows 2000, в среде пользователей пошли разговоры о том, насколько Windows 2000 лучше NT, хотя архитектура осталась прежней. Самый неожиданный результат дало разделение сервера и клиента, позволяющее сосредоточить внимание на пользователях серверного продукта, предпочитающих прежде присмотреться к продукту, чем покупать «кота в мешке». Поставщики настольных программ ориентируются на определенные сезонные циклы роста продаж, в то время как для серверов никакого «предновогоднего» роста продаж не бывает.