Вы находитесь на странице: 1из 71

Cоздаем облачную среду

на базе open-sourсe
решения OpenStack
ведущий:
Илья Алексеев
24 октября 2013
ilyaalekseyev@acm.org
План
1.  Что такое облака
2.  Что такое OpenStack
3.  Высокоуровневая архитектура
4.  Проект Keystone
5.  Проект Nova
6.  Проект Swift
7.  Проект Cinder
8.  Проект Glance
9.  Проект Neutron
10. Проект Ceilometer
11. Проект Heat
12. Проект Horizon
13. Сообщество и онлайн ресурсы
14. Что будет дальше?

#  
План
1.  Что такое облака
2.  Что такое OpenStack
3.  Высокоуровневая архитектура
4.  Проект Keystone
5.  Проект Nova
6.  Проект Swift
7.  Проект Cinder
8.  Проект Glance
9.  Проект Neutron
10. Проект Ceilometer
11. Проект Heat
12. Проект Horizon
13. Сообщество и онлайн ресурсы
14. Что будет дальше?

#  
Что такое облака
Облачные вычисления это модель
предоставления повсеместного и
удобного сетевого доступа к
общему пулу конфигурируемых
вычислительных ресурсов
(например, сетей, серверов,
систем хранения, приложений и
сервисов), которые могут быть
быстро предоставлены и
освобождены с минимальными
усилиями по управлению и
необходимостью взаимодействия с
провайдером услуг.

The NIST Definition of Cloud Computing

#  
Что такое облака

5 характеристик:
1.  Самообслуживание по запросу
2.  Свободный сетевой доступ
3.  Пул ресурсов
4.  Быстрая эластичность
5.  Измеримый сервис

The NIST Definition of Cloud Computing

#  
Что такое облака

Модели услуг:
1.  Инфраструктура как сервис (IaaS)
2.  Платформа как сервис (PaaS)
3.  ПО как сервис (SaaS)

The NIST Definition of Cloud Computing

#  
Что такое облака
Модели развертывания:
1.  Частное облако (Private Cloud)
2.  Публичное облако (Public Cloud)
3.  Облако сообщества (Community
Cloud)
4.  Гибридное облако (Hybrid Cloud)

The NIST Definition of Cloud Computing

#  
Что такое облака

Модели услуг:

1.  Инфраструктура как сервис (IaaS)
2.  Платформа как сервис (PaaS)
3.  ПО как сервис (SaaS)

#  
План
1.  Что такое облака
2.  Что такое OpenStack
3.  Высокоуровневая архитектура
4.  Проект Keystone
5.  Проект Nova
6.  Проект Swift
7.  Проект Cinder
8.  Проект Glance
9.  Проект Neutron
10. Проект Ceilometer
11. Проект Heat
12. Проект Horizon
13. Сообщество и онлайн ресурсы
14. Что будет дальше?

#  
Что такое OpenStack

OpenStack

глобальное объединение
разработчиков и технологов в области
облачных вычислений, создающих
облачную платформу с открытым
исходным кодом для публичных и
приватных вычислительных облаков.

#  
Что такое OpenStack

Цель проекта


предоставление решения для простой
реализации всех типов облаков, имеющего
способность к массивному
масштабированию и обладающего богатым
функционалом.

#  
Что такое OpenStack

Состоит

Из основных проектов принятых OpenStack
Foundation:
•  Keystone
•  Glance
•  Nova
•  Swift
•  Neutron
•  Horizon
•  Heat
•  Ceilometer
•  Проектов в инкубации
•  Community проектов

#  
Что такое OpenStack

Создан

По инициативе компании Rackspace и
агентства NASA в июне 2011 года из двузх
проектов:
•  Nova – контроллер вычислительных
ресурсов
•  Swift – объектное хранилище

#  
План
1.  Что такое облака
2.  Что такое OpenStack
3.  Высокоуровневая архитектура
4.  Проект Keystone
5.  Проект Nova
6.  Проект Cinder
7.  Проект Swift
8.  Проект Glance
9.  Проект Neutron
10. Проект Ceilometer
11. Проект Heat
12. Проект Horizon
13. Сообщество и онлайн ресурсы
14. Что будет дальше?

#  
Архитектура

#  
Архитектура – Асинхронность

#  
Архитектура – База данных

#  
Архитектура – Очередь сообщений

#  
План
1.  Что такое облака
2.  Что такое OpenStack
3.  Высокоуровневая архитектура
4.  Проект Keystone
5.  Проект Nova
6.  Проект Swift
7.  Проект Cinder
8.  Проект Glance
9.  Проект Neutron
10. Проект Ceilometer
11. Проект Heat
12. Проект Horizon
13. Сообщество и онлайн ресурсы
14. Что будет дальше?

#  
Keystone

#  
Keystone

Сервис предоставляет единую
точку для управления доступом к
сервисам предоставляемым
облаком OpenStack.

Основные понятия:
•  Пользователь (User) – учетная
запись ассоциированная с
пользователем системы
•  Проект (Tenant) – логическая
группа доступных ресурсов
•  Роль (Role) – набор политик
доступа к ресурсам

#  
Keystone
Функциональность:

•  Идентификация пользователя
•  Управление токенами доступа
•  Каталог точек доступа для
сервисов
•  Управление политиками
доступа к ресурсам

В стадии реализации контроль


доступа к определенным
действиям с ресурсами на основе
ролей.

#  
Keystone
Демоны, утилиты и библиотеки:

keystone-all – единый демон для
всех сервисов keystone

keystone-manage – утилита для
управления keystone

python-keystoneclient – клиентсткая
библиотека для работы с keystone

#  
План
1.  Что такое облака
2.  Что такое OpenStack
3.  Высокоуровневая архитектура
4.  Проект Keystone
5.  Проект Nova
6.  Проект Swift
7.  Проект Cinder
8.  Проект Glance
9.  Проект Neutron
10. Проект Ceilometer
11. Проект Heat
12. Проект Horizon
13. Сообщество и онлайн ресурсы
14. Что будет дальше?

#  
Nova

#  
Nova
Сервис для управления
ж и з н е н н ы м ц и к л о м
вычислительных ресурсов
(виртуальных и физических
серверов)

Основные понятия:
Образ – типовой диск сервера с
установленной ОС и программным
обеспечением
Инстанс – виртуальный или
физический сервер на базе образа
Тип инстанса - шаблон
выделяемых на инстанс ресурсов

#  
Nova
Функциональность:

•  Управление жизненным циклом
инстансов
•  Управление (через Neutron или
через собственный сервис
сетью)
•  Управление подключением
дисков к инстансу
•  Управление распределением
инстансов по физическим
хостам

#  
Nova
Жизненный цикл инстанса:

•  Создание
•  Эксплуатация
•  Остановка/повторный запуск
•  Перезагрузка
•  Уничтожение

#  
Nova
Поддерживаемые гипервизоры:

•  Baremetal
•  Hyper-V
•  KVM
•  QEMU
•  XEN
•  VmWare ESXi
•  UML
•  LXC
•  PowerVM

#  
Nova – упрощенная архитектура

#  
Nova
Демоны, утилиты и библиотеки:

nova-api – демон для обслуживания
обращений через API (OS, EC2, …)
nova-compute – демон управления
ресурсами
nova-scheduler – демон
распределения инстансов по
физическим хостам
nova-network – демон управления
сетью
nova-manage – утилита управления
nova
nova – клиентсткая утилита для
взаимодействия через OS API
python-novaclient – библиотека для
работы с nova

#  
План
1.  Что такое облака
2.  Что такое OpenStack
3.  Высокоуровневая архитектура
4.  Проект Keystone
5.  Проект Nova
6.  Проект Swift
7.  Проект Cinder
8.  Проект Glance
9.  Проект Neutron
10. Проект Ceilometer
11. Проект Heat
12. Проект Horizon
13. Сообщество и онлайн ресурсы
14. Что будет дальше?

#  
Swift

#  
Swift

Облачное распределенное
избыточное объектное хранилище.

Доступ к объектам осуществляется
через REST API.

Основные понятия:
Объект – аналог файла в файловой
системе. Минимальная единица
хранения.
Контейнер – аналог именованной
корневой папки.

#  
Swift
Функциональность:

•  Избыточное распределенное
хранение объектов
•  Контроль доступа к объектам
•  Репликация
•  Способность к
самовосстановлению

#  
Swift

•  Прокси сервера: обработчики
API запросов
•  Кольцо: Отображение
аккаунтов, контейнеров и
объектов на конкретные
физические файлы на серверах
•  Зоны: группы серверов
•  Партиции: наборы хранимых
данных
•  Аудиторы: сервисы проводящие
проверку данных
•  Репликаторы: сервисы
проводящие репликацию
данных

#  
Swift

#  
Swift
Демоны, утилиты и библиотеки:

swift-account-server – демон
аккаунт сервера
swift-container-server – демон
сервера контейнеров
swift-object-server – демон сервера
объектов
swift-proxy-server – демон прокси
сервера

swift – клиентская утилита
python-swiftclient – клиентская
библиотека для работы со swift

#  
План
1.  Что такое облака
2.  Что такое OpenStack
3.  Высокоуровневая архитектура
4.  Проект Keystone
5.  Проект Nova
6.  Проект Swift
7.  Проект Cinder
8.  Проект Glance
9.  Проект Neutron
10. Проект Ceilometer
11. Проект Heat
12. Проект Horizon
13. Сообщество и онлайн ресурсы
14. Что будет дальше?

#  
Архитектура – Cinder

#  
Cinder
Сервис для управления
жизненным циклом блочных
устройств хранения (дисками) и
созданием резервных копий.

Основные понятия:

Диск (Volume) – блочное
устройство подключаемое к
инстансу

Снимок(Snapshot) – резервная
копия диска.

#  
Cinder
Функциональность:

•  Создание дисков заданного
размера
•  Уничтожение дисков заданного
размера
•  Создание снимков с дисков
•  Предоставление информации о
доступе к дискам для
OpenStack Nova

#  
Cinder
Поддерживаемые системы хранения:

•  LVM
•  NetApp
•  Nexenta
•  Zadara Storage
•  GlusterFS
•  GPFS
•  …

Подробнее:
https://wiki.openstack.org/wiki/CinderSupportMatrix

#  
Cinder
Демоны, утилиты и бибилиотеки:

cinder-api – демон обращений к
API
cinder-scheduler – планировщик
выделения ресурсов на
физических хостах
cinder-volume – управление
ресурсами на хосте

cinder-manage – утилита
управления Cinder
python-cinderclient – клиентская
библиотека для работы с Cinder

#  
План
1.  Что такое облака
2.  Что такое OpenStack
3.  Высокоуровневая архитектура
4.  Проект Keystone
5.  Проект Nova
6.  Проект Swift
7.  Проект Cinder
8.  Проект Glance
9.  Проект Neutron
10. Проект Ceilometer
11. Проект Heat
12. Проект Horizon
13. Сообщество и онлайн ресурсы
14. Что будет дальше?

#  
Glance

#  
Glance


Сервис управления образами
серверов

Образ представляет собой типовой
диск сервера упакованный в
какой-либо контейнер

#  
Glance
Поддерживаемые форматы
дисков:
•  raw
•  vhd
•  vmdk
•  qcow2
•  vdi
•  iso

#  
Glance
Поддерживаемые форматы
контейнеров:
•  bare
•  OVF
•  aki
•  ari
•  ami

#  
План
1.  Что такое облака
2.  Что такое OpenStack
3.  Высокоуровневая архитектура
4.  Проект Keystone
5.  Проект Nova
6.  Проект Swift
7.  Проект Cinder
8.  Проект Glance
9.  Проект Neutron
10. Проект Ceilometer
11. Проект Heat
12. Проект Horizon
13. Сообщество и онлайн ресурсы
14. Что будет дальше?

#  
Neutron

#  
Neutron
Сервис управления сетями

Позволяет создавать внутренние
сети и задавать внешние (для
облака) сети.
Позволяет подключать сетевые
карты инстансов к определенным
сетям
Позволяет создавать виртуальные
маршрутизаторы и управлять
поддерживаемыми

#  
Neutron
Поддерживает:

•  OpenVSwitch
•  LinuxBridge
•  Cisco UCS/Nexus
•  Nicira Network Virtualization
Platform
•  NEC OpenFlow Plugin
•  …

#  
План
1.  Что такое облака
2.  Что такое OpenStack
3.  Высокоуровневая архитектура
4.  Проект Keystone
5.  Проект Nova
6.  Проект Swift
7.  Проект Cinder
8.  Проект Glance
9.  Проект Neutron
10. Проект Ceilometer
11. Проект Heat
12. Проект Horizon
13. Сообщество и онлайн ресурсы
14. Что будет дальше?

#  
Ceilometer

#  
Ceilometer



Сервис позволяет собирать
метрики от различных проектов и
гипервизора.

Может использоваться как
система пребиллинга.

#  
Ceilometer

#  
План
1.  Что такое облака
2.  Что такое OpenStack
3.  Высокоуровневая архитектура
4.  Проект Keystone
5.  Проект Nova
6.  Проект Swift
7.  Проект Cinder
8.  Проект Glance
9.  Проект Neutron
10. Проект Ceilometer
11. Проект Heat
12. Проект Horizon
13. Сообщество и онлайн ресурсы
14. Что будет дальше?

#  
Heat

#  
Heat

Сервис позволяет выделять
ресурсы в соответствии с
заданными шаблонами.

Поддерживает формат шаблонов
AWS Cloud Formation и
собственный формат шаблонов.

#  
Heat – пример шаблона
{
"AWSTemplateFormatVersion" :
"2010-09-09",
"Parameters" : {
"KeyName" : {
"Description" : "Name of an existing EC2
KeyPair to enable SSH access to the
instance",
"Type" : "String"
}
},

"Resources" : {
"MyInstance" : {
"Type" : "AWS::EC2::Instance",
"Properties" : {
"KeyName" : { "Ref" : "KeyName" },
"ImageId" : "F17-x86_64-cfntools",
"InstanceType": "m1.small",

#  
План
1.  Что такое облака
2.  Что такое OpenStack
3.  Высокоуровневая архитектура
4.  Проект Keystone
5.  Проект Nova
6.  Проект Swift
7.  Проект Cinder
8.  Проект Glance
9.  Проект Neutron
10. Проект Ceilometer
11. Проект Heat
12. Проект Horizon
13. Сообщество и онлайн ресурсы
14. Что будет дальше?

#  
Архитектура – Horizon

#  
Архитектура – Horizon

#  
План
1.  Что такое облака
2.  Что такое OpenStack
3.  Высокоуровневая архитектура
4.  Проект Keystone
5.  Проект Nova
6.  Проект Swift
7.  Проект Cinder
8.  Проект Glance
9.  Проект Neutron
10. Проект Ceilometer
11. Проект Heat
12. Проект Horizon
13. Сообщество и онлайн ресурсы
14. Что будет дальше?

#  
Сообщество
Сообщество объединяет:
•  230 компаний
•  12154 индивидульных члена

Россия занимает 7 место в TOP 10

#  
Сообщество - Компании

#  
Онлайн ресурсы
Англоязычные:
http://www.openstack.org
http://wiki.openstack.org
http://ask.openstack.org
http://docs.openstack.org

Русскоязычные:
http://www.openstack.ru
http://www.oscloud.ru

Группы в социальных сетях

#  
План
1.  Что такое облака
2.  Что такое OpenStack
3.  Высокоуровневая архитектура
4.  Проект Keystone
5.  Проект Nova
6.  Проект Swift
7.  Проект Cinder
8.  Проект Glance
9.  Проект Neutron
10. Проект Ceilometer
11. Проект Heat
12. Проект Horizon
13. Сообщество и онлайн ресурсы
14. Что будет дальше?

#  
Планируем

Вебинар с демонстрацией развертывания в начале ноября 2013 года.
Следите за анонсами.

#  
Спасибо за внимание!


Вопросы?

#