Где-то я это уже видел!

Где-то я это уже видел!

http://techtalks.nsu.ru

Максим Иванов (Laximo) рассказывает о цикличности технологической моды.

«Мода на технологии, как и любая другая мода, циклична. Почти все баззворды, которые на слуху в последнее время (такие как "microservices", "NoSQL", "cloud"), вовсе не новы, а в том или ином виде существуют уже не один десяток лет.

Соответственно, когда вам пытаются «продать» какую-то горячую технологию, у вас почти всегда есть возможность не пробовать ее непосредственно на себе, а обратиться к историческому опыту, чтобы внимательно рассмотреть все ее плюсы и минусы. Это позволит вам не наступать на старые грабли и не изобретать велосипеды на ровном месте.

В этом полуфилософском докладе мы поговорим про повторяемость технологий на примере стека JEE, а также об инженерном подходе к разработке и проектированию софта.»

E51d363aa46f4d059d54a15e0bcd8e6f?s=128

Tech Talks @NSU

December 01, 2015
Tweet

Transcript

  1. “Hey, I’ve seen something like it before!” 1

  2. 2 15+ лет коммерческой разработки основная часть проектов связана с

    JEE организатор IT-ивентов в Новосибирске @ivanenok ivanenok@gmail.com Laximo
  3. А чего мы тут собрались? Решить кто такой архитектор Обсудить

    популярные ошибки Разобраться что такое “хайп” Обсудить цикличность развития Посмотреть на велосипеды Как правильно лажать в архитектуре Потроллить и Поговорить 3
  4. 4

  5. 5

  6. 6

  7. 7

  8. Маленькое время ответа Гибкие структуры данных Уменьшение времени разработки Пере-

    носимость Масштабируемость решений 8
  9. 9

  10. 10

  11. Чем “плохи” существующие хранилища? дорогие транзакции фиксированые структуры данных проблемы

    с кластеризацией 11
  12. Что такое FLAT FILES? Одна из концепций хранения Типичный пример

    dBase || и другие Работа с файловой системой Гибкие структуры - protobuf, Thrift Простое портирование Масштабируемость 12
  13. Что выбрать для проекта? 13 зависит от задачи и нужного

    профиля зависит от соотношения чтений/записей универсального совета не существует зависит от объемов данных в момент времени
  14. 
 {
 "_id": "acc12345",
 "amount": 1000.0,
 "contact_info": {
 "name": "Peter",


    "address": {
 "country": "Russia",
 "city": "Novosibirsk"
 }
 },
 "company_info": {
 "name": "Pont Inc",
 "address": {
 "country": "Russia",
 "city": "Novosibirsk"
 }
 }
 } 14
  15. {
 "_id": "acc12345",
 "amount": 1000.0,
 "contact_info": "1",
 "company_info": "1"
 }

    15 {
 "id": "1",
 "name": "Peter",
 "address": {
 "country": "1",
 "city": "1"
 }
 } {
 "id": "1",
 "name": "Pont Inc",
 "address": {
 "country": "1",
 "city": "1"
 }
 } {
 "id": "1",
 “country": "Russia"
 } 
 {
 "id": "1",
 "city": "Novosibirsk"
 }
  16. 16

  17. изолированность слабая связанность легкая тестируемость переиспользование 17

  18. Что такое микросервис? WAR, EAR JAR Package Class 18

  19. Что такое микросервис? WAR, EAR JAR Package Class 19

  20. Что такое микросервис? WAR, EAR JAR Package Class 20

  21. Что такое микросервис? WAR, EAR JAR Package Class 21

  22. 22

  23. 23

  24. OMG: Oh, My God или Object Management Group? 24

  25. Что такое компонента? CORBA SOAP COM DCOM SOA EJB Spring

    25
  26. Components vs Objects Objects Components метафоры реального мира абстракции для

    протоколов акцент на представлении акцент на уменьшении связности уровень дизайна кода уровень архитектуры оверинжиниринг паттернами упрощение структуры 26
  27. А зачем мне это знать? JMS Event Services JPA Peristence

    Service RMI IIOP JNDI Naming Service 27
  28. Storage “Плохая” монолитна структура 28

  29. Storage “Правильная” структура с микросервисами 29

  30. Storage “Правильная” структура с микросервисами 30

  31. И как быть? Мода – это удовлетворение амбиций инженеров Инженерия

    – это решение задач подходящими инструментами Собирайте решение из того, что точно работает Перед ответом на вопрос, “КАК делать?”, поймите, “ЧТО, нужно сделать” Универсальной таблетки не существует! 31
  32. Спасибо за внимание. Q/A. 32