Gartner Summit

マイクロサービスならデジタルビジネスの要求に応えられる--ガートナー飯島氏 - (page 3)

日川佳三

2018-04-13 07:30

最も変化の激しい部分をマイクロサービスとして切り出す

 マイクロサービスの設計面の課題の1つは、適正な粒度が分からないことだ。「最初からすごく小さい単位に分割しようとするユーザーがいるが、まずはビジネスのスピードに追い付くことが第一の目的だ」(飯島氏)。ビジネスのスピードに付いていけなくなったら、マイクロサービスの粒度を下げることを考える。

 目的に応じて粒度を変えることも重要だ。ECサイトのシステム全体をカプセル化して公開するために、粒度の荒いマクロサービスを適用する。この一方、配送オプションなどの個々の機能は、粒度の細かいマイクロサービスを適用する。このように、APIの公開範囲と照らし合わせて考える。

 既存のアプリケーションをマイクロサービスに分割する際に、一気にすべての論理境界を分析して分割すると上手くいかない、という課題もある。例えば、機能を分割したのに、マイクロサービス間でデータの依存関係が残ってしまうことがある。この結果、個々のマイクロサービスを独立してデプロイできない問題が起こる。

 マイクロサービスの成功事例を見ると、複数の論理境界を見つけるのではなく、まずは一番重要なところ、変化の大きいところ、独立して拡張したいところの論理境界を見出して切り出している。この上で、必要であればビジネスが要求するスピードに応じて粒度を小さくする。これを反復する。

 マイクロサービスを提供者側の目線で構築してしまうことも大きな課題だ。「APIは商品。APIの利用者の目線で設計しなければならない」(飯島氏)。APIを提供するマイクロサービスについて考えるのではなく、マイクロサービスによって提供されるAPIを利用するウェブサイトやモバイルアプリケーションなどのフロントエンドについて考えなければならない。

クラウドサービスを活用してアジリティを確保せよ

 マイクロサービスを設計した後に問われるのは、マイクロサービスを開発する準備ができているのかどうかだ。マイクロサービスを設計/開発するプロセスが未熟なままプロジェクトを開始してしまうケースがある。例えば、「アジャイル開発の方法論を使っているが、アジリティのメトリクスがない」といった具合だ。

 マイクロサービスの開発/実行基盤をどう構築するか分からない、という課題もある。マイクロサービスは小さく提供する必要があり、開発/実行基盤には自動化やセルフサービスなどのアジリティが求められる。ここでは、クラウド型のプラットフォーム(IaaS/CaaS/aPaaS/fPaaS)が有効だ。

 マイクロサービスの選択の自由度や独立性の高さを追求し過ぎると、開発/実行環境が管理不能に陥るという課題もある。「言語や開発環境は2〜3種類に絞ったほうがいい」(飯島氏)

 マイクロサービスのスキルが社内にないという課題もある。これについては「スキルセットを獲得するアプローチにもモード2を適用し、最初から完全なスキルセットを求めない」(飯島氏)ことが大切だ。既存のIT部門の考え方と異なることが多いため、「IT部門のマインドセットのバイモーダル化を進める必要もある」(飯島氏)

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ZDNET Japan クイックポール

マイナンバーカードの利用状況を教えてください

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]