皆さんはこんにちは。ただいまご紹介に預かりましたNTT OS Center Technical PartnerをしておりますNTTデータセンター技術株式会社の菅原と申します本日は今のお話にありましてとおりサーバーが多くなりすぎた場合どういうふうに効率的に構築作業を進めていくかという観点で大規模システムに対する構築作業の自動化適用推進という形でご応援をさせていただきたいと思います。よろしくお願いいたしますまず初めに私が所属していますNTT OS Centerのご紹介を軽くさせていただきたいと思いますNTT OS CenterですがNTTグループでのOSS適用推進する組織としまして2006年4月に設立されていましたNTT OS CenterからはNTTグループ無限にの報酬サポートを提供しましてまたあと開発協力情報提供という形でコミュニティ活動もしておりますそしてグループ向けの方にソフトウェアのライフサイクルにあたる開発面でのサポートをしていく上で大変課題が多くありますその範囲というのがここにありますちょっと礼をあげてますけど導入運用サポートとありますがこのように範囲が広くて1企業ではまかなきれないという問題がありましてそういう時にコミュニティ上の知見を活用して課題を解決するそうすることで効率的に課題を解決することができまた自分たちの得た知見に関しても積極的にコミュニティに対してフィードバックすることでそれを形を繰り返すことで多くのシステムでさまざまな課題が解決されてきました今までのセッションの中の方の話でもありましたそういうふうな繰り返しで聞いてはソフトウェアの品質が向上するとそういうところでそのメリットも私たちが教授することができるというのがNTTがコミュニティに活動する意見だと感じておりますそれでは本題の方を外していただきますサーバー下層の時代ということでサーバー増えるどこまでものことで先ほどもうちょっと話がありまして取り昨今ですがクラウドであったりブレードサーバーだったりビッグデータ仮想化こちらの方に例えばブレードサーバー仮想化ですビタメージ上のサーバーは非常に少ない修約されていると思われますがOSの一つのインストールを一つのサーバーというふうな単位として考えた場合のサーバー数としては非常に激増しているというふうなのが実態ですそうすれば当然のことながら構築個数に関しても激増するという問題が表示できますではサーバーが激増するシステム一例としましてビッグデータ処理で代表的なオエステスがありますハドープの場合ですがハドープで処理性の上げようとします上げようとするほど大量のサーバーが必要になりますよくサーバーが増えすぎた時仮想化VMKVMなどの仮想化を使ってサーバー修約をしてしまえばVMのイメージをコピーするだけで簡単に解決できるのではないかというふうなお話をいただくことがありますがVMのイメージコピー確かに有効な集団ではあるものの濃度のサーバーの情報については設定手段が課題になっておりますというのが一点とハドープの場合もそうなんですが物理のサーバーがある意味前提になっているプロダクトについては対応ができないという問題がございますそしてこのような照明の方で大量のサーバーが必要になるようなシステムが当然のことながらそのシステムを開発や試験する場合についても多数のサーバーが必要になりますここで問題なのですがこの試験環境検証環境というのは結構癖物でして商用環境とほとんど体重はないのに構築の当然負担も大きいですなのにもかかわらず試験の度に構築し直すことが多い私たちのお前もそうなんですが試験の度にクリーンな環境を用意するために一度作った環境を壊してまた作り直すというようなケースが多いそうしますと当然それだけ一回作るだけでも稼働がかかって問題になっているというのをそんな何度も繰り返したら稼働が爆発的に増えるという問題が起きてきますそんな問題がかかっていたところにパペットなどの自動がツールを見つけましてそれを見つかることで仮想物理の環境を問わずに構築作業を自動化して稼働作業に実現できないかというふうに考えましたそうすると検証環境ではなくて実現できると商業環境にも導入して大幅な稼働作業が実現できるのではないかというふうに考えましたそんなところで早速自動化の自転起動化というのを実施しました先ほどちょっと話していましたシステム自動化にするパペットと何かですがオープンソースのシステム自動設定管理するとなりますこれは何を言うの?システムの設定管理を自動化します設定ファイルの作成修正パッケージのインストールアンインストールまた2位のコマンドの実行でサービスやユーザーカウントの管理などもでこれらの設定ですが独自の宣言型言語によって動作や設定を給出しますこの給出されたものをパペットではマニフェストと読んでおりますただしここでもう一つ問題なんですがパペットはインストール済みの設定管理を自動化することしかできませんオースのインストールはできないということになりますここでオースインストールも自動化したいオースインストールは他のツールを併用しまして構築作業全体の自動化をできないかということを考えました自動化全体のイメージはこのような流れになっておりますポイントですが構築人のみの作業構築するときしかしない作業そういう作業についてはレッドハットKOSの機能であるキックスタートリーをすることを考えましたそして手間をできるだけ減らしたいという観点でスイッチオンするだけでインストール返しできるようにピクシーブートを使って起動するということを考えましたそしてピクシーブートですネットワークブートですのでインストールメディアの省略することも可能になりますそうするとインストールメディアをサーバーに入れに行かなくてもいいしメディアをやかなくてもいいということになりますそしてここで構築後の設定変更など繰り返す作業構築した後に例えば何かメンテナンスとか同じ作業を何らかの形で繰り返す可能性がある反復する可能性があるものについてはパペットを利用するという風に繰り返しましたここでパペットをどうするかパペット地震も誰かインストールしなきゃいけませんパペット地震はこのキックスタートを使ってキックスタートの中で自動的にインストールするということで全てのプロセスを自動化するという風な流れを考えますそれと事前評価の実施ということでどのようなものを事前評価として検証したのかとかなんですが先ほどの前のスライドの仕組みを使いまして典型的なウェブ賛争のシステムということでロードバランサーとウェブサーバーを2台アプリケーションサーバーを2台すでデータベースサーバーを1台という典型的な組み合わせで手作業でやった場合と同じもの手順に従ったものを自動構築で実施した場合二通りで構築しましてそれぞれかかった時間を計測しましたこの計測ですが仮想ではなく物理のサーバーを使って実施しておりますそして評価結果ですが単体の機能の方で見ますまずロードバランサーウェブサーバーの場合なんですが次に監視しましては手動構築の場合はおよそ十数時間かかっていますが自動構築なんですけども最初のこのブルーのワインなんですがここは自動構築するためのサーバーを構築する時間キックスと使うためには仕組みが一部いじるのですがその仕組みを作るための時間としてあとここのところで5.5時間かかっておりますこの仕組みを使って一台目については2時間ちょっとで済んでいるというふうになっておりますそして2台目以降なんですがこの1台目で作った自動構築のサーバーをそのまま利用することができますので手動構築はここと1台目と変わらない時間なんですが自動構築の場合はこのブルーの分を抜いた分の時間2時間ちょっとでできておりますそしてシステム全体とどれくらいかかったかなんですがこの場合はこの通り60時間くらいかかっておりますそして自動構築の場合はこの自動構築のサーバーをこういう構築する時間も含めて20時間くらいということでおよそ3分の1くらいの効果が出ましたここで時短効果と可動作業の効果が確認できましたので実際にプロジェクトに使っていただこうと同時に向けて説明を開始しましたしかし予期線導入の壁ということで導入説明を進めたもののいろいろと言われるわけですまず確認とフェイル政府どうするんだということで自動構築だとしても確認とフェイルする必要だと言われましたここは結構盲点だったのですが自動構築だからいらないんじゃないかと思ったところ実際のプロジェクトの方ではこれは絶対必須だということで自動構築の正しく構築できたか確認して確認レポート結果レポートを作成する必要がありますとさらにパペットこれもソフトウェアであって人間の作るものですから何らかの問題を起こすことがあります異常動作したときの備えはあるのかそして失敗した場合のロールバック手段あるのかこのロールバック手段がないものが左右できないこれは確かに盲点だったのですが実際商用システムですと何らかの適用したときになかなか運用があとしてできないとそれは最もの話だったなこれ結構盲点だったのですがこれできないと言われましたまとめますと確認手段とその結果レポートを作成するのがありまた障害地への備えが必要必須であるというそしてこちらはどちらかと技術的というよりも政治的な話なんですがプロジェクトが制約ということでいろんな制約がありましたマニフェースと作成するスキルがないのでそう言われてしまうそれもともこもないのですがまたあとオペレーター実際に構築作業する方簡単に操作できるようなものでないと作業はできないそしてここでパペットは使ってみたいんだと使ってみたいのですが構築後のシステムに導入を承認されたパッケージが残せないこれは実際のシステムを使われているお客様であったりが承認していないようなパッケージは残すことができない入れることもできないパペットはいろんなパッケージが入れてしまうのでそれが認められないという話ですまとめますと構築が2マニフェースを作らせず簡単に操作が可能でツールの動作によって対処システム良さがよろしいというような要望ですそしてその他の問題としては実際に作用したとき要因をどうすればいいのか作用した場合サポートしてくれるとかサポートがないとプロジェクトとしては作用なかなか考えられないという話ですそしてリナックス以外のオエスも併用しているがこの場合も同じ仕組みで対応できるのかというような話がありました結果としましては自動構築が良いものだというところまでのということになりましたではどうすればプロジェクトが導入しやすいというふうに思ってもらえるのかという考えましたこれらの壁を乗り越えるための手段ですがまず重要なのが誰でも簡単に使えるということがあります構築は自力でマニフェースが作成できないという前提にいたしました簡単にマニフェースが作成できる仕組みを用意しますこれらの動き方法はウイオ側数とファーデュアの高いということなのでまず標準的なモデルの自動構築のモジュールを用意しますそしてノウハーのドキュメントを用意しましたそしてマニフェースを作成するためのテンプレートを用意しましたこれらをプロジェクトに提供しましたそうすることでテンプレートを組み合わせるだけでマニフェースを簡単に作成できます一つだけの極力一箇所のファイルだけを変更できるような工夫をすることでメンテナンスも簡単にしましたそして読めば誰でもすぐ使えるようなぐらいに優しく書いたドキュメントも用意しましたそしてシステムを用さないためにはどうしたらよいかパペットを使うためにシステムのパッケージいろいろなきゃいけないんですがどうすればいいのかということでどういうできないこういうユーザー向けには動作コンセキを全く残さずほんとのパッケージも必要ない下半型のパペットというものを用意しました何かといいますとパッケージ導入が一切必要ないように私たちのOSNセンターの方で改造をしましたパペットのパッケージですでパペットが動作しますとシステムログなどをいろいろ履くのですがこれらも全てテンプラリーにそこには吐くようにしておりますシステムを一切汚さずに動作するように工夫しておりますでまたこのパッケージをランダーあったり例えばUSB、DVDなどのようなメディアであったりこれらで転送実行削除のこれらのプロセスを自動制御するようなコントローラーも用意してより簡単に動作するようにしましたそして動作確認が絶対いるということで構築工の動作確認を自動化するするというものを用意しまして確認した結果をレポートとして記録するようなこともできるようにしましたそういうことで構築後に必要な動作確認と確認レポートの作成を自動化しましたでまたさまざまな動作確認を確認リストの作成だけで実験できるようにしましたこのリストさえ作ってしまえば対応している確認作業であれば簡単に確認ができるということですまた複数サーバーを同時に並行で確認することで確認する時間を自体を短縮することもしましたこれは人間がやるとどうしても一人で一サーバーしか一度に相手でできませんがこれをツールでやってしまえば複数サーバーを同時に並行で扱うことができる 引いては確認時間も短縮できるということになりますそして障害対策なのですがこちらの自動構築で万が一障害が発生した場合の変更箇所を確認した上で切り戻せるような手段を用意しました2位のタイミングで事前に作成したファイルリストを持ってファイルを自動で収集するという仕組みですリストを作成しておけば変更対象になるようなファイルをまとめてツールサーバーとかこの履歴管理ストレージのとこに保管するような仕組みにしましたこの収集したファイルにはユニークなIDをつけまして履歴を作成していますこの履歴管理でファイルの内容や属性のサブンレポート作成できますこれがどうやって相応が対策するかといいますとまず適用前にファイルを収集します適用します適用後の結果をまた収集してサブンレポート作成しますそうすることで異とした変更が行われているかまた異としない変更が行われているかを確認することができますまたもしロールバックしなければならないといったときは履歴からそのファイルを当然抜き出すことができませんそれを抜き出して戻せばロールバックも完了するというような仕組みですそして用意の作成が問題ということでプロジェクトへの教育を実施する研修対策用意しましたこれはNDT OSESセンターのほうからこれらの自動構築の研修を用意してまたテクニカタポトン用意してこれらをNDTグループのSI画社向けに提供しておりますで研修によってプロジェクトへの用意にくせにかかる時間を短縮しまた導入後のトラブル時にプロジェクトが耐えられる先を用意することにできましたはい他のOSも使って併用しているというようなプロジェクトがありましたが検証だけしましたリナックス以外のOSも併用しているシテノケに同じ仕組みで構築できるか評価しましたが残念なことでリナックスに比べて事前準備が設定操作の難易度はちょっと高すぎるということと作業難易度の割に大数が少ないと可動作源効果が出にくいということでこちらの方は継続検討しておりますはいこれらの壁を乗り越えた結果の効果とプロジェクトの声ですまず導入の効果ですが実際に消費用の環境構築作業の一部で導入しまして手作業の場合と記録がありませんその記録と比較しまして導入した効果を確認しましたそうしますと構築実感は手作業の半分化がそれ以下にというふうに検証で出た結果とほぼ同じ結果が出すことができましたこちらのほうがもう一つですが確保可能になったこれが実はプロジェクトに非常に喜ばれた点です自動構築というと手間がかからないというところについつい考えが生きがちですがプロジェクト運用現場からすると実は一定の必要確保できるというのが非常に喜ばしいと手重所に沿っていても人間が手作業でやる限りはやはり作業に避水バラスキが出るとこれが自動構築ですと出ないからこれが非常に嬉しいというような国際自然評価で確認した結果と同程度の稼働作源効果を確認できましたのでさらなるコース作源を目指して導入を寿身しておりますそしてプロジェクトの声ですが最小限の知識でカスタマイズも含めて利用できて使いやすいこれは壁の理解だけが工夫の結果が出ておりますまた利用してもシステムの変更を伴わないため顧客調整など必要なくて商託も必要ではないので導入が楽ですとまた要因育成にかかる時間と手間を最小限できるということで壁を乗り越えて工夫のところで結果そのまま良い読みを受け取っていただきましたそして最初に説明したときは非常に導入に消極的な姿勢を示されたのですがこれがぜひ使いたいという風に変化しました今後の課題ということでプロジェクトからは良い声はまだ改善してくれという声もあります操作性とレポートに関しては引き続き改善してほしいということでウェブユーザーインターフェース実は今コマンドラインのほうがベースになっておりましてオペレーターにはコマンドライン操作がまだ残っておりますこれをウェブユーザーインターフェースで視覚的な操作の実現をしてほしいということとレポート機能をもうちょっと協力してほしいまた他のOSへの対応のほうももうちょっと進めるしというようなレポートが言われておりましてこれが今後の課題になっておりますここまでで得られた試験ということでご課長ありますこれが本日皆さまと共有したいノウハウになりますまず第1連目ですがマニフェストは極力作成しないで済む工夫をするこれパペットのマニフェストですがこれが実際に運用現場に作ってくれと言いますと非常に抵抗されますしできないというふうに拒絶されるんですがこれを極力負荷を感じないような形で渡せば比較的簡単に受け止めていただけます次に構築結果を効率的に確認できる下の用心これも運用サイド化すると構築作業などを作業した後の確認は当たり前だということなのでこちらのほうも効率的に確認できなければ効果が減ってしまいますのでこれも効率的に確認できる手段を用意してくださいということです3つ目です自動化の仕組み自体でシステムを汚さない工夫をする最初からこの自動化の仕組みを取り入れているシステムの設計をしていればこれ全く問題ないんですがそういうシステムばかりではないと思いますむしろそういうことを考えてシステムのほうが多いですそういう時に先ほど出しましたがそのような方法で自動化の仕組み自体でシステムを汚さないような工夫をします4つ目ですツールを可信せず障害時への備え用意すると開発側の方に達そうどうしてもツールで設定するんだから絶対じゃないかというようなふうな考えについついたってしまいがちなんですが運用現場からするとまず疑ってかかるというところ姿勢がありますので実際それは人間ソフトウェアも人間作るものである以上疑ってかかるのは確かに間違いでないですということでツールを可信せずに障害が万が一でも起きた場合にロールバックなどのリカバリができるような手段は絶対に用意してくださいということですそして最後です利用者の教育とサポートの体制を整備すると残念ながら自動構築と言ってもどうしてもオペレーターがある程度の知識というものは必要ですそのプロジェクト側の方で使ってみたいとなっても知識の習得に非常に時間かかったり難易度が高かったりするとそこで投げられてしまうというケースが多いですそういうところをなくすように利用者の教育をこれをサポートの体制を整備することでプロジェクト側からは安心して導入を進められるというような体制を整えるということが大事だと思いますこのご課長すべての場合において適用できると思わないですがほぼこのご課長を考えておけば運用側からは入れてみようかというような気にさせるものであるかと思います私の講演は以上になりますご清聴ありがとうございました