Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Хипстеры в энтерпрайзе

1 441 vues

Publié le

Доклад о том, что именно нужно для успешного внедрения инженерных практик в условиях энтерпрайзной разработки

Publié dans : Logiciels
  • Soyez le premier à commenter

Хипстеры в энтерпрайзе

  1. 1. Хипстеры в энтерпрайзе Хи́пстер, хипстеры — появившийся в США в 40-х годах термин, образованный от жаргонного “to be hip”, что переводится приблизительно как “быть в теме”
  2. 2. @tolkv 2
  3. 3. @aatarasoff 3
  4. 4. Все события и персонажи вымышлены. Любое сходство с реальными событиями и именами случайно. Discalimer 4
  5. 5. Это про нас 5
  6. 6. План 6 ● Капитанская часть ● Что такое хорошо? ○ и что такое плохо? ● Что со всем этим делать? ● Результат ● Q&A
  7. 7. Люди говорят: Надо быть гибким 7
  8. 8. Эволюция везде 8
  9. 9. Дано 9
  10. 10. Найди себя Manager DBA BA UXDeveloper QA Operations 10
  11. 11. Колодцы Manager DBA BA UXDeveloper QA Operations 11
  12. 12. 12
  13. 13. Пример №0: департамент версионирования 13
  14. 14. 14
  15. 15. Внедряем Agile 15
  16. 16. Слепые пятна после второго прихода Manager DBA BA UXDeveloper QA Operations 16
  17. 17. А что если не летит? 17
  18. 18. Проблема последней мили Lead Time Full Delivery Time Cycle Time Cycle Time 18
  19. 19. Нас спасут инженерные практики 19
  20. 20. Чёрная дыра инженерных практик Инженерные практики 20
  21. 21. Слагаемые успеха Инструменты Архитектура и технологии Инженерный подход 21
  22. 22. График хуяфик 22
  23. 23. Пример №1: унылость тестирования 23
  24. 24. Пример №1: унылость тестирования ? 24
  25. 25. Пример №1: унылость тестирования 25
  26. 26. Пример №1: унылость тестирования 26
  27. 27. Пример №2: инструменты не для всех Spec by Example Word/PDF Код + тесты IDE Тест-кейсы HP ALM Developer QA BA 27
  28. 28. Пример №3: всё не так v.2014-12-31.1.0.1.1 v.2015-01-10.1.0.1.2 Настройки в установку.2015-01-10.v2 28
  29. 29. Инженерный подход (Dev) ● Мой код работает на моей машине ● Я написал инструкцию админам ● Я что-то сделал, пусть тестировщик тестирует ● Мой код работает у клиента ● Я написал скрипт развёртывания ПО ● Я должен написать тесты 29
  30. 30. Инженерный подход (Ops) ● Мне дали инструкцию как выкладывать продукт ● У вас ошибка в инструкции ● У меня есть документ как настраивать сервера ● Я написал скрипт выкладки продукта ● У нас баг в скрипте ● У меня есть скрипт, который настраивает сервера 30
  31. 31. Преодолеваем отставание 31
  32. 32. Как это сделать? Принцип огораживания 32
  33. 33. Как это сделать? Принцип огораживания 33
  34. 34. Как это сделать? Принцип огораживания 34
  35. 35. Как это сделать? Domain Driven Design 35
  36. 36. Три типа разделения ● по языкам/технологиям ● по типам источников данных ● по командам 36
  37. 37. Trade-Off: Принцип LSD - L языков программирования - S в среднем фреймворков на язык - D типов источников данных complexity = L * S * D 37
  38. 38. Простой такой пример - три языка программирования - два в среднем фреймворка на язык - семь типов источников данных - legacy WS, mongo db - хранимые процедуры, JDBC-templates - elasticsearch, neo4j - мишкина база complexity = 3 * 2 * 7 = 42 (!) 38
  39. 39. Чем нельзя жертвовать? min (L * S * D) -> ? 39
  40. 40. Закон трёх букв min (L * S * D) -> max (D) 40
  41. 41. Какие инструменты вам помогут? ● Docker ● ??? ● ??? 41
  42. 42. Docker ● Инкапсуляция имплементации ● Унификация и стандартизация ● Изоляция ресурсов 42
  43. 43. Docker глазами разработчика 43
  44. 44. Docker глазами саппорта: stressless архитектура 44
  45. 45. Так зачем Docker в энтерпрайзе? 45 ● Уменьшает уровень беспокойства у саппорта ● Развязывает руки команде разработки
  46. 46. Какие инструменты вам помогут? ● Docker ● API ● ??? 46
  47. 47. 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
  48. 48. API на пример Ansible-а 48
  49. 49. Какие инструменты вам помогут? ● Docker ● API ● Mesos Ecosystem 49
  50. 50. 50
  51. 51. 51
  52. 52. О чём мы не хотим беспокоиться? ● о серверах ● о кластерах ● о бюрократии 52
  53. 53. Apache Mesos 53 Кратко о возможностях: ● масштабируй ● изолируй ● управляй ● мониторь
  54. 54. Профит ● Упрощение архитектуры: единый интерфейс для управления ресурсами ● Автоматизация: никто не любит быть разбуженным посреди ночи - придаем свойство самовосстановления своим системам ● Эффективность: динамическое распределение ресурсов с гарантированной изоляцией ● API самообслуживания: прямой доступ к ресурсам для команды разработки 54
  55. 55. Выводы 55 Manager DBA BA UX Developer QA Operations Software Engineer
  56. 56. Выводы 56
  57. 57. И на ход ноги ● Не забывайте про закон трёх букв min (L * S * D) -> max (D) 57
  58. 58. 58 Спасибо! Будем рады ответить на ваши вопросы. @tolkv @aatarasoff

×