Чтобы оценить возможности программирования, обратите внимание на онлайн-игру Second Life. Разработанная компанией Linden Lab, игра представляет собой генерируемый компьютером трехмерный мир. Он населен оцифрованными альтер эго игроков, которые принимают форму компьютерных личностей, или «аватаров». Несмотря на некоторое сходство с другими многопользовательскими онлайн-играми, вроде World of Warcraft, игра Second Life довольно необычная. Там нет ни правил, ни победителей, ни проигравших. С помощью своих аватаров игроки просто становятся гражданами, или, как они обычно называют себя, «жителями» виртуального общества. В этом обществе они могут делать все что угодно и когда угодно. Они прогуливаются по тротуарам, ездят по улицам или летают по воздуху. Они общаются с друзьями или заводят разговоры с незнакомыми людьми. Они могут купить землю и построить дом. Они ходят по магазинам, покупают одежду и другие товары. Они могут брать уроки или участвовать в бизнес-конференциях. Они могут танцевать в ночных клубах и даже заниматься после этого сексом.
Игра Second Life – пример коммунальных услуг, поставляемых через интернет и используемых одновременно многими людьми. Она значительно отличается от привычных компьютерных игр, которые необходимо устанавливать отдельно на жестком диске каждого игрока. Однако Second Life – это также комбинация многих других коммунальных услуг. «Компьютер», на котором работает Second Life, не существует в каком-то определенном месте. Он собирается «на лету» из различных единиц хранения и обработки данных, существующих в глобальном облаке вычислений. Когда вы присоединяетесь к серверу Second Life, ваш браузер загружает небольшую программу. Хотя вы инициируете загрузку с помощью домашней страницы Second Life, программа фактически доставляется на ваш компьютер с накопителей, управляемых сервисом Amazon Web Services. Домашняя страница игры Second Life, жесткие диски Amazon и браузер, работающий на вашем ПК, действуют согласованно, осуществляя загрузку. Происходящий за кулисами сложный процесс обмена данными происходит незаметно для вас.
После установки небольшая программа хранит информацию о внешнем виде и местонахождении вашего аватара. Программа постоянно «общается» через интернет с основным программным обеспечением, используемым компанией Linden Lab для создания своего онлайн-мира. Это ПО работает на сотнях серверов, размещенных в двух центрах обработки данных – в Сан-Франциско и в Далласе, которые принадлежат не Linden Lab, а хостинговым компаниям. Каждый сервер содержит четыре виртуальных компьютера, каждый из которых контролирует в игре Second Life участок земли площадью 16 акров. Реальные и виртуальные компьютеры работают совместно, чтобы создать огромный мир для пользователей, играющих в эту игру. Кроме того, другие компании и отдельные люди могут написать программное обеспечение, чтобы добавить в игру новые функции. Житель может, например, создать виртуальное ожерелье, которое затем продаст другим персонажам. А может создать рекламный ролик, который будет работать на его домашнем ПК и проецироваться на стену магазина, который он строит для продажи ожерелий. Компания Linden Lab запрограммировала Всемирный компьютер на объединение множества всех этих частей программного и аппаратного обеспечения в единую игру под названием Second Life.
Если вам нужен пример из сферы бизнеса, обратите внимание, как компания Salesforce.com предоставляет свой сервис управления счетами. Как и в случае с игрой Second Life, основное программное обеспечение работает на большом количестве серверных компьютеров, расположенных в различных центрах обработки данных. Клиенты Salesforce пользуются браузером, работающим на ПК или мобильном телефоне, чтобы через интернет подключиться к программе управления счетами. Браузер, по сути, становится частью приложения Salesforce и выступает в качестве пользовательского интерфейса.
И это только начало. Компания Salesforce позволяет интегрировать со своим сервисом программное обеспечение многих других компаний. Популярный картографический сервис компании Google, Google Maps, может быть объединен с программой Salesforce для генерации дорожных карт с указанием местоположения существующих и потенциальных клиентов. Сервис интернет-телефонии Skype также подключается к приложению, чтобы торговые агенты могли звонить клиентам, не покидая браузера. Эти так называемые гибридные веб-приложения создаются на основе различных сервисов автоматически и незаметно для пользователя. Различные части программного обеспечения объединяются в одно приложение в браузере пользователя, несмотря на то что программы принадлежат разным компаниям и работают на компьютерах, расположенных в разных местах.