Автоматизация инфраструктуры. Зачем мы это делаем?...

Post on 18-Feb-2017

152 Views

Category:

Internet

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Автоматизация инфраструктуры. Зачеммы это делаем?

О себе

В компании:

—  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)

—  Приватное облако open­source (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

Яковлев Денис

Вопросы? 

d.yakovlev@2gis.ru 

Спасибо!

top related