пятница, 4 апреля 2008 г.

Amazon Web Services

В Lab49 решили изменить формат встреч London .NET Meetup. Изначально они задумывали, что специалисты будут раз в месяц встречаться и общаться в свободном формате. Но так не получается. Народ сидит и не знает, что сказать. Нужен заводила, массовик-зайтейник, только тогда получается плодотворное общение. Изначально затейником был сам Vivake (я так понимаю, он хозяин Lab49).

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

Поэтому было принято решение на каждое собрание приглашать постороннего докладчика. Первым из них стал американец Mike Culver из Amazon, бывший работник Microsoft.

Как обычно, в начале мы ели пиццу, пили пиво и рассказывали о себе. Организаторы "прогнулись" перед американцем - кроме пиццы еще набрали всякой еды типа рыбы, салатиков, но вот незадача - забыли салфетки и одноразовые вилки.

Одного мужичка я принял за уборщика. Почему-то он одобрительно кивал, когда я рассказывал про свою работу в Америке. На самом деле это и был наш докладчик. Первую минуту я не совсем его понимал - неожиданно оказалось, что я уже слегка отвык от американского акцента.

Тема Amazon Web Services вызывала у меня ассоциации со списком товаров, биллингом, авторизацией кредиток и т.д. Оказалось, речь совершенно о другом.

Для начала мы послушали простую, но интересную презентацию о том, как трудно для стартапа (молодой Интернет-компании) предсказать нагрузку на сервера. Например, у Facebook был бешеный рост популярности, а в этом году приличное падение. Разные причины - людям надоело, стало много спама, многие компании стали запрещать пользоваться и т.д. Но смысл в том, что в какой-то момент серверов не хватало, а в другой - они стали лишними. Денежки уже вложены, а компьютеры простаивают и дешевеют.

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

Объекты подписываются электронной подписью, можно открыть доступ только определенным людям или группам, или создать более хитрые правила, вроде "к этому объекту может получить доступ каждый третий пользователь, а остальным отказывать". Получать объекты можно через SOAP или просто по какой-то URL.

Майк рассказал success story, опубликованную в Federal Computer Week: сотрудник Пентагона долго выбивал 30 миллионов на новые сервера, потом плюнул, достал кредитку и за свои кровные 5 долларов получил тот же самый сервис на Amazon. Хотя я сомневаюсь насчет "тот же самый". Наверное, есть какая-то разница.

Я спросил, как их сервис можно сравнить с Akamai. Майк ответил, что они не совсем конкурент, потому что Akamai - это Content Delivery. Цель Akamai - доставить данные как можно быстрее, надежность их волнует меньше.

Вообщем, ничего революционного вроде как нет, но общее впечатление у меня сложилось хорошее. Еще есть очереди (queues) и упрощенная база данных SimpleDB, которые работают по тому же принципу (все прозрачно реплицируется). Был индус-специалист по Tibco, он раскритиковал амазоновские очереди. Майк сразу пригласил его пообедать вместе, пообещал законспектировать все замечания и передать разработчикам.

SimpleDB - это простая, нереляционная база данных. В ней можно, например, хранить в одном поле два значения сразу. Язык запросов у них самодельный. Сложный запрос приходится делать в два или больше этапа (сначала получить список ключей, а дальше уже запрашивать подробности) - примерно так же, как в Системе Срочных Переводов НБУ. Вообщем, даже из названия SimpleDB видно, что этот продукт не может конкурировать SQL серверами. Я так понимаю, его можно использовать, когда нужна скорость, надежность, а разработчики не очень разбираются в реляционных БД. Я попросил сравнить SimpleDB и Google Base. К сожалению, кроме меня никто не игрался с Google Base, так что ответа не получил.

Напоследок я спросил то, что у меня когда-то спрашивал Джеффри Рихтер:

"Вы перелетели Атлантику только для того, чтобы встретится с нами?"
Не задумавшись ни на секунду, Майк ответил: "Конечно, я же знал, что тут будут давать бесплатную пиццу!"

Комментариев нет:

Ratings by outbrain