1 / 40

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

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

sydney
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Juju и 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

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

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

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

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

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

  12. 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

  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. “Зоопарк” технологий

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

  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

  27. Charm – пакет для установки сервиса • 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 <marco@ceppi.net> 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 state server (in HA mode) Provisioning server Mongo Mongo Provisioning server Juju client (HTML5 GUI, CLI) API server API server Juju agent Workload Juju agent LXC LXC Compute instance Compute Workload KVM Deployment Environment

  35. Juju – проектс открытым исходным кодом • Теперь на GitHub: https://github.com/juju

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

  37. Juju – крупнейший проект с открытым кодом на 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. Вопросы и ответы

More Related