1. Хипстеры в энтерпрайзе
Хи́пстер, хипстеры — появившийся в США в 40-х годах
термин, образованный от жаргонного “to be hip”, что
переводится приблизительно как “быть в теме”
27. Пример №2: инструменты не для всех
Spec by Example
Word/PDF
Код + тесты
IDE
Тест-кейсы
HP ALM
Developer
QA
BA
27
28. Пример №3: всё не так
v.2014-12-31.1.0.1.1 v.2015-01-10.1.0.1.2
Настройки в установку.2015-01-10.v2
28
29. Инженерный подход (Dev)
● Мой код работает на
моей машине
● Я написал инструкцию
админам
● Я что-то сделал, пусть
тестировщик тестирует
● Мой код работает у
клиента
● Я написал скрипт
развёртывания ПО
● Я должен написать
тесты
29
30. Инженерный подход (Ops)
● Мне дали инструкцию как
выкладывать продукт
● У вас ошибка в
инструкции
● У меня есть документ как
настраивать сервера
● Я написал скрипт
выкладки продукта
● У нас баг в скрипте
● У меня есть скрипт,
который настраивает
сервера
30
36. Три типа разделения
● по языкам/технологиям
● по типам источников данных
● по командам
36
37. Trade-Off: Принцип LSD
- L языков программирования
- S в среднем фреймворков на язык
- D типов источников данных
complexity = L * S * D
37
38. Простой такой пример
- три языка программирования
- два в среднем фреймворка на язык
- семь типов источников данных
- legacy WS, mongo db
- хранимые процедуры, JDBC-templates
- elasticsearch, neo4j
- мишкина база
complexity = 3 * 2 * 7 = 42 (!)
38
54. Профит
● Упрощение архитектуры: единый интерфейс для
управления ресурсами
● Автоматизация: никто не любит быть разбуженным
посреди ночи - придаем свойство самовосстановления
своим системам
● Эффективность: динамическое распределение
ресурсов с гарантированной изоляцией
● API самообслуживания: прямой доступ к ресурсам
для команды разработки
54