4つのITメガトレンド
数年前から言われはじめ現在IT業界では4つの大きなトレンドがあります。
いろいろニュースを見るとこれらはコンシューマや企業向けにかかわらず着々と浸透してきている実感があります。
これらの技術を利用してシステムを作る場合の要素技術としてどのようなものがあって自分がどれぐらい使えるか気になりました。
クラウド
クラウドにもいろいろいろあってAzure、AWS、Googleのように提供ベンダーの視点、IaaS、PaaS、SaaSのようなクラウドの利用するサービス形態によっていろいろあると思いますが、スケールアウト・セキュリティ・自律復旧の技術が重要であると思っています。
スケールアウトは「クラウドの必要な時に必要なリソースを使える」という特性を活かすことで、データの水平・垂直分割の技術(NOSQLなど)や分散キャッシ、ロードバランスなどに関連する要素技術、セキュリティは「SSO(シングルサインオン)関連の技術」でSAMLや「重要なリソースを保護するためのDRM(IRM)のような技術」、自律復旧はクラウドが「部分的に壊れても動作可能にするための技術」でサービスを何度実行しても動作を保証する仕組み(べき化)になります。
ただ、クラウド上にはこれらの技術をあらかじめ用意してサービスとして提供していることも多いので、それらを組み合わせて使える力が必要になってくるんでしょうね。
モビリティ(モバイル)
モバイル端末向けのこの領域は「HTML5関連の要素技術」を中心におさえています。HTML5では最高の操作性は追及できませんが特定の端末に依存せずにアプリを作れるメリットがあります。ネイティブアプリ用の技術要素も重要だと思っていますが、徐々にHTML5で扱う範囲が増えていくと予想しています。関連する技術としてはjQuery Mobileなどのモバイル用のJavaScriptライブラリは肝になると思っています。UI以外の技術要素としてはWebSocketのようなPUSH技術なども補助的な技術要素になると考えています。あとJavaScriptの生産性を上げるためのTypeScriptなんか案外重要かもしれません。
ソーシャル
「TwitterやFaecbookなどと連携する技術」や、もっと基礎的なところとしては情報共有・知識共有のための技術としてのIMなどの「コミュニケーションするための技術」も含まれてくると考えています。SkypeやLyncを組みあわせてLOBアプリを作るのが当たり前になるかもしれないです。
ビッグデータ
ビッグデータの領域は、「大量のデータを収集・処理できる技術」としてHadoopやCEP(複合イベント処理)など、「データを活用する技術」として統計や機械学習などがあります。この領域は学術的な感じがしますがさまざまなライブラリが提供されて使い方がわかればあとはビジネスシナリオでの適用力が求められる気がしています。
大変だけど
こんなにいろいろ多くの知識がもとめられるとさすがに大変だけど、エキサイティングなことも多く、技術が好きなエンジニアとしては今後も追いかけていこうと思っています。