355 500 произведений, 25 200 авторов.

Электронная библиотека книг » Компьютерра Журнал » Журнал "Компьютерра" N732 » Текст книги (страница 4)
Журнал "Компьютерра" N732
  • Текст добавлен: 9 октября 2016, 23:41

Текст книги "Журнал "Компьютерра" N732"


Автор книги: Компьютерра Журнал



сообщить о нарушении

Текущая страница: 4 (всего у книги 11 страниц)

Open Source и все-все-все

Обсуждая проблемы и достижения FOSS-сообщества, мы не могли обойти стороной внутренние противоречия: вечный спор между «этиками», считающими, вслед за Ричардом Столлманом[Каюсь! Я до сих пор ничего не написал о визите Столлмана в Москву. Обещаю исправиться.], что свобода ПО ценна сама по себе, и прагматиками, полагающими, что открытые исходники и свободные лицензии – просто более удобный и приятный способ разработки качественного и надежного софта. Проект Debian, как мне казалось, тяготел к «этической» части (достаточно вспомнить его «общественный договор»), однако взгляды Мёрдока оказались несколько иными.

– Я никогда не верил в этическую часть всей этой деятельности. Я вижу, что open source – просто лучшая модель разработки, лучший способ создания сообщества. Это что-то вроде капитализма. Люди участвуют в сообществах по разным причинам. Для кого-то это форма благотворительности, желание подарить что-то миру. Другие ищут выгоды для себя. Может быть, они наслаждаются тем, что делают, и хотят заниматься этим больше, или же хотят показать, что они умеют, или хотят найти работу – в общем, существует множество причин, по которым люди участвуют в сообществах вокруг открытых проектов. Я не могу сказать, что какая-то причина – правильная, а какая-то другая – нет.

Стараясь держаться вдалеке от "политически-заряженных" дискуссий в области технологий, Мёрдок активно интересуется политикой реального мира. Я спросил его о том, какой опыт в управлении свободными проектами мы могли бы перенести на управление целыми странами:

– О! Когда дело касается государственной власти, я начинаю верить в демократию! – смеется Ян. – Скажем, американская система имеет множество недостатков, но в целом она работает. Одна из главных проблем, которые я вижу, – это двухпартийная система. Мы вынуждены выбирать между двумя экстремальными точками политического спектра, тогда как в реальности нам нужно что-то посередине. Насчет open source – мне кажется, некоторый опыт уже заимствуется. На выборах организуются кампании в стиле open source, где очень много стихийной активности – люди могут говорить о своей позиции, общаться друг с другом, обмениваться мнениями. Я не уверен насчет самого процесса управления, но включение в процесс выбора, являющегося ключевым в демократии, обычных людей и предоставление им права самовыражения и общения друг с другом помогает принять лучшие решения для всей страны.

Впрочем, в open source есть не только хорошее. На вопрос о том, что ему больше всего не нравится в FOSS-сообществе, Ян ответил мгновенно.

– Священные войны (flamewars). Технология – это религия. Люди становятся слишком замкнутыми в своих решениях, и это тормозит прогресс. У нас – инженеров – очень твердые мнения. Emacs – лучший текстовый редактор! Нет, Vi самый лучший! Во времена Usenet было несколько тысяч людей, спорящих друг с другом, а сейчас их число выросло до миллиона – и это становится большой проблемой. Я бы хотел, чтобы мы были более открытыми – и, пожалуй, чуть менее циничными, – когда говорим об открытом софте.


Солнечные технические дни

Начало апреля в Санкт-Петербурге выдалось солнечным – было даже немного обидно проводить эти дни во дворце спорта «Юбилейный», где шла конференция Sun Tech Days. Однако, несмотря на манящую погоду за окном и специализированный характер Tech Days, посмотреть на это мероприятие оказалось довольно любопытно.

Конференция проходит очень неформально. Правда, мне не доводилось бывать на подобных мероприятиях в Штатах – может, там это и привычное явление, но на отечественных технических сборищах нечасто увидишь конкурсы самодеятельности (добровольцы из зала показывали на сцене фокусы, пели и даже танцевали "калинку-малинку") или скандирование названия конференции для поднятия "боевого духа". Впрочем, нарочито-раскованные отношения с аудиторией напрягали не сильно и разговорам о серьезных вещах практически не мешали.

Запомнился доклад о проекте Sun SPOT (Small Programmable Object Technologies

[Закрыть]
) – экспериментальной платформе для создания небольших устройств (размером с мобильный телефон или даже меньше), способных долговременно питаться от батарей и поддерживать беспроводную связь, – их можно использовать, например, в качестве сенсоров в «умных зданиях» или как угодно еще. Интересен «выбор операционной системы»: она отсутствует. Вместо нее есть специальная виртуальная машина Java (Squawk), работающая на голом железе. По задумке Sun, это должно значительно упростить написание приложений для встраиваемых устройств – разработчику не нужно знать никаких премудростей этого дела – только привычную многим Java ME. Стоит отметить, что открыта не только вся софтверная начинка, но и спецификации железа. Экспериментируй сколько душе угодно. Целевая аудитория – исследователи и разработчики.

Впрочем, не Джавой единой – немало времени было посвящено и другим технологиям. Целая секция была выделена для «Веб 2.0» – здесь Sun’овское сообщество тоже очень активно – например, занимается разработкой различных открытых фреймворков для быстрого создания веб-приложений и машапов существующих сервисов. Помимо вездесущей Java, со сцены звучали и такие названия, как PHP, Python, JavaScript, Ruby on Rails. Моему невооруженному глазу интересной показалась разработка JRuby, позволяющая скрестить «ужа с ежом» – использовать синтаксис и все богатые выразительные возможности языка Ruby при работе в полноценной Java-среде.

Напоследок – занятный эпизод. Рассказывая про один из веб-фреймворков, очаровательная Дорис Чен (на фото) спросила, кто в аудитории работает с PHP. Стоя вплотную к сцене, чтобы сделать несколько снимков, я гордо поднял руку (мне и правда приходилось писать несложные PHP-скрипты). Дорис заметила это и радостно сообщила залу: "О! И даже этот фотограф использует PHP!" Я почти не обиделся. Честно-честно.


ИНТЕРНЕТ: К исследованию белогривых лошадок

Автор: Виктор Шепелев

В постновогоднем «обзоре трендов»["Обалдеть, завтра дайте три!" («КТ» #717).] мы упомянули, что многие титаны рынка и отцы Веб 2.0 сегодня делают ставку на некий загадочный «cloud computing» («[за]облачные вычисления»?).

В общем, это может напоминать возвращение старых времен, с их мэйнфреймами и терминалами, – возвращение, которое кажется не слишком осмысленным сегодня, во времена победившего Мура, времена, когда «память больше не ресурс»[Стандартный аргумент программистской дискуссии о «прожорливости» языков и библиотек; подразумевает, что при нынешних ценах на оперативную память экономить ее бессмысленно 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) – виртуальные вычислительные мощности; Simple Storage Service (S3) – место для хранения данных; SimpleDB – база данных (в отличие от S3, в большей степени предназначена для хранения таблиц коротких данных и эффективного выполнения сложных запросов). Все это – предложения для создателей собственных веб-приложений, желающих переложить на широкие плечи Amazon часть своих забот.

Здесь наблюдаются те же ключевые факторы: простой доступ – дружелюбное API, удобное управление; и почти бесконечное масштабирование – платишь только за то, что используешь, причем цены близки к себестоимости ресурса (если есть еще сегодня такая эфемерная вещь, как "себестоимость гигабайта дискового пространства") и растут линейно с ростом запросов[Например, стоимость использования S3 – 15 центов в месяц за гигабайт хранимых данных, 10 центов за гигабайт трафика. При этом оплата идет за фактически используемые ресурсы – нет необходимости "покупать место с запасом и платить за пустое место". ].

Казалось бы, что общего между программамина-Вебе для обычного юзера (см. Google) и как-быхостингом для небогатого разработчика (см. Amazon)?

Очень просто: пользователь и тех и других сервисов – "обычный человек", не желающий или не могущий тратить деньги и время на серьезную IT-инфраструктуру (запомним эту дефиницию, она нам еще пригодится).

У одинокого пользователя куда больше общего с одиноким хозяином небольшого стартапа, чем у них обоих – с крупной фирмой, могущей позволить себе собственный дата-центр. Истинность этого утверждения подтверждают, помимо прочего, уже существующие решения, делающие амазоновские сервисы-для программистов полезными для простого пользователя;например, использование S3 для хранения бэкапов данных – при 15 центах в месяц это становится весьма осмысленным (природу этой осмысленности мы разберем ниже).


ПОЧЕМУ?

Когда я снова стану облаком,

Когда я снова стану зябликом,

Когда я снова стану маленьким

И снег опять запахнет яблоком.

Александр Галич

Теперь, читатель, надеюсь, тебе примерно понятно, чем сегодняшнее предложение "распределенных вычислений" так отличается от всего существовавшего ранее, что понадобился новый термин. Теперь неплохо бы определить – что же изменилось в мире за последние годы, что такая разновидность сервисов стала возможна, и возможна именно теперь.

Первый из факторов – это естественное количественное развитие технологий на стороне пользователя: широкополосный и безлимитный интернет-канал, доступный все большему числу людей, позволяет не задумываться о том, сколько байтов (кило-, мега-, а скоро даже и гига-) гоняется туда-сюда; 3 гигагерца процессора и гигабайт оперативной памяти (очень "средненький" сегодня компьютер) позволяют даже сложным приложениям-в-браузере на медленном и интерпретируемом JavaScript работать с терпимой скоростью; возрастающая мощь и стандартосовместимость браузеров расширяют возможности, которые можно использовать в веб-приложениях.

Другой фактор – появление крупных "интернетоцентричных" игроков индустрии. Из двух наших "эталонных примеров" – и Google, и Amazon делали свой бизнес только в Интернете, наращивая серверный парк, обрастая мощностями и технологиями, а также опытом и практикой поддержки этого здоровенного хозяйства. И те и другие вдруг обнаружили, что простаивающим серверам можно найти интересное применение, обернув свое облако лицом к человечеству. То, что они делают, для них просто выгодно (или, по крайней мере, не слишком затратно): если для мелкой компании "еще один сервер" – вопрос серьезный и затратный, то для наших грандов все равно – стоит ли в дата-центре 5000 серверов или 5001. Это классическое удешевление производства при больших тиражах – только здесь терабайты и гигагерцы сначала "производят", а затем "сдают" в аренду [ 37signals устроены несколько иначе; впрочем, им не приходится предоставлять огромные дисковые или вычислительные мощности, их "мощность" скорее в удобстве интерфейса приложений].

Третий фактор – стремительно наступающая эра "экономики внимания": трафик, сервера, разработка оказываются дешевле, чем внимание пользователя.

Как Google, так и многие авторы веб-сервисов помельче живут исключительно "с рекламы": ты приходишь к нам на сайт-сервис, не платишь за используемые ресурсы ни копейки, а за это "жертвуешь" свое внимание рекламодателю (который и превращает внимание в деньги для хозяина сервиса). Но дело не только в рекламе. Вот исследователи в компьютерном институте разработали и "выпустили на публику" эффективный алгоритм превращения растрового изображения в векторное – но в виде сайта-сервиса, а не скачиваемой программы. Логика подсказывает, что этот подход даст намного больше "внимания восхищенной публики" создателю-исследователю, чем маленькая программка, которая расползется по софтоархивам и винчестерам, и кто там уж упомнит ученого-умницу, столько сил вложившего в гениальный алгоритм [ Подбирая примеры для статьи, вспомнил об этом инструменте (несколько месяцев назад о нем громко говорили). Зайдя на сайт (vectormagic.com), обнаружил уже не "демонстрацию результатов научного исследования", а вполне коммерческий сервис, и довольно недешевый (2-3 доллара за картинку). Что, по-моему, демонстрирует эффективную конвертацию внимания (к бесплатному интересному сервису) в заработок (на уже раскрученном сервисе). ]. А ведь и Amazon (и аналогичные "облака для разработчиков") получает не только свои 30-центов-за-гигабайт, но и ключевую позицию в Веб2-индустрии приложений-сервисов. Неплохо для "просто книжного магазина", а?

Интересно, что во всех ключевых факторах проявления "облаков" далеко не последнюю роль сыграла "новая империя" Google. Именно Google первым стал давать "почти бесконечное" место под почту (помните обалдение от "гигабайта для вашей почты"? А через пару месяцев оказалось, что большинство крупных игроков вполне в состоянии выделить такие же и даже бо'льшие мощности – просто им это не приходило в голову); GMail же был одним из первых популярных примеров "богатого" пользовательского интерфейса в браузере; и кто, как не Гугл, демократизировал рынок рекламы (кстати, тоже в виде "облака" – вам предоставляются почти бесконечные рекламные ресурсы за довольно смешные деньги, все просто и доступно любому)[ Для пущей ясности: во всех перечисленных областях Гугл был скорее не первопроходцем, но крайне эффективным популяризатором и "законодателем мод". Вообще говоря, вопрос о том, насколько гугловский маркетинг (периода GMail) поспособствовал революции "нового веба", еще ждет своего внимательного исследователя. ].


ЗАЧЕМ?

А мне бы облаком

Из далека далеко.

А мне бы облаком,

Облаком.

Дмитрий Мулыгин

Ты все еще со мной, любезный читатель? Надеюсь, что так. Качаешь, небось, многомудрой головой:очень вы, пан автор, хорошо и красиво все нам расписали, да только не сказали – зачем? И вновь молю:терпение, друг мой читатель. Автор тебе не враг.

Многие обозреватели и IT-журналисты восторженного типа, рассказывая о cloud computing, договариваются до: "…все вообще будет происходить там, за облаками, а пользователю мощный компьютер будет и вовсе не нужен". Тут-то и возникают обоснованные сомнения:да ведь у меня этот самый "мощный компьютер" уже есть – и гигагерцы, и сотни гигабайт (а то и терабайты), зачем так драматизировать и где-то даже угрожать?

Ну, во-первых, к заоблачным вычислениям уже можно обратиться и с устройства послабее (читай:мобильного) – не только КПК, но даже и телефона современного, с Opera Mini или другим "приличным телефонным" браузером. А когда и вовсе не нужно будет задумываться о том, "где же я буду хранить" и "с какой скоростью я буду обрабатывать", – как знать, может быть, ко времени следующего апгрейда мы станем предпочитать устройства исходя из их компактности, мобильности, универсальности (или наоборот – узкоспециализированности) или удобства, в конце концов… И уже не задумываясь о том, сколько там этих самых гигагерц и терабайт. Чем не посрамление закона Мура в отдельно взятом кармане?

Но на самом деле важно даже не это. Важно следующее (внимание, читатель: вот главная фраза в этой статье; остальное, в принципе, можно было не читать): "облачные вычисления" – это не только аутсорсинг ресурсов, это аутсорсинг инфраструктуры и управления этой инфраструктурой.

Теперь подробнее.

Даже в самом простом случае – единичного, индивидуального пользователя и ориентированного на него приложения-сервиса – основное преимущество, которое дает использование "приложений из облака", – это то, что о месте на диске, памяти, времени, способе работы можно просто забыть. "Все оплачено и включено".

Что будет с моей почтой при переустановке операционной системы (или, не дай бог, смене платформы)? – Зайдешь на gmail.com, она там.

А не пора ли задуматься о бэкапе важной информации? – Если твои файлы хранятся в серьезном дата-центре, там уже задумались. И т. п.

При определенном подходе к своей рабочей среде за счет "облачков" можно избавиться от целого класса программ, нужных "изредка, но позарез" – вроде преобразователей форматов документов. Не надо ничего искать, устанавливать, настраивать, покупать (или ломать) – вот же она, онлайн-конвертилка вроде zamzar.com, конвертирующая что-угодно-куда-угодно, и остаются лишь затраты на входящий и исходящий трафик – ни лишних пробегов по софтархивам, ни посторонних записей в реестре, ни "отойди от компьютера, не видишь – конвертирую!". В каком-то смысле, облакообразность повышает экологию рынка утилит, выбрасывая из него бесчисленные софтопомойки и сотни тысяч шароварщиков, пишущих одно и то же по сороковому разу ("пользователей на всех хватит").

Если же перейти к бизнесу и его нуждам, то вполне можно представить офис без IT-инфраструктуры вообще – один тупой роутер, раздающий Интернет, а все обсуждения, документы, вычисления, хранение данных берут на себя "заоблачные" сервисы. Поначалу может показаться противоприродным обсуждать текущую задачу с соседом по столу посредством сервера в далекой стране[ Впрочем, активно используя мессенджеры и почту, мы и так зачастую этим занимаемся.], но как же соблазнительно избавиться от лишнего железа и задач по его обслуживанию, изобретения, установки и настройки "софта для совместной работы" и других частей инфраструктуры (не говоря уж о зазнайке-сисадмине, смайлик). В конце концов, такое "вынесенное в онлайн" решение просто дешевле и лучше масштабируется (от десятка до нескольких сотен сотрудников вполне можно "протянуть" на одном наборе приложений-планировщиков, органайзеров и коммуникаторов). Ну и о возможности организации распределенного офиса тоже не стоит забывать.

Наконец, переходя к "облакам для разработчиков", можно повторить все тот же набор аргументов: платить только за пространство и процессорное время дешевле, чем за собственные выделенные серверы и обслуживающих их специалистов; масштабирование сервиса при увеличении его популярности – дело нажатия пары кнопок в панели управления облаком – "хочу еще места/хочу еще пару гигагерц"; сохранность данных, доступность серверов, вопросы распараллеливания вычислений и данных по нескольким серверам – головная боль "хозяина облака", а не разработчика сервиса. Пример, уже ставший классическим: создатели фотохостинга SmugMug, использующего Amazon S3 для хранения пользовательских фотографий, утверждают, что, по самым скромным подсчетам, их экономия на хостинге составляет полмиллиона долларов в год[ По сравнению с содержанием собственных выделенных серверов. Проверить калькуляции можно здесь

[Закрыть]
].

В идеале (пока, видимо, недостижимом), разработчик нового онлайн-приложения может вообще не пользоваться хостингом в классическом смысле – запускать вычисления в одном "облаке", хранить данные в другом, показывать морду сайта с третьего, а самому сидеть на Гавайях и пить мохито и пинья-коладу.

Искренне надеюсь, дорогой мой читатель, что твое понимание этих новых веяний углубилось в достаточной мере, чтобы на досуге порассуждать о нерассмотренных мною темах – вроде изменений рыночной ситуации в облачном мире (например – рынка труда работников IT-инфраструктуры; или рынка мобильных устройств; или рынка интернет-доступа; или рынка больших уродливых серверов; соль, сахар, перец по вкусу). Мир – меняется?


P.S. Бочка ложек в меде с дегтем

Это, читатель, у нас будет самый скучный раздел. Настолько скучный, что мне просто лень его писать, и лишь одна мысль заставляет меня – стоит этот раздел опустить, как статью тут же перекосит в сторону детского энтузиазма. Поэтому быстрым аллюром пройдемся по негативным последствиям перехода на заоблачные вычисления, тем более что бо' льшая их часть очевидна.

Итак, совсем коротко. Локальный (временный) недостаток «облаков» для пользователя/организации заключается в некотором несовершенстве современных браузеров как полноценной платформы для приложений. Временным же я этот недостаток считаю по той простой причине, что… ну, если все занимаются «этим» (приложениями-в-браузере), то уж наверное и производители браузеров подтянутся… Собственно, в последние пару лет именно этот процесс и можно наблюдать.

Глобальные недостатки – заложенные в самой природе "заоблачных приложений" – куда серьезнее и вряд ли могут быть устранены. Во-первых, мы всецело и безоглядно полагаемся на доступность, надежность и скорость интернет-подключения [Поправка касательно этого недостатка. Вообще-то, есть тенденции разработки решений для работоспособности веб-приложений при непостоянном подключении: например, Google Gears встраивается в браузер пользователя и приложение на сервере и позволяет работать с "отключенным приложением", как с обычным (скажем, "отправлять" письма – до поры они полежат в хранилище на диске, а при первом же подключении отправятся на самом деле).]. Во-вторых, отдавая "облаку" на откуп всю инфраструктуру, мы, вообще говоря, упускаем из рук управление надежностью. Как неоднократно говорилось выше, в большинстве случаев далекий профессиональный дата-центр надежнее доморощенной IT-инфраструктуры; но вот при попадании вашего случая в меньшинство… возможность маневра и быстрого решения проблемы крайне ограничена. Наконец, право доступа к информации теперь тоже полностью на совести далекого заморского сервера, а кто и как там станет перлюстрировать ваши конфиденциальные данные – это вы у Бёрда Киви поинтересуйтесь.

На сей минорной ноте и завершим наш краткий и неполный обзор. Но все же, прошу обратить внимание, что данный раздел – это постскриптум, а более оптимистические выводы следует искать в конце предыдущего.


    Ваша оценка произведения:

Популярные книги за неделю