スケーラブル(スケールアップ/スケールダウン)

「スケーラブル(スケールアップ/スケールダウン)」

データ活用やDX成功に必要な考え方を、各種キーワードの解説で理解できる用語解説集です。
今回は、クラウドの導入メリットを理解する上で重要な「スケーラブル」について解説し、それを通じてこれからのIT活用の本質について考えます。

スケーラブル(スケールアップ/スケールダウン)とは

スケーラブル(scalable)とは、ITシステムの利用規模が増減(スケール)できることです。利用規模を増加させることをスケールアップ(scale up)と呼び、減少させることをスケールダウン(scale down)と呼びます。
クラウド普及以前の従来は、ITシステムは利用規模を事前に決定してシステムを構築する必要があることが多かったのですが、クラウドサービスでは、サービス利用後に利用規模を変更できる仕組みとなっていることがあり、そのような長所のことを「スケーラブルに利用できる」とか「スケーラブル性を備えている」と呼びます。

「スペックを事前に決めること」は難しい

スケーラブルには様々な意味があります。クラウドサービスの特徴として利用されることが多い印象もありますが、システムの利用規模を変更できる様々な特性や設計上の配慮などのことをそのように呼びます。ここではひとまず、どんなスマホを買うか迷っている状況を例に「クラウド時代になって起こった大きな変化」について説明をします。

スマホを買い替えるときに、スペックで悩むことがありませんか?

スマホを買い替えるときに、スペックをどうするか悩むことがあると思います。例えば本体の搭載メモリを32ギガバイトにするか、それとも64ギガにするか。あるいは、いっそのこと128ギガにして細かいことなど悩まずに済むようにしてしまうか。当然ながら、容量が大きいものを買うほどお金はかかってしまいます。

今使っている機種の搭載メモリは16ギガでややつらい状態でしたが、しかし工夫して何とかなっていました。普段何に使うかを考えてみると、32ギガにすればこれまでの不便は全部なくせそうな気はしています。しかしよく考えてみると、今は諦めてやっていなかったものの、「写真の加工」や「動画編集」をやりたいと思っていたことを思い出しました。もし、そのような用途にチャレンジをするなら、32ギガでは足りなさそうです。

さてどうしましょう。この判断によって「次に機種変更するまでの数年もの間」、スマホをどう使うのかを決めてしまうことが解ってきました。一方で、毎月の通信容量不足にも悩んでいます。むしろ本体を安く済ませて、その分を我慢しがちなギガ(通信容量)に使った方が良い気もしてきました。なかなか悩ましいことになってしまいました。

「事前にスペックを決定する」ことは一般的な難しい

ITシステムを導入する時にも、ハードウェアをどのようなスペックにするかで同じような悩みが発生することがあります。ハイスペックなサーバなら今後の様々なことに備えることができますが、当然に高くなります。ハイスペックなシステムにするのだとしても、CPUのコア数、搭載メモリ、記憶容量など様々な要素があって、どれをどの程度増強するのかを決めなければいけません。

しかも個人でスマホを買う場合と違って、ビジネスでITを利用する際には、「どうしてそのようなスペックのサーバを購入する必要があるのか」を説明して予算を獲得する必要があります。さて、何を根拠にどういう理由でどうやって説明しましょう。なかなか難しいことになりがちです。ハイスペックすぎるものを導入したら「結局使っていないじゃないか」と怒られます。しかし、スペックが足りなくて利用に支障が出ても怒られてしまいます。

「スケーラブルなサービス」による、そのような悩みの解決

従来なら毎回、当然に発生していたこのような悩みをなくしたのが、「スケーラブルなクラウドサービスの登場」でした。スマホの例で言うなら、買った後でも本体メモリ容量を変更できるのなら、書いてきたような悩みは無くなりますよね。悩むことなく32メガで契約し、足りなくなったらそうなってから増やせばいいし、多すぎたら減らせば済むだけだからです。

もちろんそんなスマホはないのですが、AWSなどのクラウドサービスから仮想マシンなどのITリソースを借りる場合にはそのようなことが可能になっています。当面において必要十分なリソースのシステムで稼働をはじめて、使っているうちに足りなくなったら後からスペックを増やすことも減らすこともできるようになったのです。例えば、8コアCPUの仮想マシンで契約しておき、年末に処理が集中することがわかってから64コアに変更するようなことが、可能になったのです。

スケーラブルなサービスを利用すると、事前に難しい判断をする必要がなくなって意思決定がスムーズになります。また、見通せない今後のために「余裕を持たせる」ためにかかっていたコスト(念のための64メガのスマホのコストなど)もなくすことができます。

必要になってからでも間に合うので、計画にないニーズや用途が発生してもそれを排除せずに、事後でも様々なニーズを利用に取り込みやすくなります。ITの運用を担当する人にも、決済をする人にも、利用者にとっても良い変化であると言えるでしょう。

「スケールアップ/スケールダウン」と「スケールアウト/スケールイン」

利用規模の変更にはいくつか方法があります。仮想マシンを例に説明しましょう。

利用する仮想マシンのスペックを引き上げることを「スケールアップ」と呼びます。利用する仮想マシンの台数を増やすことで利用規模を大きくするやり方もあり「スケールアウト」と呼ばれることがあります。前者のやり方を「垂直スケーリング」、後者を「水平スケーリング」と呼ぶこともあります。

また、利用規模を引き上げる機能と同様に重要なのが、「スケールダウン」「スケールイン」などの利用規模を引き下げる機能です。必要がなくなったら(あるいは予想とは違って必要が無かったら)元に戻せることでコストだけではなく、スケールアップやスケールアウトを決断するリスクも下げることができ、より躊躇なくリソースの増強をやりやすくなります。

クラウド以前の従来の運用でこのような対応が一切できなかったわけではありません。スマホならメモリ容量が多い端末に再度機種変更してデータ移行すれば似たようなことは出来ますし、ハイスペックなサーバを買ってきてサーバ管理者が夜中に頑張って作業して移行するとか台数を増やすこともできました。ただし、そのようなことは「できるけれども相応に大変」なことでした。

利用規模の変更は具体的にどのように行われるか

クラウドサービスには、このような利用規模を変更する機能が備わっていることがよくありますが、それぞれのサービスで、何をどのようにどの程度変更できるかは違います。また、利用規模の変更時に何をしなければいけないかも違うことがあります。

新たにさまざまなスペックの仮想マシンをクリックするだけで利用できる状況でも、旧来と比べると十分に快適にスケールはできますが、結局新しい仮想マシンを起動して移行作業を行い、古いマシンを落とす作業が必要になることが多いはずです。インフラエンジニアによる手のかかる作業の必要性は残っています。

そのような運用作業を自動化する仕組みが備わっていることがあります。インフラエンジニアの作業を自動化したものを作りこむ必要性はあるけれども、それ以降は手がかからない形にできます。

あるいはクラウドサービス自体に、自動的に利用負荷に合わせて利用規模を変更する機能(オートスケール)が備わっていることもあります。この場合は理想的には、インフラエンジニアの必要性そのものをなくすことすらできます。

また、時間や手間がかかっても構わないのなら、旧来通りの自前でのハードウェア運用でも利用規模の変更には対応できます。必ずスケーラブルなクラウドサービスにしなければいけないわけではありません。

利用しているサービスやアプリにも、そのような考慮があるか?

ここまでの話ではハードウェア側を例に説明をしてきました。しかし、ソフトウェアについても考慮が必要です。仮想サーバをスケールアップできたとして、ソフトウェアの側にそれを生かせる能力が無かったなら意味がありません。

例えば、今風のUIで使いやすいソフトウェアやクラウドサービスだけれども、ちょっと重い処理をさせたら途端に処理不能になってしまうようなケースがあります。そのような場合、ソフトウェア自体が大量のデータの処理や高い性能で動作について考慮不足な作りとなっていて、ハードウェア資源を増強してもあまり効果がないことがあります。

クラウドサービスでスケール出来るという説明だけれども、変更を依頼してその反映は来月までかかるので待たされさるようなケースや、スケールアップした新環境にデータをセットしなおすなどで大量の作業が発生するようなケースもあります。変更が必要になったときに、すぐに対応できるとは限りません。クラウドサービスの機能や運用体制が、素早くスムーズにスケールできるようにはなっていないことがあります。

さらにはクラウドサービスの選定において、スケールするかどうかだけが利用の判断基準ではありません。例えば、スケーリングが苦手だが安いサービス、オートスケールだが高いサービス、どちらが適切かは状況によるはずです。さらには、IT導入の初期と、利用が本格化した状況でのニーズが異なることもあるはずです。

多コア時代にきちんと対応しているデータ連携ソフトウェア「DataSpider」

データ活用が重要になり、また様々なシステムやサービスをデータ連携するニーズが昨今高まっていますが、実業務で本当に利用するケースでは、大量のデータを高速に転送処理できることが求められることがあります。

アプリケーションの開発に用いられている言語が、スクリプト系の言語(例えばRuby on Railsで作られたクラウドサービスなど)である場合にはそもそも性能が出にくいことがあります。性能不足の問題は、ITの利活用が進んでデータ量が増えてきてから発覚することもあり、その場合には影響は深刻になります。

また昨今、CPUの処理性能はクロックの向上ではなく、コア数の増加が主となっています。そのためマルチコアCPUでの処理が考慮されていない場合(対応は容易ではないことがあります)、せっかくコア数の多い高性能CPUに切り替えたのに、問題の処理では一部のコアしか使われず大半のコアは遊んでいて遅いまま、みたいなことも起こります。

例えばDataSpiderなら、

  • GUI上で作った処理が、内部的にJavaのソースコードそのものに変換されてコンパイル実行されるため、Javaによる本格的開発と同水準の高い処理性能があります
  • 処理を自動的に利用環境のCPUのコア数に合わせて分散させる、スマートコンパイラ機能を搭載しています。コア数を生かせない製品とは異なり、さらには明示的に並列処理を作る苦労をすることなく、多数のコアを活用することができます。

利用者が自分で利用規模を変更できる「HULFT Square」

スケールできるクラウドサービスとは言っても、変更を依頼したら来月から変更できるだけであるとか、利用開始時に利用規模を選択できるだけで、その後の変更の場合は単に新しく契約しなおして引っ越すのと同じになっていることもあります。

クラウド上でDataSpiderと同じ利用感で利用できる日本発iPaaS「HULFT Square」なら、

  • 変更はクラウドサービスの利用者が、利用画面上で自ら行えます。必要になった時に自分たちでスケールアップやスケールダウン、処理環境の増減も行うことができます。

多種多様なクラウドサービスやオンプレを組み合わせて利用できる「つなぐ」技術

世の中に多くあるクラウドはそれぞれ違います。スケーラブルかどうか、どのような利便性を持ったサービスかなどです。あるいはここまで読んできて、考慮すべきことが多く難しいと思ったかもしれません。さらにはスケーラブルかどうかだけでサービスは導入しませんから、安いのか高いのかとか、セキュリティはどうかとか、そもそもどのような機能があるサービスかなどでも判断が必要になります。どうしたらよいでしょうか。

スマホを例に、事前に予想するから難しいことを説明しました。同じく、後からスムーズに変更できれば判断の難しさを大きく減らすことができます。利用を開始してから、活用するクラウドを切り替えたり組み合わせたりできれば、使ってみて自分たちのニーズと違っていれば変更すれば済みます。そして、まさしくそういったニーズで活躍できるのが上記の「DataSpider」や「HULFT Square」などの「つなぐ」製品になります。

  • 必要に応じて多種多様なシステムやデータを連携できる。クラウドはもちろん、オンプレミスのシステムやメインフレームなどでもでも
  • GUIだけで連携処理を作りこめるので、何かあるたびに高いスキルのエンジニアにお願いするような手間はかからない
  • GUIだけで「つなぐ」処理を開発できるけれども、本格的なシステム開発でも十分に利用できるだけの高い処理性能や、どうしても様々な障害なども起こる状況での本格的運用でもしっかり使えるプロユース製品

詳しくは、以下の「EAI」や「iPaaS」の記事もご覧ください。多種多様なITを自在に使い分け、必要に応じて縦横無尽に連携できる仕組みが、今のIT利活用では重要になってきています。そして「スケーラブルかどうか」も、どのようなITを使うのかにおいて、非常に重要な判断要因となっています。

関係するキーワード(さらに理解するために)

  • EAI
    • システム間をデータ連携して「つなぐ」考え方で、様々なデータやシステムを自在につなぐ手段です。IT利活用をうまく進める考え方として、クラウド時代になるずっと前から、活躍してきた考え方です。
  • iPaaS
    • 様々なクラウドを外部のシステムやデータと、GUI上での操作だけで「つなぐ」クラウドサービスのこと。
  • ETL
    • 昨今盛んに取り組まれているデータ活用の取り組みでは、データの分析作業そのものではなく、オンプレミスからクラウドまで、あちこちに散在するデータを集めてくる作業や前処理が実作業の大半を占めます。そのような処理を効率的に実現する手段です。
  • SaaS
    • 一般的に「クラウド」と言ったときにイメージされる、ソフトウェアの利用をサービスとして提供する取り組みのこと。

「iPaaS」や「つなぐ」技術に興味がありますか?

オンプレミスにあるITシステムからクラウドサービスまで、様々なデータやシステムを自在に連携し、IT利活用をうまく成功させる製品を実際に試してみてください。

「つなぐ」ツールの決定版、データ連携ソフトウェア「DataSpider」および、データ連携プラットフォーム「HULFT Square」

当社で開発販売しているデータ連携ツール「DataSpider」は長年の実績がある「つなぐ」ツールです。データ連携プラットフォーム「HULFT Square」はDataSpiderの技術を用いて開発された「つなぐ」クラウドサービスです。

通常のプログラミングのようにコードを書くこと無くGUIだけ(ノーコード)で開発できるので、自社のビジネスをよく理解している業務の現場が自ら活用に取り組めることも特徴です。

DataSpider / HULFT Squareの「つなぐ」技術を試してみてください:

簡易な連携ツールならば世の中に多くありますが、GUIだけで利用でき、プログラマではなくても十分に使える使いやすさをもちつつ、「高い開発生産性」「業務の基盤(プロフェッショナルユース)を担えるだけの本格的な性能」を備えています。

IT利活用の成功を妨げている「バラバラになったシステムやデータをつなぐ」問題をスムーズに解決することができます。無料体験版や、無償で実際使ってみることができるオンラインセミナーも開催しておりますので、ぜひ一度お試しいただけますと幸いです。


「HULFT Square」で貴社のビジネスが変えられるか「PoC」をしてみませんか:

貴社のビジネスで「つなぐ」がどう活用できるのか、データ連携を用いた課題解決の実現可能性や得られる効果検証を行ってみませんか?

  • SaaSとのデータ連携を自動化したいが、その実現可能性を確認したい
  • データ利活用に向けて進めたいがシステム連携に課題がある
  • DXの実現に向けてデータ連携基盤の検討をしたい

用語集 コラム一覧

英数字・記号

あ行

か行

さ行

た行

な行

は行

ま行

や行

ら行

わ行

» データ活用コラム一覧

おすすめコンテンツ

Related Content

Return to column list