【10分で読める】クラウド後進国の日本企業が、アップデートすべき最新クラウド活用事情。

あなたの時間を10分ください。クラウドの理解を深めませんか

“Googleは4月9日、クラウドに特化した年次イベント「Google Cloud Next ’19」で、複数クラウドや非クラウドマシンにまたがって構築するクラウドネイティブなアプリケーションを一元管理する新プラットフォーム「Anthos」の正式提供開始を発表しました。”

上記はIT系ではない一般のメディアでも取り上げられたニュースですが、その内容をきちんと説明できるでしょうか。クラウドネイティブとは何でしょうか。また、自分達の企業のビジネスにどんな意味があるか、自分の言葉で説明できる人がどれだけいるでしょうか。

最新の技術を追いかけるプログラマはニュースが意味する内容を理解できると思いますが、プログラミングをしない一般的な社会人向けに書かれたはずのこのニュースを理解できない日本人は実に多いです。残念ながら、ビジネスにあったIT活用を考える専門家であるITコンサルタントの方と話をしても、理解できていない方(理解が充分でないことに気づいていない方)が相当数います。

その理由は、多くの日本企業は欧米企業に比べてクラウド活用が進んでいなく、クラウドに対する理解が浅いからです。

もちろん日本企業でも先進的な取り組みを行っている企業もあり、模範ケースとして詳細に取り上げられるべき事例もあります。しかし、「うちの会社は既にクラウドを導入している」と主張する多くの企業では、システムの一部をクラウドを使ってみた程度の初歩のレベルでとどまっていることが多いです。

日本企業の現場でプロジェクト率いる30-40代の方に、より危機感を持って頂くために表現を変えると、今の多くの日本企業は「呪文なら使える」と胸を張る新米の魔法使いで、習得しているのがメラであることに気づかずに、メラゾーマを放ってくる大魔王の米国企業に立ち向かっていくようなものです。どちらが黒焦げになるかは、火を見るより明らかです。

しかし悲観する必要はありません。

クラウド後発組の日本企業は、先発の欧米企業が10年かけて苦労してクラウド導入を実践して積み上げた手法を学んで、一足飛びに最先端にキャッチアップできる位置にいます。後発組の利点を活かし、10年間のクラウドの歴史を学び、最新の技術を実践すれば、時間をかけずに世界の水準に追いつくことが出来るはずです。

この記事では、プログラマではない一般のビジネスマン・ビジネスウーマンを読者対象に、効率的なクラウド活用を目指して欧米企業が約10年間かけて実践してきた歴史を「クラウドの導入」「マルチクラウドの活用」「クラウドに特化した開発手法の模索」「マルチクラウド一元管理の時代へ」の4段階にわけて説明します。記事を読み終える頃には、冒頭のニュースの意味が理解できることを目指しています。

「なんだ。IT系のやつらにまかせておけば、いい内容か」とページを閉じる前に、ビジネス目線をもった文系の方にこそ、あと10分だけこの記事にお付き合いください。今やクラウドはIT企業やIT部門だけのものではありません。クラウドを効率的に使い、迅速に新サービスを展開できることは、事業と売上の成長スピードを左右するからです。

前置きが長くなりましたが、それでは欧米企業でもクラウド活用で有名なネットフリックスを例にクラウド活用発展の歴史を見ていきます。

STEP1:クラウドの導入

クラウド活用の初期の段階は「何はともあれ、まずクラウドを使い始める」ことです。

企業のクラウドを導入のメリットは、主に次の4点があります。

  • 管理が楽:クラウド提供会社のプロによる管理で「障害に強い」「セキュリティに強い」「管理の手間が省ける」
  • 柔軟:クラウドはいつでも大規模化できるため、ビジネスの拡大に合わせてマシンの性能も向上できる。
  • 安い:システムの初期構築費が抑えられ、新サービスの実験的な取り組みでも小コストで実施もできる。
  • 早い:ネットで契約するだけですぐに使える。(マシンルームへのサーバ搬入・設置が不要)

クラウド導入でこれらのメリットを得た世界的に最も有名な事例は、動画配信サービスを手がけるネットフリックス(Netflix)です。ネットフリックスは他の企業に先駆けて、(1)障害に強く、(2)ビジネスの拡大に合わせて柔軟に拡張できるシステムを目指して、まだ世の中の多くの企業がクラウド活用に踏み切っていない2008年に、アマゾンのクラウドサービスAWSを本格的に導入を開始しています。

クラウド導入のきっかけは、1つの重大なコンピュータ障害でした。2008年当時、ネットフリックスは自社で運用していたコンピュータのデータベースに障害を発生させてしまい、3日間営業がストップする重大なビジネス損失を被りました。

このような損失を最小限に抑えるため、ネットフリックスはアマゾンのクラウドAWSにシステムを移管することを決断します。そして、導入を決断したクラウドが、急成長するネットフリックスの動画配信サービスを大きく支えることになりました。

クラウド上のコンピュータの規模と性能は、ビジネスの拡大に合わせて瞬時に拡張させることができるため、ネットフリックスはビジネス規模の拡大に合わせて、クラウドシステムを拡張できたのです。

クラウドだとシステムが簡単に拡張できるイメージがわかない人は、iPhoneなどのスマホを思い浮かべると良いと思います。実機のiPhoneの容量には限りがあり保存できる写真や動画にも限度がありますが、iCloudなどのクラウドサービスでお金を払って大容量のプランに切り替えれば、どんどん写真の保存容量を増やすことができます。

2018年末にネットフリックスの動画配信サービスは1億4000万人を超えるユーザ数を獲得していますが、ユーザ数や配信作品数が増えてもクラウドサービスにお金を払うことで、ネットフリックスのマシンは容量オーバーにならずに、ビジネスを拡大できたのです。

容量オーバー毎にシステムを買い替えて導入し、その度に頻繁な動画配信サービスを停止をしていたら、今のネットフリックスの継続的な成長はなく、クラウドを活用してこそのビジネスの成長だったと言えます。

STEP2:マルチクラウド活用への挑戦と立ちふさがる作業量の壁

しかし、物事にはメリットがあれば、デメリットがあります。

ネットフリックスはクラウド導入によってビジネスを拡大させましたが、クラウドに深く依存したビジネスに変わったことで、次のような弊害が生まれました。

  • アマゾンのクラウドに障害が発生した時、業務も停止する。
  • アマゾンがクラウド料金を値上げをした時、無条件にコストに直結する。

これらはある程度予期されていたことではあります。何かを失う覚悟なくしては、何も得られないものです。リスクを承知でリターンを取りに行くと決めたなら、次にやるべきことはリスクを最小限に抑えることです。

かくしてネットフリックスは利益の損失を可能な限り小さくするべく、クラウド戦略の方針転換を2015年に図ります。

従来までアマゾンのクラウドAWSのみを利用してきましたが、他のクラウド(例えばマイクロソフトのAzureや、GoogleのGCP)を併用するマルチクラウド戦略に変更したのです。

1つのクラウドに障害が発生したとしても、別のクラウドが無事であればビジネスを継続できます。また、1つのクラウドが値上げをした場合でも、相対的に安いクラウドをメインクラウドに切り替えれば、コストの上昇を抑えることができます。

しかし、言うは易し行うは難しです。クラウドは運用が楽とは書きましたが、ネットフリックスなどクラウド利用者側の運用作業量はゼロではありません。クラウドを使うことで一部作業は楽になったものの、それでもなおサービス稼働中に発生する不具合情報の収集・解析、アプリへの修正反映など膨大な作業を行う必要があり、クラウド1台でも運用が大変なのに、複数クラウドの併用となると、システム管理作業量が数倍になる恐れがります。

マルチクラウド化の必要性が認識されると、それを実現するためにはクラウドシステム運用にかける作業量をどのように少なくするかに注目が集まりました。

そして、クラウド以前までのシステムとはそもそも作り方から根本的に見直し、クラウド時代にあった効率的な開発、効率的なシステム運用ができるアプリケーション開発(クラウドネイティブなアプリケーション開発)を目指す動きが活発化しました。

STEP3:クラウド時代の効率的な開発と運用手法の模索

ようやくクラウド活用の第3のステップまで来ました。

ここまでくれば富士山も7合目まで来たようなものです。コーヒーでも片手に、一息ついてから残りの記事をお楽しみ下さい。新しい情報ばかりで疲れた方は、一旦お気に入り登録をして画面を閉じ、リフレッシュしてから再度読み進むのもいいと思います。人間、新しい情報ばかりでは学習効率が落ちてしまいます。

さて、一息ついたところで話を戻します。

先程はマルチクラウドの実現に向けて、クラウドシステムの運用と開発の効率をどのように上げるかを課題に上げました。そして、それを解決するために、クラウド上で運用することを前提としたアプリケーション(クラウドネイティブなアプリケーション)の開発手法の模索が始まりました。

既に、クラウドネイティブなアプリケーションという言葉を使ってしまいましたが、迅速な開発とクラウドでの効率的な運用を見据えて、従来のアプリケーションとは、作り方にいくつかの工夫を凝らしたアプリケーションのことを言います。

具体的にどのように作るかの詳細は、プログラマが知るべき内容になりますが、一般的には次の4つに気をつけて作るとクラウドネイティブなアプリケーションと呼ばれます。

  • マイクロサービス:アプリの部品を細かく作る
  • コンテナ:どのクラウドでも動く特殊な器にアプリの部品を入れる
  • DevOps:プログラムを作ってから、検査やクラウド環境への反映まで全て自動化
  • 継続的デリバリ:メンテナンス期間やアプリのversion upを待たずにプログラムの変更を即反映

ただし、この4つの箇条書きだけではなかなかイメージつかないので、それぞれの関連性を例えを使って説明します。

従来のアプリケーション開発が建設現場で大工職人がオーダーメイドで家(アプリケーション)を作るようなものだとすると、クラウドネイティブなアプリケーション開発ではかなり自動化を取り入れた現代的で近代的な方法で家を作ります。

まず、開発者のプログラマ達は大きなレゴのような再利用性の高い家のパーツ(マイクロサービス)を分業して作り、それらを組み上げて風呂やキッチンなどの役目を持った部品を作ります。作った風呂場やキッチンが、どんな国(クラウド)の電圧や水圧でも機能するように、コンテナと呼ばれる特殊な器に入れたら、あとは出来上がったコンテナを工場から建設現場まで伸びているベルトコンベア(DevOps)に乗せるだけです。

入国審査のX線検査のようにベルトコンベアに乗りながらプログラムやコンテナの不具合確認を自動的チェックし、建設現場(クラウド)まで自動的に運ばれます。そして到着したコンテナが、自動的に次々に積み上げられて短時間に家(アプリケーション)を作り上げていくイメージです。

このように小さなパーツ(プログラム)を作ったら、後の作業を全て自動化する流れを作っておけば、システム更新のためのメンテンス時間やアプリのバージョンアップを待たずに、サービスを毎日のように頻繁に、即座に改善することができます(継続的デリバリ)。

この章の最後に、クラウドネイティブなアプリケーションの開発の仕組みの概要を理解したところで、ビジネス上のメリットを上げておきます。

  • 分業と自動化が進んだ手法で、開発・運用作業量を削減できる。(開発費・運用費の削減)
  • アプリケーションを日々改善し、ユーザに飽きられることなく、継続的に顧客を増やすことができる。(売上・顧客満足向上)

STEP4:マルチクラウド管理一元管理の時代へ

ここまででクラウドネイティブなアプリケーションの作り方をすれば、どんなクラウドでも効率的に開発・運用ができるようになることがわかりました。マルチクラウド(複数クラウド)で運用するときには、運用作業量が問題になるという課題も、設計段階からクラウドネイティブに作ることで改善しそうです。

最後に残る改善要望としては、アマゾンクラウドのAWSを使っていようが、GoogleクラウドのGCPを使っていようが、クラウドでは無い自社のマシンを使っていようが、それら全てを併用していようが、どのマシンでどんなアプリを動かすかを一元的に管理したいという要望です。

そしてマルチクラウドで運用する企業に向けて、複数クラウドや自社サーバを併用していようともクラウドネイティブなアプリケーションならば一元管理できるプラットフォームを提供し始めたのがGoogleであり、そのプラットフォームがAnthosです。

Anthosのより詳細な機能は、公式サイトにおまかせしますが、クラウド後発組の日本企業に務める私達ノンプログラマが、おさえておくべき欧米のクラウド活用の約10年に渡る歴史をまとめておきたいと思います。

直近10年の欧米企業のクラウド活用まとめ

クラウドを利用してビジネスを拡大させる攻めのクラウド利用を続けてきた企業は、クラウドの障害や値上げなどのビジネス上のリスクに対応するためにマルチクラウド化を試みましたが、一方で長年に渡って複数クラウドを運用する作業量の増加に苦慮してきました。

しかし近年ようやく、クラウド向けの効率的なクラウドネイティブなアプリケーション開発が確立され始めて、マルチクラウド運用が現実的になってきています。具体的には、GoogleのAnthosなどを始めとしてマルチクラウドでも非クラウドマシンでも統一的に扱えるプラットフォームも登場したことで、今後いよいよクラウド利用が本格的に進むものと期待されています。