CodeFest 2010. Гаджибалаев Н. — сlass Server::Cloud < Server::Hardware // Управляй серверами как объектами со свойствами и методами
1. class Server::Cloud < Server::HardwareУправляйсерверамикакобъектамисосвойствамииметодами.Нат Гаджибалаев— ruby-разработчик— евангелист компании Оверсанnat@oversun.ru@xnutsiveХештег в твиттере: #scalaxy
2. Что такое «облачный хостинг»?По определению nist.gov, ключевые характеристики:On-demand self service (хотите получить больше — получаете больше)Ubiquitous network access (доступно всегдаи отовсюду)Metered use (оплата «по факту» с коротким промежутком тарификации)Elasticity (гибкие модели масштабирования и аренды)Resource pooling (устойчивость к аппаратным сбоям)Примеры?IaaSPaaSAmazon Web ServicesGoogle app engineHerokuRackspace CloudTerremark
3. Что такое IaaS, PaaSи SaaS?— Пользователь арендует инфраструктуру виртуальных серверов— Пользователь имеет доступ к ОС— Пользователь занимается управлением инфраструктурой и ОС самостоятельно— Пользователь арендует платформу, заточенную под конкретную технологию— Пользователь не контролирует ОС или платформу, а только устанавливает свое приложение в нее— Пользователь арендует конкретное приложение— У пользователя нет доступа к платформе и ОС— Администратор полностью контролирует железо, операционную систему, платформу и приложение.SaaSIaaSPaaS
4. Что такое масштабирование?Веб-приложение масштабируется под нагрузкой, либо для выполнения прикладных задач. Для некоторых видов масштабирования достаточно просто использовать подходящую облачную платформу. Для других — одного облака будет не достаточно и придется переписать часть приложения.
6. Приложения подхватывают и используют новые ресурсыПлюсы:Минимум доработок в существующем кодеМинусы:Не все приложения корректно работают при увеличении объема памяти :(
7. Скорее всего, будет существовать потолок масштабированияГоризонтальное масштабированиеПри увеличении нагрузки:Стартует еще несколько виртуальных машин, нагрузка распределяется между нимиПлюсы:Не плюс, но характеристика: больший шаг масштабирования. Не N ресурсов, а целый сервер
8. Нет проблем несовместимости ПО с этой моделью масштабированияМинусы: Требует использования балансировщика нагрузки
9. Слишком большой для рынка РФ шаг масштабирования, негибкоВеб-сервер1Гб ramВеб-сервер1Гб ramВеб-сервер1Гб ramВеб-сервер1Гб ramApp-сервер1Гб ram
33. Управляемый минимальный и максимальный размер виртуальной машиныВиртуальные машины: автомасштабированиеАвтоматическое управление количеством выделенных ресурсов, основываясь на текущей загрузке в реальном времени
64. Масштабирование с использованием API и собственной системой мониторинга позволяет сократить время реакции на возрастание нагрузки до нескольких секунд
65. Можно включать виртуальные машины, выполняющие отдельные задачи по расписанию, только тогда, когда они фактически нужны
66. Программный балансировщик нагрузки может анализировать объем входящего трафика веб-приложения и подключать дополнительные application-серверы по мере необходимости (гибридные архитектуры). Так можно достигнуть максимальной гибкости и экономииAPI Скалакси: сущностиПроект (ограниченное использование)
76. API Скалакси: работа с REST-интерфейсомPOST-запросы: создание объектовcurl -uusername:password-X POST -H "Content-Type: application/json" -d"{name: 'Projectname'}" https://www.scalaxy.ru/api/projects.json{"name":"Project name","id":152}GET-запросы: чтение объектовcurl–uusername:passwordhttps://www.scalaxy.ru/api/projects.json[{"name":"Project name","id":152}]
84. Спасибо! http://scalaxy.ru — Начать тестирование можно сегодня :)Follow us on twitter: @scalaxy, @xnutsiveВесь ваш фидбэк пишите в твиттер по тегу #scalaxyили на почту nat@scalaxy.ruили experts@scalaxy.ru