Products Naming for AWS


我心裡一直有這樣問題:

AWS 有些產品用 Amazon 開頭(像 Amazon EC2、Amazon API Gayeway、Amazon CloudWatch),有些則是用 AWS 開頭(像是 AWS CloudFormation、AWS Lambda、AWS IoT),如下圖:

底下整理我對於命名前置詞命名的猜測。

猜測

用架構角度來看,分成兩種:

  • 核心基礎架構服務: Core Infrastructure Services
  • 產品服務: Product Services

核心基礎服務Amazon 開頭,像是 Amazon SQSAmazon S3Amazon EC2Amazon VPCAmazon DynamoDBAmazon CloudFront、Amazon API Gateway …,這些整個 Cloud 的最最最核心,也是最重要的架構,用這些基礎架構服務可以組出其他任何新的產品服務。

例如 AWS 歷史最悠久的前三個服務 SQS、S3、EC2。從這些服務的特性,可以推測再變成 Service 給使用者之前,在 Amazon 內部已經使用一段時間,最後變成服務化、產品化。通常這些基礎架構服務只要爛掉、出問題,影響都是災難性的、毀滅性的,所以他們的要求會異常的高。因為這些服務承載的產品服務的基礎。

用 AWS 開頭,像是 AWS Lambda、AWS Batch、AWS CloudFormation … 這些屬於基於基礎架構服務做出來的產品服務,也就是基於基礎架構服務之上,堆疊出來的產品。這種產品的特性就是給更終端的使用者,他的訴求在於快、簡單。與基礎架構服務不一樣的事,從使用上來講,可以無腦使用,但是實際上要高效能使用他們,還是要回去懂基礎服務

有人說 AWS 的命名很亂的問題,恩,我是覺得還好。我不認同把名稱取得太一般,但是要有適度的規範以及慣例,例如 Apple 產品線命名算是容易懂的。

結論

不過 AWS 跟 Apple 的 TA 不一樣,前者是技術宅,後者是一班人。技術宅通常都討厭命名,通常也不太在乎命名,所以要他們去記這些名字是很痛苦的。像有個產品叫做 Athena (雅典娜) 我每次都要說這是 AWS 的 BigQuery … 技術宅能理解的是形容詞、類比,而不是一個沒聽過的怪名詞。。。

不過,雅典娜應該聽過吧?!勝豆士 啊。。。


延伸閱讀


Comments