Журнал "Компьютерра" N732
Шрифт:
Напоследок - занятный эпизод. Рассказывая про один из веб-фреймворков, очаровательная Дорис Чен (на фото) спросила, кто в аудитории работает с PHP. Стоя вплотную к сцене, чтобы сделать несколько снимков, я гордо поднял руку (мне и правда приходилось писать несложные PHP-скрипты). Дорис заметила это и радостно сообщила залу: "О! И даже этот фотограф использует PHP!" Я почти не обиделся. Честно-честно.
ИНТЕРНЕТ: К исследованию белогривых лошадок
Автор: Виктор Шепелев
В постновогоднем "обзоре трендов"["Обалдеть, завтра дайте три!" ("КТ" #717).] мы упомянули, что многие титаны рынка и отцы Веб 2.0 сегодня делают
В общем, это может напоминать возвращение старых времен, с их мэйнфреймами и терминалами, - возвращение, которое кажется не слишком осмысленным сегодня, во времена победившего Мура, времена, когда "память больше не ресурс"[Стандартный аргумент программистской дискуссии о "прожорливости" языков и библиотек; подразумевает, что при нынешних ценах на оперативную память экономить ее бессмысленно 3 Например, стоимость использования S3 - 15 центов в месяц за гигабайт хранимых данных, 10 центов за гигабайт трафика. При этом оплата идет за фактически используемые ресурсы - нет необходимости "покупать место с запасом и платить за пустое место 4 37signals устроены несколько иначе; впрочем, им не приходится предоставлять огромные дисковые или вычислительные мощности, их "мощность" скорее в удобстве интерфейса приложений.], да и процессорное время для бытовых задач тоже уже "не очень-то ресурс". Так что же - Google, Amazon, IBM… - коллективное помутнение рассудка, впадение в старческий маразм или детство? Сомнительно.
Тогда в чем соль? Терпение, милый читатель. Изучать мир и делиться с тобой знаниями - наш священный долг и обязанность. Не переключай канал.
Хотите - буду безукоризненно нежный, не мужчина, а - облако в штанах!
Владимир Маяковский
Итак, зачем понадобился новый термин? От нехватки старых? Чем плохи "распределенные вычисления (если речь идет об использовании вычислительных мощностей, объединенных в сеть) или "тонкий клиент" (если речь идет о перенесении всех вычислений на сервер), а то и просто "клиент-сервер"?
Дело в том, что "облачные вычисления" подразумевают: во-первых, максимальную простоту и удобство доступа к ресурсу; во-вторых, почти бесконечное в обе стороны масштабирование. ("В обе стороны" здесь означает, что нет ограничений ни по максимальному, ни по минимальному использованию.)Несколько конкретных примеров.
"Облачными вычислениями" Google называет все свои онлайн-приложения - GMail, Docs, Calendar, Google Base и т. п. Простой доступ: удобный, понятный "простому пользователю" интерфейс, похожий на "обычное десктопное приложение", а местами даже удобнее и функциональнее. Почти бесконечное масштабирование: 1 Гбайт для почты (на момент открытия "Гмыла", сегодня - 6 Гбайт для простых смерных или 25 Гбайт/$50 на каждый адрес в Google Apps Premier Edition) - это все-таки очень много (если не хранить фильмы в почтовом ящике); при этом даже если ты получаешь одно письмо в год - удобство работы не уменьшится и претензий за "недоиспользование" ресурса никто не предъявит (вроде любимого некоторыми российскими почтовыми службами "Ваш ящик не использовался больше трех месяцев и будет удален"). Та же петрушка и со многими другими приложениями "для простых людей" - блогсервисами, фотохостингами, файлохранилищами "эпохи Web 2.0" - хош, вот тебе гигабайт места и десяток трафика; а не нравится - заплати 2 доллара в месяц и имей 20 гигабайт и безлимитный трафик.
Упомянутый Google Apps Premier Edition плавно переносит нас к следующей разновидности - облакоприложений для офиса и организации труда. Помимо гугловского пакета, на ум сразу же приходят сервисы студии 37signals - прославленных создателей Ruby on Rails. Их сервисы - средство управления проектами Basecamp, совместной работы над текстами Writeboard, онлайн-бизнес-чат Campfire и т. п.
– типичные "облака". Работают "где-то там", на серверах 37signals, простые и удобные в использовании, полностью заменяют соответствующую разновидность "настоящих программ".
Третий пример - сервисы от Amazon: Elastic Computing Cloud (EC2) -
Здесь наблюдаются те же ключевые факторы: простой доступ - дружелюбное API, удобное управление; и почти бесконечное масштабирование - платишь только за то, что используешь, причем цены близки к себестоимости ресурса (если есть еще сегодня такая эфемерная вещь, как "себестоимость гигабайта дискового пространства") и растут линейно с ростом запросов[Например, стоимость использования S3 - 15 центов в месяц за гигабайт хранимых данных, 10 центов за гигабайт трафика. При этом оплата идет за фактически используемые ресурсы - нет необходимости "покупать место с запасом и платить за пустое место". ].
Казалось бы, что общего между программамина-Вебе для обычного юзера (см. Google) и как-быхостингом для небогатого разработчика (см. Amazon)?
Очень просто: пользователь и тех и других сервисов - "обычный человек", не желающий или не могущий тратить деньги и время на серьезную IT-инфраструктуру (запомним эту дефиницию, она нам еще пригодится).
У одинокого пользователя куда больше общего с одиноким хозяином небольшого стартапа, чем у них обоих - с крупной фирмой, могущей позволить себе собственный дата-центр. Истинность этого утверждения подтверждают, помимо прочего, уже существующие решения, делающие амазоновские сервисы-для программистов полезными для простого пользователя;например, использование S3 для хранения бэкапов данных - при 15 центах в месяц это становится весьма осмысленным (природу этой осмысленности мы разберем ниже).
Когда я снова стану облаком,
Когда я снова стану зябликом,
Когда я снова стану маленьким
И снег опять запахнет яблоком.
Александр Галич
Теперь, читатель, надеюсь, тебе примерно понятно, чем сегодняшнее предложение "распределенных вычислений" так отличается от всего существовавшего ранее, что понадобился новый термин. Теперь неплохо бы определить - что же изменилось в мире за последние годы, что такая разновидность сервисов стала возможна, и возможна именно теперь.
Первый из факторов - это естественное количественное развитие технологий на стороне пользователя: широкополосный и безлимитный интернет-канал, доступный все большему числу людей, позволяет не задумываться о том, сколько байтов (кило-, мега-, а скоро даже и гига-) гоняется туда-сюда; 3 гигагерца процессора и гигабайт оперативной памяти (очень "средненький" сегодня компьютер) позволяют даже сложным приложениям-в-браузере на медленном и интерпретируемом JavaScript работать с терпимой скоростью; возрастающая мощь и стандартосовместимость браузеров расширяют возможности, которые можно использовать в веб-приложениях.
Другой фактор - появление крупных "интернетоцентричных" игроков индустрии. Из двух наших "эталонных примеров" - и Google, и Amazon делали свой бизнес только в Интернете, наращивая серверный парк, обрастая мощностями и технологиями, а также опытом и практикой поддержки этого здоровенного хозяйства. И те и другие вдруг обнаружили, что простаивающим серверам можно найти интересное применение, обернув свое облако лицом к человечеству. То, что они делают, для них просто выгодно (или, по крайней мере, не слишком затратно): если для мелкой компании "еще один сервер" - вопрос серьезный и затратный, то для наших грандов все равно - стоит ли в дата-центре 5000 серверов или 5001. Это классическое удешевление производства при больших тиражах - только здесь терабайты и гигагерцы сначала "производят", а затем "сдают" в аренду [ 37signals устроены несколько иначе; впрочем, им не приходится предоставлять огромные дисковые или вычислительные мощности, их "мощность" скорее в удобстве интерфейса приложений].