ベンダ問わず、オススメの使い方を広めていくことがこれからのエバンジェリズム
砂金 マイクロソフト側の視点に立つと、オンプレと組み合わせるハイブリッドクラウドが正義でした。全てのシステムがクラウドのワークロードに向いているわけではないから、手元に置いておいたほうがいいものと、クラウドにワークロードを逃したほうがいいもの、両方あります。Azureの機能をオンプレで使用できる「Azure Stack」というサービスもありますし。
吉羽 今、オンプレにあるWindowsサーバーをいきなり全部クラウドに載せるのは、ライセンスの面で気になるところもありますね。
砂金 一方で、AWSの最近のメッセージは、ビジネスに関わるワークロードを全てクラウドに載せる「オールイン」ですよね。最終的にはオールインにすべきですが、2016年の今この現実において、まだそこまでに至ってない部分もあるんじゃないかなと思います。
吉羽 Azureは、堅牢なOSからOfficeまでを作ってきたマイクロソフトが、満を持してエンタープライズ向けに出したクラウドとも言えるので、企業のシステムを全部クラウドに持っていくべきと言いづらいんだと思います。どっちが良い悪いではなく、AWSとAzureとでは、向いている層が違うのかもしれません。
砂金 Azureを使えば、企業向けのファイアウォールの中のシステムと、その外のワークロードをシームレスでつなぐことができる。僕がマイクロソフトの中でチャレンジしていたのは、新規事業やWeb、スマホなど、既存のマイクロソフトのテクノロジーでは今までやりにくかったものを、Azureを使って挑戦しようという提案です。でも、やはりその分野はAWSが圧倒的に強い。逆に言うと、AWSがエンタープライズの領域に入ろうとしているのは、面倒くさいからやめておいたほうがいいぜ、と思うんですよね。きっとAzureもAWSも両方使えばいいと思うんです。
吉羽 マシンラーニングやビッグデータの領域では、Azureの方が優れているところもありますね。逆に、IaaSだけ、RDBMSだけを使いたいとなったら、特に理由がないのであったらAWSを勧めるケースが多いです。
もともとクラウドベンダの中にいた人が転職して外に行くと、中の人としては言いにくかったベストプラクティスを語りやすいというのはありますね。
砂金 ベンダの外に出て、本当にオススメできる使い方をミツバチのように広めていくことが、クラウド業界全体の中のエバンジェリズム活動としてはすごく重要だと思います。エバンジェリストは、本気でその技術に惚れ込んで、理解しているからこそシズル感のあるトークができるわけで。転職をして立場が変わるからといって、AzureやAWSのことが嫌いになるかと言ったら、そういうわけではないんですよね。
クラウドネイティブに踏み切れない理由は変化に対する恐怖
吉羽 砂金さんはクラウドネイティブについてどう思います?
砂金 クラウドネイティブはどういう定義ですか?
吉羽 Azureを例にすると、大事なデータを、Azure Storage(Azureのストレージサービス)ではなく、仮想マシンに取り込んでいるのが従来型のアーキテクチャです。いわゆるオンプレの構成のままクラウドに持っていっているわけです。クラウドネイティブだと、例えばキューを使ったり、ストレージを外に出したりするのが一般的じゃないですか。
砂金 その時に一番便利な道具を使えばいいだけの話だと思います。例えばAzure FunctionsやAWS Lambdaは、あれが本当に便利だと思うシーンで使えばいいんですよ。ただ、サーバーレス信者になってしまって、マイクロサービスがピタゴラ装置のようにつながっている状態にしてしまうのは、手段と目的が入れ違っているように見えます。それはLTのネタとしてはいいんだけど、仕事でそれをやられるとどうよ、って。
全部が全部クラウドネイティブである必然はないんだけど、ここまで自動化されて、インフラや行動管理など全部気にしなくていい、せっかく便利なものがあるなら使わない理由は無いですよね。
吉羽 なかなかクラウドネイティブにできない理由は、変化に対する恐怖だと思います。今まではSubversionを使い、セッション維持方式はスティッキーにして、アクティブスタンバイで、しかもクラウドで運用したことがない。これでいきなりクラウドが当たり前の、便利な構成にしたら、みんな変化に付いてこられないんじゃないかと思います。もしくは作る技術が無いか。
砂金 でも、敷居は下がってますよね。JenkinsなどCIの仕組みを手組みで全部作ろうとしたら大変ですが、クラウド上にもう仕掛けが存在しているなら、それは使ったほうがいい。
吉羽 一方で、トラディショナルなSIerさんは標準化や均質化にこだわっている。クラウドのソリューションアーキテクトは、このようなお客さんとはよく意見がぶつかります。なかなか変えたがらない会社さんはどうすればいいんですか?
砂金 何を一番大事にするか、根本の部分が間違っているような気がします。
過去の知見が詰まったフレームワークがあるはずですが、盲目的に信じていいかどうかは、一度考えてみた方がいいですよね。それに則ったほうがリソース管理上や調達の観点でよいという判断であればいいですが、自分の脳みそを0.2秒も回さない内から、「これを使うに決まっている」という決めつけはよくないです。
例えばそのフレームワークが、スピード感やコストパフォーマンス、競争優位の観点でイケてないところがあったら、それは自分なりに改良して使っていく。そのぐらいの意識は必要だと思います。そういう意味でも、仕様に従ってシステムを作るだけの仕事をしている人たちは、今後居場所がなくなってしまうかもしれません。
お客さんから最初に「こういうことやりたいんだけどさ、今度飲みながら話し聞かせてよ」というような感じで関わり始めると、何を大事にすべきか、お客さん目線で考えられるようになると思うんです。お客さんと直接会話をする経験を積んだエンジニアはすごく強い。言われたままその仕様に従ってものを作る経験は、どこかのタイミングでは必要かもしれないですが、それをずっとやっていくわけには行かないんです。
