Cloud、Server、Edge:あなたのアプリは実際どこに住んでいるのか
写真を保存すると、誰かが「大丈夫、cloud にあるから」と言います。あなたは何を思い描きますか――空に浮かぶふわふわした白いもの? 続いて開発者が「edge」でコードを走らせる話をすると、それは危なっかしく、崖っぷちに立つように聞こえます。これらの語はどれも日常のイメージが示すような意味ではなく、そのずれが果てしない小さな混乱を生みます。
ここに、安心できる真実があります。これらの詩的な語の背後にあるのは、ふつうの建物の中のふつうのコンピューターです。それを知れば、「ソフトウェアがどこに住んでいるか」についての語彙は単純になり、いちばん良い意味で、少し退屈にすらなります。
このテーマ全体は、実はひとつの問いです。これを動かしているのは誰のコンピューターで、それはどこにあるのか? このグループのどの語も、その問いへの異なる答えにすぎません。問いを念頭に置けば、霧は晴れます。
クイック回答
cloud とは、誰か別の人が所有・運用し、インターネット越しにアクセスする遠隔のコンピューターにすぎません。server とは、大きさを問わず、他者に提供することを役目とするコンピューター(またはプログラム)です。edge とは「最先端」ではなく、物理的に利用者やデバイスに近いことを意味します。何かを host するとは、他者が届くようにコンピューター上でそれを動かすことです。on-premise とは、自社のコンピューター上、自社の建物の中でそれを動かすことを意味します。
キーワード
- Cloud(クラウド)。 データセンター内の遠隔コンピューターで、プロバイダーから借り、インターネット越しに到達します。「in the cloud」は「どこかにある誰かのコンピューター上」を意味し、空の中ではありません。
- Server(サーバー)。 ウェブページ、ファイル、データなどを他者に提供するコンピューターまたはプログラム。「server」は大きさではなく役割を表します。小さな箱も server になれますし、巨大なマシンもそうです。
- Edge(エッジ)。 利用者やデバイスがいる場所の近く。「edge computing」は、遠くではなく利用者の近くで処理することを意味し、速くするためです。
- Host(ホスト / ホスティング)。 動詞としては、他者が使えるようにコンピューター上でソフトウェアを動かすこと("we host the site")。名詞としては、それをしているコンピューターです。
- On-premise / on-prem(オンプレミス)。 cloud プロバイダーから借りるのではなく、自社が所有するコンピューター上、自社の場所で動かすこと。
- Data center(データセンター)。 コンピューターでいっぱいの建物で、「cloud」の背後にある物理的な現実です。「cloud」と聞いたら、データセンターを思い描いてください。ずらりと並ぶマシン、おびただしいケーブル、うるさい冷却ファンを。
- Client(クライアント)。 server と対になる役割。client は尋ねるコンピューターまたはプログラム、server は答えるほうです。あなたのスマホはふつう client で、それが話す相手はふつう server です。
よくある落とし穴
よくある落とし穴は、cloud を特別で魔法めいた場所として思い描くことです。夢見るような意味では、それはそもそも場所ではありません。会社が所有し、あなたが料金を払って使う、建物の中のふつうのコンピューターの列です。「moving to the cloud」とは「自分のを買う代わりに誰かのコンピューターを借りる」という意味にすぎません。詩情をはぎ取れば、この語は神秘的でなくなります。
server という語は、それが「大きくて強力なマシン」を意味すると思い込ませて人をだまします。違います。server は役割です。他者にものを提供すること。あなたのノートパソコンも server として働けます。小さなデバイスも server になれます。「the server is down」と言うとき、それはリクエストに応えるはずだったコンピューターやプログラムが止まったという意味で、必ずしも巨大なメインフレームが故障したわけではありません。
edge が一番ずる賢いです。日常会話で「edge」は危険("on the edge")や流行の最先端("cutting edge"、"edgy")をほのめかします。テックでは「the edge」は、地理的にもネットワーク的にも、利用者やデバイスの近くを意味するだけです。「running at the edge」は、応答が速くなるよう人の近くで動かすこと。リスクともファッションとも無関係です。「edge」を「cutting edge」と読めば、文全体を読み違えてしまいます。
host が人をつまずかせるのは、ディナーパーティーの意味のせいです。host は客を迎えます。テックでは、host とは他者が届くようにソフトウェアを動かすこと。「Who hosts your website?」は「誰のコンピューターがそれを動かしているのか?」という意味で、もてなしは一切関係ありません。
最後に、on-premise(しばしば「on-prem」と略します)は、ただ「自社のコンピューター上、自社の建物の中で」を意味します。古くさい、あるいは必ず安いものとして扱う人もいますが、それは場所の選択にすぎません。自社のマシンか、借りた cloud のマシンか。それぞれにトレードオフがあり、どちらが自動的に優れているわけでもありません。
小さなおまけの落とし穴が data center にひそんでいます。この言葉はハイテクで抽象的に聞こえますが、このリスト全体で最も具体的なものです。本物の建物、本物のマシンでいっぱいで、本物の電気を引き、本物のファンで冷やされています。「cloud」がこうした平凡な建物の中に住んでいるとようやく思い出したとき、最後の謎も流れ去ります。
server と client をほぐすのも役立ちます。両者は対としてしか意味をなさないからです。ひとつの会話における2つの役割を表しています。一方が尋ね、一方が答える。尋ねるほうが client、答えるほうが server です。同じコンピューターでも、何をしているかでどちらの役割も演じられるので、「server」を一種のマシン、「client」を別の一種と思い描かないでください。それらは仕事であって、種ではありません。「the client sends a request to the server」と読んだら、その意味は「尋ねるプログラムが答えるプログラムに質問を送る」だけです。
このグループ全体をまとめると、単純な地図が現れます。cloud は誰かのデータセンターにある借りたコンピューター。server は大きさを問わず、答えている当のコンピューター。edge はそうしたコンピューターがあなたの近くに置かれている場所。hosting はソフトウェアを動かす行為。on-prem はそのために自社の建物を選ぶこと。どれも天気でも危険でももてなしでもなく、「誰のコンピューターで、どこか」への平易な答えのひとそろいです。
自然な例とぎこちない例
ぎこちない: My files are floating up in the cloud, somewhere in the sky.
自然: My files are stored on the provider's remote computers, the cloud.
やや不自然: Running at the edge sounds dangerous and unstable.
より良い: Running at the edge means running close to users, so it's fast.
ぎこちない: We need a server, so we bought the biggest, most powerful machine.
自然: We need a server, even a small computer can serve our requests.
ぎこちない: We host our app, so we welcome it warmly.
自然: We host our app on a rented server, so users can reach it.
やや不自然: We went on-premise because the cloud is too modern for us.
より良い: We chose on-premise so we keep everything on our own computers.
ミニ表
| Word | こう聞こえる | 実際の意味 |
|---|---|---|
| cloud | 空にある何か | 誰か別の人が運用する遠隔コンピューター |
| server | 大きくて強力なマシン | 提供する役割のコンピューターやプログラム、大きさは問わない |
| edge | 危険;流行 | 利用者やデバイスの近く |
| host | 歓迎するパーティーの主人 | 他者が届くようソフトウェアを動かすこと |
| on-premise | 古くさい既定 | 自社のコンピューター上、自社の建物で動かす |
クイック練習
正しいか誤りか。下で答え合わせを。
- "The cloud" is a special place in the sky.
- A server must be a very large machine.
- "At the edge" means close to the user.
- To host a website means to run it for others to reach.
- On-premise means renting computers from a cloud provider.
答え:
- False. It is remote computers someone else runs.
- False. Server is a role, not a size.
- True.
- True.
- False. On-premise means your own computers in your own building.
まとめ
このグループのどの語も、平易な現実を鮮やかなイメージの背後に隠しています。cloud は空ではなく借りたコンピューター。server は大きさではなく役割。edge は危険でも流行でもなく「あなたの近く」。host は迎えるのではなく動かすこと。on-premise はただ「自社のマシン」。ソフトウェアがどこで動くかについてのテック文章を読むときは、その詩情をふつうの部屋にあるふつうのコンピューターへと頭の中で翻訳し直してください。そうすれば、このテーマ全体が明快で、扱いやすく、マーケティングが響かせる印象よりずっと親しみやすくなります。次に誰かがあなたのファイルは「in the cloud」だと言ったら、ほほえんで、どこかでうなりをあげるデータセンターを思い描き、その意味を正確に知っていればよいのです。ただのもう一台のコンピューターが、自分の仕事をしている。それがたまたま誰か別の人のものだ、というだけのことです。
