サーバレスがもたらす運用作業のいらないNoOpsの世界 ブックマークが追加されました
Deloitte Insights
サーバレスがもたらす運用作業のいらないNoOpsの世界
ITにおける焦点は運用からビジネス成果へ
NoOpsとサーバレスコンピューティングにより、従来のインフラおよびセキュリティ管理は完全に自動化され、システム運用担当はビジネス推進と価値の創出を担う、新たなエンジニアとしての役割へと転換していくことが可能となるだろう。
>> Tech Trends 2019日本版はこちら <<
Tech Trends 2019-Beyond the digital frontier
日本のコンサルタントの見解
日本企業から見た「サーバレス」と「NoOps」の意義
企業のIT戦略において、新しいサービスを創出し収益拡大を目指す「攻め」と、既存ビジネスを効率的に運営する「守り」の両面がある、ということはよく言われている。両者のバランスが重要であることはいうまでも無いが、日本企業においては品質が重視される文化の影響もあり、守りに高い比重が置かれている傾向が強い。
JEITAで行われたIT経営に関する調査においても、IT予算の増加理由としてアメリカでは「製品・サービス開発」や「ビジネスモデル変革」が中心に挙げられていたことに対し、日本では「業務効率化・コスト削減」がトップとなっている。1
本編でテーマとしているサーバレスやNoOpsは、まさに守りから攻めへ転じていくための取組みであり、日本企業にとって関心の高いテーマの一つといえるだろう。
しかし、従来からよく聞く「クラウド」という概念とこれらの話はどのような関係にあるのか。また、これらは単なる概念なのか、それとも実在するサービスなのか、なかなか分かり辛い部分も多い。状況が見えるまで静観しようと思っているユーザもいるのではないだろうか。
実際には、サーバレスは既に実用化されているサービスで実現可能な段階であり、問題は、どう実現するかではなく、どこから適用するかという点に移っている。また、日本国内においても既に成功事例は現れてきている。
自社にとってどういう意味があるかを正しく検討するために、ここではまず、サーバレスやNoOpsについて理解の整理を行っていきたい。
サーバレスを実現する技術としてのFaaSの台頭
クラウドコンピューティングとは、自前のデータセンタに物理的にサーバを保有するのではなく、クラウド上のコンピューティングリソースを活用することでサーバ管理作業を軽減するという取組みである。具体的に言えば、Amazon EC2などのサービスを使うことで、ハードウエアやOSの調達・保守を不要にするという取組みであり、これは既に国内でも広く行われており目にしたことも多いだろう。
では、この話とサーバレスとはどういう関係にあるのだろうか。
上述のクラウドコンピューティングの取組みでも、ハードウエアやOSに関する管理作業は不要となるため、サーバ管理作業を軽減するという意味での「サーバレス」は部分的には実現されている。しかし、業務アプリケーションを動作させるためにはOSの上に様々なミドルウエアやプログラム言語の実行環境の設定が必要であり、実務的にはそれらの管理の方が複雑であり、負荷が高い。そのため、サーバ管理作業の軽減という意味での効果は限定的であった。
しかしその後、FaaS(Function as a Service)と呼ばれるサービス群の登場により、本当の意味で「プログラムを書くだけで動く」という環境が実現してきた。FaaSの代表的なサービスとしては、AWS Lambda(Amazon)、Azure Functions(Microsoft)、Google Cloud Functions(Google)などが該当する。これらのサービスが登場した当初は、単機能のプログラムを簡易的に実行できるサービスという程度の認識でとらえられていた向きもある。しかし普及が進むと共に、サーバ設定が不要であること、本来の意味でサーバレスであることの価値が改めて認識され、今日ではクラウドアーキテクチャを語る上で最重要ともいえるキーワードとなっている。
何故クラウドアーキテクチャにおいてサーバレスが重要であるかについて、簡単に補足しておきたい。
クラウドにおいては、処理負荷が変動した際にサーバを動的に増減できること(スケーラビリティ)が大きなメリットであるが、同一のサーバイメージを単純にコピーしてしまうと、定義の重複により動作しない場合や、処理の競合により不整合を引き起こす場合がある。新しいサーバを増やす際、設定された定義のどこまではコピーし、どこからは新しい値を設定する必要があるかについて、複雑な管理が必要になる。一方、サーバレスの場合、サーバに対する定義設定自体が不要であるため、サーバの動的な追加も自由に実行できる。そのため、クラウド本来の柔軟性や拡張性を最大限に活かすことができるのがサーバレスアーキテクチャである、という流れになっている。
実は、FaaSの代表的サービスであるAWS Lambdaがサービスを開始したのは2014年のことであり、既に4年以上が経過している。ここでトレンドとして取り上げているのは、決してその技術的な新規性によるものではなく、一つの技術要素であったFaaSが、NoOpsというビジネス価値向上を目的としたコンセプトにまで繋がってきたことで、IT組織および人財に対する考え方に大きな影響を与え始めていることを考慮してのことである。
そこで次に、NoOpsという考え方について整理していきたい。
NoOpsという概念と本来の目的
一方、「NoOps」という概念は、しばしば「DevOps(開発と運用の連携による開発手法)」と関連した文脈で用いられる。つまり、「開発と運用が連携しながら開発を高速化する」というDevOpsの考えをさらに推し進めて、「運用を省力化し、開発と運用を一体化していくことで、より高速な開発が可能になる」という考え方である。
本文にもある通り、ここで言うOps(運用)とはサーバ管理作業に限らず運用作業全般を指しているため、それらがすべて無くなるということは現実的にはあり得ない。あくまで、運用作業そのものを無くすことだけを目的としているのではなく、運用の負荷が下がることで開発と運用をそれぞれ個別のチームとして組成する必要がなくなり、一体として活動することでコミュニケーション負荷を下げ、開発のスピードを向上させることに主眼がある、ととらえるべきであろう。
整理すると、FaaSはAWS Lambdaを代表とする、既に実用化されているサービス群である。また「サーバレス」とは、FaaSに代表される技術の活用によりサーバの管理作業が大幅に軽減されている、もしくは無くなっている状態を指している。さらに「NoOps」とは、サーバレスの実現などにより運用負荷を軽減することで、開発と運用の間の壁を無くし、開発スピードの向上によりビジネス価値の向上を目指すというコンセプトである。
国内企業において考慮すべき導入のポイント
サーバレスやNoOpsの実現に向けた取組みは、国内企業においても既に始まっている。
ここでは、国内企業がサーバレスやNoOpsの導入を検討していく際に注意すべきポイントを整理していきたい。
1点目は、システムアーキテクチャの統制という観点である。
ハードウエアやOSなどシステムインフラをクラウド化するだけでは、ミドルウエア層の管理作業が残るため、サーバレスを実現することは難しい、という点は前述の通りである。
サーバレスを実現していくためには、クラウドの機能を最大限に活用できるようにアプリケーションの構成および処理方式を設計する必要がある。たとえば、ステートレスで並列実行が可能な処理を切り出してFaaSを活用して実装するといったように、いわゆる「クラウドネイティブなアーキテクチャ」で設計することが必要となる。
しかし、これらは比較的新しい技術であるため、旧来のシステム開発ベンダでは対応できないことも多い。新規開発するシステムであっても、明確な統制が無ければ旧来の処理方式のまま設計が行われてしまい、気付いた頃には変更が難しくなっていることも少なくない。
国内企業においては、システムアーキテクチャに対する統制が必ずしも十分に取れていないことも多いが、一度作られたものを後で変更するには非常に多くのコストが必要となる。過剰なコストを掛けずに目的の方向へ進めていくためには、長期的ビジョンに基づいた取組みと指針の策定が必要である。
2点目は、取組み目的に対するエグゼクティブの理解である。
サーバレスによるサーバ管理作業の軽減は、運用コストの削減効果をもたらすことは確かである。しかしそれ以上に、拡張性の高いシステム基盤を手に入れることと、機動性の高い開発体制を取り得ることによる、ビジネススピードの向上に対する効果の方が大きい。
実際、国内においてサーバレス、NoOpsに取組まれた事例においても、システム的な面での保守性・拡張性などのメリットはもちろん、IT組織風土の改革における効果に言及されているケースが多い。
デジタル化という文脈においてやや遅れを取っている国内企業においては、システム投資に対するエグゼクティブの理解・関心もやや低い傾向がある。単純にコスト削減という観点だけで評価するのではなく、取組みの位置づけや目的について十分に説明を行った上で、理解と協力を得ることが重要なポイントとなるだろう。
3点目は、ノウハウのあるパートナーとの協力体制の確立である。
クラウドネイティブなアーキテクチャ設計には専門知見が必要であり、社内メンバだけで実施することは難しい。特に、FaaSを中心とした技術はそれら自体がクラウド上のサービスであるため、日進月歩での進化が続いている。また、それらの技術情報は基本的に英語で発信されるため、社内のリソースで対応するにも情報収集だけで手いっぱいになってしまう可能性が高い。
一方で、アーキテクチャ設計にあたり、業務特性や処理特性は非常に重要な情報となるが、それらは社内メンバでなければ知り得ていないノウハウである。
外部と社内の知見を上手く取り入れた推進体制を構築できるかが、サーバレスに向けた取組みの成否の鍵であると言っても過言では無い。
最後に
ここまで、「サーバレス」「NoOps」について、その目的と効果および導入時のポイントについて触れてきた。
このような取組みを始める際、マネジメントは必要性を理解しており推進を志向しているものの、検討をリードできる人財が社内におらず、開始することができないということを耳にすることが多い。しかし、実はその構図こそが、国内企業が解決すべき根本の課題ではないだろうか。
ここで、冒頭に言及した「攻め」と「守り」の話をもう一度取り上げたい。
一般的に、「攻め」のプロジェクトにおいて新しいテクノロジーの経験を積んでいく方が、IT人財は早く成長していく。そのため、優秀な人財であるほど「攻め」の経験を積むことのできる企業を好む傾向がある。しかし国内企業では、いわゆる「守り」である現行システムに対する運用保守とその周辺作業の比率が多く、求める経験ができる見込が低い。そのため、皮肉なことに、優秀なIT人財であるほど国内企業を敬遠しやすいという構図に陥っている。
そう考えてみると、2つのサイクルが見えてくる。
一つは、積極的な施策によりIT組織の役割を「守り」から「攻め」にシフトさせ、そこに魅力を感じる優秀なIT人財を確保し、次の積極的な施策を立てていく、というポジティブなサイクル。
もう一つは、常に「守り」の重い負荷に引きずられて、施策の計画はあっても推進する余力がない状態が恒常化し、優秀なIT人財の確保が困難になり、次の施策を推進することも難しくなる、というネガティブなサイクルである。
現代のビジネスにおいて、優秀なIT人財の確保が競争力の源泉となりつつある状況を踏まえると、これらの企業の差は広がっていく一方ではないだろうか。
もちろん、サーバレスやNoOpsへの取組みがすべての解決策となる訳では無い。
しかし、これらの取組みにマネジメントが関心を持ち、推進に積極的であるか否かは、『企業がITに対してどのような考えを持っているか』を社内外へ意思表示する際の重要な指標になり得ると考える。
ぜひ積極的に取組みを進め、国内に優秀なIT人財の活躍の場を広げていくと共に、日本企業がデジタル化の流れにおいて競争力を高めていくことを願ってやまない。
参考文献
1. JEITA 2017年 国内企業の「IT経営」に関する調査結果(2017年 JEITA / IDC Japan調査)
https://www.jeita.or.jp/japanese/exhibit/2018/0116.pdf
執筆者
森永 直樹 シニアマネジャー
IT系コンサルティング会社を経て現職。IT戦略立案、全社システム改革など多数の大規模プロジェクトに従事。システムアーキテクトとしての豊富な経験に基き、実行性の高いIT戦略立案やシステム構想策定、クラウドマイグレーション戦略策定に強みを持つ。
その他の記事
Tech Trends 2024 日本版
Tech Trends 2019
Beyond the digital frontier 日本版