AWS, acronym for Amazon Web Services, is a cloud services platform provided by Amazon. AWS consists of more than 175 services, that includes Infrastructure as a Service (IaaS) services, Platform as a Service (PaaS) services, and Software as a Service (SaaS) services.
The 175 plus services includes services for various categories - compute, storage, databases, security, networking, content delivery, data warehousing, integration technologies, data lakes, analytics, blockchain, machine learning, artificial intelligence, etc.
AWS uses an elastic model, i.e. you can scale up or scale down the usage of the services as needed, and offers a pay-as-you-go approach for pricing.
This is a frequently asked AWS interview question. By asking this question, the interviewer wants to access your familiarity with the AWS platform. There are more than 175 services provided by AWS, and it is not possible to remember each of these services.
Best way to prepare for this question is to list the core categories - compute, storage, databases, security and identity management, networking & content delivery, and application integration; and then list the key services within these categories.
Compute - Hosting of virtual servers, Container management, Serverless computing
Amazon Elastic Compute Cloud (EC2)
Amazon Elastic Container Service (ECS)
Amazon Elastic Container Registry (ECR)
Amazon Elastic Kubernetes Service (EKS)
AWS Lambda
Storage
Amazon Simple Storage Service
Amazon Elastic File System
Amazon Elastic Block Storage
Databases
Amazon RDS
Amazon DynamoDB
Amazon DocumentDB
Amazon ElastiCache
Amazon Neptune
Amazon Keyspaces
Security And Identity Management
AWS Identity And Access Management (IAM)
Networking and Content Delivery
Elastic Load Balancing
Amazon API Gateway
Amazon CloudFront
Amazon Route 53
Application Integration
Amazon MQ
Amazon Simple Notification Service (SNS)
Amazon Simple Queue Service (SQS)
AWS Region
AWS Region is a geographical region where clusters of Amazon data centers are located. Regions are designed to be isolated from each other, for stability and fault tolerance. Data and resources are not replicated across regions.
Regions are represented by region codes, Some examples of region codes are us-west-1 (US West North - California), us-west-2 (US West - Oregon), eu-west-1 Europe (London), etc.
To create most Amazon resources or services, such as an instance of EC2, you have to specify the Region that you want to create the resource in.
Availability Zones
AWS Regions contains multiple isolated locations called Availability Zones, each of which contains an isolated data center.
Availability Zones within a region are connected with high bandwidth, low latency networking. You can distribute and replicate resources and data across Availability Zones, so that if a resource fails in one Availability Zone then it can be served from another Availability Zone within the region.
Availability Zones are represented by region codes, suffixed by letter. Some example of Availability Zones are us-west-1a, eu-west-1b, etc.
Some resources and services provided by AWS can be used across all AWS regions, i.e they are global and not region specific. In the AWS console, in cloud management, these are listed under AWS Global.
Some of the global services are IAM, Amazon S3, Server Certificates and CloudFront.
AWS platform provides the AWS Identity and Access Management (IAM) component that enables you to manage your AWS resources and services securely.
Following are the key features provided by IAM
IAM Users - Create new users in IAM, provide individual security credentials (access keys, passwords, multi-factor authentication), provide and manage individual access to AWS resources and services.
IAM Roles - create roles in IAM, provide and manage permissions for the roles, assign entities and services to roles.
Federated Users - Provide and manage access and permissions to AWS resources and services to enterprise users, without the need to create IAM users, by using solutions that support SAML and other federation APIs.
AWS compute refers to resources such as hosting of virtual servers, container management and serverless computing.
Following are the key compute components provided by AWS
Virtual machines - AEM provides the Amazon Elastic Compute Cloud (EC2) component, which offers hosting of virtual machines; with a choice of operating systems - Linux, Windows; and a choice of processors - Intel, AMD, NVIDIA, etc.
Containers - AWS provides Amazon Elastic Container service (ECS), a fully managed container orchestration service. AWS also provides Amazon Elastic Kubernetes Service (EKS), a fully managed Kubernetes service. AWS provides Amazon Elastic Container Registry (ECR) components which is a fully-managed Docker container registry that developers can use to store, manage, and deploy Docker container images.
Serverless - AWS provides AWS Lambda component that lets developers run code without provisioning or running servers. AWS provides AWS Fargate, a serverless compute engine for containers that works with both Amazon Elastic Container Service (ECS) and Amazon Elastic Kubernetes Service (EKS).
AWS provides three types of storage components - object storage, file storage, and block storage. It provides a range of services on top of these three storage components; to store, access, manage, and analyze data.
Object Storage - AWS provides Amazon Simple Storage Service (S3), an object storage service designed for scalability, availability, security, and performance.
File Storage - AWS provides three options for file storage. 1. Amazon Elastic File System (EFS), a scalable, fully managed, elastic, NFS file system. 2. Amazon FSx for Windows File Server; a scalable, fully managed, elastic, windows file server that is built on Windows server. 3. Amazon FSx for Lustre File Server; a scalable, fully managed, elastic, Lustre file server.
Block storage - AWS provides Amazon Elastic Block Storage (EBS); a high performance, highly scalable, block storage.
AWS supports the following Database types
Relational - Amazon Aurora, Amazon RDS, Amazon Redshift
Key-value - Amazon DynamoDB
In-memory - Amazon Elasticache for Memcached, Amazon Elasticache for Redis
Document - Amazon DocumentDB
Graph - Amazon Neptune
Time series - Amazon Timestream
Ledger - Amazon QLDB
AWS supports the following components to support Networking and Content Delivery
Networking
Amazon Virtual private Cloud (VPC)
Elastic Load Balancing
AWS Global Accelerator
AWS Transit Gateway
Amazon Route 53
AWS PrivateLink
AWS Direct Connect
AWS Virtual Private Network (VPN)
Application Delivery
- Amazon CloudFront
AWS App Mesh
AWS Cloud Map
Amazon API Gateway