TL;DR - 😪 Sigh, Just scroll down to see some cool illustrations
AWS has new cloud computing services each year, and they have over 150 services. Can you think of anything else that has over 150 of something? 🙃
The reason I urge beginners to get into learning cloud computing services is that lots of the functionality that would have 10 years ago be built into a web-app on a single server is instead using existing cloud services so their apps can scale to millions if not ka-gillions of requests.
So I say to you juniors what are becoming Full-Stack developers, it not enough to build an app you need Cloud Computing knowledge, especially if you want your résumé to stand out.
But to give you an example of leveraging cloud services DEV.to uses Angolia for search, Pusher for real-time events and Fastly for a CDN.
AWS is the top dog for cloud services and its something like 60% of startups are using AWS. The reason startups overwhelming use AWS is that AWS has anything and everything and when you buy into the entire AWS ecosystem the ⚡synergies ⚡ between their services outweighs using single third-party services no matter how cool that single third party service features are. It's like when you collect a complete armour set in a video game and you get mad bonus skill points.
Other Cloud Providers have beautiful GUIs but AWS has what counts the most which are Support and Documentation.
So there is multiple AWS Certification and the most entry-level certification is the Certified Cloud Practitioner. A big component to passing that exam is that you need to know what many of the AWS services do, not so much how to use them but you could name them in a lineup.
So I thought a fun way to study or just get to know AWS services was to turn AWS services into Pokémon. Maybe call them Amázmons. Try saying that aloud, it's tricky.
So I've had 40 AWS services turned into Amázmons and currently working on an Amázmons Parody Rap Video (which by the way, subscribe to my YouTube so you don't miss out when I drop that)
So with much ado, here are 10 AWS services illustrated to be Pokémon!
With serverless and microservice architecture it's becoming easier to modularize our code so we can mix and match languages and functionality, the trade-off we have more moving parts passing around data and it can be hard to figure out what has gone wrong. So that's what X-Rays solves where it can trace when and where failures occur between all these interconnected services.
S3 which is short for Simple Storage Service is usually the first AWS service people start using. Its a place to store your files but can also be used to host static website and if you're thinking you can do that already on Github I'm going assert my opinion that S3 is much better for Static Website Hosting. If you have ever used Dropbox it's actually just using S3 under their GUI.
Macie continuously looks at the contents and the users who access your S3 buckets to determine if anything strange is going on. One cool use case lets say you had credit card information stored on S3 but you forgot to encrypt it, Macie would notice this and warn you of the vulnerability.
AWS Lambda is serverless functions. So if you want to run a piece of code that only needs to run for seconds but don't want to bother with provisioning a server than that's a good use case for Lambda. For example on ExamPro our contact form is powered by a Lambda function, this allows us to keep code that isn't part of core web-app out of the primary code base.
Let's say you had hundreds of thousands of video footage where you needed to read licenses plates off of cars. Rekognition could do that for you. I included Rekognition in this because honestly I thought the illustration looked really cool.
Athena allows you to turn s3 files that are JSON or CSV into in-memory tables that you can query. If you look up Apache Presto thats exactly what Athena is. So a use-case of Athena is you could use it to detect supcious activity in your AWS account. Another AWS service that is turned on by default is called CloudTrail which monitors all API calls from AWS services in your account. Since CloudTrail can output its JSON logs to S3, you can then use Athena to turn those logs into tables and create a query to detect say when someone from outside your network at weird hours was accessing services. See what I mean by the ⚡synergies ⚡
Neptune is a managed graph database. So if you've heard of or look up Neo4j its like that kind of database. I've only ever had one use case for graph database and it was storing the relationships between ingredients to make up food recipes.
Redshift is when you have lots and lots of data that you want to store it and analyze it for later. We're talking petabytes of data. Redshift is a columnar storage which means data is stored in columns 😋 duh! This is the reason Redshift can look up data very fast.
CodePipline is your CI/CD. So we use CodePipeline at ExamPro so that when we do git push it automatically trigger our web-app to begin deploying, we have it also setup so that we have a testing stage where it will only deploy changes if our test suites pass.
EC2 is the backbone of AWS until they come up with a service called AWS Backbone. EC2 is like Digital Ocean or Linode, Its a server where you choose what kind of OS you want and etc. Any AWS service you can think of runs on EC2. So when you're using RDS its running Postgres/MySQL services on EC2. So if you know EC2 it gives you insight to all AWS services.
Was that not a fun way to learn about AWS services?