Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Technology Radarから読み解く技術トレンド

Avatar for tomo tomo
December 17, 2014

Technology Radarから読み解く技術トレンド

Avatar for tomo

tomo

December 17, 2014

Other Decks in Technology

Transcript

  1. Technology Radar 2014/12/17 【アドテク部勉強会】 Technology Radar から読み解く技術トレンド 6 Technology Radar

    OUR THOUGHTS ON JAVASCRIPT,APIS, CONWAY’S LAW, RE-DECENTRALIZATION AND MUCH MORE JULY 2014 thoughtworks.com/radar h"p://www.thoughtworks.com/radar  
  2. Technology Radarとは? •  アメリカの開発会社ThoughtWorksが公開 •  最新の技術動向や指標をまとめたレポート •  技術分野のチャートと、主要技術の解説などで構成 •  2010年1月からこれまで10回公開(不定期?)

    •  2014年7月版(July 2014)が今のところ最新 •  http://www.thoughtworks.com/radar 2014/12/17 【アドテク部勉強会】 Technology Radar から読み解く技術トレンド 7
  3. チャートはこんな感じ 2014/12/17 【アドテク部勉強会】 Technology Radar から読み解く技術トレンド 8 © July 2014,

    ThoughtWorks, Inc. All Rights Reserved. TECHNOLOGY RADAR JULY 2014 | 3 HOLD HOLD ASSESS ASSESS TRIAL TRIAL ADOPT ADOPT 2 3 4 6 1 5 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 31 29 52 84 82 30 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 80 79 78 81 83 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 THE RADAR TECHNIQUES ADOPT 1. Forward Secrecy 2. Segregated DOM plus node for JS Testing TRIAL 3. Capture domain events explicitly 4. Development environments in the cloud 5. Event Sourcing 6. Focus on mean time to recovery 7. Humane registry 8. Inverse Conway Maneuver 9. Living CSS Style Guides 10. Machine image as a build artifact 11. Masterless Chef/Puppet 12. Perimeterless enterprise 13. Provisioning testing 14. Real user monitoring 15. REST without PUT 16. Structured logging 17. Tailored Service Template ASSESS 18. Bridging physical and digital worlds with simple hardware 19. Datensparsamkeit 20. Machine image pipelines 21. Pace-layered Application Strategy 22. Property-based unit testing 23. Tangible interaction HOLD 24. Cloud lift and shift 25. DevOps as a team 26. Ignoring OWASP Top 10 27. Testing as a separate organization 28. Velocity as productivity PLATFORMS ADOPT 29. Hadoop 2.0 30. Vumi TRIAL 31. iBeacon 32. PostgreSQL for NoSQL 33. Private Clouds ASSESS 34. ARM Server SoC 35. CoAP 36. DigitalOcean 37. Espruino 38. EventStore 39. Low-cost robotics 40. Mapbox 41. OpenID Connect 42. SPDY 43. Storm 44. TOTP Two-Factor Authentication 45. Web Components standard HOLD 46. Big enterprise solutions 47. CMS as a platform 48. Enterprise Data Warehouse 49. OSGi New or moved No change © July 2014, ThoughtWorks, Inc. All Rights Reserved. TECHNOLOGY RADAR JULY 2014 | 4 HOLD HOLD ASSESS ASSESS TRIAL TRIAL ADOPT ADOPT 2 3 4 6 1 5 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 31 29 52 84 82 30 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 80 79 78 81 83 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 THE RADAR TOOLS ADOPT 50. Ansible 51. Dependency management for JavaScript TRIAL 52. CartoDB 53. Chaos Monkey 54. Docker 55. Flyway 56. Foreman 57. GenyMotion 58. Go CD 59. Grunt.js 60. Gulp 61. Moco 62. Packer 63. Pact & Pacto 64. Prototype On Paper 65. Protractor for AngularJS 66. SnapCI 67. Snowplow Analytics & Piwik 68. Visual regression testing tools ASSESS 69. Appium 70. Consul 71. Flume 72. Hosted solutions for testing iOS 73. leaflet.js 74. Mountebank 75. Papertrail 76. Roslyn 77. Spark 78. Swagger 79. Xamarin HOLD 80. Ant 81. TFS LANGUAGES & FRAMEWORKS ADOPT 82. Dropwizard 83. Go language 84. Java 8 85. Reactive Extensions across languages 86. Scala, the good parts TRIAL 87. AngularJS 88. Core Async 89. HAL 90. Hive 91. Nancy 92. Pester 93. Play Framework 2 94. Q & Bluebird 95. R as Compute Platform ASSESS 96. Elm 97. Julia 98. Om 99. Pointer Events 100. Python 3 101. Rust 102. Spray/akka-http 103. Spring Boot 104. TypeScript 105. Wolfram Language HOLD 106. Handwritten CSS 107. JSF New or moved No change h"p://www.thoughtworks.com/radar  
  4. 技術の分類 •  分野での分類 –  TECHNIQUES –  TOOLS –  PLATFORMS – 

    LANGUAGES & FRAMEWORKS •  導入レベルでの分類 –  ADOPT –  TRIAL –  ASSESS –  HOLD 2014/12/17 【アドテク部勉強会】 Technology Radar から読み解く技術トレンド 9
  5. 技術の分類  -  分野での分類 •  TEQUNIQUES – 概念や手法(DevOpsとかMobile firstとか) •  PLATFORMS – ミドルウェアやインフラ(MongoDBとかiBeaconとか)

    •  TOOLS – ツール(AnsibleとかDockerとか) •  LANGUAGES & FRAMEWORKS – 言語とフレームワーク(ScalaとかAngularJSとか) 2014/12/17 【アドテク部勉強会】 Technology Radar から読み解く技術トレンド 10
  6. 技術の分類 - 導入レベルでの分類 •  ADOPT –  We feel strongly that

    the industry should be adopting these items. We use them when appropriate on our projects. •  TRIAL –  Worth pursuing. It is important to understand how to build up this capability. Enterprises should try this technology on a project that can handle the risk. •  ASSESS –  Worth exploring with the goal of understanding how it will affect your enterprise. •  HOLD –  Proceed with caution. 2014/12/17 【アドテク部勉強会】 Technology Radar から読み解く技術トレンド 11
  7. 導入レベルでの分類の超意訳 •  ADOPT – 導入推奨(ThoughtWorksでは導入してるよ) •  TRIAL – 価値を見出す(目的に応じた価値が出せるか) •  導入するならリスクハンドリングできるプロジェクトでどうぞ • 

    ASSESS – 評価段階(とりあえずまずは調査) •  HOLD – 先行き注意(注視しましょう) 2014/12/17 【アドテク部勉強会】 Technology Radar から読み解く技術トレンド 12
  8. 抜粋するとこんな感じ(Jul 2014) •  ADOPT(導入推奨) –  Go Language –  Ansible • 

    TRIAL(価値を見出す) –  Docker –  iBeacon •  ASSESS(評価段階) –  Python 3 –  TypeScript •  HOLD(先行き注意) –  Ant –  Handwritten CSS 2014/12/17 【アドテク部勉強会】 Technology Radar から読み解く技術トレンド 13
  9. 注意点 •  あくまで「ThoughtWorks」のいち意見 – 当たり前だがこれが絶対ではない •  スペースの関係上、取り上げていないものもある – 取り上げていない技術は2種類ある気がする(私見) •  もはや当たり前になってきたもの – 

    AWS、Scala、Vagrantなどなど •  もはや時代遅れなもの –  Subversion、Rich Internet applicationsなどなど 2014/12/17 【アドテク部勉強会】 Technology Radar から読み解く技術トレンド 14
  10. 他にも似たようなものがあります •  Gartner Hype Cycles 2014 – アメリカのコンサル会社Gartnerが発表 •  日本支社が出している日本語版もある • 

    http://www.gartner.co.jp/press/html/pr20140903-01.html – Technology Radarと比較してもう少し枠が大きい印象 •  Tecnology Raderでの「TEQUNIQUES」的なものが多い 2014/12/17 【アドテク部勉強会】 Technology Radar から読み解く技術トレンド 15
  11. Technology Radar Jul 2014 ADOPT •  Technology Radar最新版からADOPT技術を紹介 – TEQUNIQUES – 

    Segregated DOM plus node for JS Testing / Forward Secrecy – PLATFORMS –  Hadoop 2.0 / Vumi – TOOLS –  Ansible / Dependency management for JavaScript – LANGUAGES & FRAMEWORKS –  Dropwizard / Go language / Java 8 / Reactive Extensions across languages / Scala(the good parts) 2014/12/17 【アドテク部勉強会】 Technology Radar から読み解く技術トレンド 18
  12. TECHNIQUES 1/2 •  Segregated DOM plus node for JS Testing

    – 前回(Jan 2014)に引き続きADOPT – DOMアクセスのロジックとアプリケーションロジックが混在 していると、読みずらく、拡張が困難になる – ロジックをDOMアクセスの部分と分離することで、ブラウ ザとは切り離してnode.jsなどを利用した自動テストを行う ことができる 2014/12/17 【アドテク部勉強会】 Technology Radar から読み解く技術トレンド 19
  13. TECHNIQUES 2/2 •  Forward Secrecy – 初の掲載にしてADOPT – 暗号化通信の際の鍵交換の新しい手法 – 秘密鍵が漏洩した場合でも盗聴されたデータの複合化を 困難にする技術 – Amazon

    ELBでは2014年初頭からサポート •  http://aws.typepad.com/aws_japan/2014/02/elastic- load-balancing-perfect-forward-secrecy-and-other- security-enhancements.html 2014/12/17 【アドテク部勉強会】 Technology Radar から読み解く技術トレンド 20
  14. PLATFORMS 2/2 •  Vumi – May 2013 ASSESS、Jan 2014 TRIALからのADOPT – USSD(GSMで利用可能なメッセージ交換技術)やSMSを

    利用してフィーチャーフォンでのメッセージングを容易にする 技術らしい(いろいろ調べましたが全容を把握しきれません でしたすみません) – この技術によりフィーチャーフォン(のSMS機能)からイン ターネットの情報へのアクセスを容易にしたりできるそう – もともとは難民が多い地域の人々を支援する目的っぽい 2014/12/17 【アドテク部勉強会】 Technology Radar から読み解く技術トレンド 22
  15. TOOLS 1/2 •  Ansible – 前回(Jan 2014)でTRIALからのADOPT – (chefなどと比較して)非常にシンプルな構成で Infrastructure as a

    Serviceを実現可能 – 最大の特徴としてはクライアント側(構築先)に何もインス トールする必要がないということ – ものすごいベタ褒め •  Based on our experiences over the last year we have no hesitation in recommending Ansible as a great option for automated control of your infrastructure. 2014/12/17 【アドテク部勉強会】 Technology Radar から読み解く技術トレンド 23
  16. TOOLS 2/2 •  Dependency management for JavaScript – 前回(Jan 2014)に引き続きADOPT – JavaScriptのライブラリの依存関係管理ツールを導入し

    ましょうとのこと – ツールはいろいろあるけど、それぞれにいろんな強みがある ので目的に沿って選んでね •  bowerとかcomponentとかjamとかEnderとかvoloとかいろい ろありますね 2014/12/17 【アドテク部勉強会】 Technology Radar から読み解く技術トレンド 24
  17. LANGUAGES & FRAMEWORKS 1/5 •  Dropwizard – Oct 2012 TRIAL、May 2013

    TRIAL、Jan 2014より2回 連続のADOPT – Javaの比較的軽量なフレームワーク – Jersey(REST)、Jackson(JSON)、Jetty(Webサーバ)、 Metrics(モニタリン)、YAML(設定)、という構成 – Jetty内蔵なのでtomcat不要 – デプロイはこんな感じで立ち上げるだけ •  java -jar App.jar server config.yml 2014/12/17 【アドテク部勉強会】 Technology Radar から読み解く技術トレンド 25
  18. LANGUAGES & FRAMEWORKS 2/5 •  Go language – 前回(Jan 2014)でTRIALからのADOPT – みんなおなじみGo言語

    – みんな大好きGo言語 – みんな気になるGo言語 – これを機にやってみようかな – グーグルが開発した言語 – 「プログラミングは楽しくあるべき」という考えから誕生 – 並列処理が得意 2014/12/17 【アドテク部勉強会】 Technology Radar から読み解く技術トレンド 26
  19. LANGUAGES & FRAMEWORKS 3/5 •  Java 8 – リリース後数ヶ月にもかかわらずADOPT – 目玉はラムダ式 – これまでApr

    2010、Aug 2010、Jan 2011にて「Java language end of life」としてASSESS状態だったJavaだ がこれで持ち直した? •  ちなみにASSESSだったのは、Scala、Clojure、Groovy、JRuby のようなJVM上で利用可能な言語への置き換えがなされるか評 価すべきという意味 2014/12/17 【アドテク部勉強会】 Technology Radar から読み解く技術トレンド 27
  20. LANGUAGES & FRAMEWORKS 4/5 •  Reactive Extensions across languages – 前回(Jan

    2014)でTRIALからのADOPT – Reactive Extensions(Rx)はもともとMicrosoftの開発し た.NET用のライブラリ – その中のFunctional Reactive Programming(FRP)と いう概念をさまざまな言語で実現するというもの •  Java、JavaScript、Python、Rubyなどでライブラリが出てる – FRPについてはここでは説明しきれない(おそらくそれだけ で30分のコンテンツでできてしまう)のでまた別途・・・ 2014/12/17 【アドテク部勉強会】 Technology Radar から読み解く技術トレンド 28
  21. LANGUAGES & FRAMEWORKS 5/5 •  Scala(the good parts) – 初出はApr 2010のASSESS

    •  そこからAug 2010 ASSESS、Jan 2011 TRIAL、Jul 2011 TRIAL、 Mar 2012 TRIAL、Oct 2012 ADOPT、May 2013 ADOPT、 Jan 2014 ADOPTという遍歴を経て今回もADOPT – レポートでは使う時の意識が大切だ的なことが書いてある •  Scalaは新しい開発者にとって親しみやすく人気の大言語 •  かたや機能の豊富さがトラブルの原因ともなり得る •  使いこなすためにはScalaをもっと知り、どこがScalaの良さなの かを自分の中で強く意識する必要がある –  ADOPTであるが「人気だからなんとなくScala」はダメよということかな? 2014/12/17 【アドテク部勉強会】 Technology Radar から読み解く技術トレンド 29