We Love Microsoft Azure!

We Love Microsoft Azure!

なぜMicrosoft Azureに熱狂しているか

「御社はなぜAzureを推奨するのですか?」と聞かれることが非常に多く どうして我々が数あるクラウドの中からAzureを選んで、熱狂して、利用しているのか一般論弊社にとっての価値という二軸で共有したい。

一般論

Azureの何が素晴らしいか

未来志向、ビジョナリー

Azureは常に未来志向、ビジョナリーなプラットフォームだ。 例えば、マネージドサービスと呼ばれるサーバーを意識しないサービスを見てみると、 この数年で、Media Service(動画のプラットフォーム)、EventHub-Stream Analytics(大規模データの処理)、 Machine Learning(機械学習)、Cognitive Service(機械学習の特定用途に関するAPI群)、 Blockchain Service(ブロックチェーン)、Functions(サーバー実体のないコードの実行環境)など オンプレミスで構築するには難の合ったサービスをクラウド上で提供してきた。 Microsoftの予見通り、ユーザーのニーズにかなっており、活用が進んでいる。

Azureは成り立ちが、サーバーやOSレイヤーを意識させないPaaSから始まっていることもあり、機能のサービス化を非常に得意としている。今後も様々な機能のサービス提供は、約束されていると言ってよい。

このようにAzureを評価するには、単純に今の仕様を見ればいいだけではない、Azureは未来のデベロッパーに必要なサービスを生みだしてくれる。未来に生まれる仕様についても評価したうえで選択している。

Azureの生みの親(トップアーキテクト)が素晴らしい

Azureの未来を生みだすトップアーキテクトが素晴らしいこともAzureを選ぶ要因である。 Bill Gatesに始まり、Ray Ozzie、Scott Guthrie、Mark Russinovichというビジョンあるアーキテクトが描いてきたクラウドだ。 トップアーキテクトが持つビジョンとその推進力は、非常に影響力が大きい。 私は、Bill Gatesが最初にデータセンターのケーブルを抜きまくるテストを行ったというエピソードが好きだし、 Ray Ozzieがデベロッパーの未来を生みだそうとPaaS(クラウドサービス)から始めているという視点が非常に好きだ。 黎明期にCloud Serviceの学習コストが高い等、色々な紆余曲折があったが、デベロッパーの未来を作る理念が大きく浸透し、 改善を経て今のWebAppsのような唯一無二のPaaSを生みだした。Mark RussinovichはIaaSやDockerなどの領域を進めてくれている。

製品はクラウドファーストへ

例えば、SQL ServerのマネージドサービスであるAzure SQL Databaseについてみてみると昨今、 新機能はまず製品版ではなくAzure SQL Databaseに搭載されている。 例えば、Always Encrypt、SQL Database Index Adviserは、製品版より先に搭載されRDBはAzureの方が高機能となっている。 SQL Database Index Adviserという使用履歴からインデックス等のパフォーマンスの改善を示してくれ、 自動チューニングを可能にする機能や、クエリパフォーマンス等が表示されるダッシュボードは、 Azure SQL Database上でしか提供されていない。この意味するところとしては、製品としても、クラウドファーストになってきているということだ。 数年に一度リリースする製品と比較して、クラウドは容易にサービス展開可能なので、 これは提供側としても自然な流れかもしれない。このように最新の恩恵を我々は得ることができる。

コミュニティが素晴らしい

Azureを愛し、信じているコミュニティが素晴らしいのもAzureの魅力だ。 Microsoftが提供するより先に情報発信を行い、検証のデータを公開し、わからない問題があれば、仲間で議論しあう。 またMicrosoftのエンジニアと話しても、仕事ではなく人生の強烈な興味として素でAzureに取り組んでいる方が多い。 そのような方々が集うコミュニティ(Japan Azure User Group)がある。 開催すれば、150人規模で人が集まり、クラウドに関して学習の機会となる。 運営側もコミュニティを通じて最新情報の共有だったり、支援だったりを行い、自らの知見を広め、 何より交流を楽しんでいる。

クラウドを提供する企業の信念はどうか

個人の主観が大きいが、私はMicrosoftの考え方に共感している。 コンピューティングというプラットフォームで人類の未来に貢献するという立場を示しており、 顧客の産業には直接出ずに支援という立場をとる。コンピューターで人の可能性を伸ばすことをミッションとしている。

コンピューティングは今日多様化したので、Microsoftが独占するような世の中は訪れないだろう。 一方Amazonのように顧客志向の企業は一消費者として素晴らしいと思う反面、様々な業界(小売、運輸、その他諸々)の競合として 既存産業とぶつかりながら、一部独占して進んでいる事も確かだ。 顧客志向の行き着く先が、人類の可能性を伸ばしたり幸せな世の中を生むかは、直結しない。 仮に独占が進んだ先の未来については、どこかのタイミングで価格をコントロールされるなど不安もある。 異業種からの競合はビジネスの摂理でもあるが、私はMicrosoftのスタンスを信じたい。

弊社の考え

小さな会社でも大きな仕事

小さな会社でも大きな仕事ができる

ここからが本題で我々にとっては最も大きい理由だ。 PaaSとマネージドサービスについて極めれば我々のような小規模ベンダーでも、 大規模なサービスをほぼマネージドサービスで構築できる。 実際に1000万人が使うようなサービスも我々のエンジニア数名で実装、構築できている。

Web Appsを中心としたPaaSやSQL Databaseのようなマネージドサービスに寄せることができるシステムであれば、 インフラはAzureに任せ、モニタリングとアラートのチェック、スケール対応が中心となる。 こなすほど、トラブルも少ない。 運用の人手も少なく済み、インフラを構成するようなスクリプトを複雑に作らなくても、 安定した大規模サービスを運営することができる。

システムが提供する価値の提供に注力できる。顧客に直接役に立つ。 我々の考えるSIは顧客の責任やリスクを預かるのではなく、ゴールを同じにして共に改善を続けるチームであるべきと 思っている。デベロッパーというエンジンを回すプラットフォームを担うのがAzureである。

数十名のSE部隊より一名のエンジニアの価値が高くなる

我々の得意なコードを書く能力が差別化につながる事もAzureに熱狂している理由だ。

PaaS(マネージドサービス)で同じものを組み合わせたとしても、コードとデザインパターンでパフォーマンスは大きく異なる。 クラウドのデザインパターンの代表的なものだと、非同期やキャッシュなどを活用し、実装自体も工夫することによって 大規模サービスも安定した形で作りこむことができる。 我々は、これを少人数で実現できている。 対応したプロジェクトの経験値でさらに知見をため差が大きく開き我々の強みとなっている。

マネージドサービスを使いこなす際、秘伝のインフラスクリプトを作って自動化というよりは、 マネージドサービスの有効利用とコードとデザインパターンの有効活用を信じている。 またこれらは経験値でより良い実装が可能になる。同じクラウド上のSIerだとしても、この部分で能力は大きく異なる。 我々の視点はクラウド上にインフラを移すことではなく、その先であるサービスが提供する価値を向上することにある。

体制を重視されてきた既存SIと比較しても、大きな違いがある。 マネージャー、現場プロジェクトマネージャー、設計者、実装者の冗長なチーム構成だと、 ビジネスを理解してクラウドに適したコードを書くエンジニア1名に能力もコストも勝つことができない。 ゆえに資本力勝負ではなく、少数精鋭の方が有利な世の中になってきていると思う。 これは、ピラミッド構造になりがちな日本のSI業界を変える要因になると確信している。

システム構築について、大手SIerが資本で責任を取るというモデルから、スモールに新しいことにチャレンジし、 早く結果にたどり着き改善するというモデルに、多くの企業が価値をシフトしてきている。 よほど大規模なプロジェクトでない限り、大手が資本で責任をとる必要がなくなりつつある。 大規模なベンダーが大規模なサービスを構築するという古いやり方の消滅である。

求められているのは、不確定なビジネスに対して、迅速に価値のあるコードを提供すること。 それに必要なのは、再チャレンジかつ持続可能なITのモデルを実現するプラットフォームとそれを使いこなす デベロッパーであり、数々の事例を通して強く確信する。

そのコードとクラウドを使いこなす我々は、どうありたいか

顧客が適切なコスト(何度かやり直しがきくコスト)とリスクで事業にチャレンジできるような持続可能なITを実現したい。 顧客から搾取するのではなく、価値を提供することに注力したい。と考えている。

インフラコスト

コストについて、PaaSやマネージドサービスを作るインフラのコストをどこまでとっていいのか? Azureが予め提供する価値に過剰にかぶせるのは搾取するような形にも見える。 やはり提供したサービスの価値で取りたいと思っている。 提供する価値は、知見であり、コードであり、デザインパターンであり、ポータルをいじる作業ではない形になる。

提供価値

正直なところ、クラウドとコードを使いこなすエンジニアは、数倍以上の生産性を実現する。 この対価に差がつかないと、業界が成長しなくなる。実際に海外ではエンジニアの年収は能力で大きく異なる。 こういった能力差がどうしてもある業界という事を、顧客に認めて頂きたいと思っている。 そのような共感を持ってくれる顧客を増やしていきたい。 そして、人数を大量に投入することによって非学問的に解決しがちな日本のSI業界の負債を無くしたいと考えている。

長くなり一部脱線もしたが、我々デベロッパーの未来であり、価値を最大化してくれるのがAzureだと信じている。