Ladies and gentlemen, I’m here to ask and answer one simple question:
Do you know how many services Amazon Web Services currently offers?
After the last re:Invent there’s probably around 200. But the exact exact number? No idea.
Why is it so? Because there isn’t a single source of truth we can consult. Sure there are sources of truths but can they all be trusted? And what do I mean by sources, plural?
Let’s consider the places were we can see the most up-to-date service listing. No, it is not your screenshot of that re:Invent video nor some other guy’s GitHub page with a “complete list ™”.
It is a living list. It evolves and changes. And gives us all headaches and nightmares in the process. The fact that AWS doesn’t retire services does little to ease the pain.
“So how do we get the ultimate and final list of all the services in this life and death!?” I hear you yell in desperation. Fear not, for we will go through multiple ways of obtaining the same (but different) lists of AWS services.
1. The AWS Console
Considering potential places where such lists may live, we cannot go further than AWS official sources. That gives us the first candidate – The AWS Console.
Click on the ever-helpful Services button and be amazed by the all-inclusive servicy goodness. Fantastic, isn’t it? Now, what useful thing can you possibly do with this data?
You can paste it to Notepad.
I kid you not, that’s it. There, in front of you, is a complete list of 158 AWS services.
Available in the console…
Gods damn it.
The AWS Console gave us 158 services. Here’s the list:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 |
Alexa for Business Amazon Braket Amazon Chime Amazon CodeGuru Amazon Comprehend Amazon Connect Amazon DocumentDB Amazon EventBridge Amazon Forecast Amazon Fraud Detector Amazon FreeRTOS Amazon GameLift Amazon Kendra Amazon Lex Amazon Machine Learning Amazon Macie Amazon Managed Blockchain Amazon MQ Amazon Personalize Amazon Polly Amazon QLDB Amazon Redshift Amazon Rekognition Amazon SageMaker Amazon Sumerian Amazon Textract Amazon Transcribe Amazon Translate API Gateway Application Discovery Service AppStream 2.0 Artifact Athena AWS Amplify AWS App Mesh AWS AppSync AWS Auto Scaling AWS Backup AWS Budgets AWS Chatbot AWS Cloud Map AWS Compute Optimizer AWS Cost Explorer AWS Data Exchange AWS DeepLens AWS DeepRacer AWS Glue AWS IQ AWS Lake Formation AWS License Manager AWS Marketplace Subscriptions AWS Migration Hub AWS Organizations AWS Outposts AWS RoboMaker AWS Single Sign-On AWS Transfer for SFTP AWS Well-Architected Tool Batch Certificate Manager Cloud9 CloudFormation CloudFront CloudHSM CloudSearch CloudTrail CloudWatch CodeBuild CodeCommit CodeDeploy CodePipeline CodeStar Cognito Config Control Tower Data Pipeline Database Migration Service DataSync Detective Device Farm Direct Connect Directory Service DynamoDB EC2 EC2 Image Builder ECR ECS EFS EKS Elastic Beanstalk Elastic Transcoder ElastiCache Elasticsearch Service Elemental Appliances & Software EMR FSx Global Accelerator Ground Station GuardDuty IAM Inspector IoT 1-Click IoT Analytics IoT Core IoT Device Defender IoT Device Management IoT Events IoT Greengrass IoT SiteWise IoT Things Graph Key Management Service Kinesis Kinesis Video Streams Lambda Launch Wizard Lightsail Managed Cassandra Service Managed Services MediaConnect MediaConvert MediaLive MediaPackage MediaStore MediaTailor Mobile Hub MSK Neptune OpsWorks Personal Health Dashboard Pinpoint QuickSight RDS Resource Access Manager Route 53 S3 S3 Glacier Secrets Manager Security Hub Server Migration Service Serverless Application Repository Service Catalog Simple Email Service Simple Notification Service Simple Queue Service Snowball Step Functions Storage Gateway Support SWF Systems Manager Trusted Advisor VPC WAF & Shield WorkDocs WorkLink WorkMail WorkSpaces X-Ray |
2. The AWS Cloud Products website
Duh, not every AWS service is available in the console. Some of them are exposed as an API endpoint for you to enjoy. Like… like… that other service. That one which isn’t in the console but you can call its APIs.
At least we’ve learned that there is no AWS service starting with letters H, J, U, Y, nor Z. Whoosh, what a relief! It was a time well-spent, after all. Now, how’s that for a trivia, huh? Aren’t you glad that you’ve started reading this article?
If still unconvinced, just wait until you get showered with beer won by betting with your pub buddies. “Can you name the most AWS services starting with H, J, U, X, Y, or Z?!” Quickly yell “X-RAY!” in your manliest voice and pick the fruits of your hard labor. It doesn’t matter that you’re playing with a trucker and a plumber – a win is a win!
But, seriously, our first effort yielded sub-optimal results. It is not a complete disaster but still could have been better. Undishartened thusly, we arrive to our second idea – The AWS Cloud Products website!
This is great! This is… what exactly is this? It is a list, that is for sure.
A matrix of some kind. Not the Matrix, though. That would have been too easy.
*click* *click*
Yep. It appears to contain all the services. Although I can’t seem to find Mechanical Turk.
*click* *click*
Is MTurk even a service? Ah, a 14-year-old question. About to get a driver’s license, start drinking legally and leave our home, yet we may never know.
Regardless, how many of the services are we seeing here? 24 sections. Let’s say about 7 services per section, on average… That makes it 175. Not that much more than 158, but puts us closer to 200.
Let’s rip the HTML apart and grab the full list. We’ll need to write a script for it and my weapon of choice here is PowerShell. You’re all shocked, I’m sure. If there ever was a way for you to see it coming.
Parsing anything more than a basic HTML using PowerShell is not very user friendly, but we’ll manage. I won’t go the usual route of putting different pieces together and explaining how they work but will rather provide what I’ve put together and you can test it yourself if you so desire.
After an hour, Python lovers are likely laughing at me in Beautiful Soup, but I care not. If you make a stupid choice, like deciding to parse complex HTML with PowerShell, stick to it and state to everyone within earshot that it’s because you play Doom on Nightmare. You may even get to sign an autograph or two.
Either way, this turned out to be not a complete disaster. Both in terms of me manipulating unmanipulative HTML (Yes, that is a word. You’ve seen it here first, folks!) and in terms of total services returned. 198! Aaaaaargh! SO CLOSE!
Considering the name of this website the code should have probably been much cleaner and written better but, for once on this blog, writing the PowerShell code wasn’t the point of the exercise. And I was in a kind of hurry to get this under wraps.
Stop complaining, I even got you the fancy square-bracket format for output and CSV. A HTML-ready output to place between <table> tags. Just uncomment lines 42, 43, or 44. Am I nice or what? The code will probably break as soon as AWS decides to revamp the page and breaks all the HTML classes but let’s not get into that right now.
Here’s the PowerShell code to get the page and inspect it section-by-section:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# 2020-01-07 # Loading MSHTML DLL to manipulate the HTML webpage try { Add-Type -Path "C:\Program Files (x86)\Microsoft.NET\Primary Interop Assemblies\Microsoft.mshtml.dll" } catch { Write-Host "Unable to load C:\Program Files (x86)\Microsoft.NET\Primary Interop Assemblies\Microsoft.mshtml.dll" -ForegroundColor DarkYellow break } # Loading AWS Products and Services website try { $Website = Invoke-RestMethod -Uri "http://aws.amazon.com/products/" } catch { Write-Host "Unable to load http://aws.amazon.com/products/" -ForegroundColor DarkYellow break } # Creating an HTML object for data extraction try { $HTML = New-Object mshtml.HTMLDocumentClass $HTML.IHTMLDocument2_write($Website) } catch { Write-Host "Unable to create an HTML object." -ForegroundColor DarkYellow break } # Parsing HTML and extracting data $Total = @() $Number = 0 $Parts = $HTML.IHTMLDocument2_body.getElementsByClassName("lb-trigger") foreach ($Part in $Parts) { $Section = ($Part | Select-Object InnerText).InnerText $Group = ($Part.parentElement.getElementsByClassName("lb-item-expander-content") | Select-Object innertext).innertext.Split([Environment]::NewLine) for ($i = 0; $i -le $Group.Count; $i = $i + 4) { $Properties = [ordered]@{ Number = ++$Number Section = $Section Service = $Group[$i+1] Description = $Group[$i+2] } # Write-Host "[$Number] [$Section] [$($Group[$i+1])] [$($Group[$i+2])]" # Square-bracket format # Write-Host "$Number,$Section,$($Group[$i+1]),$($Group[$i+2])" # Comma-separated format # Write-Host "$Number$Section$($Group[$i+1])$($Group[$i+2])" # Create HTML table. Wrap output in <table></table> tags. $Output = New-Object -TypeName PSObject -Property $Properties $Total = $Total + $Output } } $Total |
Results of the AWS website crawl – 198 services. Here’s the list:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 |
Amazon Athena Amazon CloudSearch Amazon Elasticsearch Service Amazon EMR Amazon Kinesis Amazon Managed Streaming for Apache Kafka Amazon Redshift Amazon QuickSight AWS Data Exchange AWS Data Pipeline AWS Glue AWS Lake Formation AWS Step Functions Amazon EventBridge Amazon MQ Amazon Simple Notification Service (SNS) Amazon Simple Queue Service (SQS) Amazon AppSync Amazon Sumerian AWS Cost Explorer AWS Budgets AWS Cost and Usage Report Reserved Instance Reporting Savings Plans Amazon Managed Blockchain Amazon Quantum Ledger Database (QLDB) Alexa for Business Amazon Chime Amazon WorkDocs Amazon WorkMail Amazon EC2 Amazon EC2 Auto Scaling Amazon Elastic Container Registry Amazon Elastic Container Service Amazon Elastic Kubernetes Service Amazon Lightsail AWS Batch AWS Elastic Beanstalk AWS Fargate AWS Lambda AWS Outposts AWS Serverless Application Repository AWS Wavelength VMware Cloud on AWS Amazon Connect Amazon Pinpoint Amazon Simple Email Service (SES) Contact Lens for Amazon Connect Amazon Aurora Amazon DynamoDB Amazon DocumentDB (with MongoDB compatibility) Amazon ElastiCache Amazon Managed Apache Cassandra Service Amazon Neptune Amazon Quantum Ledger Database (QLDB) Amazon RDS Amazon RDS on VMware Amazon Redshift Amazon Timestream AWS Database Migration Service Amazon Corretto AWS Cloud Development Kit (CDK) AWS Cloud9 AWS CodeBuild AWS CodeCommit AWS CodeDeploy AWS CodePipeline AWS CodeStar AWS Command Line Interface AWS Device Farm AWS Tools and SDKs AWS X-Ray Amazon AppStream 2.0 Amazon WorkDocs Amazon WorkLink Amazon WorkSpaces Amazon GameLift Amazon Lumberyard AWS IoT Core Amazon FreeRTOS AWS Greengrass AWS IoT 1-Click AWS IoT Analytics AWS IoT Button AWS IoT Device Defender AWS IoT Device Management AWS IoT Events AWS IoT SiteWise AWS IoT Things Graph AWS Partner Device Catalog Amazon SageMaker Amazon Augmented AI Amazon CodeGuru (Preview) Amazon Comprehend Amazon Elastic Inference Amazon Forecast Amazon Fraud Detector Amazon Kendra Amazon Lex Amazon Personalize Amazon Polly Amazon Rekognition Amazon SageMaker Ground Truth Amazon Textract Amazon Translate Amazon Transcribe AWS Deep Learning AMIs AWS Deep Learning Containers AWS DeepComposer AWS DeepLens AWS DeepRacer Amazon Inferentia Apache MXNet on AWS TensorFlow on AWS Amazon CloudWatch AWS Auto Scaling AWS Chatbot AWS CloudFormation AWS CloudTrail AWS Command Line Interface AWS Compute Optimizer AWS Config AWS Control Tower AWS Console Mobile Application AWS License Manager AWS Management Console AWS Managed Services AWS OpsWorks AWS Organizations AWS Personal Health Dashboard AWS Service Catalog AWS Systems Manager AWS Trusted Advisor AWS Well-Architected Tool Amazon Elastic Transcoder Amazon Kinesis Video Streams AWS Elemental MediaConnect AWS Elemental MediaConvert AWS Elemental MediaLive AWS Elemental MediaPackage AWS Elemental MediaStore AWS Elemental MediaTailor AWS Elemental Appliances & Software AWS Migration Hub AWS Application Discovery Service AWS Database Migration Service AWS DataSync AWS Server Migration Service AWS Snow Family AWS Transfer for SFTP CloudEndure Migration AWS Amplify Amazon API Gateway Amazon Pinpoint AWS AppSync AWS Device Farm Amazon VPC Amazon API Gateway Amazon CloudFront Amazon Route 53 AWS PrivateLink AWS App Mesh AWS Cloud Map AWS Direct Connect AWS Global Accelerator AWS Transit Gateway Elastic Load Balancing Amazon Braket AWS RoboMaker AWS Ground Station AWS Identity & Access Management Amazon Cognito Amazon Detective Amazon GuardDuty Amazon Inspector Amazon Macie AWS Artifact AWS Certificate Manager AWS CloudHSM AWS Directory Service AWS Firewall Manager AWS Key Management Service AWS Resource Access Manager AWS Secrets Manager AWS Security Hub AWS Shield AWS Single Sign-On AWS WAF Amazon Simple Storage Service (S3) Amazon Elastic Block Store (EBS) Amazon Elastic File System (EFS) Amazon FSx for Lustre Amazon FSx for Windows File Server Amazon S3 Glacier AWS Backup AWS Snow Family AWS Storage Gateway CloudEndure Disaster Recovery |
At least we don’t see 5 services in 15 characters this time. EC2, ECR, ECS, EFS, and EKS – Looking at you! Still, it is not over 9000 yet. Or even 200, for that matter. With the AWS growth rate, we’ll give it until 2030 for 9000 but for the moment we’ll focus on reaching these 200.
3. The AWS CLI
We need another thing. OK, probably too obvious at this point now, our next candidate is the AWS CLI. No, we’re not going to parse the HTML page this time. Even this once was enough. I’ve learned my lesson.
“Then what do we do here?” I hear you being impatient again. Worry not, my young padawan poor person who had to read all this yet the end is nowhere in sight, for this will be a piece of cake.
It is as simple as this: aws help > services.txt
Now just open the file and OH MY GODS MY EYES!
Clean up the file. And remove the empty lines in between. And the leading asterisk. And the space. Voila! We now see 220 services! Yaaay! That’s some really good news!
The bad news is that are being lied to. The lie will first be noticed by the people fully intent to win that beer bet in their local pub. For a hint, look under the letter H.
Health, Help, History. Whaaaaat?
OK, quick aws health help tells us it’s a way to access the Health API of the AWS PHD – Personal Health Dashboard service. But having Help and History here is just cheating. I half-expected to find something under J, U, Y, or Z, as well. I wonder what else don’t I know. What are you doing AWS CLI? I feel like I don’t even know you anymore.
Taking 2 points away for obvious cheats brings us to 218. I don’t even know what’s true anymore and with all the services named like we’re trying to win an 8K demo coding championship, I’m not even going to try and check. CE? PI? SDB? OK, I know which ones they are but a 2-character service description isn’t going to cut it when you have over 200 services!
Or, do you have over 200 services? How far do CLI lies go? At this point, I feel like it will tell me anything just to win in this game. No, CLI, no. We are done. The trust is broken. I’ll see you next time in v2.0.
The AWS CLI claims to list 220 services. Let’s look at its lies:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 |
accessanalyzer acm acm-pca alexaforbusiness amplify apigateway apigatewaymanagementapi apigatewayv2 appconfig application-autoscaling application-insights appmesh appstream appsync athena autoscaling autoscaling-plans backup batch budgets ce chime cloud9 clouddirectory cloudformation cloudfront cloudhsm cloudhsmv2 cloudsearch cloudsearchdomain cloudtrail cloudwatch codebuild codecommit codeguru-reviewer codeguruprofiler codepipeline codestar codestar-notifications cognito-identity cognito-idp cognito-sync comprehend comprehendmedical compute-optimizer configservice configure connect connectparticipant cur dataexchange datapipeline datasync dax deploy devicefarm directconnect discovery dlm dms docdb ds dynamodb dynamodbstreams ebs ec2 ec2-instance-connect ecr ecs efs eks elastic-inference elasticache elasticbeanstalk elastictranscoder elb elbv2 emr es events firehose fms forecast forecastquery frauddetector fsx gamelift glacier globalaccelerator glue greengrass groundstation guardduty health help history iam imagebuilder importexport inspector iot iot-data iot-jobs-data iot1click-devices iot1click-projects iotanalytics iotevents iotevents-data iotsecuretunneling iotthingsgraph kafka kendra kinesis kinesis-video-archived-media kinesis-video-media kinesis-video-signaling kinesisanalytics kinesisanalyticsv2 kinesisvideo kms lakeformation lambda lex-models lex-runtime license-manager lightsail logs machinelearning macie managedblockchain marketplace-catalog marketplace-entitlement marketplacecommerceanalytics mediaconnect mediaconvert medialive mediapackage mediapackage-vod mediastore mediastore-data mediatailor meteringmarketplace mgh migrationhub-config mobile mq mturk neptune networkmanager opsworks opsworks-cm organizations outposts personalize personalize-events personalize-runtime pi pinpoint pinpoint-email pinpoint-sms-voice polly pricing qldb qldb-session quicksight ram rds rds-data redshift rekognition resource-groups resourcegroupstaggingapi robomaker route53 route53domains route53resolver s3 s3api s3control sagemaker sagemaker-a2i-runtime sagemaker-runtime savingsplans schemas sdb secretsmanager securityhub serverlessrepo service-quotas servicecatalog servicediscovery ses sesv2 shield signer sms snowball sns sqs ssm sso sso-oidc stepfunctions storagegateway sts support swf textract transcribe transfer translate waf waf-regional wafv2 workdocs worklink workmail workmailmessageflow workspaces xray |
4. The AWS Tools for PowerShell
So who can we trust? PowerShell, of course! I’d write a poem about it here but cannot make myself. Let’s just go with it. I’m numb to pain at this point.
Using PowerShell to get the list of AWS services will be an even bigger piece of cake! Or, is it smaller if it’s easier? Whatever, it is a positively-sized piece of cake. It’s dynamic like that. Dare I say – elastic? And this cake is not a lie.
Jump to the AWS Tools for PowerShell page to grab it if you don’t have it already. It’s been recently upgraded to v4.0 and modules are separately packed so your 25+ MB Lambdas are things of the past! Now they’re only 12 and start in 4 seconds instead of 6. It’s an improvement, shut up.
Let’s do this. Grab the PowerShell console and type Get-AWSService. Yes, it is that simple. A service name, its prefix, and a full name. All in one. Thank you, PowerShell.
If you prefer getting only the service names, (Get-AWSService).ServiceName is your buddy. Grab it, paste it into something which counts lines (Visual Studio Code, for example) and skip to the end.
Bah. 203. Hey, but at least we’re not being lied to. I’m tempted to rule the first place here based on fair play alone.
But I can’t. 203 (real services) is still less than 218 (lying ones). Or is it? I guess we’ll never know. Not unless someone goes through the AWS CLI listing and confirms the totals. Will you do it? Are you the hero we need? Please do let me know if you are. I’ll send you stickers or something.
Let’s confirm this. We have another cmdlet we can use, Get-AWSCmdletName. Among other things, it helps list cmdlets belonging to AWS services. We can use it to get all the service names out of it. ((Get-AWSCmdletName).ServiceName | Select-Object -Unique).Count Counting only unique ones we get to 203 again. PowerShell tells no lies.
The AWS PowerShell lists 203 real services. Let’s take a look:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 |
AWS Amplify AWS App Mesh AWS AppConfig AWS AppSync AWS Application Discovery Service AWS Auto Scaling AWS Auto Scaling Plans AWS Backup AWS Batch AWS Budgets AWS Certificate Manager AWS Certificate Manager Private Certificate Authority AWS Cloud Map AWS Cloud9 AWS CloudFormation AWS CloudHSM V2 AWS CloudTrail AWS CodeBuild AWS CodeCommit AWS CodeDeploy AWS CodePipeline AWS CodeStar AWS CodeStar Notifications AWS Comprehend Medical AWS Compute Optimizer AWS Config AWS Cost Explorer AWS Cost and Usage Report AWS Data Exchange AWS Data Pipeline AWS DataSync AWS Database Migration Service AWS Device Farm AWS Direct Connect AWS Directory Service AWS Elastic Beanstalk AWS Elemental MediaConnect AWS Elemental MediaConvert AWS Elemental MediaLive AWS Elemental MediaPackage AWS Elemental MediaPackage VOD AWS Elemental MediaStore AWS Elemental MediaStore Data Plane AWS Elemental MediaTailor AWS Global Accelerator AWS Glue AWS Greengrass AWS Ground Station AWS Health AWS IAM Access Analyzer AWS Identity and Access Management AWS Import/Export AWS Import/Export Snowball AWS IoT AWS IoT Events AWS IoT Events Data AWS IoT Jobs Data Plane AWS IoT Secure Tunneling AWS IoT Things Graph AWS Key Management Service AWS Lake Formation AWS Lambda AWS License Manager AWS Marketplace Catalog Service AWS Marketplace Commerce Analytics AWS Marketplace Entitlement Service AWS Marketplace Metering AWS Migration Hub AWS Migration Hub Config AWS Mobile AWS Network Manager AWS OpsWorks AWS OpsWorksCM AWS Organizations AWS Outposts AWS Performance Insights AWS Personalize AWS Price List Service AWS RDS DataService AWS Resource Access Manager (RAM) AWS Resource Groups AWS Resource Groups Tagging API AWS RoboMaker AWS Savings Plans AWS Secrets Manager AWS Security Hub AWS Security Token Service (STS) AWS Server Migration Service AWS Serverless Application Repository AWS Service Catalog AWS Service Quotas AWS Shield AWS Simple Workflow Service (SWF) AWS Single Sign-On AWS Single Sign-On OIDC AWS Step Functions AWS Storage Gateway AWS Support AWS Systems Manager AWS Transfer for SFTP AWS WAF AWS WAF Regional AWS WAF V2 AWS X-Ray Alexa For Business Amazon API Gateway Amazon API Gateway Management API Amazon API Gateway V2 Amazon AppStream Amazon Athena Amazon Augmented AI (A2I) Runtime Amazon Chime Amazon Cloud Directory Amazon CloudFront Amazon CloudSearch Amazon CloudSearch Domain Amazon CloudWatch Amazon CloudWatch Application Insights Amazon CloudWatch Logs Amazon CodeGuru Profiler Amazon CodeGuru Reviewer Amazon Cognito Identity Amazon Cognito Identity Provider Amazon Cognito Sync Amazon Comprehend Amazon Connect Participant Service Amazon Connect Service Amazon Data Lifecycle Manager Amazon DocumentDB (with MongoDB compatibility) Amazon DynamoDB Amazon DynamoDB Accelerator (DAX) Amazon EBS Amazon EC2 Container Registry Amazon EC2 Container Service Amazon ElastiCache Amazon Elastic Compute Cloud (EC2) Amazon Elastic Container Service for Kubernetes Amazon Elastic File System Amazon Elastic Inference Amazon Elastic MapReduce Amazon Elastic Transcoder Amazon Elasticsearch Amazon EventBridge Amazon FSx Amazon Forecast Query Service Amazon Forecast Service Amazon Fraud Detector Amazon GameLift Service Amazon Glacier Amazon GuardDuty Amazon Inspector Amazon Kendra Amazon Kinesis Amazon Kinesis Analytics V2 Amazon Kinesis Firehose Amazon Kinesis Video Signaling Channels Amazon Kinesis Video Streams Amazon Kinesis Video Streams Media Amazon Lex Amazon Lex Model Building Service Amazon Lightsail Amazon MQ Amazon MTurk Service Amazon Machine Learning Amazon Macie Amazon Managed Blockchain Amazon Managed Streaming for Apache Kafka (MSK) Amazon Neptune Amazon Personalize Events Amazon Personalize Runtime Amazon Pinpoint Amazon Pinpoint Email Amazon Polly Amazon QLDB Amazon QLDB Session Amazon QuickSight Amazon Redshift Amazon Rekognition Amazon Relational Database Service Amazon Route 53 Amazon Route 53 Domains Amazon Route 53 Resolver Amazon S3 Control Amazon SageMaker Runtime Amazon SageMaker Service Amazon Simple Email Service (SES) Amazon Simple Email Service V2 (SES V2) Amazon Simple Notification Service (SNS) Amazon Simple Queue Service (SQS) Amazon Simple Storage Service (S3) Amazon Textract Amazon Transcribe Service Amazon Translate Amazon WorkDocs Amazon WorkLink Amazon WorkMail Amazon WorkMail Message Flow Amazon WorkSpaces Application Auto Scaling EC2 Image Builder Elastic Load Balancing Elastic Load Balancing V2 Firewall Management Service |
5. The AWS IAM
The last source we can check is AWS IAM Console.
It’s a pretty straight-forward and easy way to check the list of services so I’ve made it our last option for today. I know you’re all thrilled by now and demand to read more content but I am dead after 3 hours of writing. Find another person to pick on, bully.
In the meantime, hop on to the IAM Console and go to Users. Choose any one and select Access Advisor tab.
Showing 210 results.
You are welcome.
Still, if you really do want more, take a look at the JSON in the CSS of the page source. It is huge. Seriously. But you can use my favorite Hungarian JSON viewer website to make sense of it. Paste (a valid JSON string!) and Format.
You’ll see some really nice things now. Full list of regions, service categories, labels, descriptions…
Here’s a sample for EC2:
1 2 3 |
"label": "EC2", "description": "Amazon Elastic Compute Cloud (EC2) provides resizable compute capacity through virtual machines (VM's or instances) in the cloud.", "caption": "Virtual Servers in the Cloud", |
You may also notice the "unlisted": true tag next to pretty much each and every service. If you do a search for "unlisted": false you’ll see a service information about Kendra. Do with this information what you will. May come in handy in the future.
6. Conclusion
So, where does this leave us? How many services does AWS actually have? Do we even know if it’s even over 200?
The last part we can be sure of – AWS definitely has more than 200 services at this point.
But how many exactly? I have no clue.
Does it even matter? If your needed service is there, and is supported by the console, CLI, PowerShell or any other SDK would you care? Probably not.
As a closure, I’ll leave you with the results of our today’s test:
The AWS Console | 158 |
AWS Cloud Products website | 198 |
The Lying AWS CLI | 218 |
AWS Tools for PowerShell | 203 |
AWS IAM Console | 210 |
Did I miss any source of information or an easier/correct-er way to get it? Be a hero and let me know.
Thank you for being such a great sport and powering through this post. Hopefully, next time I’ll see you before the year is up. Will try my best, but no promises. This is the Way.
As a bonus, here’s a nice list of everything, ripped from the AWS Cloud Products page. It only makes sense to do so after spending so much time on the script. The list contains descriptions of services as well, but you’re stuck with that 198-list output from the AWS website.
Have an amazing week and may the Force be with you!
1 | Analytics | Amazon Athena | Query Data in S3 using SQL |
2 | Analytics | Amazon CloudSearch | Managed Search Service |
3 | Analytics | Amazon Elasticsearch Service | Run and Scale Elasticsearch Clusters |
4 | Analytics | Amazon EMR | Hosted Hadoop Framework |
5 | Analytics | Amazon Kinesis | Work with Real-time Streaming Data |
6 | Analytics | Amazon Managed Streaming for Apache Kafka | Fully managed Apache Kafka service |
7 | Analytics | Amazon Redshift | Fast, Simple, Cost-effective Data Warehousing |
8 | Analytics | Amazon QuickSight | Fast Business Analytics Service |
9 | Analytics | AWS Data Exchange | Find, subscribe to, and use third-party data in the cloud |
10 | Analytics | AWS Data Pipeline | Orchestration Service for Periodic, Data-driven Workflows |
11 | Analytics | AWS Glue | Prepare and Load Data |
12 | Analytics | AWS Lake Formation | Build a secure data lake in days |
13 | Application Integration | AWS Step Functions | Coordinate Distributed Applications |
14 | Application Integration | Amazon EventBridge | Serverless event bus for SaaS apps & AWS services |
15 | Application Integration | Amazon MQ | Managed Message Broker for ActiveMQ |
16 | Application Integration | Amazon Simple Notification Service (SNS) | Pub/Sub, Mobile Push and SMS |
17 | Application Integration | Amazon Simple Queue Service (SQS) | Managed Message Queues |
18 | Application Integration | Amazon AppSync | Power your apps with the right data from many sources, at scale |
19 | AR & VR | Amazon Sumerian | Build and Run VR and AR Applications |
20 | AWS Cost Management | AWS Cost Explorer | Analyze Your AWS Cost and Usage |
21 | AWS Cost Management | AWS Budgets | Set Custom Cost and Usage Budgets |
22 | AWS Cost Management | AWS Cost and Usage Report | Access Comprehensive Cost and Usage Information |
23 | AWS Cost Management | Reserved Instance Reporting | Dive Deeper into Your Reserved Instances (RIs) |
24 | AWS Cost Management | Savings Plans | Save up to 72% on compute usage with flexible pricing |
25 | Blockchain | Amazon Managed Blockchain | Create and manage scalable blockchain networks |
26 | Blockchain | Amazon Quantum Ledger Database (QLDB) | Fully managed ledger database |
27 | Business Applications | Alexa for Business | Empower your Organization with Alexa |
28 | Business Applications | Amazon Chime | Frustration-free Meetings, Video Calls, and Chat |
29 | Business Applications | Amazon WorkDocs | Secure enterprise document storage and sharing |
30 | Business Applications | Amazon WorkMail | Secure and Managed Business Email and Calendaring |
31 | Compute | Amazon EC2 | Virtual Servers in the Cloud |
32 | Compute | Amazon EC2 Auto Scaling | Scale Compute Capacity to Meet Demand |
33 | Compute | Amazon Elastic Container Registry | Store and Retrieve Docker Images |
34 | Compute | Amazon Elastic Container Service | Run and Manage Docker Containers |
35 | Compute | Amazon Elastic Kubernetes Service | Run Managed Kubernetes on AWS |
36 | Compute | Amazon Lightsail | Launch and Manage Virtual Private Servers |
37 | Compute | AWS Batch | Run Batch Jobs at Any Scale |
38 | Compute | AWS Elastic Beanstalk | Run and Manage Web Apps |
39 | Compute | AWS Fargate | Run Containers without Managing Servers or Clusters |
40 | Compute | AWS Lambda | Run your Code in Response to Events |
41 | Compute | AWS Outposts | Run AWS services on-premises |
42 | Compute | AWS Serverless Application Repository | Discover, Deploy, and Publish Serverless Applications |
43 | Compute | AWS Wavelength | Deliver ultra-low latency applications for 5G devices |
44 | Compute | VMware Cloud on AWS | Build a Hybrid Cloud without Custom Hardware |
45 | Customer Engagement | Amazon Connect | Cloud-based Contact Center |
46 | Customer Engagement | Amazon Pinpoint | Personalized User Engagement Across Channels |
47 | Customer Engagement | Amazon Simple Email Service (SES) | Email Sending and Receiving |
48 | Customer Engagement | Contact Lens for Amazon Connect | Contact center analytics powered by ML |
49 | Database | Amazon Aurora | High Performance Managed Relational Database |
50 | Database | Amazon DynamoDB | Managed NoSQL Database |
51 | Database | Amazon DocumentDB (with MongoDB compatibility) | Fully managed document database |
52 | Database | Amazon ElastiCache | In-memory Caching System |
53 | Database | Amazon Managed Apache Cassandra Service | Managed Cassandra-compatible database |
54 | Database | Amazon Neptune | Fully Managed Graph Database Service |
55 | Database | Amazon Quantum Ledger Database (QLDB) | Fully managed ledger database |
56 | Database | Amazon RDS | Managed Relational Database Service for MySQL, PostgreSQL, Oracle, SQL Server, and MariaDB |
57 | Database | Amazon RDS on VMware | Automate on-premises database management |
58 | Database | Amazon Redshift | Fast, Simple, Cost-effective Data Warehousing |
59 | Database | Amazon Timestream | Fully managed time series database |
60 | Database | AWS Database Migration Service | Migrate Databases with Minimal Downtime |
61 | Developer Tools | Amazon Corretto | Production-ready distribution of OpenJDK |
62 | Developer Tools | AWS Cloud Development Kit (CDK) | Model cloud infrastructure using code |
63 | Developer Tools | AWS Cloud9 | Write, Run, and Debug Code on a Cloud IDE |
64 | Developer Tools | AWS CodeBuild | Build and Test Code |
65 | Developer Tools | AWS CodeCommit | Store Code in Private Git Repositories |
66 | Developer Tools | AWS CodeDeploy | Automate Code Deployment |
67 | Developer Tools | AWS CodePipeline | Release Software using Continuous Delivery |
68 | Developer Tools | AWS CodeStar | Develop and Deploy AWS Applications |
69 | Developer Tools | AWS Command Line Interface | Unified Tool to Manage AWS Services |
70 | Developer Tools | AWS Device Farm | Test Android, iOS, and web apps on real devices in the AWS cloud |
71 | Developer Tools | AWS Tools and SDKs | Tools and SDKs for AWS |
72 | Developer Tools | AWS X-Ray | Analyze and debug your applications |
73 | End User Computing | Amazon AppStream 2.0 | Stream Desktop Applications Securely to a Browser |
74 | End User Computing | Amazon WorkDocs | Secure enterprise document storage and sharing |
75 | End User Computing | Amazon WorkLink | Enable mobile access to internal websites |
76 | End User Computing | Amazon WorkSpaces | Desktop Computing Service |
77 | Game Tech | Amazon GameLift | Simple, Fast, Cost-effective Dedicated Game Server Hosting |
78 | Game Tech | Amazon Lumberyard | A Free Cross-platform 3D Game Engine with Full Source, Integrated with AWS and Twitch |
79 | Internet of Things | AWS IoT Core | Connect Devices to the Cloud |
80 | Internet of Things | Amazon FreeRTOS | IoT Operating System for Microcontrollers |
81 | Internet of Things | AWS Greengrass | Local Compute, Messaging, and Sync for Devices |
82 | Internet of Things | AWS IoT 1-Click | One Click Creation of an AWS Lambda Trigger |
83 | Internet of Things | AWS IoT Analytics | Analytics for IoT Devices |
84 | Internet of Things | AWS IoT Button | Cloud Programmable Dash Button |
85 | Internet of Things | AWS IoT Device Defender | Security Management for IoT Devices |
86 | Internet of Things | AWS IoT Device Management | Onboard, Organize, and Remotely Manage IoT Devices |
87 | Internet of Things | AWS IoT Events | IoT event detection and response |
88 | Internet of Things | AWS IoT SiteWise | IoT data collector and interpreter |
89 | Internet of Things | AWS IoT Things Graph | Easily connect devices and web services |
90 | Internet of Things | AWS Partner Device Catalog | Curated catalog of AWS-compatible IoT hardware |
91 | Machine Learning | Amazon SageMaker | Build, Train, and Deploy Machine Learning Models at Scale |
92 | Machine Learning | Amazon Augmented AI | Easily implement human review of ML predictions |
93 | Machine Learning | Amazon CodeGuru (Preview) | Automate code reviews and identify expensive lines of code |
94 | Machine Learning | Amazon Comprehend | Discover Insights and Relationships in Text |
95 | Machine Learning | Amazon Elastic Inference | Deep learning inference acceleration |
96 | Machine Learning | Amazon Forecast | Increase forecast accuracy using machine learning |
97 | Machine Learning | Amazon Fraud Detector | Detect more online fraud faster |
98 | Machine Learning | Amazon Kendra | Reinvent enterprise search with ML |
99 | Machine Learning | Amazon Lex | Build Voice and Text Chatbots |
100 | Machine Learning | Amazon Personalize | Build real-time recommendations into your applications |
101 | Machine Learning | Amazon Polly | Turn Text into Lifelike Speech |
102 | Machine Learning | Amazon Rekognition | Analyze Image and Video |
103 | Machine Learning | Amazon SageMaker Ground Truth | Build accurate ML training datasets |
104 | Machine Learning | Amazon Textract | Extract text and data from documents |
105 | Machine Learning | Amazon Translate | Natural and Fluent Language Translation |
106 | Machine Learning | Amazon Transcribe | Automatic Speech Recognition |
107 | Machine Learning | AWS Deep Learning AMIs | Quickly Start Deep Learning on EC2 |
108 | Machine Learning | AWS Deep Learning Containers | Docker images for deep learning |
109 | Machine Learning | AWS DeepComposer | ML enabled musical keyboard |
110 | Machine Learning | AWS DeepLens | Deep Learning Enabled Video Camera |
111 | Machine Learning | AWS DeepRacer | Autonomous 1/18th scale race car, driven by ML |
112 | Machine Learning | Amazon Inferentia | Machine learning inference chip |
113 | Machine Learning | Apache MXNet on AWS | Scalable, High-performance Deep Learning |
114 | Machine Learning | TensorFlow on AWS | Open-source Machine Intelligence Library |
115 | Management & Governance | Amazon CloudWatch | Monitor Resources and Applications |
116 | Management & Governance | AWS Auto Scaling | Scale Multiple Resources to Meet Demand |
117 | Management & Governance | AWS Chatbot | ChatOps for AWS |
118 | Management & Governance | AWS CloudFormation | Create and Manage Resources with Templates |
119 | Management & Governance | AWS CloudTrail | Track User Activity and API Usage |
120 | Management & Governance | AWS Command Line Interface | Unified tool to manage AWS services |
121 | Management & Governance | AWS Compute Optimizer | Identify optimal AWS Compute resources |
122 | Management & Governance | AWS Config | Track Resource Inventory and Changes |
123 | Management & Governance | AWS Control Tower | Set up and govern a secure, compliant, multi-account environment |
124 | Management & Governance | AWS Console Mobile Application | Access resources on the go |
125 | Management & Governance | AWS License Manager | Track, manage, and control licenses |
126 | Management & Governance | AWS Management Console | Web-based user interface |
127 | Management & Governance | AWS Managed Services | Infrastructure operations management for AWS |
128 | Management & Governance | AWS OpsWorks | Automate Operations with Chef and Puppet |
129 | Management & Governance | AWS Organizations | Central governance and management across AWS accounts |
130 | Management & Governance | AWS Personal Health Dashboard | Personalized View of AWS Service Health |
131 | Management & Governance | AWS Service Catalog | Create and Use Standardized Products |
132 | Management & Governance | AWS Systems Manager | Gain Operational Insights and Take Action |
133 | Management & Governance | AWS Trusted Advisor | Optimize Performance and Security |
134 | Management & Governance | AWS Well-Architected Tool | Review and improve your workloads |
135 | Media Services | Amazon Elastic Transcoder | Easy-to-use Scalable Media Transcoding |
136 | Media Services | Amazon Kinesis Video Streams | Process and Analyze Video Streams |
137 | Media Services | AWS Elemental MediaConnect | Reliable and secure live video transport |
138 | Media Services | AWS Elemental MediaConvert | Convert File-based Video Content |
139 | Media Services | AWS Elemental MediaLive | Convert Live Video Content |
140 | Media Services | AWS Elemental MediaPackage | Video Origination and Packaging |
141 | Media Services | AWS Elemental MediaStore | Media Storage and Simple HTTP Origin |
142 | Media Services | AWS Elemental MediaTailor | Video Personalization and Monetization |
143 | Media Services | AWS Elemental Appliances & Software | On-premises media solutions |
144 | Migration & Transfer | AWS Migration Hub | Track Migrations from a Single Place |
145 | Migration & Transfer | AWS Application Discovery Service | Discover On-Premises Applications to Streamline Migration |
146 | Migration & Transfer | AWS Database Migration Service | Migrate Databases with Minimal Downtime |
147 | Migration & Transfer | AWS DataSync | Simple, fast, online data transfer |
148 | Migration & Transfer | AWS Server Migration Service | Migrate On-Premises Servers to AWS |
149 | Migration & Transfer | AWS Snow Family | Physical devices to migrate data into and out of AWS |
150 | Migration & Transfer | AWS Transfer for SFTP | Fully managed SFTP service |
151 | Migration & Transfer | CloudEndure Migration | Automate your mass migration to AWS |
152 | Mobile | AWS Amplify | Build and deploy mobile and web applications |
153 | Mobile | Amazon API Gateway | Build, Deploy, and Manage APIs |
154 | Mobile | Amazon Pinpoint | Personalized User Engagement Across Channels |
155 | Mobile | AWS AppSync | Power your apps with the right data from many sources, at scale |
156 | Mobile | AWS Device Farm | Test Android, iOS, and web apps on real devices in the AWS cloud |
157 | Networking & Content Delivery | Amazon VPC | Isolated Cloud Resources |
158 | Networking & Content Delivery | Amazon API Gateway | Build, Deploy, and Manage APIs |
159 | Networking & Content Delivery | Amazon CloudFront | Global Content Delivery Network |
160 | Networking & Content Delivery | Amazon Route 53 | Scalable Domain Name System |
161 | Networking & Content Delivery | AWS PrivateLink | Securely Access Services Hosted on AWS |
162 | Networking & Content Delivery | AWS App Mesh | Monitor and control microservices |
163 | Networking & Content Delivery | AWS Cloud Map | Application resource registry for microservices |
164 | Networking & Content Delivery | AWS Direct Connect | Dedicated Network Connection to AWS |
165 | Networking & Content Delivery | AWS Global Accelerator | Improve application availability and performance |
166 | Networking & Content Delivery | AWS Transit Gateway | Easily scale VPC and account connections |
167 | Networking & Content Delivery | Elastic Load Balancing | Distribute incoming traffic across multiple targets |
168 | Quantum Technologies | Amazon Braket | Explore and experiment with quantum computing |
169 | Robotics | AWS RoboMaker | Develop, test, and deploy robotics applications |
170 | Satellite | AWS Ground Station | Fully managed ground station as a service |
171 | Security, Identity & Compliance | AWS Identity & Access Management | Manage User Access and Encryption Keys |
172 | Security, Identity & Compliance | Amazon Cognito | Identity Management for your Apps |
173 | Security, Identity & Compliance | Amazon Detective | Investigate potential security issues |
174 | Security, Identity & Compliance | Amazon GuardDuty | Managed Threat Detection Service |
175 | Security, Identity & Compliance | Amazon Inspector | Analyze Application Security |
176 | Security, Identity & Compliance | Amazon Macie | Discover, Classify, and Protect your Data |
177 | Security, Identity & Compliance | AWS Artifact | On-demand access to AWS compliance reports |
178 | Security, Identity & Compliance | AWS Certificate Manager | Provision, Manage, and Deploy SSL/TLS Certificates |
179 | Security, Identity & Compliance | AWS CloudHSM | Hardware-based Key Storage for Regulatory Compliance |
180 | Security, Identity & Compliance | AWS Directory Service | Host and Manage Active Directory |
181 | Security, Identity & Compliance | AWS Firewall Manager | Central Management of Firewall Rules |
182 | Security, Identity & Compliance | AWS Key Management Service | Managed Creation and Control of Encryption Keys |
183 | Security, Identity & Compliance | AWS Resource Access Manager | Simple, secure service to share AWS resources |
184 | Security, Identity & Compliance | AWS Secrets Manager | Rotate, Manage, and Retrieve Secrets |
185 | Security, Identity & Compliance | AWS Security Hub | Unified security and compliance center |
186 | Security, Identity & Compliance | AWS Shield | DDoS Protection |
187 | Security, Identity & Compliance | AWS Single Sign-On | Cloud Single Sign-On (SSO) Service |
188 | Security, Identity & Compliance | AWS WAF | Filter Malicious Web Traffic |
189 | Storage | Amazon Simple Storage Service (S3) | Scalable Storage in the Cloud |
190 | Storage | Amazon Elastic Block Store (EBS) | EC2 block storage volumes |
191 | Storage | Amazon Elastic File System (EFS) | Fully managed file system for EC2 |
192 | Storage | Amazon FSx for Lustre | High-performance file system integrated with S3 |
193 | Storage | Amazon FSx for Windows File Server | Fully managed Windows native file system |
194 | Storage | Amazon S3 Glacier | Low-cost Archive Storage in the Cloud |
195 | Storage | AWS Backup | Centralized backup across AWS services |
196 | Storage | AWS Snow Family | Physical devices to migrate data into and out of AWS |
197 | Storage | AWS Storage Gateway | Hybrid Storage Integration |
198 | Storage | CloudEndure Disaster Recovery | Highly automated disaster recovery |
Leave a Comment