ݺߣ

ݺߣShare a Scribd company logo
class Server::Cloud < Server::HardwareУправляйсерверамикакобъектамисосвойствамииметодами.Нат Гаджибалаев— ruby-разработчик— евангелист компании Оверсанnat@oversun.ru@xnutsiveХештег в твиттере: #scalaxy
Что такое «облачный хостинг»?По определению nist.gov, ключевые характеристики:On-demand self service (хотите получить больше — получаете больше)Ubiquitous network access (доступно всегдаи отовсюду)Metered use (оплата «по факту» с коротким промежутком тарификации)Elasticity (гибкие модели масштабирования и аренды)Resource pooling (устойчивость к аппаратным сбоям)Примеры?IaaSPaaSAmazon Web ServicesGoogle app engineHerokuRackspace CloudTerremark
Что такое IaaS, PaaSи SaaS?— Пользователь арендует инфраструктуру виртуальных серверов— Пользователь имеет доступ к ОС— Пользователь занимается управлением инфраструктурой и ОС самостоятельно— Пользователь арендует платформу, заточенную под конкретную технологию— Пользователь не контролирует ОС или платформу, а только устанавливает свое приложение в нее— Пользователь арендует конкретное приложение— У пользователя нет доступа к платформе и ОС— Администратор полностью контролирует железо, операционную систему, платформу и приложение.SaaSIaaSPaaS
Что такое масштабирование?Веб-приложение масштабируется под нагрузкой, либо для выполнения прикладных задач. Для некоторых видов масштабирования достаточно просто использовать подходящую облачную платформу. Для других — одного облака будет не достаточно и придется переписать часть приложения.
Вертикальное масштабированиеВеб-сервер1Гб ramВеб-сервер 8Гб ramПри увеличении нагрузки:Кол-во ресурсов одного сервера увеличивается
Приложения подхватывают и используют новые ресурсыПлюсы:Минимум доработок в существующем кодеМинусы:Не все приложения корректно работают при увеличении объема памяти :(
Скорее всего, будет существовать потолок масштабированияГоризонтальное масштабированиеПри увеличении нагрузки:Стартует еще несколько виртуальных машин, нагрузка распределяется между нимиПлюсы:Не плюс, но характеристика: больший шаг масштабирования. Не N ресурсов, а целый сервер
Нет проблем несовместимости ПО с этой моделью масштабированияМинусы: Требует использования балансировщика нагрузки
Слишком большой для рынка РФ шаг масштабирования, негибкоВеб-сервер1Гб ramВеб-сервер1Гб ramВеб-сервер1Гб ramВеб-сервер1Гб ramApp-сервер1Гб ram
Cloud APIДля высоконагруженных (очень) проектов, стандартных средств автомасштабирования недостаточно
Если нужно реагировать на нагрузки очень быстро — нужно делать полный мониторинг самостоятельно
Если облако не предоставляет средств автомасштабирования, масштабировать инфраструктуру нужно самостоятельно
Как правило, облачные провайдеры предоставляют программный интерфейс(API) для всех этих операцийCloud API: примерыAmazon Web Services
Rackspace cloud
… Оверсан — СкалаксиОблачный хостинг
Инфраструктура
Платформа & сообществоОверсан — Скалакси: 								инфраструктураVRT — физические машины, хосты виртуаализации
BS — физические машины, массивы дисков
IB-pipe — Infinibandшина внутренней сети на 40 Гбит/с
VM — пользовательская виртуальная машинаВиртуальные машиныЕдиница измерения ресурсов — слот
512 Мб оперативной памяти
5 Мбит/с полоса в Интернет
Доступны все 8 ядер процессора
Размер машины — от 1 до 64 слотов, то есть от 512 Мб до 32 Гб оперативной памяти
Вертикальное масштабирование без перебоев в работе

More Related Content

CodeFest 2010. Гаджибалаев Н. — сlass Server::Cloud &lt; Server::Hardware // Управляй серверами как объектами со свойствами и методами