This article is more for light fun rather than true utility learning – we are cracking at how AWS Service Prefix Naming Convention works!

If you have used even some of the AWS services, you may have noticed (and might be wondering) – why are some services are named like “Amazon <Service Name>”, while others are named like “AWS <Service Name>”. We are talking about prefix – “Amazon” / “AWS” here.

 

Though it doesn’t make any difference in how you use the service, especially when most often you even drop the prefix when you are referring to a specific service – S3 (and not Amazon S3), EC2 (and not Amazon EC2), CloudFormation (and not AWS CloudFormation), etc. – it sure stands out in mind some times as if like – does Amazon randomly decide between the two?

It’s certainly not random – though several names (in my opinion) may be borderline for either prefix, or are straight-out confusing (more on this later).

 

Supposedly, this is the key convention:

  • If the service is a foundational stand-alone service, the service name is prefixed with “Amazon”
  • However, if the service is a packaged solution service, or more like a utility service, it’s name is prefixed with “AWS”

 

Examples of stand-alone services:

  • Amazon EC2
  • Amazon S3
  • Amazon Aurora
  • Amazon DynamoDB
  • Amazon CloudWatch

 

Examples of packaged or utility-type services:

  • AWS Lambda – a utility serverless service , with EC2 servers in the back
  • AWS Elastic Beanstalk – a packaged solution that manages foundational elements under the hood
  • AWS Backup – a centralized packaged solution that you use for (backing up) other Amazon / AWS services
  • AWS Build, AWS CodeCommit, AWS CodeDeploy, AWS CodePipeline – all of these are utilities to help you implement DevSecOps (or parts of it)

 

Now, back to our point around services that have prefixes that are borderline, or simply just confusing (because they are wrongly prefixed?? – may be, may be not).

Examples where I am confused:

  • Amazon Lightsail – why is this (packaged solution) prefixed “Amazon”, whereas Elastic Beanstalk prefixed “AWS”?
  • AWS IAM – why is this foundational service prefixed “AWS”? Sure it caters to all other services, but it sure can be standalone.
  • Amazon Cognito – so this packaged solution is “Amazon”, but IAM is “AWS”? Why?
  • Amazon SWF – why is this service “Amazon”, whereas Step Functions is “AWS”? I think AWS makes more sense for both of these.

 

Besides some fun here, bottom-line is we love AWS (or is it Amazon?) services irrespective of what prefix it has.

 

Have fun with AWS and AWS Service Prefix Naming Convention!!