AWSのサービス名の意味を掘り下げてみた ~コンピューティングサービス編~
この記事について
2022年11月現在、AWSには220個以上ものサービスが存在します。
エンジニアとしては、AWSを使いこなすために何のサービスがどのような機能を持っているかを頭に入れなければいけないのですが、これだけ大量にあると普段使う機会のないサービスについて覚えておくことはなかなか難しいです。多くのサービスは複雑な機能を持っており、具体的に何のために使うものなのかがひと目で分かりづらいというのも、覚えておくことが難しい理由の一つと思われます。
ところで、各サービスには当然ながらそれぞれ名前が付けられています。名前は、基本的には名付け対象の物事について大まかに言い表せるように付けるものです。ということは、AWSの各サービスの名前に込められた意味を読み解けば、もっと深くサービスについて理解できるかもしれません。
この記事では、名前の意味という少し変わったアプローチからAWSの各サービスについて解説をしていきます。
前述したようにAWSには膨大な数のサービスがあり、一度にすべてのサービスを取り扱うのは現実的ではありません。そのため、今回は、こちらのホワイトペーパーのコンピューティングサービスに分類されているサービスに絞って書いていきます。
なお、基本的にこの記事に書いた各サービス名についての解説は、私が個人的に推測した内容に過ぎません。AWS公式のものではないため、ご注意下さい。
サービスの名前の掘り下げ
Amazon EC2
Amazon EC2(安全でスケーラブルなクラウド上の仮想サーバー)| AWS
Amazon Elastic Compute Cloud (Amazon EC2) は、安全で規模の変更が可能なコンピューティング性能をクラウド内で提供するウェブサービスです。ウェブスケールのコンピューティングをデベロッパーが簡単に利用できるよう設計されています。
AWSの定番サービスです。クラウドがどのようなインフラなのかについて、多くの人がこのサービスを例に勉強したと思います。
EC2は略語であり、正式にはElastic Compute Cloudという名前です。
Elasticは「伸縮する、弾力性」という意味の単語です。Computeは「計算、算出」、Cloudはそのままクラウドインフラのことです。直訳すると、「伸縮するクラウドの計算サーバ」という感じでしょうか。
Elasticは、オートスケールのことを指しています。リクエストの量に応じてサーバリソースが増減する様子を伸縮という言葉で表現しているのでしょう。
オートスケールはEC2だけでなくクラウドインフラ自体の大きな特徴の1つです。そのため、EC2の他にもElasticという単語が入っているサービス名は多いです。
Amazon EC2 Image Builder
EC2 Image Builder は、AWS またはオンプレミスで使用するための仮想マシンとコンテナイメージの構築、テスト、およびデプロイを簡素化します。
こちらも、名前が機能について端的に言い表しているサービスです。EC2 という単語が付くことからまるでEC2用のイメージしか作れないように見えますが、実際は作成したイメージはオンプレミスでも使えますし、Dockerコンテナも作成できます。
Imageという単語は、ディスクイメージから来ています。何故、ディスクから取り出したデータのことをイメージと呼ぶようになったのか、そのはっきりとした理由は分かりません。Imageの持つ実体ではないという意味から連想されたのかもしれません。
Amazon Lightsail
Amazon Lightsail は、使いやすい仮想プライベートサーバー (VPS) インスタンス、コンテナ、ストレージ、データベースなどを費用効果の高い月額料金で提供します。 ユースケース
このサービスの名前は、単語をそのまま見るとVPSと何の繋がりもありません。それもそのはず、Lightsailはどうやら宇宙船から取ってきた言葉のようだからです。
いったい、宇宙船とVPSに何の関係があるのでしょう? そのことについてAWS公式が具体的に説明している記事は見つかりませんが、このライトセイル2号の特徴を見ていくと、何となく意味付けを感じ取れなくもないです。
太陽帆を広げたライトセイル2号が持つポテンシャルよ...! | ギズモード・ジャパン
ライトセイル2号には、太陽などの恒星の光を反射することで推進力を得るソーラーセイルという技術が使われています。ロケットなどと比べると得られる推進力はかなり小さいですが、恒星の光というほぼ無限のエネルギーを元にすることで、超長距離の移動が可能になることが期待されています。
瞬間的なパワーは出せないけれど、燃費は良く無理なく長時間稼働ができる。こういった特徴が、オートスケール機能を持つEC2などのサービスと比べ、複雑なことはできないけれど適切なプランを選択すれば安価に使用できるVPSに似ていると考えたのかもしれません。
AWS App Runner
AWS App Runner – フルマネージド型のコンテナアプリケーション - Amazon Web Services
AWS App Runner は、コンテナ化されたウェブアプリケーションや API を開発者が簡単かつ迅速にデプロイできるフルマネージド型サービスです。
コンテナやコードをデプロイするだけでアプリケーションが公開できるサービスです。コンテナを走らせるサービスにはAWS Fargateがありますが、ネットワークやLB等のインフラを設定することなくフルマネージドで使える点がこのサービスの強みです。
App(application software)のRunner(走者)と命名することで、ユーザはアプリケーションをこの走者に渡すだけで良いというメッセージを込めているのかもしれません。
AWS Batch
AWS Batch(バッチ処理をあらゆる規模で効率的に実行)| AWS
AWS Batch を使用することにより、開発者、科学者、エンジニアは、数十万件のバッチコンピューティングジョブを AWS で簡単かつ効率的に実行できます
正に名が体を表しているサービス名です。
ちなみにバッチ処理のBatchには一束、ひとまとまりの数量、群れという意味があり、こちらも特に捻りのないそのままなネーミングです。
AWS Elastic Beanstalk
AWS Elastic Beanstalk(ウェブアプリの実行と管理)| AWS
AWS Elastic Beanstalk は、Java、.NET、PHP、Node.js、Python、Ruby、Go および Docker を使用して開発されたウェブアプリケーションやサービスを、Apache、Nginx、Passenger、IIS など使い慣れたサーバーでデプロイおよびスケーリングするための、使いやすいサービスです。
ぱっと見ではApp Runnerと機能が似ていますが、App Runnerは利用者からインフラが完全に隠蔽されるのに対して、Elastic Beanstalkは裏で利用者側に管理責任のあるリソースが作られています。
サービス名のElasticはEC2で解説した通りですが、問題はBeanstalkです。Beanstalkは豆の木を意味する単語で、Elasticと合わせて直訳すると「伸縮する豆の木」となります。まるでコンピュータに関係のない言葉ですね。
BeanstalkはJack and the beanstalk――すなわち日本でも有名な童話である「ジャックと豆の木」から来ているようです。
ジャックと豆の木は、一晩で雲の上に届くほどの大きさになった豆の木を、主人公ジャックが登っていく物語です。
雲=クラウドと解釈すれば、クラウドの環境が簡単な設定をするだけですぐに手に入るこのサービスは、正に「ジャックと豆の木」におけるBeanstalkである、ということなのかもしれません。
AWS Fargate
AWS Fargate(サーバーやクラスターの管理が不要なコンテナの使用)| AWS
AWS Fargate は、サーバーレスで従量制料金のコンピューティングエンジンであり、サーバーを管理することなくアプリケーションの構築に集中することができます。AWS Fargate は、Amazon Elastic Container Service (ECS) と Amazon Elastic Kubernetes Service (EKS) の両方に対応しています。
今回の記事を書く上で一番困ったのがこのサービスです。なぜなら、由来がさっぱり分かりません。
Fargateという英単語は存在しないようですし、一応イギリスのシェフィールドに同名のショッピングエリアがあるようなのですが、特にコンテナサービスと関係する特徴を持っているわけでもありません。
Fargateをfar(遠くの)gate(門)と分解してみても、サービスに繋がりのある意味は出てきません。
というわけで、全くのお手上げです。
どなたか由来についてご存じの方がいれば、教えていただけるとありがたいです。
AWS Lambda
AWS Lambda(イベント発生時にコードを実行)| AWS
AWS Lambda は、サーバーレスでイベント駆動型のコンピューティングサービスであり、サーバーのプロビジョニングや管理をすることなく、事実上あらゆるタイプのアプリケーションやバックエンドサービスのコードを実行することができます。
Lambdaはラムダと読み、記号の「λ」のことを表します。サービスのアイコンでもこの記号が使われていますね。
C#など、一部のプログラミング言語ではラムダ式という記述法があります。
(x, y) => x + y;
これは、関数(メソッド)の記述を簡略化したり、関数を高階関数の引数として扱いたい時などに使われます。
プログラミングコードをメインに扱うサービスであることから、AWS Lambdaという名前がこのラムダ式から取られたのは間違いないでしょう。サービス内で、実行対象となるひと塊の処理のことを関数と呼んでいる点からもそれは伺えます。
また、AWS Lambdaは実行時間や同時実行数に制限があるため、本流のアプリケーションから呼び出して単発の処理を任せるという用途に向いています。こういった特徴も、プログラミングにおける関数と似通っています。
ただ、あえて「ラムダ」という言葉を使う意味はあまり感じられません。実際、GCPやAzureの類似サービスの名前では「Functions」というより分かりやすい単語を採用しています。
ちなみにラムダ式という言葉は数学のラムダ計算から来ています。ラムダという言葉自体に意味はなく、数式上で関数をλで表現する慣習から名前に使われているようです。
AWS Serverless Application Repository
AWS Serverless Application Repository(サーバーレスアプリを検索、デプロイ、公開)| AWS
AWS Serverless Application Repository は、サーバーレスアプリケーション用のマネージド型リポジトリです。チーム、組織、開発者個人が、再利用可能なアプリケーションを保存して共有できます。
AWS SAM(Serverless Application Model)フレームワークでLambdaやDynamoDB等を組み合わせて作成したサーバレスアプリケーションを公開したり、既に公開されているアプリケーションをデプロイできるサービスです
Serverless ApplicationのRepository(倉庫)ということで、シンプルにサービスの内容を表している名前です。
Repositoryという単語は、AWS外でもGitHubやDocker Hubなどのバージョン管理サービスでシステムを構成する各種データを保管しておく場所を表す言葉としてよく使われています。
AWS Outposts
AWS Outposts(AWS サービスをオンプレミス環境で実行)| AWS
AWS Outposts は、フルマネージドソリューションのファミリーの 1 員であり、AWS インフラストラクチャとサービスを事実上すべてのオンプレミスまたはエッジロケーションに提供し、真に一貫したハイブリッドエクスペリエンスを実現します。
Outpostは、前哨基地や支店という意味を持つ単語であり、クラウドと離れたオンプレミス上にAWS環境を構築するこのサービスらしい命名です。
AWS Wavelength
AWS Wavelength (5G デバイス向けの超低レイテンシーアプリケーションを提供) | AWS
AWS Wavelength は、AWS コンピューティングおよびストレージサービスを 5G ネットワーク内に組み込んで、超低レイテンシーアプリケーションの開発、デプロイおよびスケーリングのためのモバイルエッジコンピューティングインフラストラクチャを提供します。
Wavelengthは波長という意味の単語です。5Gの電波とAWSのサービスを組み合わせることから付けられた名前でしょう。
ちなみに電波の波長は物理学ではλと表すらしいのですが、さすがにAWS Lambdaとは無関係と思われます。
VMware Cloud on AWS
VMware Cloud on AWS(VMware 環境を AWS クラウドに移行および拡張)| AWS
ソフトウェアのクリエイターである VMware と、パブリッククラウドのリーディングプロバイダーである AWS が、完全にサポートし、すぐに実行可能なサービスとして、コンピューティング、ネットワーク、ストレージの機能を組み合わせたマネージドサービスを提供し、ビジネスの変革目標を加速させます。
vSphere, vSAN, NSXといったVMwareのサービスをAWS上で稼働させるサービスであり、シンプルに機能を表現したサービス名です。
ちなみにVMWareは製品名であるとともに企業の名前であり、Virtual Mchine(仮想マシン)から来ています。1998年の設立時から現在まで、仮想化技術に注力し続けている企業です。
サービス名のAmazonとAWSの違い
この記事で扱っているサービスだけでも、頭に付く単語がAmazonとAWSで分かれており、いったいどういう意味があるのだろうと調べてみたら、過去に弊社ブログで取り上げていました。
確かに、Amazon EC2やAmazon Lightsailはスタンドアロンで動くのに対し、AWS FaragteやAWS Lambdaなどは他のサービスとの組み合わせが前提になっています。
まとめ
今回は、AWSのサービスの中でもコンピューティングサービスに絞って名前の意味を掘り下げてみました。
思ったよりも抽象的な意味付けがされているサービスがあったり、そもそも由来を探すのが困難なサービスがあったりしましたが、いつもと違うアプローチからサービスの理解を深められ、調べていて面白かったです。
ただ、これだけいろいろ調べてまだAWS全体の1/10にも満たない数のサービスしか紹介できていないと考えると、なかなか呆然としてしまいます。
今後も、ちょくちょくと他のカテゴリのサービスについても同様の記事を書いていきたいと思います。