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

Post on 07-Jan-2017

205 Views

Category:

Business

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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

@tolkv

2

@aatarasoff

3

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

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

Discalimer

4

Это про нас

5

План

6

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

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

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

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

● Результат

● Q&A

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

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

7

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

8

Дано

9

Найди себя

Manager

DBA BA

UXDeveloper

QA

Operations

10

Колодцы

Manager

DBA BA

UXDeveloper

QA

Operations

11

12

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

13

14

Внедряем Agile

15

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

Manager

DBA BA

UXDeveloper

QA

Operations

16

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

17

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

Lead Time

Full Delivery Time

Cycle Time Cycle Time

18

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

19

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

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

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

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

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

21

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

22

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

23

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

?

24

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

25

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

26

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

Spec by ExampleWord/PDF

Код + тестыIDE

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

Developer QABA

27

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

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

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

28

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

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

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

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

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

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

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

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

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

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

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

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

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

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

30

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

31

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

32

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

33

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

34

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

35

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

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

36

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

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

complexity = L * S * D37

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

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

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

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

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

min (L * S * D) -> ?

39

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

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

40

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

Docker

???

???

41

Docker

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

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

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

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

43

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

44

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

45

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

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

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

Docker

API

???

46

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

FROM docker.moscow.alfaintra.net/java8

MAINTAINER aatarasov@alfabank.ru

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

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

48

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

Docker

API

Mesos Ecosystem

49

50

51

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

о серверах

о кластерах

о бюрократии

52

Apache Mesos

53

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

Профит

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

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

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

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

54

Выводы

55

Manager

DBABA

UXDeveloper

QA

Operations

Software Engineer

Выводы

56

И на ход ноги

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

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

57

58

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

@tolkv

@aatarasoff

59

Выводы

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

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

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

60

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

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

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

61

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

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

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

62

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

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

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

- DevOps ready architecture

63

Private PaaS

64

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

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

менеджеры?

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

65

Rise of Software Engineers

66

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

зарплата :)

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

67

Им НЕ нужно

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

кластерах

бюрократии

68

Им важно

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

- cpu

- hdd

- io …

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

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

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

70

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

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

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

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

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

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

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

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

Но:

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

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

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

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

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

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

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

work-on-my-machine софт

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

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

top related