見出し画像

まだ「ペット vs 家畜」と言いますか?

※公開後の追記があります。末尾参照。

4月1日にかこつけて、ちょっと与太話を書いてみようと思う。テーマはクラウド界隈で広く知られている「ペット vs 家畜」という表現だ。与太話とはいえ「僕は本気でこれを書いている」と言っておくが、まあそれは言ってみてるだけの嘘だ。エイプリルフールだしね。ちなみに「僕は本気でこれを書いている」と「嘘だ」のどっちがエイプリルフールのネタなのかは皆様の判断にゆだねる。

「ペット vs 家畜」の来歴

クラウドコンピューティングの世界では、「ペット vs 家畜」という古くからの比喩がある。どれぐらい古くからかというと2012年で、「NISTによるクラウドコンピューティングの定義」が2011年だからクラウド元年の翌年ってくらい古くからある。その歴史については微妙に異なる説明のバリエーションを見かけるけど、僕が追った範囲では、MicrosoftのBill Bakerが唱え、OpenStackのRandy Biasがクラウドコンピューティングに適用し、CERNのGavin McCanceが紹介して広まったらしい。

まずそもそもは、これはクラウドコンピューティングの話ではなく、MicrosoftのBill BakerがSQL Serverのスケーリングを説明するために使った比喩らしい。そのスライドはもうインターネット上に見当たらないのだけど(あったら教えてほしい)、OpenStackの創業メンバーでもあるRandy Biasが次のように記している(訳は筆者)。

2011年または2012年のある時期に、AWS、クラウドネイティブアプリ、およびクラウドが以前とは根本的にどのように異なっているかを顧客に説明するために悪戦苦闘していました。ほとんどの場合、説明には途方もない時間がかかりました。これを要約する術を探していた時、SQL Serverのスケーリングに関するBill Bakerーの小さく偉大なプレゼンテーションに遭遇しました。Billはクラウド界隈ではこのプレゼンをしておらず、私はグーグル検索でこれを掘りだしました。彼はクラウドやクラウドコンピューティングについて話しているわけではありませんでいた。焦点は、一般的に「スケールアップ」と「スケールアウト」アーキテクチャに関するものでした。

The History of Pets vs Cattle and How to Use the Analogy Properly | Cloudscaling

Randy Biasはこのプレゼン資料について「もともとの日付は2006年だ」と明かしている。AmazonがS3を提供開始してAWSを船出させ、エリック・シュミットが「クラウド・コンピューティング」という言葉を初めて(※諸説ある)使う年だ。Google App EngineやForce.comの登場には翌年を待つ必要があり、Microsoft Azureはと言えば2010年の開始。Bill Bakerがクラウドについて話しているわけではなかったのは、当然かもしれない。

最も重要なことは、Billの使ったアナロジーに私は深く共鳴したということです。彼は、ペットと家畜の群れを比較するという文脈で、スケールアップとスケールアウトについて話しました。私の頭上でライトが点灯し、これこそ探していたエレベーターピッチであると気づきました。

The History of Pets vs Cattle and How to Use the Analogy Properly | Cloudscaling

ペット対家畜という比喩は「Bill Bakerが最初に取り上げ、CERN Data Centre EvolutionのプレゼンテーションでGavin McCanceによって紹介され普及した」という説明も見かける。ただし現在公開されている版の該当スライドには、Randy Biasのスライドからの借用だと追記されている。

そのRandy Biasのスライドは下のようにシンプルな、スケールアウトとスケールインの対比だけに言及した、Bill Bakerの比喩をWebサーバーに当てはめただけのものに見える。それに比べると、CERNのスライドは「ペットが病気になったら、健康を取り戻すように手当てする」「家畜が病気になったら、別の一頭を手に入れる」などと書かれ、なんというか饒舌だ。

ただこのあたりも、どうもRandy Biasが言い添えたことのように思われる。上の引用文は、以下のように続いている。

しかし、私が焦点を当てたわずかではあるが重要なニュアンスがありました。まず、ペットと牛をクラウドのコンテキストに置き、次に、牛の処分可能性とペットの唯一無二性を強調しました。これは、スケールアップするかスケールアウトするかよりもはるかに重要でした。これらは、各人のサーバー観を副次的に示すものだと私は信じます。サーバー(物理か仮想かコンテナかを問わず)を本質的にいつでも破壊および交換できるものと見なす場合、そのサーバーは群れのメンバーです。しかしサーバー(または単一のユニットとみなすサーバーのペア)を失うことのできないものと見なす場合、それはペットです。

The History of Pets vs Cattle and How to Use the Analogy Properly | Cloudscaling

同年(2012年)のRandy Biasの別のスライドでは、この点も盛り込まれている。曰く、家畜であれば「when they get sick, you shoot them.」ということだ。CERNのスライドはこれをよりソフトに言い換えた感じだ。

「ペット vs 家畜」の来歴はこれで一本につながり、クラウドコンピューティングにおけるこの比喩はRandy Biasが祖ということになる。

「ペット vs 家畜」とは

彼が作り上げたエレベーターピッチは、こういうものだ。

古いやり方では、サーバーをペットのように扱います。たとえば、メールサーバーのBobです。Bobが倒れれば、総員お手上げです。CEOは自分のメールを受け取ることができず、それは世界の終わりです。新しい方法では、サーバーは群れなす家畜のように番号が付けられます。たとえばwww001からwww100です。1台のサーバーがダウンすると、そのサーバーは取り戻され、撃たれ、ライン上で交換されます。

The History of Pets vs Cattle and How to Use the Analogy Properly | Cloudscaling

簡単にまとめると、次のような比喩だということになると思う。

スケールアップ=ペットモデル
・一台のサーバーに名前(bobなど)を付けて大切にする
・不調(処理能力不足)になったらケア(CPU交換やメモリ/ディスク追加)
・病気(バグ・EOL)になったらケア(パッチ適用、版数更新)
・最大限延命

スケールアウト=家畜モデル
・サーバーは数字(www001~100など)で呼ぶ
・不調(処理能力不足)になったらケア(増設・負荷分散)
・病気(バグ・EOL)になったら入替え・破棄(Immutable Infrastructure)
・Twelve Factor Appの「X. 開発/本番一致」と考え合わせると極短寿命

この例えはコンピューター業界に広く受け入れられ、例えばAWSのサイト上でも「クラウドにおけるパフォーマンス効率について考えるときは、サービスを cattle、not pets (ペットではなく家畜) として考えることが役に立ちます」と説明しているし、Microsoftのサイト上でもPets vs Cattleの喩えが使われている。

2021年の家畜観

この「ペット vs 家畜」という比喩は、2013年〜2014年にかけて僕もよく耳にした。つまり、日本でも随分とこれが叫ばれた。ただスケールアウトよりイミュータブルインフラストラクチャと結びつけて使われていたように思う。システムに変更を加える時は、稼働中のインスタンスに手を加えるのではなく、新しい構成で新しいインスタンスを立ち上げて、切り替え、古いインスタンスを止めるのだと。

その後、こうした文脈ではストレートに「イミュータブルインフラ」とか「ブルーグリーンデプロイメント」という言葉がそのまま使われ、ペット対家畜という言葉はあまり耳にすることがなくなった。だからつい先日「ペット対家畜」という説明を耳にした時には、本当に久しぶりだと思った。久しぶりに聞くな。何年ぶりだろう。そしていまどき、この比喩は大丈夫なのかな、と少し気になった。

Randy Biasがこれを唱えた2012年からもう9年が経って、社会はずいぶん変わった。国連加盟国はSDGsを共に掲げ、多様な価値観と倫理観を大切にするようになった。アニマルライツの考え方からファーやダウンをよしとしない人も増え、2015年頃から話題のアニマルフリーなアウターは今冬どこのブランドも取り入れてるのではというくらいのトレンドだった。ユニクロが今冬投入したRE.UNIQLOリサイクルダウンジャケットもこの延長線上だろう。こうした価値観はかなり身近なところまで来ている。

畜産の世界ではアニマルウェルフェアの考え方が広まり、国際獣疫事務局の採択を受けて日本では農林水産省が2017年に「アニマルウェルフェアに配慮した家畜の飼養管理の基本的な考え方について」を発出した。この中で啓蒙対象とされている畜産技術協会の飼養管理指針が、同省の「アニマルウェルフェアについて」というページでまとめてリンクされているが、これを見ていくと次のような一節がある。

けがをしたり、病気にかかったりしているおそれのある牛が確認された場合は、可能な限り丁寧に移動・分離し、迅速に治療を行うこととする。また、治療を行っても回復する見込みのない場合は、必要に応じて獣医師と相談の上、安楽死の処置をとることも検討することとする。

アニマルウェルフェアの考え方に対応した肉用牛の飼養管理指針 第6版

同協会の調査によれば、2016年時点で実際にこの「迅速に治療」行っていると回答した農場が96.8%、回復の見込みがない場合に「適切な方法での安楽死」を検討していると回答した農場が83.0%となっている。いまどきの家畜の考え方は「when they get sick, you shoot them.」が「普通」だと言いきれる感じではない。アニマルウェルフェアがすでに「普通」だとまでは言いきれないけど、少なくともいまや家畜に対する考え方も多様化し複雑化したとは言える。

まだ「ペット vs 家畜」と言いますか?

歴史的に「ペット vs 家畜」という比喩があったことも、それがよく機能してきたことも間違いない。その点を説明することは構わないだろう。ただ現在のクラウドの考え方として引き合いに出すなら、「ペット vs 家畜」という比喩は微妙なものを感じる。

まずクラウドの利用者の中には、そうした家畜観に抵抗を覚える人がいるかもしれない。それ以前に家畜観が違い過ぎて「家畜モデル」と言っても伝わらないかもしれない。そしてクラウド業界の重要な顧客であるパブリックセクターには農林水産省が含まれるし、農畜産業界はIoTの重要な適用分野だ。このなかには畜産技術協会の調査結果からうかがえるようにアニマルウェルフェアに真剣に取り組んでいる畜産家も相当数いるだろう。そうした人たちに「when they get sick, you shoot them.」は受け入れられると思えない。

前五輪委員長の女性蔑視発言は記憶に新しいと思う。女性蔑視は古くからの問題ではあるのだけど、まだその問題に鈍感であるのは不適切なだけでなく、ダイバーシティといういまどきの常識を欠いていることは職務遂行の妨げになる、というのが引退を余儀なくされる理由ではないかと思う。「ペット vs 家畜」という比喩はどうだろう。アニマルウェルフェア、それから多様な家畜観というダイバーシティは、もう新しい常識だろうか、まだスルーできる常識未満だろうか。

(追記1)Bill Bakerのスライド資料の初出年について田島暁雄(arton)さんからコメントをいただき、「Randy Biasはこのプレゼン資料について…」の段落を追加しました。ありがとうございました。

(追記2)この比喩を初めて聞いた等のコメントもいただき、『「ペット vs 家畜」とは』の項を独立させて説明を追加しました。ありがとうございました。

(ご参考)2006年のS3リリース、「クラウドコンピューティング」という呼称から、2011年の「NISTによるクラウドコンピューティングの定義」までについては、簡単な小史を以下にまとめています。


この記事が気に入ったらサポートをしてみませんか?