Juju и MaaS - эффективные инструменты развёртывания масштабных систем на "железе" и в "облаках" презентация

Содержание

Слайд 1Juju и MaaS - эффективные инструменты развёртывания масштабных систем на "железе"

и в "облаках"


Владислав Клячин, Canonical
14 июня 2014


Слайд 2План доклада
Проблемы эффективности IT инфраструктуры
MAAS – система быстрой инициализации “железа”
OpenStack и

вклад Canonical в его разработку
Juju – система оркестрации сервисов
Charms – строительные кубики для Juju
Язык программирования Go и Juju

Слайд 3Мысль дня:
Компании Facebook потребовалось 10 лет и несколько $100M, чтобы масштабировать

сервис до 1 миллиарда пользователей.
Следующие 2 web-сервиса, которые достигнут 1 миллиарда пользователей, сделают это менее чем за 3 года в рамках начального финансирования, имея менее 100 сотрудников.
Как по вашему мнению должна выглядит “умная” инфраструктура?

Слайд 4Вы и Google



Вы Google


Слайд 5Эффективность расходов


Слайд 6Автоматическое масштабирование поможет Вам быть почти как Google


Слайд 7OpenStack: основа “масштабируемого Linux”.

Приложения
Память
Диски
Процессоры

Ядро Linux


Слайд 8OpenStack: основа “масштабируемого Linux”.
Приложения
Память
Диски
Процессоры

OpenStack





















сотни или тысячи Linux-серверов


Слайд 9Проблема №1
Подготовка “голого железа”
Что выбрать?
MAAS (Metal as a service)
Ironic (часть OpenStack)
Razor
Другие

решения, основанные на множественных скриптах

Слайд 10Демонстрация...
Давайте используем MAAS для инициализации «голого железа» и построим на нем

облако OpenStack или установим Hadoop.

MAAS


Слайд 11Знакомьтесь, Ubuntu Orange Box


Слайд 12Orange Box, спецификация
10 узлов
i5-3427U CPU
16GB DDR3 RAM
120GB SSD
4 node with extra

SSD drive
1 node with 2TB HDD & Wi-FI card
вес: 17 кг
цена: $10000

Слайд 13Быстрая инициализация масштабируемого облака в три простых шага
Установка MААS на первый

сервер
Обнаружение остальных серверов
Автоматически обнаруженные узлы через PXE
Узлы внесённые в список при инсталяции Linux
Ручной ввод MAC-адресов
Включение серверов
Linux и/или гипервизоры устанавливаются автоматически

Слайд 14Последовательность инициализации
Включение в список (enlistment)
загрузка временного окружения через DHCP
регистрация на контроллере

кластера
добавление временных идентификационных данных IPMI MAAS в BMC
Ввод в эксплуатацию (commissioning)
загрузка временного окружения через DHCP
инвентаризация железа (CPU, RAM, disks, NICs, IPMI)
добавления постоянных идентификационных данных IPMI MAAS в BMC
Инициализация (provisioning)
происходит когда это требуется
инициализирует требуемую версию Ubuntu (precise или trusty)

Слайд 15Высокая масштабируемость архитектуры MAAS
Инициализация и “видимость” – между несколькими дата-центрами
Развертывание в

режиме высокой доступности (HA).
Поддержка групповых операций для поддержки большого количества серверов

Слайд 16Высокая масштабируемость архитектуры MAAS
API
Интерфейс командной строки
Графический интерфейс
Интеграция с Landscape для назначения

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

Слайд 17Большинство облаков OpenStack использует Ubuntu
http://www.openstack.org/blog/2013/11/openstack-user-survey-october-2013/
Ubuntu – 55%
CentOS – 24%
RHEL – 10%
другие

– 11%

Слайд 18Архитектура OpenStack



Слайд 19Поддержка OpenStack в Ubuntu 14.04


Слайд 20Поддержка OpenStack
35% поддержки Ubuntu приходится на облачные сервисы
В настоящее время сотни

обращений в месяц
С 1 января по 10 июня:
184 ошибки исправлено
199 новых ошибок обнаружено


Слайд 21Проблема №2
Установка и конфигурирование сервисов
Опции:
Juju
Heat
Cloudify
Всё больше новых сервисов каждый день


Слайд 22“Зоопарк” технологий


Слайд 23Juju – лучшее решение для оркестрации сервисов


Слайд 24Преимущества Juju
Лёгкость развёртывания сервисов
от одного сервера до целого облака
Реакция на события
автоматическое

изменение конфигурации при изменениях в окружении
поддержание минимального количества копий для сервиса
Масштабируемость
charms разработаны с учётом возможности добавления дополнительных копий сервисов “на лету”
Поддержка любых языков программирования
для написания charms может быть использован любой язык программирования

Слайд 25Провайдеры Juju
Облачные сервисы:
Amazon Web Service (EC2)
Windows Azure
OpenStack
HP Public Cloud
Joyent
“Голое железо”
MAAS
Контейнеры
LXC
KVM
Установка на

уже работающие системы (Manual provider)

Слайд 26Легкость изучения Juju на http://learnjuju.com


Слайд 27Charm – пакет для установки сервиса
Charm:
включает в себя конфигурацию приложения
описывает процедуру

инициализации сервиса
определяет “точки перехвата” (hooks) для связи сервисов
Bundle:
несколько charm вместе со специальной конфигурацией
связи уже настроены
все charm устанавливаются одновременно в “один шаг”

Слайд 28Внутри charm


Слайд 29Внутри charm - продолжение


Слайд 30Внутри charm – metadata.yaml


name: wordpress
summary: "WordPress is a full featured

web blogging tool, this charm deploys it."
maintainer: Marco Ceppi
description: |
This will install and setup WordPress optimized to run in the cloud. This install, in particular, will
place Ngnix and php-fpm configured to scale horizontally with Nginx's reverse proxy
categories: ["applications"]
requires:
db:
interface: mysql
nfs:
interface: mount
cache:
interface: memcache
provides:
website:
interface: http
peers:
loadbalancer:
interface: reversenginx

Слайд 31Мгновенная установка сервисов
Инициализация сервисов
$ juju deploy wordpress
$ juju deploy mysql
Создание связей
$

juju add-relation wordpress mysql
Окрытие сервиса для внешнего мира
$ juju expose wordpress
Масштабирование сервиса
$ juju add-unit –n 5 wordpress

Слайд 32Растущая экосистема Charm
публичный магазин для сharm
доступны более 100 сharm
все сharm тестируются

отделом контроля Canonical
поддержка приватных магазинов для сharm

Слайд 33Возможность установки Charms на любую платформу


Слайд 34Архитектура Juju

Juju client (HTML5 GUI, CLI)

Deployment Environment
Juju state server (in

HA mode)


Provisioning server

API server

Mongo


Provisioning server

API server

Mongo


Juju agent

Workload

Compute instance


Juju agent

LXC

Compute

KVM

LXC


Workload


Слайд 35Juju – проект с открытым исходным кодом
Теперь на GitHub: https://Теперь на

GitHub: https://github.comТеперь на GitHub: https://github.com/juju

Слайд 36Язык программирования Go


Слайд 37Juju – крупнейший проект с открытым кодом на Go
Число строк в

файлах на языке Go:
--------------------------------------------------------------------------------
Go Language                   files          blank        comment           code
--------------------------------------------------------------------------------
juju-core + mgo + goamz + ...  1212          29702          26677         198562
juju-core                      1040          25103          21749         172277
docker                          605          11491           8532         101881
camlistore                      471          10365          11552          64180
vitess                          226           6240           5746          41787

juju-core (w/o tests)           532          10766          14811          75596
docker (w/o tests)              442           7772           7227          62935
camlistore (w/o tests)          360           8329           9917          51030

Слайд 38Спасибо


Слайд 39Вопросы и ответы


Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

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


Для правообладателей

Яндекс.Метрика