1. TL;DR: What happened?
Found this really cool video offering a quick presentation of 50 AWS services (Out of 200+!).
I thought it would be nice to have a cheatsheet to help remember the content. So here’s a mind map. You can also read the text content below, if it interests you.
2. Resources
- Fireship video about AWS services
- Be A Better Dev video about AWS
- Interesting read about Kinesis vs Kafka
1. Hosting an application
- Elastic Cloud Compute (EC2): Create virtual instance on cloud, choose OS, memory, computing power and rent. Common to use for web application.
- Elastic Load Balancing: Distribute traffic to multiple EC2 instances.
- Cloud Watch: Collect logs and statistics about EC2 instances.
- Auto Scaling: Automatically create new instances as needed.
- Elastic Beanstalk: Further abstraction of EC2, Load Balancing, Cloud Watch and Autoscaling. Choose a platform and let everything happen automatically.
- Lightsail: Easier and lazier version of Beanstalk.
- Lambda: Upload a block of code to be executed, and call/pay when you need.
- Serverless Repo: Basically github for lambda.
- Elastic Docker Registry: Upload your Docker image.
- Elastic Container Service: Pull down image from Elastic Docker Registry and run image on EC2 instances.
- Fargate: Automatically manage allocations of EC2 instances for Docker images.
2. Simple Data storage
- Simple Storage Service: Basically Google Drive.
- Glacier: Store more for cheaper, but at the cost of retrieval speed.
- Block Store: Much faster, but you have to configure yourself.
- Elastic File System: Everything managed, but get ready to pay $$$.
3. Databases
Non-relational databases
- SimpleDB: Oldest and simplest
- DynamoDB: Document-based, basically succcessor to SimpleDB.
- DocumentDB: Copy of MongoDB to avoid licensing issues. 1:1 mapping.
Relational databases
- Relational Database Service (RDS): Service supporting all major SQL-based databases, such as PostgreSQL, MySQL, MariaDB, Oracle, Microsoft SQL Server.
- Aurora: Amazon proprietary version of MySQL, claims to have throughput 5X of MySQL and 3X of PostgreSQL. Migration from Oracle and Microsoft SQL Server seems harder.
- Aurora Serverless: Pay-as-you-go, automatic scaling version of Aurora.
Other
- Neptune: Graph database, great for highly related data like recommendations, social network.
- Elastic Cache: Fully managed version of redis, which is an in-memory database offering much faster speed.
- Timestream: Database made for time series data like stocks with added functinality.
- Quantum Ledger: Ledged database providing a transparent, immutable and verifiable transaction log.
4. Analytics
- Data Extracting, Transforming, and Loading
- Redshift: Popular structured data dump for enterprises pending later analysis. (Apparently it means shift away from Oracle, which is red. Legends…)
- Lake Formation: Data lake for unstructured data.
- Kinesis: Use to capture real-time data streams.
- Amazon Managed Streaming for Apache Kafka (MSK): Alternative to Kinesis which allows using native Kafka APIs to populate data lakes, stream changes etc.
- Glue: Manager to handle/automate ETL without programming
- Machine Learning Models
- Sagemaker: IDE for meachine learning, including prepare, build, train/tune and deploy (This is probably worth investigating more)/
- Rekognition: Image and video analysis using pre-trained model. Custom models starting with n=10 labeled-images.
- Lex: Building chatbots, Natural Language Understanding focused API/
5. Additing functionalities to applications
- Identity and Access Management (IAM): Manage access to AWS services in your organization.
- Cognito: Add sign-up, sign-in to web/mobile apps quickly.
- Simple Notification Service: Send push notifications to your users.
- Simple Email Service: Send email notifications to your users .