BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース 2015年11月のThoughtWorks Radar

2015年11月のThoughtWorks Radar

ブックマーク

原文(投稿日:2015/11/14)へのリンク

ThoughtWorksが2015年11月のRadarを公開した。これはテクノロジーを4つのエリア、言語とフレームワーク、プラットフォーム、テクニック、ツールに分けたものだ。

今月のThoughtWorks Radarはまず大きなトレンドについて説明している。

  • 依存関係を管理したり、クラウドにおける水平スケーラビリティを提供する手段として、デプロイメントにDockerを使う
  • マイクロサービスおよび関連ツールの人気が拡大している
  • JavaScript関連ツールが落ち着き、混沌とした状況がやわらいでいる
  • セキュリティは引き続き、SDLCにおける全員に関して一般的な問題である

Radarがカバーしている4つのエリアから、興味を引いたものをいくつか取り上げる。それぞれおすすめ度合いを示す四象限(Adopt、Trial、Assess、Hold)に分類されている。

Adopt

ThoughtWorksは以下の導入を推奨している。

  • ECMAScript 6 – 直ちに使うことを推奨する。たとえすべてのブラウザがすべての機能をサポートしていなくても、Babelのようなトランスパイラを使えば利用できる。
  • Swift – 「ツールのサポート、リファクタリング、テスト」に関して一部問題があるものの、ThoughtWorksは社内すべてのApple関連開発にSwiftを使っている。オープンソース化するという発表は、この言語への投資に自信を持たせてくれるものだ。
  • 2要素認証 – ログインクレデンシャルを守るために必須である。GoogleやMicrosoftのフリーアプリで生成したタイムベースのワンタイムパスワード(TOTP)を使うのが人気のあるソリューションだ。
  • リリースからデプロイメントを分離 – ThoughtWorksはこの2つを区別している。デプロイメントは「アプリケーションコンポーネントやインフラトラクチャに変更をデプロイする行為」であり、リリースは「機能変更がエンドユーザに、ビジネスインパクトを持って、リリースされるときに使われるべき」だ。

Trial

Trialでは以下が興味を引いた。

  • SignalR – ThoughtWorksは.NET WebSocketサーバが必要なときに、このフレームワークを使うのをすすめている。WebSocketには、サーバがブラウザにアクションを開始できること、「今日のWWWを支えるリクエスト/レスポンスモデルからの逸脱」、それにまつわるセキュリティリスク、標準がいかなる「cross-origin request policy」も課していないこと、といった不安があるためだ。
  • AWS Lambda – 「イベントに対する応答として、または関連するAPI Gatewayからの呼び出し経由で、非常に短寿命のプロセス」を開始できる。つまり長寿命なマシンを気にする必要がないということだ。
  • Fastly – TwitterやGitHubが使っているCDN。その「機能セット、スピード、プライスポイント」は「エッジキャッシングソリューションを探している人にとって非常に魅力的な選択肢」だ。
  • HTTP Strict Transport Security (HSTS) – アタッカーによるHTTPS接続からHTTP接続へのダウングレードからサイトのユーザを守る。
  • ビルドのためのDocker – ビルド時の依存関係を管理し、「ビルドエージェントを汚すことなく、完全に隔離された環境でコンパイル」を実行する。
  • フロントエンドのためのバックエンド(BFF: Back-end for Front-end) – フロントエンドクライアントのタイプごとにバックエンドサービスを作る。
  • サンドボックスのためのiFrame – 信頼できないJavaScriptをサンドボックス化するためにiFrameを使う(詳しくはAMP HTMLを参照)。
  • あらゆるものにNPM – あらゆるJavaScriptツールにNPMを使う。
  • Browsersync – 複数に及ぶブラウザやデバイスでのテストに推奨。
  • Docker Toolbox – boot2dockerの置き換え

Assess

ThoughtWorksは次のテクノロジーを評価するよう推奨する。

  • Material UI – GoogleのMaterial Designガイドラインを実装したReactコンポーネント
  • React Native – Reactを使ってネイティブアプリを構築するフレームワーク
  • AWS ECS – Amazonのコンテナサービス、「今は全体的に複雑で優れた抽象層が欠けている」が、AWS上でDockerコンテナを動かす必要があるならおすすめだ。
  • Kubernetes – マシンクラスタにおけるコンテナデプロイ
  • Microsoft Nano Server – Windowsサーバを裸にしたバージョン。.NETソリューションにおすすめ。
  • Presto – オープンソースの分散SQLクエリエンジン。「超並列処理アーキテクチャ」で、Cassandra、Hive、MySQL、PostgreSQLをサポートする。
  • Bug Bounty – ハッカーに報酬を払ってセキュリティの弱点を見つける。
  • Hosted IDE – セキュリティを理由にコードとビルドツールは組織のクラウドに保存されるが、IDEはVPN経由で開発者のブラウザにロードされる。
  • Espresso – Androidの機能テストツール
  • Gauge - クロスプラットフォームのテスト自動化ツール。ThoughtWorksがオープンソース化。
  • Let’s Encrypt - フリーで証明書を発行する認証機関
  • RAML – APIモデリング言語。Swaggerよりも軽量で、「既存のAPIにドキュメントを追加することから、APIを設計することへとフォーカスを移してくれる」とThoughtWorksは考える。
  • Visual Studio Code – MicrosoftのフリーのクロスプラットフォームIDE

Hold

ThoughtWorksはいくつかのテクノロジーをHoldに置いている。

  • Applicationサーバー – より良いソリューションは組み込みサーバだ。
  • 野心的すぎるAPI Gateways – 「API Gatewaysは一般的な関心、例えば認証やレート制限に対処するユーティリティを提供できるが、データ変換やルール処理といったドメインの賢さは、サポートするドメインの近くで仕事をするプロダクトチームがコントロールできるアプリケーションやサービスになくてはならない」とThoughtWorksは考える。
  • SPDY – テクノロジー自体はHTTP/2に取り込まれてきているので、これはHoldだ。
  • Gitflow – ThoughtWorksはこれをHoldに置いた理由をこう説明する。「私たちはGitにある柔軟性を気に入っていますが、まずいエンジニアリングプロセスを促すツールは大嫌いです。非常に短寿命のブランチは傷が浅いのですが、私たちの知るGitflowを使っているチームの多くが、そのブランチヘビーなワークフローを乱用しても構わないと思っています。これは遅いインテグレーションを促します(したがって、真の継続的インテグレーションを妨げます)。」

ThoughtWorks Radarで言及されたすべてのテクノロジーを見るには、レポート(PDF) を読むか、オンラインのThoughtWorks Radarにアクセスすることをおすすめする。

この記事に星をつける

おすすめ度
スタイル

BT