Juju и MaaS - эффективные инструменты развёртывания масштабных систем на "железе" и в "облаках" Владислав Клячин, Canonical 14 июня 2014.

Презентация:



Advertisements
Похожие презентации
Как мы строили Jelastic - облачную платформу (PaaS) нового поколения Дмитрий Лазаренко.
Advertisements

OpenStack: платформа для свободных облаков Илья Алексеев
Архитектура, возможности и методы использования платформы облачных вычислений Microsoft Windows Azure Лекция 3 Основные концепции и архитектура Microsoft.
Мировые тренды. Реализация в Узбекистане Облачные вычисления.
Windows Azure Boot CampWindowsAzureBootCamp.com. Windows Azure Boot CampWindowsAzureBootCamp.com.
Microsoft + Node.js = LOVE! Владимир Юнев Microsoft.
PRC303 Службы и приложения Инфраструктура Развёртывание Hyper-V на серверы без ОС Hyper-V, VMware, Citrix XenServer Управление сетевыми устройствами.
Новые возможности.NET Forge CMS Григорий Заводов ведущий разработчик «1С-Битрикс»
Инструментальные средства визуальной коммуникации и прикладной дизайн Лекция 3.
СПО в экосистеме Dell. Global Marketing Dell в мире и России 100% правительств G20 выбирают Dell жителей планеты взаимодействуют через серверы.
Архитектура, возможности и методы использования платформы облачных вычислений Microsoft Windows Azure Лекция 2 Понятие об облачных вычислениях. Обзор платформ.
Amazon Web Services Д.И. Свирихин (ВМИ-115). Amazon Web Services Стандарт «de facto» в области облачной инфраструктуры Богатый выбор образов заранее сконфигурированных.
Мировые тренды. Реализация в Узбекистане Облачные вычисления.
App Engine Cloud Computing платформа от Google Петр Чардин, Михаил Дайчик Апрель 2009.
Инфраструктура как сервис (IaaS) Олег Тягунов, Active Technologies.
Решения виртуализации для IT Платонов Евгений. Технологические тенденции архитектуры x86 Многоядерные процессоры развиваются 2 ядра в , 4 ядра в.
Microsoft TechDays Косивченко Александр.
System Center 2012 SP1 Configuration Manager Соответствие параметров Ляшов Евгений
Кутуков В.А. ЗАО «Стек Софт» 7 октября 2011 Облачные вычисления в бизнесе.
О разработке приложений для разных мобильных платформ Виктор Кузьмин Руководитель разработки компании AlterGeo О разработке приложений для разных мобильных.
Транксрипт:

Juju и MaaS - эффективные инструменты развёртывания масштабных систем на "железе" и в "облаках" Владислав Клячин, Canonical 14 июня 2014

План доклада Проблемы эффективности IT инфраструктуры MAAS – система быстрой инициализации железа OpenStack и вклад Canonical в его разработку Juju – система оркестрации сервисов Charms – строительные кубики для Juju Язык программирования Go и Juju

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

Вы и Google Вы Google

Эффективность расходов

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

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

OpenStack: основа масштабируемого Linux. Приложения Память Диски Процессоры OpenStack сотни или тысячи Linux-серверов

Проблема 1 Подготовка голого железа Что выбрать? –MAAS (Metal as a service) –Ironic (часть OpenStack) –Razor –Другие решения, основанные на множественных скриптах

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

Знакомьтесь, Ubuntu Orange Box

Orange 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

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

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

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

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

Большинство облаков OpenStack использует Ubuntu october-2013/ october-2013/ Ubuntu – 55% CentOS – 24% RHEL – 10% другие – 11%

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

Поддержка OpenStack в Ubuntu 14.04

Поддержка OpenStack 35% поддержки Ubuntu приходится на облачные сервисы В настоящее время сотни обращений в месяц С 1 января по 10 июня: –184 ошибки исправлено –199 новых ошибок обнаружено

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

Зоопарк технологий

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

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

Провайдеры Juju Облачные сервисы: –Amazon Web Service (EC2) –Windows Azure –OpenStack –HP Public Cloud –Joyent Голое железо –MAAS Контейнеры –LXC –KVM Установка на уже работающие системы (Manual provider)

Легкость изучения Juju на

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

Внутри charm

Внутри charm - продолжение

Внутри 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

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

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

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

Архитектура 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

Juju – проект с открытым исходным кодом Теперь на GitHub:

Язык программирования Go

Juju – крупнейший проект с открытым кодом на Go Число строк в файлах на языке Go: Go Language files blank comment code juju-core + mgo + goamz juju-core docker camlistore vitess juju-core (w/o tests) docker (w/o tests) camlistore (w/o tests)

Спасибо

Вопросы и ответы