【なぜクラウドへの移行を推奨するのか】DXと現状の問題点
昨今クラウドという言葉が一般的になり
「システムをクラウドに移行する」などの言葉を耳にした方も多いのではないでしょうか。
僕も現在クラウド開発の現場にいてクラウド技術のMicrosoft Azureを触っているわけですが
今回は現場でクラウド開発をしていない方向けのガイド作成を行うことになりまして
現状稼働するシステムに対してなぜクラウド移行を推奨するんだ?
そもそもクラウド化のメリットってなんだっけ?
と振り返ると「よくわかっていないな、自分」と気がつきました。
そこでちょうどいい機会なのでシステムのクラウド移行に関して僕個人の備忘録も兼ねて解説します。
そもそものお話 クラウド?DX?
まずは言葉の定義からです。
クラウドとは何か
ますはクラウドについてです。
クラウドとはインターネット経由でデータベース、ストレージ、アプリケーションなどのITリソースをオンデマンドで利用することができるサービスの総称です。
「わぁ、、、難しい、、」といきなり血の気引かずにもうしばしお付き合いください^^
その気持ち、とてもわかります。
簡単に例を上げますね。
今まではPCを購入したり、WordやExcelなどのOfficeのライセンスを購入後インストールしないと使えませんでしたよね?
それがクラウドではインターネット環境さえあれば使った分のお金を支払うことですぐ使用可能になります。
誰もがイメージしやすいのはメールソフトです。
OutlookやThunderbirdは有料無料に関わらずインストールが必要なのでクラウドではありません。GmailやYahoo!メールはネット環境とブラウザがあれば使用できるのでクラウドです。
エンジニア以外の方は「普通やん!」と感じる方もいると思いますが、エンジニアの皆さんは何かのシステムを作る際にプログラムを書く以外に「データベースを作成して、疎通確認をして、、」と使用できる環境を整えていたり「アプリケーションを載せるサーバーのスペックが低いのに、この機能入れるとかなり重いぞ、、」などメンテナンス面、容量、開発時のやり方、など開発以外の面倒な事柄を考えなきゃいけなかったりします。
それがクラウドを利用することで「あら、不思議。メンテナンス面や容量面など気にしていた出来事が減って開発に専念できるわ」みたいなことになるわけです。
つまりクラウドを利用するメリットとしてハードウェア導入に伴う初期投資やリソースの調達、メンテナンス、容量管理などの面倒な作業の人手を削減できることが挙げられます。
また先ほど述べた通り、クラウドでは必要な経費は実際に使った分のお支払いのみという従量課金が一般的です。
このクラウドによって個人や企業は「所有」する形態から「利用」する形態へと変化していきます。
代表的なクラウドのサービスタイプに関しては利用者のニーズを満たすためのさまざまな形式がありますがここは開発者目線になってくるため、下記記事にまとめています。
【クラウド技術基礎知識】代表的な3つのクラウドタイプとその特性について
DXとは何か
次はこれもよく聞くDXです。
DXはdigital transformation(デジタルトランスフォーメーション)の略で、デジタル技術の導入と浸透により、人々の生活をより良いものへと変革させるという概念のことです。
概念だけ聞くと「なんのこっちゃ」なんですけど難しく考えなくて大丈夫^^
昔銀行口座作る時って窓口に出向いて作ってましたよね?
今はどうでしょう。スマホからポチポチしてオンラインで口座開設できたりしませんか?
これもDXです。
デジタル技術の導入と浸透により窓口に出向かなくても口座開設できて、通帳すらスマホから見れます。いつどこにいても残高確認や送金ができてしまいます。
以前は「給料振り込まれたかな」って思っても何日にATMに行ってとかやってましたけど、今はすぐわかります。
ね。DXって案外身近で簡単でしょ?^^
前提 日本の業務モデルの特徴
そろそろ「なぜクラウドへの移行を推奨するのか」に入っていくのですが、その前に一つ前提で知っておいて欲しいことがあります。
それが日本のシステム開発の業務モデルの特徴についてです。
日本のシステム開発モデルは海外のシステム開発モデルと大きく異なる点があります。下の図を見てください。
日本はユーザー企業にエンジニアが少なく、ベンダー企業にエンジニアが多数在籍しており外注してシステム開発をしています。対して海外の企業は自社開発が一般的で、ユーザー企業にエンジニアが多数在籍しています。外国のシステム開発に関しては例えば映画の「インターンシップ」や「シリコンバレー」を見るとユーザー企業(例えばGoogleなど)にエンジニアが多数在籍していることが分かります。
日本は外国のように社内開発ではなく、他社に依頼することでシステム開発を行ってきました。これによっていくつかの問題点が出てきます。
- ノウハウがユーザー企業(依頼側)に蓄積されない
- ユーザー企業とベンダー企業の意思疎通ミスによりイメージと違うものがよく出来上がる
- ベンダー企業に技術ノウハウが蓄積され社内エンジニアを育てづらい
- 社内エンジニアが育たないのでいつまでもベンダー企業に頼まなくてはならない
などです。まぁユーザー企業がベンダー企業に丸投げで開発を依頼し、それをベンダー企業が四苦八苦しながらいい感じにこなしてきたサービス力の結果でもあるんですけどね^^;
では、この日本のシステム開発モデルの特徴を認識した上で「なぜクラウドへの移行を推奨するのか」に入っていきます。
現状の問題点「2025年の崖」
先ほど日本のシステム開発の特徴をご説明しましたが、日本のシステム開発の課題に関しては経済産業省が提示しているDXレポート「2025年の崖」がとてもわかりやすく説明してくれています。
多くの経営者が、将来の成長、競争力強化のために、新たなデジタル技術を活用して新たなビジネス・モデルを創出・柔軟に改変するデジタル・トランスフォーメーション (=DX)の必要性について理解しているが、 既存システムが、事業部門ごとに構築されて、全社横断的なデータ活用ができなかったり、過剰なカスタマイズがなされているなどにより、複雑化・ブラックボックス化 ・ 経営者がDXを望んでも、データ活用のために上記のような既存システムの問題を解決し、そのためには業務自体の見直しも求められる中(=経営改革そのもの)、 現場サイドの抵抗も大きく、いかにこれを実行するかが課題となっている → この課題を克服できない場合、DXが実現できないのみでなく、2025年以降、最大12兆円/年(現在の約3倍)の経済損失が生じる可能性(2025年の崖)。
と書いてあります。文章がわかりづらいのですごーくざっくり僕なりにまとめると次のようになります。
- 誰もシステムの全容を知らない(複数のベンダー企業にノウハウが分散し全容を理解できない)
- 度重なるシステム改修でシステムが肥大化(それでも全容が見えない中で追加機能を実装し、さらに複雑化する)
- 様々な顧客データはあるが把握できていない(市場の変化に対応できず自然と競争に負ける)
- 既存システムの開発者が年齢的な引退を迎えるため保守の人材不足が起きる
DXを放置することによる損失
そしてこのDXを放置することによってユーザー企業とベンダー企業に対して次のようなリスクがあります。
ユーザー
- 市場の変化に対応できずデジタル競争の敗者になる
- システムの維持管理費が増え続ける
- セキュリティ事故や災害トラブルのリスクが増える
ベンダー
- 既存システムの保守・運用に人材が必要になり、クラウド技術を習得する人材が育たない
- 既存システムサポートに伴い日本のシステム開発モデルから脱却できない
- 世界はクラウドベースのサービス開発・提供が主流だがいつまでもそこに参戦できない
そんなこんなで経済産業省曰く「2025年以降、最大12兆円/年(現在の約3倍)の経済損失が生じる」というものです。
上記の損失や問題点を解決するためにDXシナリオとして「2025年までの間に全容の見えない既存システムについて、不要なものは無くし必要なものについては新しくしつつ、DXを実現して2030年に実質GDP130兆円超の押上げを実現しようぜ」という方向で動いています。
だから「クラウドだ!」「AIだ」と騒がれてるわけです。
DX対応した企業たちの実例
2010年頃からのスマートフォンの普及に始まりAIも多くの人に認知されてきました。ではそんな中ぶっちゃけDX対応した企業ってどこにいるのよ、と感じるかもしれません。
実際、2021年5月の「Azure AI Days」でもカルビーやメルカリなどよくご存知の企業がクラウド技術のAIを用いて問題解決をした例を発表していました。
カルビーとか結構面白かったですよ。ご存知の方もいるかもしれませんがポテトチップスの裏のQRコードがあるんですけど、あれのポイント貯める先にAIがいるらしいです。そしてそのAIにより顧客の動向が見えるようになり、会社が「この年齢の人たちに販売したい」と思っている年齢層への売り上げに対して見事に貢献しているそうです。
こんな風に身近な企業でもAIを活用して業務の問題解決をした成功例も増えてきています。
Developer(開発者)の皆様へ
ここからは少し開発者の皆様へ向けてです。僕もエンジニアなのでその辺りにとっても興味があるので簡単にまとめてみました^^
既存システムとクラウドシステムの違い
既存システムとクラウドのシステムは利用想定やコンセプトがそもそも違います。そのため何もかもクラウドへ移行するというわけではありません。下記に簡単に表にしてみました。
従来 | クラウドサービス「 | |
アプリケーション構成 | モノリシック (1サーバや1アプリで全処理を行う) | マイクロサービス (1つのアプリは1つの機能のみ) |
開発手法 | ウォーターフォール (従来の開発方式) | アジャイル、CI/CD、DevOpsなど (高速開発) |
適正な業務の傾向 | オンプレミスの社内システム スケールアウト(性能UP)が不要なもの スタンドアロンで動作する アップデートがない静的/不変なシステム | BtoCのサービス系 スケールアウト(性能UP)が必要なもの API提供型のシステム 頻繁なアップデートを求められるもの |
それぞれに特徴があるため何でもかんでもクラウドに移行しなくていいです。それぞれクラウド移行すべきか見極めて対応しましょう。
クラウド技術の代表的なもの
クラウド技術として代表的なものとしてAWS、GCP、Microsoft Azureが有名です。この辺は本記事にするとかなり長くなるので別記事にまとめておきます。しばしお待ちください。
最近のクラウド技術のシェアとしてほぼ4強でAlibabaも上がってきてるとITMediaさんの記事「クラウドインフラ調査結果」に書いていました。ただ間違いなくこれからクラウドサービス開発に参入する場合はAWS、Azure、GCPのいづれかは求められることになると予想しています。
まとめ
今回は「なぜクラウドへの移行を推奨するのか?」その疑問について解説しました。
前提として日本のシステム開発モデルが外注するモデルであること。
そしてそれによりメンテナンスのしにくさ、人材不足、市場競争敗北が発生し、これからの世界で勝ち残れなくなることになります。
そのため経済産業省の「2025年の崖」のDXレポートにもあるように、不要なもの必要なものを仕分けしつつ、市場の変化に対応していくことがユーザー、開発者問わず求められる時代になってきました。
身近に何度も耳にする「クラウド」「AI」という言葉、その背景を知る手がかりに本記事がなれば幸いです。
ご一読ありがとうございました。