Red Hat Summit 事例翻訳:3.Analog transformation: Scaling network automation culture with Ansible Tower at Microsoft

この記事は、以下のシリーズの3つ目の記事です。

Red Hat Summit 事例翻訳:Analog transformation: Scaling network automation culture with Ansible Tower at Microsoft

(前の記事はこちら)

Microsoftは文化を作り上げました。 そこでは自動化の新機能をリリースするために協力したとして皆が名前をクレジットしたいと考えるようになったので、新たなCoolな取り組みにどんどんと参加するようになっています。

そして、これを実現するためにMicrosoftはAnsible Towerを購入しインストールすることにしました。そして、自動化のプラットフォームを構築し、そのトップにAnsible Towerを置いたのです。

f:id:canalroy:20190827205409p:plain

加えて、いくつかのAPIのインテグレーション層を加えました。
また、このストレージ/データ層を加えています。
この辺りの詳細は後ほどお話しましょう。

f:id:canalroy:20190827205413p:plain

ほとんどのネットワーク機器の設定は、稼働しているデバイスにのみ保存されています。
ネットワークエンジニアに現状のコンフィグレーションの状況を尋ねると、彼らは『実機を見に行けば?』と言ってくるでしょう。

少し話題を変えて、ここからはこのような文化をどのように変革したのか?について話しましょう。

文化の変革をどのように観測するのか?
ここでは、まず我々はどのように新しいスキルセットを育てていったのか。
『Zero to Hero』と呼ばれるプログラムについて。
そして最後に自動化コミュニティについてお話しましょう。

f:id:canalroy:20190827205418p:plain
文化の変革の成熟度合いを計測する

これまでも、たくさんのエンジニア、そのマネージャーたちと一緒に仕事をしてきました。
彼らがネットワーク自動化のコードを書きたいと思っているときに大抵聞くであろう質問があります。
おそらく皆さんも同じだと思います。
5つのステップからなるプロセスで、ネットワーク全体へ自動化を広げようと考えています。

例えば、なにやら自動化と呼ばれるものを今日から君がやるんだと、あなたは上司から聞かされたとします。
そんな時、皆さんは塩かケチャップボトルを扱うみたいに、とりあえず何かの上に自動化というエッセンスを好きなように振りかけられると良いなぁと思いますよね?

昨日のRed Hat SummitのKeynoteでも語られたように、組織の文化を変えるということは本当に重要です。

それは、自分たちの仕事のやり方について、それまでと違った考えをさせること、そしてこれまでやってきた方法をほとんど変えていくということを意味しています。

毎回毎回、どの組織と話しをしても、最初に私が聞かれることは『このStep1から5、そして6へはAnsibleで自動化さえしておけば到達できるのでしょうか。』です。

そしてそれに対する私の答えはNoです。

確かに、Step1~5までは自動化で解決されるべき問題です。
そして、問題に対する取り組み方をこれまでとは変えていくべきです。

なぜならば、自動化を用いて何かしらの問題に取り組んでいった際に、もっともメリットとなるものは非常に標準化されたデプロイメントにあるからです。
皆さんもご存知の通り、とてもたくさんのものがプラットフォームに依存・付属しています。

では、私たちは内部的にどのように計測をしているのか?
このセッションが録画されているかどうかはわかりませんが、実はこのスライドをまだ私のリーダーへ見せていません。
私はこのStep5にどのようにたどり着くかということについて、リーダーは問題ないということを確信しているからです。
つまりこのスライドが特に、我々の文化的な変革を内部的にも計測できるスライドとも言えるのです。

では、今度は外側からみてみましょう。
一部の人たちは、『ああ、Microsoftの皆さんはレベル1なんですね。 我々は現在レベル3かそれ以上なのですが、なぜあなたが我々に自動化を語るのですか?』というでしょう。

それは間違った感想だと言えるでしょう。

この図で描かれている箇所(MSはレベル1に到達しているという絵)は、我々が到達している最高地点を表したかった訳ではありません。
実際にはもっと高いレベルに、我々の文化的変革は到達していると考えています。
しかし、組織的にこれらの取り組みを行なった場合、実際には最低水準に合わせた推進の仕方が必要になるのです。

現在では、MSのほとんどの組織が、元々のただスクリプトを記述して手動実行することを自動化と呼んでいたレベルから、現在ではGitを用いてコードのチェックインを行い、リアクティブな自動化の文化を構築する状態へ変換し始めたことを非常に誇りに思っています。
その一つの例として、MSでAP nowと呼ばれるものを作りました。

APやワイヤレスの管理をしたことがあるひと、いますか?
我々がどれくらいの無線APを管理していると思いますか?おそらく、35-40,000程度のBGPがあると思います。

いくつかのBGPはたまに消失します。
大体の場合、ログインして、リブートすれば、APは復帰してくるのでそのあとは様子を見ながら毎日リブートするようになったら交換するという運用をします。
もしくは、おそらく自動的に修正することはできないだろうという理由には、実に20%程度でAPを切り替える必要があるケースがありました。
単に再起動するだけではなく、アラートが発報された場合にいくつかの自動オペレーションを行うよう自動化しました。
問題のワイヤレスコントローラまでログインして、APを復旧しようとさせます。これは全てネットワークエンジニアの手順に基づいています。ここにログが表示されたなら、APの電源がオフになっているかどうか、様々なコマンドで確認をします。もしコマンドが返ってこないなら、機器をリプレースするためのチケットを作成します。
つまり、一連の全プロセスを自動化しました。この作業は、最もチケット数量が多い作業のうちの一つでした。
これができてこそ、Microsoftではレベル1と見ています。

我々は、自動化することで、どのように物事を取り除けるかということを考え始めています。
もはや、誰もAP故障時に出かけて実際に触るというようなことはやる必要がありません。毎回やっているような作業で時間を費やす必要は無いのです。全く同じことです。
レベル2やレベル3へ移行する為に私のチームの何人かが取り組んでいることの一部は、レベル2を達成する為に、自動化をベースとして組織を変換していくという作業です。

私たちは、世界中の人々が、どのようにネットワークが構築され、どのように世界中の人々が繋がっているのかを、みんなに考えてもらいたいのです。Microsoftの為に、最初から最後までやること全てが自動化されている状態について。
それは最初に話していたような部分的に自動化を塩やケチャップみたいにふりかけるというものではなくて、最初かもしくは最後だけログインをしているようなものからは仕事ぶりを変えていく必要があるんです。 そしてレベル3、4、5へ進んでいきましょう。
レベル5、そこは機械学習のような、ソフトウェアセットのより高度なものを実行し始めるときです。

まだ我々もよくその世界のことを知っているわけでは無いですけど、すごく遠いことにように見えますが、全てのことを検出して自動実行するために正しいアクションを学んでいるような高度なアルゴリズムを使用できるところまで到達したいと思っています。

さて、次はスキルセットの育成について話しましょう。

(次回へ続く)

* 各記事は著者の見解によるものでありその所属組織を代表する公式なものではありません。その内容については非公式見解を含みます。