マルチデバイス&クラウドの時代、開発者が進む道を「理と情」で語る──そしてアーキテクトは新しい課題に直面する:de:code 2014まとめリポート(2/2 ページ)
日本マイクロソフトが開催した開発者向けイベント「de:code」の基調講演とアーキテクト向けの3つのセッションの模様を凝縮してお伝えする
1人が複数のデバイスを持つ時代、ID管理の考え方も変わる
モバイルデバイスにしてもクラウドにしても、モダンな開発言語とフレームワークを利用することで、開発環境の生産性はより高まっている。直観的には、従来よりも手軽に開発に取り組めそうに思える。
だが、de:code 2014のアーキテクト向けのセッションでは、「クラウド&マルチデバイスの世界には落とし穴がある」との指摘を多数聞くことになった。アーキテクトが考えるべき課題はむしろ増える。さらに、アプリケーション開発者とアーキテクトという役割分担も見直しが迫られるようになる。
「Cloud First 時代:IT Architect は何を目指し、何を実現するのか詳細を見る」と題したセッションで、日本マイクロソフト デベロッパー&プラットフォーム統括本部 ITアーキテクチャ推進部 部長 板倉真由美氏は、大学生へのアンケートを基に、「今、4〜7台のデバイスを持つことは普通になってきている」と語り、1人が複数のデバイスを持つ時代のシステム設計についての問題意識を提示した。
例えば、1人の個人が複数のデバイスを持ち、例えば1つのサービスに複数のデバイスでログインして利用する使い方もい まや当たり前となってきた。「このような時代には、データの管理に今までとは異なる考え方が必要だ」と、板倉氏は語る。
「データ理解の単位が転換する。サービスの向こう側にいる個人が、 単なるIDと個人を紐付けるだけでは理解しきれなくなっている」(板倉氏)
マルチデバイスの利用が当たり前の時代、一貫性の取り扱いがある程度「緩く」ても許されるSNS(ソーシャルネットワーキングサービス)ならまだいいが、厳しいトランザクション管理が必要な業務アプリケーションでは、データの管理をどのようにするか、より深く考える必要が出てくるとの見解を示した。
クラウドでは、信頼性、可用性の考え方が変わる
「Building Big:スケーラブルでサービス継続性の高いクラウド アプリ設計の基礎詳細を見る」と題したセッションで、日本マイクロソフト デベロッパー&プラットフォーム統括本部 エバンジェリスト 野村一行氏は、SLA(service level agreement)の「9」の意味について語り掛けた。
「可用性が99.99%だと、年間で52.56分止まる可能性がある。この数字が一人歩きすると、顧客から『クラウドは使えない』といわれることがある。だがここで可用性をフォー・ナインからファイブ・ナイン(99.999%)に上げるためのコストの話をすると、『そこまでコストが掛かるシステムはいらない』と顧客が冷静になる場合もある」(野村氏)
つまり、コストと必要性を天秤に掛けて、可用性とSLAの議論をするべきだと指摘する。
また、クラウド上に5種類の相互に連携するアプリが動き、それぞれの可用性が99.99%だとしよう。この場合、トータルでの可用性は99.95%まで低下し、年間のダウンタイムは4.38時間となる。このことを考慮に入れているかいないか、これがクラウドのアーキテクチャを考える上で「分かれ道」になるという。
従来の情報システム分野では、MTBF(平均故障間隔)を評価尺度とすることが主流だった。クラウドの場合は、障害からどれだけ短時間で復帰できるかを測る「MTTR(mean time to repair)」がより重要となる。野村氏は「MTTRの考え方はぜひ取り入れてほしい」と呼び掛けた。
障害、遅延に対する考え方も、クラウドでは変わってくる。「『1秒遅れると課金できない』サービスもあれば、『時間を空けてアクセスしてください』で許されるサービスもある。より深いレベルから障害、遅延への対策を整理していかないと、クラウド本来のメリットを引き出すことは難しくなる」(野村氏)
ところで、このセッションの冒頭で、野村氏はある同僚の言葉を引用した。
新しい技術は、いったん今までに学んだことを忘れて、フレッシュな気持ちで吸収するといいんだよ
これは日本マイクロソフト デベロッパー&プラットフォーム統括本部 アーキテクト 萩原正義氏の言葉だという。クラウド&モバイルの時代に立ち向かうには、今までの常識、先入観はいったん保留して、新しい概念をゼロベースで吸収することも時には必要なのだろう。
クラウドの時代こそ、設計が重要に
「パネルディスカッション:日本のトップアーキテクトが最新アーキテクチャを斬る!」と題したセッションでは、日本アイ・ビー・エム スマーターシティ事業 CTO榊原彰氏、ノーチラス・テクノロジーズ代表取締役社長の神林飛志氏、それに前出の日本マイクロソフト 萩原正義氏の3名がパネリストとして登壇した。ファシリテーターは、アークウェイ プリンシパル コンサルタントの福井厚氏が務めた。
榊原氏は、太陽光発電所(メガソーラー)のITシステムを手掛けている。再生可能エネルギーは出力が不安定だ。例えば、太陽光発電は雲が出ると出力が落ちる。そこで風力発電と組み合わせエネルギーのポートフォリオを組み立てる。精密な気象予測によるコントロールが欠かせない。このように、再生可能エネルギーとITは密接に結び付くことを紹介した。
神林氏は、クラウドとHadoopによるシステムで、「15年前に失敗した個別商品の損益計算のシステムが、見事にリベンジできた。1週間でできなかった計算が3時間で終わる」という成果を語った。
さらに、神林氏はクラウドの発展とPCサーバーのコモディティ化により「5年以内にサーバーは売られなくなる。供給サイドにメリットがない。サーバー機を買いたくても『100台単位で買ってくれ』といわれるようになる」と予言。
これに対して榊原氏は「IBMはx86サーバーをレノボに売却したが、神林さんの読みの5年先を行っている」と返す。さらに「クラウドへの移行は、もはやコンセンサス。そうはいっても、オンプレミスでやりたいことは残っている。そこも徐々にパブリッククラウドに移っていく。ベンダーは変化の『読み』を問われるし、SIerの商売の在り方にも関わってくる」と語った。
このパネルディスカッションで神林氏が示した問題意識は、「分散は本質的に難しい」ことと、そのためにレイヤー分けが多様化し、OSが分解していくだろうというものだ。コンテナーを提供するOS、コンテナー上で走るOS、分散環境下で提供するOS、それぞれ要件が異なるからだ。
これを受けて榊原氏は「ミドルウェアまで含めたアーキテクチャデザインをアプリケーションの人も考えなければいけなくなる」と語った。アーキテクトとアプリケーション開発者という役割分担も、クラウドの世界では見直しが必要になるのだ。
また、設計に関する話題になると、神林氏は「アジャイルは嫌いです」と過激な発言をした。「実装のイメージができるまで徹底的に設計することが大事」なのに、アジャイルで『とりあえず実装』するといった安易な考え方が大嫌いなのだという。これには、ファシリテーターの福井氏からツッコミが入り「変更のインパクトが大きいもの、小さいものを分けて考えるのがアジャイルです。変更のインパクトが大きな部分はアーキテクチャとして固め、要求が変化する部分はアジャイルで回します」との補足があった。
以上の議論を受けて、萩原氏は「クラウドの時代になると、プラクティス(過去の成功事例)だけではうまく設計できない。サイエンスの要素が必要」とも指摘した。例えば、今やデータセンター単位、ラック単位でのシステムの最適化が求められている。過去のデザインパターンはそのような最適化をまだ想定していないためだ。
このようにさまざまな見解が語られた今回のパネルディスカッションだが、最も印象に残った言葉の一つは、神林氏による、「アーキテクトになるためには、いいお客さんを見つけてください」という発言だ。ベンダー選びの基準が価格しかないような顧客と仕事をしているだけでは、実力を高める機会は得られない。かといって研究所のような環境でも実世界に役に立つアーキテクチャは学べない。顧客との良い関係は、アーキテクトとしての成長に必須だというのだ。
もう一つは、萩原氏の「システムをデザインするには、できるだけ単純なもの、美しいものを心掛ける。美しいデザインの飛行機は、性能がいい」というものだ。
コンピューターの数量、そして性能が指数曲線を描いて向上している以上、プラクティス、つまり過去の成功経験に頼った設計ではやっていけない。ITの変化が激しい時代には、サイエンス(科学)の観点から考え尽くした設計と、「アーキテクチャの美しさ」を感じ取れる審美的なセンスが求められる──エンジニア、アーキテクトの側も覚悟を決める必要があることを示したパネルディスカッションだったといえるのではないだろうか。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 業務アプリInsider 読者調査レポート:業務アプリにおける次世代テクノロジの3大トレンド
2014年3月実施のアンケート調査結果を紹介。「業務アプリでのクラウドプラットフォーム採用」「ウェアラブルデバイス開発」「スマートフォンアプリのネイティブ開発」が3大トレンドとなっている。 - 業務アプリInsider×未来テクノロジ:業務アプリはもうこれ以上、進化できないのか? ―― スマートアグリカルチャーに学ぼう
業務アプリ内の技術を最新に置き換えるだけの作業に疲れた? これから業務アプリはどう進化させればよいのか? そんな考えに基づき、農業IT化の手法を聞いてみた。「“攻め”の業務アプリ開発」を始めるための参考にしてみよう。 - 徹底解説! ITアーキテクトとは何か?(1):あらためて見直す、ITアーキテクトの役割
テクノロジ活用の在り方がビジネスに与える影響が増している今、ITアーキテクトの重要性もより一層高まっている。ではITアーキテクトとは何か? 大手SIer、TISのITアーキテクト、熊谷宏樹氏がその役割とポイントを現場視点で徹底解剖する。 - Microsoft Build 2014 参加レポート:開発者が知っておくべき「マイクロソフトの最新技術動向」
.NETアプリのマルチデバイス&クロスプラットフォーム化に力を入れ、OSSと積極的に連携するマイクロソフト。ユニバーサルアプリ、Cortana、Windows for IoT、TypeScriptなどのマイクロソフト技術とともに、Xamarin、AngularJS、Puppet/Chefなどの外部技術も押さえよう。 - 特集:Windowsストアアプリ開発最新情報(Build 2014より):ユニバーサルWindowsアプリ開発の勧め
Build 2014の内容からユニバーサルWindowsアプリ開発に絞って紹介。「Windowsストアアプリの新規開発は、ユニバーサルWindowsアプリにしない理由がない」!?