Upload
it-people
View
152
Download
3
Embed Size (px)
Citation preview
Автоматизация инфраструктуры. Зачеммы это делаем?
О себе
В компании:
— 2 года
3
В компании:
— 2 года
Команда:
— Infrastructure & Operations
4
В компании:
— 2 года
Команда:
— Infrastructure & Operations
— 9 человек
5
Инфраструктура
Куда деплоить?
Локально
8
Локально
Pros
9
Локально
Pros
— Просто
10
Локально
Pros
— Просто
— Зачем что то еще
11
А что с Windows и OS X?
Локально
Pros
— Просто
— Зачем что то еще
Cons
13
Локально
Pros
— Просто
— Зачем что то еще
Cons
— Разные операционные системы
14
OK, Linux!
Локально
Pros
— Просто
— Зачем что то еще
Cons
— Разные операционные системы
— Проблемы с зависимостями
16
Локально, с изоляцией
17
Локально, с изоляцией
— VirtualBox
18
Локально, с изоляцией
— VirtualBox
— KVM
19
Локально, с изоляцией
— VirtualBox
— KVM
— LXC
20
Локально, с изоляцией
— VirtualBox
— KVM
— LXC
— Docker
21
Развиваемся
New case
— Интеграция
23
New case
— Интеграция
— Демо стенды
24
New case
— Интеграция
— Демо стенды
— Continuous Integration
25
New case
— Интеграция
— Демо стенды
— Continuous Integration
— Auxiliary Software
26
2 ГИС
2 ГИС
— Справочник и карты
— Web, Mobile, Desktop
— 35 команд
29
Проблемы
Конец 2013 Proxmox Virtual Environment
30
Проблемы
Конец 2013 Proxmox Virtual Environment
— Виртуалка = тикет админам
31
Проблемы
Конец 2013 Proxmox Virtual Environment
— Виртуалка = тикет админам
— Нет разделения по проектам
32
Проблемы
Конец 2013 Proxmox Virtual Environment
— Виртуалка = тикет админам
— Нет разделения по проектам
— Слабый API
33
Проблемы
Конец 2013 Proxmox Virtual Environment
— Виртуалка = тикет админам
— Нет разделения по проектам
— Слабый API
— Платные плагины
34
Что у нас есть?
— Свое железо
35
Что у нас есть?
— Свое железо
— Системный администраторы
36
Что у нас есть?
— Свое железо
— Системный администраторы
— Опыт в виртуализации
37
Требования к решению
— Эффективная утилизация железа
38
Требования к решению
— Эффективная утилизация железа
— Командные ресурсы
39
Требования к решению
— Эффективная утилизация железа
— Командные ресурсы
— Модульность
40
Требования к решению
— Эффективная утилизация железа
— Командные ресурсы
— Модульность
— Легко дорабатывать
41
Требования к решению
— Эффективная утилизация железа
— Командные ресурсы
— Модульность
— Легко дорабатывать
— API
42
Требования к решению
— Эффективная утилизация железа
— Командные ресурсы
— Модульность
— Легко дорабатывать
— API
— Изоляция
43
Варианты
— Публичное облако (AWS, Digital Ocean, Rackspace)
44
Варианты
— Публичное облако (AWS, Digital Ocean, Rackspace)
— Приватное облако (VMware, HP)
45
Варианты
— Публичное облако (AWS, Digital Ocean, Rackspace)
— Приватное облако (VMware, HP)
— Приватное облако opensource (Apache Cloudstack, OpenStack)
46
47
OpenStack
Набор сервисов для построения публичного или приватного
облака
48
49
OpenStack
— Релиз раз в полгода status.openstack.org
— Базовые компоненты github.com/openstack
— Инкубатор github.com/stackforge
— Конференции, встречи, maillists openstack.org/community
50
Контрибьюторы OpenStack
openstack.org/foundation/companies
— Red Hat
— Rackspace
— IBM
— Intel
— Cisco
51
Решение проблем инфраструктуры
— Эффективная утилизация железа
— Командные ресурсы
— Модульность
— Легко дорабатывать
— API
— Изоляция
52
Инфраструктура потребованию
Инфраструктура по требованию
server:
depends_on: [ ip_address, dns_record ]
type: OS::Nova::Server
properties:
name: { get_param: name }
flavor: { get_param: flavor }
image: { get_param: image }
key_name: { get_param: key_name }
01.
02.
03.
04.
05.
06.
07.
08.
54
Инфраструктура по требованию
heat stack-create API -f api.yml \
-P key_name="id_rsa" \
-P name=api-all-in-one \
-P flavor=medium \
-P image="ubuntu-14.04-x64"
01.
02.
03.
04.
05.
55
Статус
Control Plane
3 Infra Nodes
— RAM: 30 GB
— CPU: 8
— Storage: 100 GB
57
Network Nodes
2 KVM
— RAM: 8 GB
— CPU: 8
— Storage: 100 GB
58
Командные ресурсы
8 Compute Nodes
— RAM: 250 GB
— CPU: 32
— Storage: 900 GB
59
Командные ресурсы
8 Compute Nodes
— RAM: 250 GB
— CPU: 32
— Storage: 900 GB
~ 350 VM
60
Уроки
Команда
— Ansible
62
Команда
— Ansible
— Virtualization
63
Команда
— Ansible
— Virtualization
— Network
64
Команда
— Ansible
— Virtualization
— Network
— MySQL Galera, Rabbit MQ
65
Команда
— Ansible
— Virtualization
— Network
— MySQL Galera, Rabbit MQ
— DNS
66
Команда
— Ansible
— Virtualization
— Network
— MySQL Galera, Rabbit MQ
— DNS
— Python
67
Команда
— Ansible
— Virtualization
— Network
— MySQL Galera, Rabbit MQ
— DNS
— Python
— Infrastructure as a Code
68
Команда
— Ansible
— Virtualization
— Network
— MySQL Galera, Rabbit MQ
— DNS
— Python
— Infrastructure as a Code
— Continuous Integration
69
70
71
Внедрение
— Documentation
72
Внедрение
— Documentation
— TechTalks
73
Внедрение
— Documentation
— TechTalks
— Работа с командами
74
Итог
Итог
— Быстрый deploy продуктов
— CI в командах
— Развитие автоматизации
— Разгрузили админов
76