Upload
ontico
View
1.840
Download
3
Embed Size (px)
DESCRIPTION
Citation preview
Amazon Web Services: инструменты обеспечения
масштабируемости иотказоустойчивости
Дмитрий Тупицын[email protected]
HighLoad++HighLoad++20082008
Структура доклада
Преимущества EC2 Проблемы EC2 Дополнительные службы
Simple Storage Service (S3) SimpleDB (SDB) Simple Queue Services (SQS)
Языки и библиотеки
1Часть
Преимущества EC2
Простота
Простой интерфейс к EC2 и другим службам Просто запускать сервера Время запуска/останова инстанции (обычно) меньше 1 минуты
Не нужен системный администратор Нет проблем с сетью и железом
Минимизация затрат
Временное добавление серверов Пиковая нагрузка зачастую в 10 и более раз выше средней но длится 13 часа в сутки
Повышенная нагрузки во время PRакций или сезоных изменений
Сервера для инфраструктурных,периодических задач (бакап, подсчет статиситки)
Временное отключение серверов Часть времени (ночью, выходные) сервера простаивают
Переход к фактическойнагрузке
Обычно: Параметр пиковая нагрузка Задача – минимизация количества серверов во время пиковой нагрузки
В облаках: Параметр – фактическая загрузка Задача – минимизация серверов во время всего цикла работы системы
Снижение рисков
Не требуется больших финансовых вливаний в инфраструктуру Особенно важно для нефинансируемых стартапов
Бизнес модель работает? (ДА) Быстро добавляем сервера (НЕТ) Не тратимся на аренду
2Часть
Проблемы EC2
?Что изменилось
Все проблемы с сетью и железом решаются отключением проблемных и запуском новых серверов
При выключении сервера теряются все его данные не сохраненные во внешние службы (S3 и т.д.)
Новый сервер имеет неизвестный заранее IP адрес (как внешний так и внутренний)
:Проблема Потеря данных серверов
Диски сервера /dev/sda1 10Gb / (image образ системы) /dev/sda2 147Gb /mnt (временный диск)
/ при запуске копируется из image /mnt – при запуске всегда чистый При остановке сервера/instance ничего не сохраняется!!!
1:РешениеSimple Storage Service (S3) Самое простое решение Неограниченный объем хранилища Доступен как из EC2 так и ”снаружи” Цена: 0.15$Гб + $ за количество запросов Недостаток
чтобы избежать потерь данных при ”падении” серверов необходимо часто реплицировать данные на S3
Медлено работает с большим количеством файлов
2:РешениеElastic Block Store (EBS)
Монтируется как блочное устройство Размер от 1Гб до 1Тб Механизм создания снэпшотов в S3 Снэпшоты инкрементальные Данные реплицируются между несколькими серверами в одном датацентре (S3в разных)
Цена: 0.1$/Гб + 0.1$ за 1М операций
:Проблема IP Изменение адресов
ip remap средствами EC2 Ограничение 5 адресов. Можно увеличить Фиксированный ip стоит 0.01$/час ~ 7.2$/месяц
Традиционные методы Развернуть свой DNS сервер Развернуть свой Proxy сервер
:Проблема Расположение
-дата центров США Европа России нет
Это может стать серьезным препятствием для сервисов нацеленных на российский рынок
3Часть
Дополнительные службы
Simple Storage Service (S3)
Простой интерфейс Масштабируемость
Неограниченный объем хранилища и размер отдельных файлов
Высокая скорость доступа
Отказоустойчивость Репликация данных в различных датацентрах
S3Применение
Хранилище (файлы, фотки ..) Бекапы Images – образы машин Снэпшоты EBS Хранение состояний серверов Эмуляция файловой системы – плохая идея
(используйте EBS) Медленно работает с большим количеством маленьких файлов
SimpleDB (SDB)
Домен = Таблица
SDBЗапросы к
Бинарные операторы: =, !=, <, > <=, >=, STARTSWITH, AND, OR, NOT, INTERSECTION, UNION
Унарный оператор: SORT Примеры:
[ 'Type' = 'db' ] [ 'IP' startswith '75.101.249.' ] [ 'Status'='running' ] intersection [ 'Type'='db' ]
SDB Преимущества над БД Простота
Нет формата данных Нет индексирования
Большие объемы (до 10Гб в домене, до 100 доменов/таблиц)
Не требуется администрировать Масштабируемость Отказоустойчивость
SDBНедостатки
Примитивные запросы Нет связей между таблицами Латентность
Запись распростроняется не мгновенно. При большом объеме задержка до нескольких секунд
Только лексикографический порядок Для текстового поиска придется строить свой индекс
SDBПример использования
Хранение информации о системе в целом Адреса серверов Состояния серверов Измерения производительности серверов
Логи системы Время запуска/останова серверов Обнаруженные ошибки Время поступление и время обработки заданий
Simple Queue Services (SQS)
Неограниченное количество очередей и сообщений
Сообщения текстовые до 8Кб Хранятся 4 дня
SQS?Зачем
Уменьшает связность между серверами поставщиками заданий и обработчиками Ассинхронность Легко масштабировать Аналогия паттерн цепочка ответственности
Сохранность связи При падении сервера сообщение не потеряется Аналоги – Java Message Service, Microsoft Message
Queuing
Передача тяжелыхсообщений
Максимальная длинна сообщения 8Кб Можно использовать ссылки вместо данных
SimpleDB ( ItemID=3752 ) S3 ( storage/images/img436.jpg ) Сервера и данные на нем (server3, /var/storage/user342)
Выводы по службам
Для гибкого управления серверной инфраструктурой требутся некоторый слой промежуточного ПО
Можно создавать свое промежуточное ПО Придется самостоятельно обеспечивать масштабируемость и отказоустойчивость
Проще воспользоваться службами Amazon (S3, SDB, SQS ...)
4Часть
Языки и библиотеки
Библиотеки
”Родные” библиотеки на aws.amazon.com EC2: CommandLine tools для unix shell AWS: Java, C#, Perl, PHP, VB.NET
Python http://code.google.com/p/boto/
Erlang EC2: http://code.google.com/p/erlawys/ AWS: http://code.google.com/p/erlaws/