Upload
jamteam
View
242
Download
0
Embed Size (px)
DESCRIPTION
Cloud Computing
Citation preview
Definition
Облачные вычисления – это модель обеспечения повсеместногои удобного сетевого доступа по требованию к общему пулуконфигурируемых вычислительных ресурсов (например сетямпередачи данных, серверам, устройствам хранения данных,приложениям и сервисам � как вместе, так и по отдельности),которые могут быть оперативно предоставлены и освобожденыс минимальными эксплуатационными затратами.Одной из ключевых технологий является технологиявиртуализации.
Виртуализация
Hardware
HypervisorOS1 OS2
OSN
...Application Application Application
Layers of Cloud Computing(Модели обслуживания)
• Infrastructure as a Service – IaaS(Инфраструктура как услуга)
• Platform as a Service – PaaS(Платформа как услуга)
• Software as a Service – SaaS(Программное обеспечение как услуга)
Layers of Cloud Computing(Модели обслуживания)
SaaSPaaS
IaaS
Server
Hypervisor
OS1 OS2 OSN...
Platform
Software
IaaS
Вычислительные ресурсы предоставляются в качестве сервиса.Пользователь сам выбирает программное обеспечение:операционную систему, платформенное и прикладное ПО.Возможно управление виртуальными системами храненияданных.
IaaS: Предоставление ВМ
Ресурсы предоставляются через экземпляры виртуальныхмашин. Виртуальные образы могут быть выбраны изимеющихся либо сделаны пользователем.Пример шагов по запуску экземпляра виртуальной машины:
1 Выбрать подходящий сервер (предоставляемыевычислительные ресурсы) из пула доступных, выбратьшаблон с ОС для образа ВМ.
2 Загрузить необходимое ПО: драйвера, целевое ПО.3 Настроить ВМ (сетевые и дисковые ресурсы).4 Виртуальный сервер готов к работе.
IaaS: Миграция ВМ
В процессе работы может возникнуть необходимостьпереместить экземпляр ВМ с одного реального сервера надругой. Две техники:
• Live Migration• Regular/Cold Migration
IaaS: Regular/Cold Migration
Для миграции необходимо отключение ВМ. ВМ не обязательнонаходится на общем хранилище.
IaaS: Live migrationМиграция осуществляет без выключения ВМ. ВМ должнанаходится на общем хранилище. Пример алгоритма миграции:
1 Активная ВМ работает на хосте А.2 Отправляется запрос на резервирование ресурсов на хосте
Б.3 С хоста А на хост Б копируются все страницы памяти ВМ.4 ВМ на хосте А останавливается, сетевой трафик
перенаправляется на хост Б. Измененные страницы памятиотправляются на хост Б. ВМ на хосте А все еще являетсяосновной и может быть перезапущена в случае ошибкимиграции.
5 Хост Б отправляет на хост А подтверждение о полученииобраза. ВМ на хосте Б становится основной, копия с хостаА может быть удалена.
6 Донастройка ВМ, отправка оповещения о перемещенииIP-адреса.
PaaS
Предоставляется платформа для разработки. Платформанакладывает ограничение на язык(и) разработки. Содержитготовые решения для типовых задач.Пример Google AppEngine. Языки: Python, Java, Go. Готовыерешения для кэширования в памяти (memcache), почты,мгновенного обмена сообщениями (XMPP).
PaaS
http://www.zoho.com/creator/paas.html
SaaS
Пользовательское ПО находится на удаленном ресурсе.Доступ:
• Тонкий клиент (браузер)• API (HTTP, REST, SOAP, JSON)
Types of Cloud Computing(Модели развёртывания)
• Публичное облако• Частное облако• Гибридное облако
Публичное облако
The Cloud
Off Premises / Third PartyOn Premises / Internal
CC-BY-SA 3.0 Sam Johnstonby
Ресурсы доступны через Internet, облако располагается упровайдера.
Частное облако
The Cloud
Off Premises / Third PartyOn Premises / Internal
CC-BY-SA 3.0 Sam Johnstonby
Ресурсы доступны через внутреннюю сеть, облакорасполагается у клиента.
Гибридное облако
The Cloud
Off Premises / Third PartyOn Premises / Internal
CC-BY-SA 3.0 Sam Johnstonby
Комбинирует публичную и частную модели развертывания.
Scalability (Масштабируемость)
• Вертикальное масштабирование – увеличениепроизводительности машин.
• Горизонтальное масштабирование – увеличение количествамашин.
Пример использования ресурсов
День
Неделя
Пример использования ресурсов
День
Неделя
Definition
OpenStack - это комплекс проектовсвободного программного обеспечения,которое может быть использовано длясоздания вычислительных облаков иоблачных хранилищ, как публичных, так ичастных.
Основные компоненты OpenStack
• Compute (Nova) – контроллер вычислительных ресурсов• Object Storage (Swift) – облачное хранилище• Image Service (Glance) – контроллер виртуальных образов
Все компоненты написаны на Python.
Архитектура OpenStack
Разработка
Compute (Nova)
Компонент Compute позволяет управлять сетью из виртуальныхмашин. Он предоставляет интерфейсы для работы с облаком:пользовательский интерфейс, API. С его помощью можноконтроллировать работу экземпляров виртуальных машин,конфигурировать сети, настраивать доступ для пользователей.Не реализует виртуализацию, вместо этого использует libvirt
для взаимодествия с гипервизорами. Таким образом независит от конкретного гипервизора виртуальных машин.
Object Storage (Swift)
Компонент Object Storage представляет из себя ПО длясоздания избыточных масштабируемых объектных хранилищ сиспользованием кластеров машин. Основной задачей являетсядолговременное хранение данных. Хранилище избыточное –используется механизм репликаций.
Image Service (Glance)
Компонент Image Service позволяет обнаруживать,регистрировать и предоставлять образы виртуальных машин.Поддерживаются различные бэкенды, включая OpenStackObjectStorage.Поддерживаемые форматы образов:
• Raw• Machine (kernel/ramdisk outside of image, a.k.a. AMI)• VHD (Hyper-V)• VDI (VirtualBox)• qcow2 (Qemu/KVM)• VMDK (VMWare)• OVF (VMWare, others)
http://www.ubuntu.com/cloud
Выбор образа
Подготовка ВМ
ВМ готова
Начало работы
Ресурсы
Hello, cruel world
Hello, cruel world
Пример кода сервиса
import xmlrpclib
from SimpleXMLRPCServer import SimpleXMLRPCServer
def fact(n):
if(n > 1):
return fact(n-1)*n
return 1;
server = SimpleXMLRPCServer (("", 8000))
print "Listening�on�port�8000..."
server.register_function(fact , "fact")
server.serve_forever ()
Работа с сервисом
Goodbye, cruel world