Кирилл Толкачев, Александр Тарасов, Хипстеры в...

73
Хипстеры в энтерпрайзе Хи́пстер, хипстеры — появившийся в США в 40- х годах термин, образованный от жаргонного “to be hip”, что переводится приблизительно как “быть в теме”

Upload: scrumtrek

Post on 07-Jan-2017

205 views

Category:

Business


0 download

TRANSCRIPT

Page 1: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Хипстеры в энтерпрайзеХи́пстер, хипстеры — появившийся в США в 40-х годах термин, образованный от жаргонного “to be hip”, что переводится приблизительно как “быть в теме”

Кирилл Толкачёв
нужно добавить пример, который показывать что нельзя просто так взять и наделить людей возможностями, нужно еще за это дать ответсвенность
Кирилл Толкачёв
push pull model нарисовать
Page 2: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

@tolkv

2

Page 3: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

@aatarasoff

3

Page 4: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Все события и персонажи вымышлены.

Любое сходство с реальными событиями и именами случайно.

Discalimer

4

Page 5: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Это про нас

5

Page 6: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

План

6

● Капитанская часть

● Что такое хорошо?

○ и что такое плохо?

● Что со всем этим делать?

● Результат

● Q&A

Page 7: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Люди говорят:

Надо быть гибким

7

Page 8: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Эволюция везде

8

Page 9: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Дано

9

Page 10: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Найди себя

Manager

DBA BA

UXDeveloper

QA

Operations

10

Page 11: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Колодцы

Manager

DBA BA

UXDeveloper

QA

Operations

11

Page 12: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

12

Page 13: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Пример №0: департамент версионирования

13

Page 14: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

14

Page 15: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Внедряем Agile

15

Page 16: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Слепые пятна после второго прихода

Manager

DBA BA

UXDeveloper

QA

Operations

16

Page 17: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

А что если не летит?

17

Page 18: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Проблема последней мили

Lead Time

Full Delivery Time

Cycle Time Cycle Time

18

Page 19: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Нас спасут инженерные практики

19

Page 20: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Чёрная дыра инженерных практик

Инженерные практики20

Page 21: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Слагаемые успеха

ИнструментыАрхитектураи технологии

Инженерный подход

21

Page 22: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

График хуяфик

22

Page 23: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Пример №1: унылость тестирования

23

Page 24: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Пример №1: унылость тестирования

?

24

Page 25: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Пример №1: унылость тестирования

25

Page 26: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Пример №1: унылость тестирования

26

Page 27: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Пример №2: инструменты не для всех

Spec by ExampleWord/PDF

Код + тестыIDE

Тест-кейсыHP ALM

Developer QABA

27

Page 28: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Пример №3: всё не так

v.2014-12-31.1.0.1.1 v.2015-01-10.1.0.1.2

Настройки в установку.2015-01-10.v2

28

Page 29: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Инженерный подход (Dev)

Мой код работает на моей машине

Я написал инструкцию админам

Я что-то сделал, пусть тестировщик тестирует

Мой код работает у клиента

Я написал скрипт развёртывания ПО

Я должен написать тесты 29

Page 30: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Инженерный подход (Ops)

Мне дали инструкцию как выкладывать продукт

У вас ошибка в инструкции

У меня есть документ как настраивать сервера

Я написал скрипт выкладки продукта

У нас баг в скриптеУ меня есть скрипт,

который настраивает сервера

30

Page 31: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Преодолеваем отставание

31

Page 32: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Как это сделать? Принцип огораживания

32

Page 33: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Как это сделать? Принцип огораживания

33

Page 34: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Как это сделать? Принцип огораживания

34

Page 35: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Как это сделать? Domain Driven Design

35

Page 36: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Три типа разделения

по языкам/технологиямпо типам источников данныхпо командам

36

Page 37: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Trade-Off: Принцип LSD

- L языков программирования- S в среднем фреймворков на язык- D типов источников данных

complexity = L * S * D37

Page 38: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Простой такой пример

- три языка программирования- два в среднем фреймворка на язык- семь типов источников данных

- legacy WS, mongo db- хранимые процедуры, JDBC-templates- elasticsearch, neo4j- мишкина база

complexity = 3 * 2 * 7 = 42 (!) 38

Page 39: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Чем нельзя жертвовать?

min (L * S * D) -> ?

39

Page 40: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Закон трёх букв

min (L * S * D) -> max (D)

40

Page 41: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Какие инструменты вам помогут?

Docker

???

???

41

Page 42: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Docker

Инкапсуляция имплементации

Унификация и стандартизация

Изоляция ресурсов42

Page 43: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Docker глазами разработчика

43

Page 44: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Docker глазами саппорта: stressless архитектура

44

Page 45: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Так зачем Docker в энтерпрайзе?

45

Уменьшает уровень беспокойства у саппорта

Развязывает руки команде разработки

Page 46: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Какие инструменты вам помогут?

Docker

API

???

46

Page 47: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

API на примере Docker-а

FROM docker.moscow.alfaintra.net/java8

MAINTAINER [email protected]

ADD payments-api.tar /

ENTRYPOINT ["/payments-api/bin/payments-api.sh"]

EXPOSE 8080

docker run -P --name payments-api docker.moscow.alfaintra.net/payments-api:0.0.1

47

docker pull

docker run

docker logs

docker stop

docker start

Page 48: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

API на пример Ansible-а

48

Page 49: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Какие инструменты вам помогут?

Docker

API

Mesos Ecosystem

49

Page 50: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

50

Page 51: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

51

Page 52: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

О чём мы не хотим беспокоиться?

о серверах

о кластерах

о бюрократии

52

Page 53: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Apache Mesos

53

Кратко о возможностях: ● масштабируй● изолируй● управляй● мониторь

Page 54: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Профит

Упрощение архитектуры: единый интерфейс для управления ресурсами

Автоматизация: никто не любит быть разбуженным посреди ночи - придаем свойство самовосстановления своим системам

Эффективность: динамическое распределение ресурсов с гарантированной изоляцией

API самообслуживания: прямой доступ к ресурсам для команды разработки

54

Page 55: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Выводы

55

Manager

DBABA

UXDeveloper

QA

Operations

Software Engineer

Page 56: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Выводы

56

Page 57: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

И на ход ноги

Не забывайте про закон трёх букв

min (L * S * D) -> max (D)

57

Page 58: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

58

Спасибо! Будем рады ответить на ваши вопросы.

@tolkv

@aatarasoff

Page 59: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

59

Page 60: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Выводы

Многие компании сделали ставку на инженерови не прогадали

Мы можем бояться дальше, а можем дать им ресурсы и возможность творить

Но не дать сотворить “чудо” конечно же :)Память крестьянам, CPU рабочим, IO админам

60

Page 61: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Культурный выход

Из рюмочной выходят культурно

Воспитывайте культуру

61

Page 62: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Научный, сука, подход

Agile -> Гипотеза -> MVP -> feedback

DevOps -> Deployment Iteration -> Analyze Feedback -> Impove Standards

62

Page 63: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Тут нужно технически

В нашей культуре:

- свобода и ответсвенность

- DevOps ready architecture

63

Page 64: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Private PaaS

64

Page 65: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Кто в компании делает ПО

администраторы?

менеджеры?

может быть поддержка?

65

Page 66: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Rise of Software Engineers

66

Page 67: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

А что нужно этим ребятам?

зарплата :)

свобода в принятии решений

67

Page 68: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Им НЕ нужно

беспокоиться о серверах

кластерах

бюрократии

68

Page 69: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Им важно

- им важны ресурсы- memory

- cpu

- hdd

- io …

- Потому что только их они и умеют потреблять69

Page 70: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Как результат

- Инженерная культура и свой собственны PAAS/IAAS

70

Page 71: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Как это сделать? На что обращать внимание

Архитектура это и про:

Итеративность изменений

Тестируемость

Конфигурируемость

Возможность автоматизации

Метрики, healthcheck-и, статистика71

Page 72: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Людям нужна свобода действий

Но:

Слишком много свободы - плохо

Не бывает свободы без ответственности

Люди должны быть к этому готовы

Свобода выбора - это очень тяжело72

Page 73: Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со временем

Проблемы сопровождения программного обеспечения

legacy-приложения

гетерогенные закрытые платформы

work-on-my-machine софт

постоянная борьба с пожарами

консервативные и перегруженные процессы73