こんにちはszkです。
最近エンジニアとして自信喪失してるので、それっぽいことでも書こうかと思います。
システムを「可視化する」というお話。
アプリ側の人からすると「当たり前やん」となると思うので、100年くらい時代に取り残されてるインフラ屋のたわごとだと思ってお読み下さい。
■”可視化”という世界
ネットワークインフラやアプリケーション、セキュリティに等々で俄かに“可視化”するということが流行っています。
「見える化」というワードにすると古い文化であることが分かりますね。
正直、可視化したところでそれを使いこなせる人はあまり多くないようにも思いますが、一般的な売りとして言われている可視化の効果とは以下通りでしょう。
1:理解がしやすい
数値で見るよりも時系列、複数比較した時の理解がし易い。
Excelで作るグラフと一緒ですが、人間目で図を見たほうが文書やデータよりも理解がしやすい傾向があります。
また、これは「専門ではない人が」という枕詞をつけるとわかりやすいと思います。
専門的な知識を有さない人が「このグラフの形は対応が必要だ」と理解し、それを運用へ展開することが可能です。
まぁ、言うならば「よくわからない」が「よくわからないけど、何か起きてることがわかる」程度になるということです。
2:動向の察知やネクストアクションの意思判断材料にしやすい
どの界隈でも”動向”や”限界値”のようなものが存在します。
システムの場合はスケーラビリティです。(後述します)
現在の状況が周囲と比較し、過去と比較し、将来と予測した上で現在がどういった状況にあるのか。
その状況に対してアクションは必要なのか、不要なのかその判断材料として使用されます。
ただ、システム特性によってその重要性は異なります。
この話については再度後述します。
3:「形」をデータ化し、それを用いた分析ができる
最近流行りの機械学習系の話。数値のみで学習データを用意することももちろん可能ですが。
図の形自体を学習させることで何かに生かせたりしそうじゃないですか?(願望)
・・・とここまで書いて察しの良い方ならおわかりだと思いますが、ITという業界的において「可視化」というソリューションは扱いがいまいち確定して無いように思えます。
すなわち「セキュリティ=何者かに侵入される/データを盗まれる→対策が必要」という“目的”と”方法”があることに対して
可視化は手法のみが確立され、”目的”を見失っている状態にあります。
しかし、それはデータを可視化するということ自体に意味が無いというわけではなく、その目的がデータを活用する人それぞれで多様性がありすぎることが原因だと思っています。(2の内容)
今回は、そんな界隈の中から「ネットワークのパフォーマンスをどう可視化するか」ということについて記載をしていきたいと思います。
■(再論)システムの可視化をするとどうなる?
上記で記載した「可視化の意味」について、ITシステムに注目した上で改めて記載を行います。
現在行われているITシステムの可視化において使用される一例として挙げ易いのはインターネット越しの通信を行うアプリケーションでしょう。
すなわちWebサイトやソーシャルゲーム等の”アプリケーション=サービスの可用性”や
GoogleAdsenceやAnalyticsにあるようなWebサイトの”サイト入場者数”や”広告収入”などが挙げられます。
これらは組織の「収益」に直結するものであり、変化や動向にいち早く察知する必要がある為導入がなされています。
一方アプリケーションのパフォーマンスに対する可視化は主にスケーラビリティを目的として行われています。
これはユーザー状況に合わせてスケーラブルを行える環境に対して行われ、急激なアクセス増加などが見込めるサイトなどは
フレキシブルにシステム規模を拡大/縮小するため(=機会損失の防止)にこれを行います。
パブリッククラウド環境等が流行している現代だからこその活用法と言えるでしょう。
ネットワークを可視化するねらいも基本的にはこのパターンに当てはまります。
これらは数少ない”目的”が確立されているパターンです。
以下からはそのプライオリティについての記載を行います。
・可視化が必要となる条件はリアルタイム性の有無
システムの可視化の目的はスケーラビリティの判断材料として使われるべきです。
ただし、その”判断材料”を使うタイミングはシステムによって異なります。
例えばBtoCシステムで突発的にアクセス数が増加した際に、システムダウンが機会損失に直結するようなシステムの場合
リアルタイム性の高い判断が必要となり、可視化はそれを効率的に行う要素となりえます。
一方企業内のシステムインフラでスケーラビリティ運用が現状無く、
システムダウンがなされることによるインパクトが少ないシステムはリアルタイム性は低いとみなされ、最悪可視化を行う必要すらないという判断も出てきます。
大小合わせて多くの”システム”は後者に属するでしょう。
しかし、今日においては社内システムインフラにおいてもスケーラビリティに対してある程度敏感になっておくべきです。
その大きな理由は、近年MicroSoftOffile365をはじめとするSaaSサービスの台頭にあります。
先に上げたOffice365やGoogleDrive、Box、DropBox等のサービスは社内システムから外、つまりインターネットと通信を行います。
また、近年主流OSであるWindows10は毎月WindowsUpdateによる300MB近い更新データをリリースし、WSUSが無い場合その通信量はユーザー人数と比例して伸びていきます。
5年前のLAN環境における通信量と比べ、現在のLAN環境ははるかに肥大化する方向へ変化しています。
外部向けの通信が増加し、全体の通信量も増加しています。
これに対して可視化が行えることは「単純な数値の比較」ではありません。
システム管理者が、日々導入されていくSaaSサービスに対して「社内のネットワークが変化していることに気が付けること」です。
これにより可視化を行った場合、従来の”5年に一度のシステム更改作業”が現在のシステムスケーラブルタイミングと比べいかに遅れているか気が付けるはずです。
というところで、本来ならここから「ではいざ方法は・・・」と行きたいところですが、長くなったので次回にしたいと思います。
エンジニアになりたいなぁ。2018