Compartilhar via


【DFO】Management Model の考察 - 2

関連投稿:

前回の続きです。

Visual Studio Team System (特に Architect Edition)は、開発チームのアーキテクトやリード開発者だけではなく、IT Pro にも使っていただきたいツールです。直接使っていただかなくても、開発の初期の段階(Early Phase)から IT Pro が持つアプリケーションが稼働するインフラの情報(既存インフラとその後のインフラの変更予定など含む)や運用時の要望を引き出すことは、開発チームにとって非常に重要になってきます。

で、本題の Management Model をサポートする TSMMD ですが、このツールを長沢的にまとめると:

  • 開発チームと IT Pro で運用監視(管理&Health Check)の可視化(要するにモデリング)
  • より詳細な情報を定義
  • 開発チーム、IT Pro 向けの自動生成

が行えるものです。

モデリングは、アプリケーション アーキテクチャ上の運用監視面における関連を可視化する感じで、このアプリは、別のこのアプリと関連があるから、こっちに問題があったら、こっちにも影響あるといったものを相互理解するために活用できます。もちろんアプリだけではなく、接続される DB なんかの情報も書くわけです。

この部分を理解するには、開発チームのアーキテクチャに詳しい人間が不可欠ではありますが、IT Pro にもシステムの動きを理解してもらい、運用監視の効率化に活かしてもらうためにも重要です。また、これらを仕様書などの文章で記述してあると、理解するのは難しくなります。モデルで必要な情報だけを可視化することで、相互理解と議論が行えるようになります。

image

このモデルは、DSL なので、必要な情報をプロパティで設定することができます。このあたりは運用監視する IT Pro の意見が入ってくるところになるでしょう。

image

さて、モデルが固まったら、詳細を定義していきます。詳細は、「Management Model Explorer」で行います。モデリングした各管理対象エンティティ(Managed Entity)に対する監視項目の定義を行います。イベントログ出力の詳細定義や、パフォーマンスカウンターなどの計測要素の詳細定義をツリー上で行うことができます。これを用いると、IT Pro は、運用監視する内容を決定、理解することができますし、開発チームは、それらを実装するための仕様を定義することができるわけです。

image

このツリーで、具体的に、どんなイベントログが必要だとか、運用監視時には、エラーだけでなく、正常性も確認する必要があるから、Information もこの粒度で必要だとか議論に花を咲かせるわけです。

定義した内容については、検証機能もありますので、仕様に矛盾がないか、過不足がないかチェックもできます。

このツリーもモデル化したらいいのにな・・・とふと思ったのですが、あとでそこまではやっぱりいらないかも(ツリーで十分)と思いました。イベントや計測要素は多岐にわたるのでモデルだとかえって複雑になりすぎる危険性もあるからです。

さてさて、これで開発チームにとっても IT Pro にとっても重要な管理のための仕様が整ったことになります。あとは、開発チームで、ロギングの仕組みや計測の仕組みを含めたアプリケーションの実装を行い、IT Pro では、仕様に基づいたアプリケーションが実装されることを見越し、運用監視シナリオなどを考え、運用監視ツールで設定するということになると思います。

で、まず、開発チーム側ですが、ロギングや計測の仕組みを作ると言っても結構大変です。そんなところまで作っていられないとか、ついつい優先順位が下がってしまったりすることもあるでしょう。そこで、TSMMD なのですが、実は、モデルや詳細定義した情報をもとに、ロギングや計測のためのコードを自動生成してくれます(実際には、Visual Studio のプロジェクトがいくつか生成される形になります)。

image

あとは、各アプリケーションのプロジェクトで、必要な DLL を参照設定し、Web.config や App.config に設定情報を記述(といってもこれもほぼコピーで済みます)と、イベントログの出力などが、メソッドを呼び出すだけで行えるところまでやってくれます。要するに開発者はビジネスのロジックに集中でき、ロギングなどの仕組みの実装からは解放されることになります。これならあとは、ビジネスのロジックの中でロギング、計測情報を埋め込んでもらうだけになります。

ちなみに、TSMMD では、アプリケーションへの実装コード中に定義したロギングや計測が実装されているか(個々のメソッドが使われてるかで判断?)もカバレッジ検知することができます。なので、実装したアプリで運用上の漏れがあったりしたら、それも知ることができることになりますね。さらに、すでに実装済みのイベントなどの情報を Discover することもできます。

IT Pro にとっては、同様に詳細定義した内容を運用監視で設定する必要が出てくるわけですが、TSMMD では、System Center Operations Manager 2007 用の 管理パックを自動生成することができます。生成された管理パックを Operations Manager にインポートすればいいわけですね。

image

image

以後、新しい運用監視要素がでてきたりしたときも、まずはモデル駆動で定義し、それを実装、運用監視双方で活用することができるので、全体を通すとかなりのコスト削減効果にもつながることになるのではないでしょうか。

現段階では、CTP 版ですが、SDM だけではなく、Design for Operations のための新たなモデリングがでてくることで、より堅実で実用的なアプリケーションの構築が行いやすくなるのではないかと思います。

※この投稿は、TSMMD を使った見た上での長沢の見解を示したもので、必ずしも実際の仕様やビジョンを正確に解説しているわけではありません。誤りあったらぜひご指摘を(^^;

ながさわともはる

Comments

  • Anonymous
    March 13, 2008
    関連投稿: 【DFO】Management Model の考察 - 1 【モデリング】Management Model Designer 紹介 ~ 管理可能性を高めるモデル 【コラム】モデリングは物事を簡単にするもの

  • Anonymous
    May 11, 2008
    こんにちは。Team Foundation Server (以下、TFS)は、非常にすぐれたオールインワンのソフトウェア開発のインフラ システムとして有益です(いや、ほんとに)。せっかくの優れたソフトウェア構成管理システムであっても、他のバージョン管理システムや、ソフトウェア構成管理システムからの移行というのは、かなりハードルの高い作業にならざるを得ません(TFS

  • Anonymous
    May 11, 2008
    このブログでも、その意義、重要性、そして可能性を取りあげている Visual Studio Team System Management Model Designer Power Tool の v2.1

  • Anonymous
    June 10, 2008
    環境: Visual Studio Team System 2008 (エディションは問わず) オプション: System Center Operations Manager 2007 こんにちは。以前よりお伝えしております、Visual

  • Anonymous
    June 16, 2008
    環境: Visual Studio Team System 2008 (エディションは問わず) オプション: System Center Operations Manager 2007 こんにちは。以前よりお伝えしております、Visual

  • Anonymous
    June 20, 2008
    このブログでも、その意義、重要性、そして可能性を取りあげている Visual Studio Team System Management Model Designer Power Tool の v2.1