January 2020 update: This post has been updated with sidebars to reflect final counts as of the end of 2019. Across multiple measures, AWS service growth was 13% since this was originally posted in May 2019.
I love tools! I’m not exactly sure why, but there is something magical about how a clever invention can magnify your abilities. I enjoy tools for both their form and function. I get weak-kneed looking at an antique brass sextant with its shiny mirrors and lenses and that rich golden brass color and reflectivity. And among that beauty is an incredible navigational instrument that allows precise navigation at sea during the day or night, arguably resulting in fundamental changes in the world by enabling precise open sea navigation.
If one tool is good, then more is better, right? Yes, and… there are a lot of problems to solve and good tools help us solve more problems better, faster, and more efficiently. However, sometimes the sheer volume of available choices has a cost. At times, too many choices can be overwhelming or can lead to using the wrong (or a suboptimal) tool for the job. How many times have you used a pliers to loosen a stubborn hex nut and rounded the edges when you should have selected the proper-sized socket or crescent wrench?
This brings us to AWS re:Invent. Each year I get on a manic high scribbling notes during both the Andy Jasse and Werner Vogels keynotes. I love tools, and for my attendance I’m rewarded with this piñata-like flood of new announcements to feed my nerdy tool cravings and allow me to develop solutions better and faster than I ever could before. For me, this is exceptionally invigorating.
And then comes the crash from my sugar high. Now I need to learn and understand dozens of new tools and features. Sure, continuing learning is part of my daily life and responsibility, but like you, I already feel like I don’t have time to keep up with and excel at my current responsibilities, let alone take the time to become expert at a host of new tools. I could look away, but I know they will help me, and that ignoring these new tools means I’m missing opportunities and falling behind. It takes some effort to learn how to use a sextant, but those who didn’t were surely left behind or shipwrecked.
I think about the benefits and challenges of tool choice a lot. In fact, I founded Cloud Pegboard to help manage this complexity. One of my first questions was how many services does AWS actually offer and what is the growth rate? As it turns out, this was not easily answered until we built our database of AWS services. Now that we have this curated database, I thought I’d answer the question for future travelers. Of course, the answer is not static, but since we track AWS changes daily, I’ll post updates when the counts materially change (and they are always available in realtime on this dashboard page).
January 2020 update: The statistics dashboard page has a variety of statistics including interesting charts showing the exponential growth of AWS announcements (6305 to date) and blogs (11,446 to date). There’s also some data on AWS re:Invent 2019 sessions (3797) that I find fascinating.
What do we count?
Before we answer the question “how many services does AWS offer?” we first need to decide what we are counting. It turns out, the count is relative to your context and what you want to know, and there are several dimensions that we can use for our counting. I’ll show a set of four dimensions (there are more) below so you can pick which ever matches your interests.
January 2020 update: AWS has stopped publishing the namespaces table. The last tally in 2019 was 182. Going forward, we will monitor IAM prefixes instead since they are very closely related. As of January 2020, there are 219 unique IAM prefixes. Note that some services use multiple IAM prefixes.
AWS defines namespaces for its services. Namespace values are primarily used for IAM permissions and for ARN resource identifiers. Namespaces are a technical view that’s a pretty good proxy for what we think of as a service (I’ll define a service as in an API-accessible collection of related functions). Counting the number of service entries in the namespaces table reveals there are 149 AWS services.
Using the count of namespaces as a proxy for growth, we can see the exponential growth of AWS services and why I’m at once invigorated and panicked at the growth of service capabilities (see my previous article on Cloud Architecture Principles to Enable Team Empowerment for some perspectives on why leveraging the newer services is a strategic advantage). In 2013, there were just 25 namespace entries. Between 2018 (95 services) and 2019 (149 services) there was a 57% growth in just one year. This is exponential growth. Will it continue?
“Ok, thanks for the answer Ken.” Hold on just a sec… we get a different answer if we look at the number of “Products.”
January 2020 update: The current count of products is 191. That’s a 13% increase since the original post in May 2019.
AWS provides a top-level listing of all of its products. This is a less technical view and is more representative of the products or solutions AWS is making available to its customers. The count of products is 169 AWS products (there are 176 entries, but 7 are listed in two categories). The difference in counts between products and namespaces is that a namespace value is not required for some products and others just haven’t had their namespaces documented yet.
“169 shall be the number thou shalt count, and the number of the counting shall be 169.”
Well, maybe, but what if we look at the number of services that we can select via the console?
January 2020 update: The number of unique console URLs is now 159. This is also a 13% increase since the original post in May 2019.
Arguably, the number of things you can select from the console constitutes the number of services. Counting console links, we’re down to 140 unique console links. This value may vary slightly depending on whether you are enabled for preview on certain services or depending on the region selected. (For completeness, the N. Virginia count is 141, but AWS WAF and AWS Shield share a console.) This is a useful number if you want to know how many unique consoles there are, but it is surely an undercount since some services don’t provide console access and others are wrapped under a single console that covers multiple services.
“I know what you’re thinking. Did he fire six shots or only five? Well, to tell you the truth, in all this excitement, I’ve kinda lost track myself.” — Clint Eastwood — Dirty Harry
The Union Set
January 2020 update: The current Cloud Pegboard catalog count is 283 services and tools. Again, this is a 13% increase since the original post.
At present, Cloud Pegboard collects data from dozens of different data sources and builds a database that is the curated union of all services and tools. As of today, the total count of all unique entries is 250 AWS services and tools. Of these, roughly 10% are tools such as SDKs, the AWS CLI and so on. There are only a small number of special cases such as AWS DeepRacer and AWS DeepLens that don’t fit typical service or tool categorizations. One of the contributing factors to the higher count is that some AWS services are managed as families and actually comprise several discrete services. For example, in the AWS product listing there is a single AWS Snow Family product, but the Cloud Pegboard database expands this to Snowball, Snowball Edge, and Snowmobile. Each of these are indeed separate and differentiated products with unique attributes and capabilities. Therefore, the bottom-line all-encompassing count is 250 AWS services and tools.
Comparison to Microsoft Azure and Google Cloud Platform
January 2020 update: The current count of Azure services is 261 (9% growth since May) and the current count for GCP 115 (17% growth since May).
Knowing the count for AWS of course begs the question about comparing to other cloud providers. While we are experts in the nitty gritty details of the catalog of all AWS services and their attributes, so far, we have far less depth for Azure and GCP. However, it turns out their data is much easier to count. Therefore, to help establish a point-in-time published record to aid in future comparisons and analyses, I’ll report our rough count. The current Azure listing contains 240 items and the current GCP listing shows 98 services. These numbers cannot be directly compared to the AWS numbers above any more than the count of AWS console entries can be compared to the count of AWS product entries. Nonetheless, the numbers are here as raw data for you to use as you see fit. In the future we will map apples to oranges to facilitate services comparisons based on functionality since comparing counts will never be truly meaningful.
Having just the right tool to optimally solve a problem can save a great deal of time, reduce downstream maintenance, enable greater agility, and ultimately deliver more value faster and cheaper. Since there is a vast variety of common problem elements across millions of solutions, it stands to reason that increasing the number of tools available will increase the number of opportunities to match a problem with a better tool and reap the benefits. The tradeoff is that to gain the value of reuse across the exponentially growing number of AWS services, we need to be able to find, learn, and understand our palette of options so we can bring them to bear when and where needed.
AWS offers a large variety of services spanning many different categories to match the diversity of technical needs in modern cloud-centric development. The number of services available varies depending on which dimension is used as the basis. As of May 2019, here is the tally:
Services by namespace counting: 149
Services by product listing counting: 169
Services with dedicated console URLs: 140
Bottom line union count of all services and tools: 250
January 2020 update:
Services by namespace counting: 182
Unique IAM prefixes: 219
Services by product listing counting: 191
Services with dedicated console URLs: 159
Bottom line union count of all services and tools: 283
“Right! One… two… five!” — King Arthur in Monty Python and the Holy Grail
About Cloud Pegboard
Cloud Pegboard helps AWS practitioners be highly effective and efficient even in the face of the tremendous complexity and rate of change of AWS services. We want to keep AWS fun and feel more like dancing in a sprinkler on a hot summer day and less like being blasted with a firehose. We make the AWS information you need amazingly easy to access, and with personalization features, we help you stay up to date on the AWS services and capabilities that are important to you and your specific projects.