Components from AWS (Amazon Web Services)
AWS is one of the largest providers for cloud computing services.
Storage
File System
S3 (Simple Storage Service)
Component responsible for providing a, auto-scalable and highly available, file server, for cloud storage.
Amazon Simple Storage Service (Amazon S3) is an object storage service that offers industry-leading scalability, data availability, security, and performance. Customers of all sizes and industries can use Amazon S3 to store and protect any amount of data for a range of use cases, such as data lakes, websites, mobile applications, backup and restore, archive, enterprise applications, IoT devices, and big data analytics.
File Deposit
S3 Glacier (Simple Storage Service Glacier)
Component responsible for providing, long-lasting and cheap, storage on the cloud, but with low availability.
Amazon S3 Glacier (S3 Glacier) is a secure and durable service for low-cost data archiving and long-term backup.
Database
SQL Databases
RDS (Relational Database Service)
Component responsible for providing several types of SQL databases. Among them are Microsoft SQL server, PostgresSQL, MySQL, Oracle and MariaDB.
Amazon Relational Database Service (Amazon RDS) is a web service that makes it easier to set up, operate, and scale a relational database in the AWS Cloud. It provides cost-efficient, resizable capacity for an industry-standard relational database and manages common database administration tasks.
NoSQL
DynamoDB
Component responsible for providing a NoSQL option for databases. With it you can enjoy the advantages and facilities of this kind of database, with the additional scalability and availability of the cloud.
With DynamoDB, you can create database tables that can store and retrieve any amount of data and serve any level of request traffic. You can scale up or scale down your tables’ throughput capacity without downtime or performance degradation. You can use the AWS Management Console to monitor resource utilization and performance metrics.
Cache
Redis (Remote Dictionary Server)
Component responsible for providing a fast and reliable in-memory database for caching services.
Redis, which stands for Remote Dictionary Server, is a fast, open source, in-memory, key-value data store. The project started when Salvatore Sanfilippo, the original developer of Redis, wanted to improve the scalability of his Italian startup. From there, he developed Redis, which is now used as a database, cache, message broker, and queue.
Data Warehouse
Redshift
Component responsible for providing a data warehouse solution to meet the analytical needs of BI (Business Intelligence).
Amazon Redshift is a fully managed, petabyte-scale data warehouse service in the cloud. You can start with just a few hundred gigabytes of data and scale to a petabyte or more. This allows you to use your data to gain new insights for your business and customers.
Migration & Transfer
Migration of Relational Databases
DMS (Database Migration Service)
Component responsible for carrying out relational database migrations to the AWS cloud.
AWS Database Migration Service (AWS DMS) is a cloud service that makes it possible to migrate relational databases, data warehouses, NoSQL databases, and other types of data stores. You can use AWS DMS to migrate your data into the AWS Cloud or between combinations of cloud and on-premises setups.
Compute
Serverless Function
Lambda
Component responsible for executing independent code snippets, with a single function. We can use it to automate specific functionalities.
AWS Lambda is a compute service that lets you run code without provisioning or managing servers. Lambda runs your code on a high-availability compute infrastructure and performs all of the administration of the compute resources, including server and operating system maintenance, capacity provisioning and automatic scaling, and logging. With Lambda, you can run code for virtually any type of application or backend service. All you need to do is supply your code in one of the languages that Lambda supports.
Computer
EC2 (Elastic Compute Cloud)
Component responsible for providing cloud computing. With it you can do everything you would do on your physical computer.
Amazon Elastic Compute Cloud (Amazon EC2) provides scalable computing capacity in the Amazon Web Services (AWS) Cloud. Using Amazon EC2 eliminates your need to invest in hardware up front, so you can develop and deploy applications faster. You can use Amazon EC2 to launch as many or as few virtual servers as you need, configure security and networking, and manage storage. Amazon EC2 enables you to scale up or down to handle changes in requirements or spikes in popularity, reducing your need to forecast traffic.
Containers
Image Registry
ECR (Elastic Container Registry)
Component responsible for registering container images in a scalable and secure way.
Amazon Elastic Container Registry (Amazon ECR) is an AWS managed container image registry service that is secure, scalable, and reliable. Amazon ECR supports private repositories with resource-based permissions using AWS IAM. This is so that specified users or Amazon EC2 instances can access your container repositories and images. You can use your preferred CLI to push, pull, and manage Docker images, Open Container Initiative (OCI) images, and OCI compatible artifacts.
Container Manager
ECS (Elastic Container Service)
Component responsible for managing the execution of containers on a cluster.
Amazon Elastic Container Service (Amazon ECS) is a highly scalable and fast container management service. You can use it to run, stop, and manage containers on a cluster. With Amazon ECS, your containers are defined in a task definition that you use to run an individual task or task within a service. In this context, a service is a configuration that you can use to run and maintain a specified number of tasks simultaneously in a cluster. You can run your tasks and services on a serverless infrastructure that’s managed by AWS Fargate. Alternatively, for more control over your infrastructure, you can run your tasks and services on a cluster of Amazon EC2 instances that you manage.
Security, Identity, & Compliance
Secret Environment Variables
Secrets Manager
Component responsible for saving secret credentials to be retrieved at runtime.
Secrets Manager enables you to replace hardcoded credentials in your code, including passwords, with an API call to Secrets Manager to retrieve the secret programmatically. This helps ensure the secret can’t be compromised by someone examining your code, because the secret no longer exists in the code. Also, you can configure Secrets Manager to automatically rotate the secret for you according to a specified schedule. This enables you to replace long-term secrets with short-term ones, significantly reducing the risk of compromise.
Access Manager
IAM (Identity and Access Management)
Component responsible for managing users and access in aws. Through it you create aws users and define permissions and access policies to resources.
AWS Identity and Access Management (IAM) is a web service that helps you securely control access to AWS resources. With IAM, you can centrally manage permissions that control which AWS resources users can access. You use IAM to control who is authenticated (signed in) and authorized (has permissions) to use resources.
Authentication Service
Cognito
Component responsible for providing creation, authentication, and authorization of end users. With it you can organize and list your users, with support for social login with the main networks.
Amazon Cognito provides authentication, authorization, and user management for your web and mobile apps. Your users can sign in directly with a user name and password, or through a third party such as Facebook, Amazon, Google or Apple.
Networking & Content Delivery
CDN
Cloudfront
Component responsible for serving Web applications in a distributed manner, so that they always load on the server, that is closest to the client.
Amazon CloudFront is a web service that speeds up distribution of your static and dynamic web content, such as .html, .css, .js, and image files, to your users. CloudFront delivers your content through a worldwide network of data centers called edge locations. When a user requests content that you’re serving with CloudFront, the request is routed to the edge location that provides the lowest latency (time delay), so that content is delivered with the best possible performance.
DNS and domains
Route53
Component responsible for managing domains and DNS. With it we can transfer custody of domains or buy domains at AWS itself. In addition to linking with internal AWS services like SES.
Amazon Route 53 is a highly available and scalable Domain Name System (DNS) web service. You can use Route 53 to perform three main functions in any combination: domain registration, DNS routing, and health checking.
Load Balancer
ELB (Elastic Load Balancer)
Component responsible for relieving the servers of the number of requests. With it, it is possible to distribute traffic among multiple destinations.
Elastic Load Balancing automatically distributes your incoming traffic across multiple targets, such as EC2 instances, containers, and IP addresses, in one or more Availability Zones. It monitors the health of its registered targets, and routes traffic only to the healthy targets. Elastic Load Balancing scales your load balancer capacity automatically in response to changes in incoming traffic.
Management & Governance
Logs
Cloudwatch
Component responsible for monitoring resources, providing a way to view application status.
Amazon CloudWatch monitors your Amazon Web Services (AWS) resources and the applications you run on AWS in real time. You can use CloudWatch to collect and track metrics, which are variables you can measure for your resources and applications.
Application Integration
Messenger
SNS (Simple Notification Service)
Component responsible for messaging communications. With it you can send SMS, emails and notifications.
Amazon Simple Notification Service (Amazon SNS) is a managed service that provides message delivery from publishers to subscribers (also known as producers and consumers). Publishers communicate asynchronously with subscribers by sending messages to a topic, which is a logical access point and communication channel. Clients can subscribe to the SNS topic and receive published messages using a supported endpoint type, such as Amazon Kinesis Data Firehose, Amazon SQS, AWS Lambda, HTTP, email, mobile push notifications, and mobile text messages (SMS).
Queue
SQS (Simple Queue Service)
Component responsible for offering a queue solution to integrate with AWS services.
Amazon Simple Queue Service (Amazon SQS) offers a secure, durable, and available hosted queue that lets you integrate and decouple distributed software systems and components. Amazon SQS offers common constructs such as dead-letter queues and cost allocation tags. It provides a generic web services API that you can access using any programming language that the AWS SDK supports.
Analytics
Serverless ETL
AWS Glue
Component responsible for providing a way to extract transform and load data between different types of AWS storage.
AWS Glue is a serverless data integration service that makes it easy for analytics users to discover, prepare, move, and integrate data from multiple sources. You can use it for analytics, machine learning, and application development. It also includes additional productivity and data ops tooling for authoring, running jobs, and implementing business workflows.
Front-End Web & Mobile
Proxy
API Gateway
Component responsible for offering a proxy to control traffic and access to APIs.
Amazon API Gateway is an AWS service for creating, publishing, maintaining, monitoring, and securing REST, HTTP, and WebSocket APIs at any scale. API developers can create APIs that access AWS or other web services, as well as data stored in the AWS Cloud. As an API Gateway API developer, you can create APIs for use in your own client applications. Or you can make your APIs available to third-party app developers. For more information, see Who uses API Gateway?.
Emails
SES (Simple Email Service)
Component responsible for providing a simple way to send emails. With it, you can create customized email templates for your communications, linked to your domains.
Amazon SES is an email platform that provides an easy, cost-effective way for you to send and receive email using your own email addresses and domains.