протоколами прошлого, это все же протокол отображения. Плюс активное управление и локальные сценарии. Тот же AJAX позволяет вам выполнять код... Ирония в том, что хорошие сайты – это те, которые вместо HTML используют локальные клиентские программы.
Сейчас мы живем в мире, который взял все лучшее из двух миров: вы вызываете подпрограмму, которая работает на другом ПК, через Сеть. Теперь у нас есть инструменты для разработчиков, которые позволяют работать через Интернет так, как если бы это была локальная подпрограмма.
Вообще, в компьютерной науке практически все сводится к тому, что нужно пытаться писать меньше программных текстов. Прием, позволяющий писать меньше кода, называется подпрограммами. Все, что когда-либо было сделано, – объектно-ориентированное программирование, «ПО как услуга», – все это использует идею подпрограмм. Когда нужно нарисовать карту, то вы можете сказать: «Ой, до чего это сложно, лучше использовать подпрограмму». Теперь, обратившись к Virtual Earth или Google Earth, сделать это легко и просто, не задумываясь о данных и форматах. Мы перенесли идею подпрограммы на новый уровень и упростили людям жизнь. Однако предстоит отладка всего этого хозяйства, обеспечение производительности, локальной обработки – задачи ближайшего будущего...
Теоретически мы можем перенести чей-нибудь центр обработки данных в «вычислительное облако». Все вопросы администрирования, дискового пространства, владения данными и доступа к ним, выход из ситуаций, когда в работе случаются ошибки, будут решаться администратором системы «облачных вычислений». Здесь предстоит еще много исследований и работы. Мы, как никто другой, заинтересованы в том, чтобы компании использовали «облачные вычисления», у нас есть несколько классных проектов, о которых Рэй Оззи расскажет в следующем году.
Но все это не означает, что локальные вычислительные системы, подконтрольные только вам, не нужны. Полностью переносить работу в дистанционный режим неверно.
Сегодня люди не очень понимают, что происходит. Есть хранение в «облаке», что дает уверенность в доступности из любого места (а администратор сделает резервную копию), и вычисления в этом «облаке». И то, и другое – важные и нужные решения, но сложно сомневаться в необходимости какой-то системы управления данными в «облаке». Вам также придется задуматься о вычислительной нагрузке, так как это не бесплатно. И несомненно, остаются проблемы с задержками, требованиями офлайновой работы, планированием – ресурсы большие, но не бесконечные... Тем не менее у нас уже есть несколько пилотных клиентов, большие «куски» ЦОД которых мы разместили в нашем вычислительном «облаке» и взяли на себя управление этими ресурсами. Я думаю, еще несколько лет, и ЦОД начнут перемещаться в «облака». Кое-кто думает, что это произойдет быстрее, но я бы не был настолько оптимистичен.
Попытаюсь прояснить ситуацию: перенести в «облако» можно две вещи. Данные, когда в «облаке» основной экземпляр, а на локальной машине кэш-копия, и вычисления, когда данные и обрабатываются на сервере. Это просто ЦОД, но нового типа. Ведь теперь этот центр должен быть масштабируемым. Ранние попытки реализовать эти идеи, такие, как Amazon S3, требовали, чтобы программист знал, где какая программа будет исполняться.
То, что мы делаем, и о чем Рэй Оззи будет говорить позже в этом году на PDC, – как упростить разработку таких «сверхраспределенных» программ, чтобы вы реально могли понимать все происходящее.
М. М.: Коснемся операционных систем, и прежде всего, конечно, Windows. Какие ошибки, на ваш взгляд, вы делали за всю ее историю? Что еще должно быть сделано? Что нужно добавить в следующее десятилетие?
Б. Г.: Мой конек – интегрированное хранение данных, когда пользователь работает не с файловой системой, а с гибкой объектно-ориентированной структурой: контакты, календарь, «Избранное», фото, музыка – все должно храниться в структурированном виде. И навигация по структуре данных, и их обработка с помощью разных прикладных программ должны стать много проще. Пока эта задача не решена. Осуществление нашей задумки в действительности часть продвижения «облачного» подхода к хранению данных. Мы должны разработать дополнительную систему хранения данных, позволяющую легко и просто передавать данные с одного телефона на другой, обмениваться ими между несколькими ПК, телевизорами, машинами. И это должны быть не просто файлы, а данные сложной структуры. Вот такой подход к интегрированному хранению данных еще не появился. И это плохо. Какие-то зачатки этой идеологии реализованы в операционных системах Apple и Microsoft в виде фонового индексирования текстовых строк, но этого мало. Цельной структуры все еще нет.
ОС сегодня играют большую роль во внедрении естественных пользовательских интерфейсов. Мы уже встроили Windows в наше устройство Surface, но как добавить сюда модель программирования? Как нужно взаимодействовать с подобными инструментами? Сделать предстоит еще очень много.
Многое нужно сделать и в сфере безопасности. Сейчас пользователю приходится сталкиваться со множеством вещей, которые он не понимает, вместо того чтобы выбрать, какими должны быть эти вещи и как что должно происходить. Мы пока не реализовали коренную перестройку, чтобы пользователь точно знал, чем рискует, выполняя те или иные действия. Поэтому возникает масса вопросов, на которые он не знает, как ответить. Несмотря на наличие всевозможных защитных механизмов, пользователь все еще может сделать что-то потенциально опасное. Эта проблема отнюдь не проста, тут еще работать и работать.
Много проблем ОС связано с устройствами. Если я ставлю ОС на ПК, то ставлю ОС именно на этом ПК. Если у вас целый офис компьютеров или несколько компьютеров, то вы хотели бы сказать: «Так, мне нужно, чтобы эта программа Adobe была на всех ПК; мне нужно, чтобы вот этот файл был на всех компьютерах». Администратору нужен инструмент, который решит задачу в комплексе. Мы работаем над решением этой проблемы, но пока до полного порядка еще далеко.
Инструментов для решения таких задач еще нет, но «облачные» вычисления хоть как-то упрощают жизнь. Мы можем хранить настройки музыкального плеера, программ и т. д. в «облаке». Когда пользователь приобретает новое устройство, он может сразу сконфигурировать его. Сейчас, покупая новый телефон, вы сталкиваетесь с массой проблем. Это неправильно. У вас должна быть возможность сказать: «Я Майкл Миллер. Я хочу, чтобы на этом устройстве было все так же, как на предыдущем моем телефоне». Даже если это был аппарат другой фирмы и работает на другом ПО, для таких вещей, как контакты и планировщик, должна обеспечиваться совместимость. Вы не должны начинать с нуля.
Истории из истории
Маленькая разница
Рубен Герр
Странная история произошла со мной недавно. Как-то вечером решился я, наконец, дочитать один роман. Это было фэнтези, причем самого дурного толка. Собственно, и жанр этот потребовался автору, чтобы проще выкручиваться из сюжетных несуразиц. Картонные герои махали картонными мечами и творили картонные чудеса. Взялся я читать эту макулатуру по чистой случайности, однако не бросил, хотя очень скоро понял, чтo это за чтиво. Мне сделалось интересно: неужели можно взять и написать чисто коммерческую поделку «для старшего школьного возраста», не имея в душе ни малейшего желания поведать миру нечто по-настоящему – или хотя бы, по мнению автора, – новое? Ничего у меня из этого не вышло – заснул в кресле. Крепко заснул, до утра.
Моя манера просыпаться у тех, кому доводилось наблюдать этот процесс, обычно вызывает искреннюю зависть – я просыпаюсь сразу и окончательно, что называется, в полной боевой готовности. Этот раз оказался исключением: в голове бродил какой-то дремотный туман. Должно быть, неловкая поза повлияла. Но кресло там или не кресло, я напрягся, привел себя в состояние готовности к завтраку, приготовил его и съел. Все предвещало удачный день: ни один из желтков в глазунье не растекся, узбекская лепешка, которую я в глазунью макал, сохранила со вчерашнего дня достаточную свежесть, а кофе не убежал. Увы, порой самые надежные приметы подводят...
Настало время войти в Интернет и выяснить, не случилось ли со вчерашнего вечера чего-нибудь достойного внимания. Впервые за без малого сутки вошел я в свой кабинет, он же по совместительству спальня, и... не узнал. Моей книжной стенки, которую я уже не первый год собираюсь освободить от всего,