Posts tagged ‘aws’

AWS как хранилище данных

По состоянию на март 2010 года в Amazon S3 хранится 102 миллиарда объектов, если принять за основу расчеты Is number of objects true indicator of Amazon S3 growth? – 18 миллиардов объектов соответствуют 10 Пт данных, то получаем что сейчас в S3 хранится около 50 Пт данных ( на март 2010 ). Почти наверняка это заниженная оценка, поскольку для хранения петабайт данных Amazon S3 предоставляются специальные условия – видимо есть спрос на хранение таких объемов данных в S3. Если же брать EC2, то только предоставление дискового пространства для запущенных instances требует как минимум 8 Пт ежедневно – см Amazon provisioning 7 petabytes of storage per day.

AWS как вычислительный ресурс

Согласно Amazon’s EC2 Generating 220M+ Annually ( данные на октябрь 2009 ) – 80 процентов серверов приходится на зоны US, в сумме около 40 000 физических серверов, примерно одна пятая инфраструктурных мощностей EC2 используются для нужд сервисов обслуживающих amazon.com. Распределение по типам инстансов :
amazon ec2 usage rates

Amazon Web Services по прежнему лидер рынка – см State of the cloud – 2010 August
-

И на “сладкое” – анатомия instance id и расчет количества ежедневно запущенных instance – Amazon EC2 usage estimates – около 50 тысяч инстансов в пределах одной геозоны в сутки ( данные на Oct, 2009 ).

:
amazon zone eu-west-1.

По горячим следам презентации в мейл.ру хочется немного дополнить мои ответы на вопросы из зала :
Q : Какова производительность EC2 instance ( по сравнению с реальным железом )?

A: Картинка ниже должна ответить на данный вопрос ( не забываем что в линейке EC2 есть и гораздо более производиельные instance чем m1.medium ),  по теме произвоительности EC2 ( и других клауд провайдеров )  можно посмотреть эту небольшую подборку ссылок – Cloud providers perfomance tests and monitoring.

Q: Трафик с EC2 – сколько стоит входящий трафик и сколько исходящий? Насколько оправдано например будет вынести краулинг веба в EC2 ?
A: Как я и сказал – внешний входящий трафик бесплатный, исходящий наружу стоит некоторых денег – см EC2 pricing. Трафик внутри сети ( в пределах региона ) – бесплатный. Теперь о деталях – исходящий трафик бесплатный до 1 ноября 2010, после будет тарифицироваться по 10 центов за Гб – так что времени бесплатно скачать весь интернет осталось не так много :-) При цене в 10 центов за Гб скачать весь рунет ( по данным яндекса 140 тысяч Гб только текста ) будет стоит 14 000 USD, а если говорить о инкрементальном апдейте в 2 Тб ( что вполне близко к реальности ), то один стоимость трафика достаточно невысока – всего 200 USD. Внешний трафик ( наружу ) – один Гб в месяц – бесплатно, далее в зависимости от объёма цена колеблется от 8 до 15 центов за Гб. Другая приятная для анонимного краулинга особенность EC2 – действительно большой выбор ip адресов – имеется возможность размещения instance в достаточно широком диапазоне подсетей и более того в разных географических регионах.

Q : Как ведут себя instance EC2 в некоторых нештатных ситуациях ( например когда кончаются сокеты или память ), какие там установлены лимиты?
A: Для меня неясно насколько поведение ОС под Xen отличается от ее поведения на настоящем железе, особенно в крайних ситуациях. Очевидно что все настройки лимитов на guest-OS доступны для редактирования, но также очевидно что всё это никак не влияет на настройки host-OS. Официальная точка зрения инженеров Amazon состоит в том, что то все лимиты устанавливаются также как и под реальным железом ( root + ulimit ) и запуск OC под системой виртуализации не играет тут никакой роли. Из найденных пользователями фич можно посмотреть по этому поводу например Get around EC2 filesystem limits (sort of), а вообще подозреваю что поведение будет иметь фичи не столько связанные с тем что мы запускаем сервер под EC2/Xen, сколько зависеть от образа который мы запускаем.

Q: Поддерживается ли hibernate в EC2 ? ( можно ли поднять приложение, “прогреть” кэш и сохранить это состояние, а потом когда нужно быстро поднять сервер? )
A: Для начала каким образом можно было бы сделать Hibernate – для этого необходимо к instance примонтировать EBS устройство ( отформатировать его и тп ) и сделать туда hibernate выключив instance – shutdown в данном случае означает что мы потеряли данный instance навсегда, EBS хранилище при это естесственно остается существовать и его можно примонтировать к любому другому запущенному instance. Таким образом hibernate можно реализовать как например запуск нового instance такого же типа с автоматическим монтированием EBS с hibernate данными и восстановлением состояния системы из данных с этого EBS устройства. Насколько я могу судить эта фича достаточно востребована, но как я вижу, пока не реализована – см. EC2 Hibernate, Hibernating Ubuntu on EBS boot EC2 instances.

ps. Из остального – если хочется что-то cloud computing но на местной, российской площадке – посмотрите на Оверсан Скалакси.

То о чем так долго твердили большевики клауд евангелисты случилось – HPC на EC2 таки пришло ( см – New Amazon EC2 Instance Type – The Cluster Compute Instance ) в виде HVM виртуализации ( Xen/CentOS ) вместо паравиртуализации ( Xen/много_разных_ос ) используемой в EC2 сейчас. Ожидается что виртуалки запускаемые под HVM будут сильно быстрее, сеть обещают 10Гбит, что безусловно хорошо. Создавать HPC кластеры как обычно можно через API парой команд – создать имя кластера, и второй командой запихнуть в этот кластер столько то виртуалок :

$ ec2-create-placement-group bokov_super_cluster -s cluster
$ ec2-run-instances ami-2de43f55 --type cc1.4xlarge --placement-group bokov_super_cluster -n 8

ami-2de43f55 – это CentOS ( ничего другого пока нет – не поддерживают HVM ? ), 8 – сколько нодов в кластере,
cc1.4xlarge – тип ноды ( Quadruple Extra Large – 33.5 ECU (EC2 Compute Units), 23 GB of RAM, 1690 GB storage ).

HPC кластеры от EC2 базируются на самом мощном инстансе из линейки AWS который запускается под HVM, причем в случае с Cloud Compute cc1.4xlarge стоит дешевле ( 1.60 против 2.40 ) чем в случае простого, не HPC-кластерного, использования. Доступно все это пока только в одном регионе – us-east ( физический локайшн серверов, конечно же пользовать все это можно из любой точки мира ), постепенно думаю что расширят ее и на другие регионы. Как уже упоминалось из операционок доступна сейчас только CentOS, для других ОС Amazon предлагает делать образы самостоятельно, но имхо лучше подождать немного пока этого не сделают. И еще немного по поводу производительности -  как утверждается в New Amazon EC2 Instance Type – The Cluster Compute Instance народ из AWS сделал кластер из 880 HPC узлов с производительностью 41.82 MFlops (запускали High Performance Linpack запущенный на 880 инстансах Cluster Compute (7040 cores) – что пример равно 146 месту в top500 суперкомпьютеров.

Если совсем-совсем честно, то конечно же HVM это все равно Xen и всё равно виртуализация, что имеет свои явные плюсы в виде скорости _скалирования_ кластера, но и по сравнению с “просто железом” верхняя планка по производительности ( в пике? ) все равно будет ниже. Из HPC + cloud computing еще раз хочется отметить Penguin On Demand – это HPC кластеры on demand ( cloud computing!) из “настоящего” hardware, без виртуализации. Penguin-ы уповают на то что их cloud будет сильно быстрее в смысле общего времени выполнения задач. Подробно в POD я пока не копался – остаётся открытым вопрос про API ( свое ПО для управление кластерами Penguin-ов – SkyId ClusterWare + TaskMaster Suite + Integrated Managed Framework, API явно есть, не понятно как из своих приложений управлять кластером ) и про то насколько быстро кластер будет скалироваться – с одной стороны конечно Pay-As-You-Go, но тем не менее SLA не гарантируют и про динамическое изменение размеров кластера сказано что “can be rapidly scaled by Penguin so POD can grow its capacity as needed” ( POD = Penguin On Demand, по умолчанию в нем доступно 1280 ядер, видимо платить надо за все сразу? ), интересно а если надо уменьшить размер кластера ? Еще небольшое замечание – Penguin-On-Demand на сегодня также как и Amazon HPC работает с CentOS.

Обновление в Amazon Web Services

  • 2 новых типа instance высокой мощности :64 бита – Double Extra Large с 34.2 GB RAM, and 13 ECU (4 virtual cores *3.25 EC2 compute Unit=ECU), 64-bit platform
    и Quadruple Extra Large – 68.4 GB of RAM/ 26 ECU (8 virtual cores* 3.25 ECU) : New EC2 High-Memory Instances
  • Небольшое снижение цен за instances ( в eu-west по прежнему дороже чем в us-east ) : Amazon EC2 – Now an Even Better Value
  • Новый сервис для реляционных БД ( обещается прозрачный провижионинг, скалирование и прочие радости ) : Introducing Amazon RDS – The Amazon Relational Database Service
  • И довольно таки неожиданные заявления о наличии у EC2 потенциальных уязвимостей : Vulnerability identified in Amazon’s cloud computing
  • Amazon EC2 – Ubuntu at google groups
  • 5 лет назад была анонсирована первая из технологий Amazon Web Services – Amazon Simple Queue Service – самые важные события в AWS за последние 5 лет
  • Не так давно amazon анонсировал появление дополнительной зоны в регионе us-east – us-east-1d – теперь у EC2 есть два региона – us-east-1 ( в котором есть 4 зоны us-east-1a, us-east-1b, us-east-1c, us-east-1d ) и eu-west-1 ( в котороем есть две зоны eu-west-1a и eu-west-1c ). Continue reading ‘Регионы и зоны в Amazon EC2’ »

    Сегодня мне наконец удалось собственноручно положить instances с 64 битной Ubuntu – запущенный в бесконечной рекурсии скрипт на bash делает своё грязное дело – “съедает” все сокеты, так что ssh ( и все остальное ) ложится намертво. Что делать – ec2-reboot-instances спасет ( все что было в памяти естесственно будет потеряно ), с первого раза reboot не всегда удается – иногда приходится по несколько раз посылать на ребут. Еще полезная штука – AWS Managment Console, которая тоже умеет делать reboot и shutdown, но самое главное в ней всегда можно посмотреть system log. От себя замечу что dedicated box с например FreeBSD в подобных ситуациях ( кто то пожрал сокеты ) ведет себя абсолютно точно также – лежит, и чтобы поднять надо уже его руками поднимать – либо через Managment interface если сервер не совсем старый, или руками Reset нажимать если удаленно он вообще недоступен. Посколько привилигия доступа к managment interface обычно есть у крайне узкого круга лиц, то повисла машина – стучимся до админов, и он уже поднимает упавшее. Попробуйте проделать этот трюк раз 5 за час и узнайте все что думают админы про кривые руки программистов – на ec2 managment interface доступен всем и пинать для того чтобы поднять упавшую ноду никого не надо.

    Как сообщается в Amazon Web Services: Bigger Than Amazon трафик от Amazon Web Services уже превышает трафик от amazon.com – общее количество разработчиков использующих AWS превышает 300 000 и это число растет на 10% каждый квартал. Общий объем трафика позволяет точно говорить о реальной посещаемости проектов базирующихся на AWS лишь косвенно, но основной тренд налицо – использование web services в качестве back-end платформ для самого широкого спектра продуктов ( а AWS используют не только online web ресурсы ) становится всё популярнее и имеет отличные перспективы для дальнейшего роста.

    Сравнение разных cloud-провайдеров :

    Документ в котором Amazon описывает важные аспекты работы EC2 – архитектура кластера, требования к надежности, защищенности данных и тп : AWS Security White Paper.

    Полезная конференция на Amazon Elastic Compute Cloud (EC2) at groups.grid.org

    Решения в сфере распределенных вычислений работающие с Amazon EC2 :

    Проекты работающие на Amazon EC2 :

    Полезные статьи посвященные Amazon AWS:

    Я  несколько раз пытался что то написать, но не мог решить с чего же начать рассказывать про Амазон EC2. Всё таки по сравнению с мировой революцией и выходом человека в космос сервис амазона это не такая значительная веха в истории человечества. На самом деле это не совсем так – Амазон сделал очень удобную технологию на которой базируются уже многие сотни вполне успешных проектов и у этой технологии огромное будушее. Вкратце это выглядит так – вы платите амазону небольшие денежки ( 10 центов в час за один сервер через кредитку ) и в ответ получаете сервер ( Fedora ) c root-вым доступом, который виден снаружи : http, ssh – открываем/закрываем доступ как хотим – у нас же root. То что установлено – можно подправить – заходим через ssh, конфигурируем там все как хотим – сохраняем image под своим именем, потом когда просим новый сервер – просто говорим что хотим загрузить на сервер тот самый наш image.
    Денег такое счастье стоит совсем немного, особых проблем ( в виде например втыкания железа в стойки ) за собой не тянет. Основная фишка – это то что можно оперативно “заказывать” и “выключать” ( и соответственно не платить! ) более-менее любое количество серверов.
    Дешево ли 0.10 $ в час за некий не шибко мощный сервер ( примерно 75 $ в месяц или 900 $ в год ) ? Аренда чего то похожего ( наверное все таки dedicated ) будет стоить около 200$ в месяц или 2400$ в год. Конечно dedicated в стойке я так подозреваю будет побыстрее чем разделяемый одновременно несколькими виртуальными ОС ( см. Защищенность данных в Amazon Web Services )  за 10 центов в час, но тем не менее это всё таки почти тоже самое ( root доступ :-) ), и денег стоит дешевле. И самое главное – сразу забываем про стойки, дц и прочее – нужен сервер – легким кликом говорим амазону хочу N серверов ( instance в терминологии амазона ) на котором будет стоять вот этот мой image с пропатченным моими кривыми ручками моим родным русским апачем. И еще – я хочу не один, а пару сотен таких серверов в ближайший час. И через несколько минут я их получаю. Со свеженалитыми, белоснежно чистыми ос загруженными с моего image ( сколько денег-времени будет стоить переналить какую нибудь FreeBSD на хостинге, да еще если нужна FreeBSD c русским апачем и ерлангом ? :-) . Нагрузка на проект выросла – нажал кнопочку – добавил в кластер сколько нужно серверов, упала нагрузка – прибил лишние.
    Конечно сделать систему гибко масштабируемой чтобы от плюс-минус серверов всё так же работало сложнее чем сразу прибить гвоздями все в расчете на N серверов, а потом вытаскивать прибитые гвозди и забивать новые когда появились деньги на расширение аппаратного парка. Конфигурация small AMI ( того за который надо платить 0.1$ в час – но есть мощнее, и дороже) на самом деле неплохая – Dual Core AMD 2.6 GHz
    Continue reading ‘Amazon elastic clouds – getting started’ »

    Get Adobe Flash playerPlugin by wpburn.com wordpress themes