スケーラビリティの獲得は、ゼロリスク思考を捨てられるかがポイント
ソフトウェアやアプリケーションのようなIT分野から、経営分野においても時折現れる「スケーラビリティ」という単語。スケーラビリティの獲得は、より多くのユーザーを獲得するためには欠かせないアスペクトであるとは言われているものの、いまいち想像しづらいキーワードでもあります。
今回はそんなスケーラビリティとはそもそも何なのか。そしてスケーラビリティ獲得のための大きなカギとなる考え方についてご紹介します。
【目次】
例えばネットワーク関連のサービスを取り扱うアプリケーションやソフトウェアは、ユーザーが増えれば増えるほどサーバーに負荷がかかります。
このユーザーが増えた時でも必要なパフォーマンスをユーザーへ均等に提供できる力、すなわちキャパシティのあるサーバーを用意できる能力のことを、スケーラビリティの獲得と言います。
スケーラビリティは主にIT関連の分野で使われることが多く、最近ではビットコインのスケーラビリティ問題についての言及が多く見られますし、別分野だと経営学におけるスケーラビリティの話が見受けられました。
ただし別分野とは言っても本質的なテーマは変わりません。あるビジネスやサービスにおいて規模の拡大を考えた時、たとえユーザーの数が増えたとしても、現在の満足度や使い心地を維持できるかという課題、つまりスケーラビリティについての問題は、常に核となるテーマであり続けるのです。
そのためスケーラビリティについて考えるヒントは、あらゆる分野を横断して見つけることができます。異分野比較からスケーラビリティを考える場合、たとえば、スターバックスなどの飲食店におけるスケーラビリティは並行処理を行う環境を普段から整えることです。
前述のスターバックスの例でいくと、最新のコーヒーマシンを導入して作業効率を向上させたり、既存のスタッフの教育やマニュアルの改変に力を入れ、より効率よく稼働させる方法がスケールアップに当てはまるでしょう。
一見コストも比較的抑えられ、無駄の少なそうなアプローチのように思いますが、スケールアップのデメリットとしてよく言われているのは、この方法には最適化に限界があり、機器やスタッフの作業効率は挙げられても、それ以上の効率化は望めない点です。
いくら最新機器を定期的に導入してもキャパの上限はやや上昇する程度ですし、スタッフも人間なので一人で二人分・三人分の仕事をこなすのには無理があります。
サーバーが足りなければもう一台用意し、人手が足りなければ新たにスタッフを雇うといった手段を取るため、既存のシステムを維持しつつもスケーラビリティを獲得することが容易な手段と言えるでしょう。
短期間のうちに大きくキャパシティを改善できるスケールアウトですが、その分コストはかかってしまいます。スケールアップの場合は工夫次第でコストを低く抑えることができましたが、スケールアウトはコスト面の問題は免れません。
かと言って下手にコスト削減を行い、スケールアップに固執しすぎると、かえって作業効率を悪くしてしまったり、余計に時間やお金がかかってしまう可能性もあるため、これらの使い分けのタイミングを見極めることが、効率よくスケーラビリティを獲得するために欠かせないのです。
スケーラビリティはもちろんローコスト・ローリスクで獲得するのが一番ですし、そのために様々な方法を思索することが大切ですが、同じサービスを提供しようとしても、そのスケールが変わってしまうとオリジナルとの予期せぬ差異は生じてしまうものです。
規模を拡大してみたのはいいが、新たなバグやシステム上対処できない問題が生まれてしまい、結局ユーザーにとって満足できるサービスを提供できなくなってしまった、というような、スケーラビリティを意識する際に最も避けたい問題が、この「ひずみ」の深刻化なのです。
どれだけ事前に想定していても、規模を大きくしていくうちにいずれは「ひずみ」と共生していくことになるのは避けられません。スケーラビリティの獲得には完全なゼロリスクは難しく、遅かれ早かれリスクを抱えながらスケーリングに臨むことになるのです。
ここで求められるのが、どの「ひずみ」を捨て、どの「ひずみ」と上手く付き合っていくかを選ぶという、トレードオフの考え方です。
先述の通り、スケーラビリティを獲得するためには「ひずみ」と付き合っていくことが不可欠で、そのためには最もリスクの低い「ひずみ」を選ばなければいけないのですが、日本人はついつい「ひずみ」を恐れて事業の拡大そのものを諦めてしまいがちです。
おそらく日本でスケーラビリティを獲得するために最も大事なのは、肉を切らせて骨を断つ思考で行動することでしょう。アメリカをはじめとする先進国や、中国や東南アジア諸国において勢いのあるサービスや企業が生まれているのは、事業拡大の際にも平気でリスクを取れるメンタリティを経営者が持ち合わせているからなのです。
リスクを抑える努力は大事ですが、リスクを承知でアクションできる姿勢はスケーラビリティを考える上で欠かせないことです。ゼロリスクに抑えようとする慎重な態度はもちろん良い結果につなげる上では必要ですが、事業やサービスをさらに拡大したいと考えるとき、いずれはリスクを背負う覚悟が必要とされることも心に留めておきましょう。
今回はそんなスケーラビリティとはそもそも何なのか。そしてスケーラビリティ獲得のための大きなカギとなる考え方についてご紹介します。
【目次】
スケーラビリティとは
汎用性の高い問題意識
一般的に言うスケーラビリティとは、英語のスケール(scale=規模)から派生した言葉で、アプリケーションやソフトウェア、機器における拡張性のことを指します。拡張性というのは、同じパフォーマンスをどれだけの規模まで維持することができるかを言います。例えばネットワーク関連のサービスを取り扱うアプリケーションやソフトウェアは、ユーザーが増えれば増えるほどサーバーに負荷がかかります。
このユーザーが増えた時でも必要なパフォーマンスをユーザーへ均等に提供できる力、すなわちキャパシティのあるサーバーを用意できる能力のことを、スケーラビリティの獲得と言います。
スケーラビリティは主にIT関連の分野で使われることが多く、最近ではビットコインのスケーラビリティ問題についての言及が多く見られますし、別分野だと経営学におけるスケーラビリティの話が見受けられました。
ただし別分野とは言っても本質的なテーマは変わりません。あるビジネスやサービスにおいて規模の拡大を考えた時、たとえユーザーの数が増えたとしても、現在の満足度や使い心地を維持できるかという課題、つまりスケーラビリティについての問題は、常に核となるテーマであり続けるのです。
そのためスケーラビリティについて考えるヒントは、あらゆる分野を横断して見つけることができます。異分野比較からスケーラビリティを考える場合、たとえば、スターバックスなどの飲食店におけるスケーラビリティは並行処理を行う環境を普段から整えることです。
スターバックスがスケーラビリティを拡張する方法の1つはスーパーバリスタ、つまり才能があって、仕事を手早くこなせる、聡明な人物を雇うことです。
引用:http://postd.cc/what-starbucks-can-teach-us-about-software-scalability/
スケーラビリティを取り巻く関連用語
スケーラビリティを獲得する上で軸としたい考え方は、主に二つに分けることができます。これらは「スケールアップ」「スケールアウト」と呼ばれており、これら二つのどちらかを用いてスケーラビリティの獲得にアプローチしていくのが一般的なセオリーです。スケールアップ
「スケールアップ」は中身の性能の向上によってスケーラビリティの獲得を図る解決方法です。例えば先のサーバーの例で言うと、処理速度の速い最新モデルに切り替えることでキャパシティを確保するのはスケールアップに分類されます。前述のスターバックスの例でいくと、最新のコーヒーマシンを導入して作業効率を向上させたり、既存のスタッフの教育やマニュアルの改変に力を入れ、より効率よく稼働させる方法がスケールアップに当てはまるでしょう。
一見コストも比較的抑えられ、無駄の少なそうなアプローチのように思いますが、スケールアップのデメリットとしてよく言われているのは、この方法には最適化に限界があり、機器やスタッフの作業効率は挙げられても、それ以上の効率化は望めない点です。
いくら最新機器を定期的に導入してもキャパの上限はやや上昇する程度ですし、スタッフも人間なので一人で二人分・三人分の仕事をこなすのには無理があります。
スケールアウト
もう一つのアプローチとして「スケールアウト」という方法があります。こちらはスケールアップのような能力の底上げではなく、足りない分を新たに補充することで解決を図るアプローチを指しています。サーバーが足りなければもう一台用意し、人手が足りなければ新たにスタッフを雇うといった手段を取るため、既存のシステムを維持しつつもスケーラビリティを獲得することが容易な手段と言えるでしょう。
短期間のうちに大きくキャパシティを改善できるスケールアウトですが、その分コストはかかってしまいます。スケールアップの場合は工夫次第でコストを低く抑えることができましたが、スケールアウトはコスト面の問題は免れません。
かと言って下手にコスト削減を行い、スケールアップに固執しすぎると、かえって作業効率を悪くしてしまったり、余計に時間やお金がかかってしまう可能性もあるため、これらの使い分けのタイミングを見極めることが、効率よくスケーラビリティを獲得するために欠かせないのです。
スケーラビリティはいかにして獲得するのか
スケーリングで必ず生まれる「ひずみ」
スケーラビリティはスケールアップ・スケールアウトの二つのアプローチを用いて獲得されるものですが、どちらの方法にせよ、もう一つ考慮しておかなければならないのが、スケーリング(規模の増減)の際に生まれる「ひずみ」です。スケーラビリティはもちろんローコスト・ローリスクで獲得するのが一番ですし、そのために様々な方法を思索することが大切ですが、同じサービスを提供しようとしても、そのスケールが変わってしまうとオリジナルとの予期せぬ差異は生じてしまうものです。
規模を拡大してみたのはいいが、新たなバグやシステム上対処できない問題が生まれてしまい、結局ユーザーにとって満足できるサービスを提供できなくなってしまった、というような、スケーラビリティを意識する際に最も避けたい問題が、この「ひずみ」の深刻化なのです。
スケーラビリティとゼロリスク思考は相性が悪い
残念ながら、このスケーリングの際に生じる「ひずみ」は必然的に発生してしまうものであり、その都度対処していかなければならないというのがスケーラビリティを取り巻く実情です。どれだけ事前に想定していても、規模を大きくしていくうちにいずれは「ひずみ」と共生していくことになるのは避けられません。スケーラビリティの獲得には完全なゼロリスクは難しく、遅かれ早かれリスクを抱えながらスケーリングに臨むことになるのです。
ここで求められるのが、どの「ひずみ」を捨て、どの「ひずみ」と上手く付き合っていくかを選ぶという、トレードオフの考え方です。
スケーラビリティの獲得に欠かせないトレードオフの発想
日本人の苦手分野をどう克服するか
もはや世間でも知られている通り、日本の企業が苦手とする考え方の一つが合理的なトレードオフの考え方で、事業を拡大したいが切るカードを選べずにチャンスを逃してしまうのはゼロリスク思考にこだわり過ぎていることが原因と言えるでしょう。先述の通り、スケーラビリティを獲得するためには「ひずみ」と付き合っていくことが不可欠で、そのためには最もリスクの低い「ひずみ」を選ばなければいけないのですが、日本人はついつい「ひずみ」を恐れて事業の拡大そのものを諦めてしまいがちです。
おそらく日本でスケーラビリティを獲得するために最も大事なのは、肉を切らせて骨を断つ思考で行動することでしょう。アメリカをはじめとする先進国や、中国や東南アジア諸国において勢いのあるサービスや企業が生まれているのは、事業拡大の際にも平気でリスクを取れるメンタリティを経営者が持ち合わせているからなのです。
リスクを抑える努力は大事ですが、リスクを承知でアクションできる姿勢はスケーラビリティを考える上で欠かせないことです。ゼロリスクに抑えようとする慎重な態度はもちろん良い結果につなげる上では必要ですが、事業やサービスをさらに拡大したいと考えるとき、いずれはリスクを背負う覚悟が必要とされることも心に留めておきましょう。