IT企業管理職の現実とその頂きを目指す

IT企業をわかりやすく語りつつ、年収1,000万(相当)の生活。目指せ役員まで出世!!

IT業界の自己分析・業界研究〜クラウドは結局何がすごい?拡張性編(2/6)〜

前回に引き続き、今回はクラウドによるシステムの拡張性という点をお伝えします。拡張性といったり、スケーラビリティと言ったりもします。

 

想定する読者

  • IT業界を新卒で考えている学生のみなさま
  • 今後インターンなどでIT業界を検討する学生のみなさま
  • 中途採用などでIT業界を志す方
  • クラウドって結局なに?という方

nabetunaghetti.com

 

 

 

f:id:nabetsuna:20210212135637j:plain

複雑になるITシステム

ITシステムの用途が多様になってくることで、企業内や行政機関内の業務システムという、社員が自社内の業務のために利用するものだけでなく、外部のシステムと連携したり、一般市民・ユーザが利用するようなもの、企業や施設内という物理的な場所からのアクセスだけでなく、モバイル端末からのアクセスが出来るなど、日に日に複雑さが増してきています。平日9時~17時にどれくらいの社員がアクセスするかであれば、システムに対する負荷をシミュレーションすることが可能ですが、小さく始めた一般向けアプリが、ある日突然SNSでバズるなどがあると、予測できずに急にアクセス増になります。この際に、システム側の都合でサービスが利用できないなどとなってしまうと、もうそれで悪評が出回り、最大のきっかけを逃してしまうことになります。 さらに、流行るかわからないしシステムのために潤沢なサーバを事前に購入しておくのは一般的には難しい設計です。こういった予測できない時代だからこそ、柔軟な拡張性ということに関心が集まっています。

 

クラウドが実現する拡張性

自社でサーバ類を備えるオンプレミス環境では、システムの利用ユーザがどれくらい増えるかという予測を行い、それに基づいてサーバの追加購入やシステムの拡張ということを実施してきました。拡張する際にもいくつかパターンがあり、高スペックなサーバにお引越しするスケールアップと、並列・分散で処理量を増やすスケールアウトの大きく二つの拡張方法がありますが、それぞれにオンプレミス環境では難しさがあります。クラウドを利用することで、内部的には前回もご紹介の通り仮想技術が利用されておりますが、クラウド利用者としては、これら従来の制約を気にせずに利用できるユーザ体感を得ることが出来ます。

 

 

 

当たらない需要予測から卒業

オンプレのシステムでは、将来的にどのくらいのシステム利用者がいるかを予想しながらシステムの設計と投資を行います。ソフトウェアやサーバの償却期間が5年となっていることから、ざっくりでも5年でどのくらいか見積もりケースも多いですが、まだリリースもしていないシステムの需要予測の精度には限界があるのは当然です。初年度にまとめて予算を取りたいという情報システム部門側の都合もありますが、リリースしてしばらくたった頃には、思ったほどアクセスが増えず、眠ったままのものになってしまうサーバ出てくることが多々あります。もしもの時のために、多めに見ておきたいという心理もそこに重なってきてしまいます。

 

自動でシステムを拡張

クラウドでメリットが出てくるところに、計画以上にアクセスが増えた場合の対応があります。初期に拡張性があることを設計しておくことはもちろん必要ですが、定常時に必要なリソースのみを割り当てておいて、急にアクセスが増える繁忙期などにだけ処理できる量を増やすということがクラウドでは出来ます。もちろん技術的にはオンプレ環境でも出来ますが、サーバーなどのハードウェアは、自社内に余剰があればもしくはそういった遊休サーバがプール化されているときに限ります。でないと、新しくサーバを買ってきて設置しないと拡張することが出来ないからです。クラウドでは、クラウド事業者が多くの余剰サーバを保有しているので、この中から一時的な割り当て増により対応が可能です。とても便利な機能ですが、設定についてそれ相応に知識が必要であったり、費用に関しても多少の割高感があるのは利便性の対価です。急な負荷増でのリソース不足は、利用者のクレームや機会損失につながることが多々ありますので、ここはしかたがない費用と割り切っていただきたいです。

 

でも設計は必要

上述の通り、クラウドにより急なアクセス増やベースとなる利用者が想定以上に増えたとしても拡張することが可能ですが、重要な点としてそもそも拡張を考えていないものは拡張できません。もう少し具体化しますと、分散処理されているものは比較的簡単に拡張することが出来ます。2台⇒3台といったように追加することはあまり問題にならないケースが多いです。一方1台⇒2台は一般的には敷居が高いです。

というのも、サーバなどの処理する部分は例えるならば人手の作業のようなものなので、人手を増やすと作業量が増えますが、どうやって人と仕事を分担するかというルールが決まっていないものをいきなり人と分担できないように、ソフトウェアやアプリケーションが分散処理することになっていない場合は、クラウドであっても拡張することは容易ではありません。特に、データを共有でアクセスするストレージや一貫性が必要になるデータベースなどは重要です。

分担が想定されていないシステムでは、スケールアウトという拡張ではなく、スケールアップという方法で対応が可能なことがあります。これは分担して作業量を増やすのではなく、その人自身の作業量が劇的に増える(レベルアップする)というようなイメージです。ただし、一般的にはスケールアップはスケールアウトよりも高価になるという欠点があります。また、その拡張性にも限界があるのが特徴です。

 

 

まとめ

これらのクラウドが持つ特性を利用することで、ベンチャー企業のようなスタートアップ企業でも大企業の中の新規事業であっても、簡易に事業を始めることができ、急にサービスが市場に認められた際にも、機会損失や評判を落とすことなく、事業を拡大することが出来ます。ただし、1点クラウドで忘れてはいけない点があります。クラウドとは言っても、外部の企業が提供するサービスです。ということは100%動作保証をするものでもなく、何かあったときに対応してくれる範囲もそのサービス事業者が決めている範囲のことです。このあたりは、お忘れなく。関係ないと平常時には思いますが、いざというときにもめることはよくあることです。