Разворачивание инфраструктуры облачной платфомы на примере PaaS Jelastic Игорь Колодюк Житомир 9 февраля 2013г. четверг, 7 февраля 13 г.
Разворачивание инфраструктуры облачной платфомы на примере PaaS Jelastic
Игорь КолодюкЖитомир
9 февраля 2013г.
четверг, 7 февраля 13 г.
Сначала немного истории ...
конец 2011 - начало 2012 года количество инженеров - 8 количество хостеров для public beta - 2 время, потраченое на установку платформы
- 26 часов!!!четверг, 7 февраля 13 г.
И в результате ...
... а на фоне играет Axel Rudi Pell
четверг, 7 февраля 13 г.
Время идет, количество элементов инфраструктуры растет
плюс появляются новые хостеры !!!!!
четверг, 7 февраля 13 г.
Конкурентам то проще, а нам нужно было что-то решать ...
VS
четверг, 7 февраля 13 г.
Поверхностная архитектура платформы Jelastic
service requests
requests from endusersчетверг, 7 февраля 13 г.
И это все живет физически на 11 виртуальных серверах !!!
Puppet Master node
Resolver
Database server
Jelastic Core
Hivext Core
Awaikener
Zabbix app server
Zabbix db server
Logging server
RPM repository
Autotests server
четверг, 7 февраля 13 г.
Что-нибудь слышали о:
- Puppet ?- Chef ?- Cfengine ?
четверг, 7 февраля 13 г.
Как выглядят типичные манифесты в puppet
package { "bind.x86_64": ensure => installed; }
file { 'named-master.conf': path => "/etc/named-master.conf", content => template('./named-master.conf.erb'); }
service { "nginx": enable => true, ensure => running,
require => [Package["nginx"],File["nginxconf"]]; }
четверг, 7 февраля 13 г.
Сборка элементов, необходимых для начала установки
Puppet Master node
Jem managing application
GIT Repository
SVN Repository
R&D Department
OperationsDepartment
Building logicHosters config
Objects declarationsNexus
Jenkins
RPM repo
четверг, 7 февраля 13 г.
Puppet логика
Классы инфраструктурных харднод
Классы инфраструктурных приложений
Классы инфраструктурных контейнеров
Классы общих приложений
Конфиги хостера
Обьявление обьектов
Манифесты Ресурсы Обьекты
Артефакты
Динамические данные (включая файлы
конфигураций и скрипты )
Статические данные(включая файлы
конфигураций и скрипты )
четверг, 7 февраля 13 г.
Немного статистики:
- Количество строк кода манифестов - 3423- Количество строк динамических данных, проходящих через ERB шаблонизатор - 12847(это только серверная часть!)- Количество строк статических конфигов и скриптов, используемых для конфигураций серверов - 205194- Количество настроек, уникальных для каждого хостера - 522- Количество баз данных, используемых в инфраструктуре - 27 ( 9 из них используются в серверной части и 18 - для клиентских и сервисных приложений hivext )
четверг, 7 февраля 13 г.
Спецпроект «Труба»
Скачивание конфигов хостера с репозитория
OPS
Установка и запуск Jem приложения
Скачивание манифестов нужной версии
с репозитория R&D
Скачивание собраных артефактов нужной версии
с Nexus
Сборка элементов инфраструктуры через
jem + puppet
Запуск тестов базовой проверки установки
Запуск тестов проверки всего фунционала, уже на уровне пользователя
Отправка результатов тестирования на почту
Удаление виртуальных серверов и приложения
Jem
четверг, 7 февраля 13 г.
Вопросы???
четверг, 7 февраля 13 г.