Overview of 30 Important AWS ServicesJanuary 19, 2021 • 11 min read
The majority of modern web applications run on the cloud.
Amazon Web Services is the most popular cloud platform that offers scalable, reliable, easy-to-use, and secure platform as a service (PaaS) and infrastructure as a service (IaaS) solutions.
The word migrated to cloud computing platforms because of the significant benefits they provide:
- Pay only for what you use, without upfront payments and long-term commitments.
- Quickly scale or downscale resources like compute power and capacity.
- Deploy apps in multiple regions around the world.
- Reduce the total cost of ownership by eliminating the need to maintain data centers.
AWS has so many services that it’s easy to get lost in the AWS console at first glance. Some of the services are designed for specific use cases like AR & VR, IoT, machine learning, and blockchain. We’ll focus on the ones that get commonly used in many web applications.
Table of Contents
This service lets you rent virtual servers in the cloud. Most of them are virtual machines, ranging from tiny two vCPU and 0.5Gb of RAM to beefy 96-core machines with 384 Gb of RAM. You can also rent physical dedicated servers with EC2. The service is designed for any workload, although you’ll still need to choose the best instances for your specific tasks. Besides generic ones, EC2 also offers cost-saving ARM instances and bare metal Mac minis.
ECR is a highly available and high-performance container registry for easy storage, management, and deployment of your container images. Images can be private to your organization or shared worldwide. It works great with Amazon ECS, AWS Lambda, and AWS Fargate, enabling fast single-click deployments. It’s a fully managed service, and you pay only for the amount of data stored and data transferred over the internet.
ECS is a fully managed container orchestration service that enables you to run, scale, and secure Docker applications on Amazon EC2 and AWS Fargate. You can define multiple related containers and configure their various deployment parameters in task definitions.
Being a foundational pillar for critical Amazon services, it can natively integrate with Route 53, Secrets Manager, IAM, CloudWatch, and other services.
Fargate removes the need to manually provision and manage servers, freeing time to focus on building your application. It’s a serverless compute engine for containers that works both with ECS and EKS (Amazon Elastic Kubernetes Service).
It automatically allocates the right amount of isolated compute resources for each container, so there is no additional cost for over-provisioning to handle more load. By design, running each application in isolation also improves its security.
Lambda is a serverless compute service that enables you to run your code on the AWS platform without worrying about provisioning, maintenance, and scaling the servers.
This easy-to-use service automatically handles the deployment of web applications. It handles provisioning, load balancing, auto-scaling, and app health monitoring without losing full control over the underlying resources.
Elastic Beanstack the fastest and most straightforward way to deploy your application to AWS, and it doesn’t require extensive knowledge of the platform and its services.
DynamoDB is a high-performance managed NoSQL database that supports both key-value and document store. It can handle more than 10 trillion requests per day, with peaks of more than 20 million requests per second.
This durable and secure database with built-in in-memory caching, backups, and restore is the number one choice for many fastest-growing startups that demand low-latency data storage at any scale.
This service offers fully managed Redis and Memcached as high-throughput and low-latency in-memory data stores for your cloud applications. ElastiCache’s primary purpose is to boost web applications’ performance by caching mission-critical data on top of slower databases. It is also suitable for session storage, real-time analytics, and other tasks.
Aurora is a MySQL and PostgreSQL-compatible high-performance distributed relational database. Out of the box, it’s much faster than both MySQL and PostgreSQL and offers high security, availability, and reliability of traditional commercial databases. On top of that, it provides replication across three Availability Zones, point-in-time recovery, and continuous backup to Amazon S3.
This service manages relational databases in the cloud. It takes care of hardware provisioning, database setup, patching, and backups. Amazon RDS supports various database engines like Amazon Aurora, PostgreSQL, MySQL, Microsoft SQL Server, Oracle Database, and MariaDB.
With Kinesis, you can analyze real-time data streams with low-latency at any scale. It enables applications to collect, buffer, and process streaming data as it arrives and react to it instantly instead of waiting hours for data to be collected before processing begins.
Redshift provides a cost-effective way to build a data warehouse and run standard SQL queries against it. You can further analyze these results in various business intelligence tools to gain new insights from the underlying data.
Athena is a serverless solution to analyze large datasets in Amazon S3 using standard SQL. It’s fast, easy to use, and doesn’t require complex ETL processes to prepare your data before analysis. You pay only for the amount of data scanned when running each query.
With serverless AWS Glue, data integration becomes much more comfortable. It helps discover and extract data from multiple sources, prepare this data for use, and organize it into databases, data warehouses, and data lakes for further analysis by specialized tools and custom applications.
Route 53 is an advanced, highly available, and scalable DNS Service. Besides simple IP lookups, it has sophisticated routing types like GeoDNS, Geoproximity, and Latency Based Routing. Together with health checks and DNS failover, this enables different fault-tolerant low-latency architectures configurable with a simple visual editor.
CloudFront is a fast and secure programmable content delivery network (CDN) that caches your content and APIs on globally scaled edge locations for more rapid responses. It also offers protection against multiple types of attacks, including network, transport, and application-layer DDoS attacks. CloudFront is cost-effective and deeply integrated with other AWS services like S3, EC2, Route 53, and Elastic Load Balancing.
API Gateway makes it easy to create, publish, monitor, and secure RESTful and WebSocket APIs. It handles traffic management, CORS, authorization and access control, throttling, monitoring, and API version management. API Gateway can process hundreds of thousands of concurrent API calls. It’s a fully managed service, and you pay only for the API calls your application receives and the amount of outgoing traffic.
Elastic Load Balancing distributes incoming application traffic across multiple servers, containers, or Lambda functions. It enables the application to handle more concurrent requests without affecting response time. Multiple request handlers are crucial to make the application highly available, reliable, and fault-tolerant.
With Amazon VPC, you can create logically isolated virtual networks inside AWS. You have full control over the configuration of the network, its subnets, and routing tables. It’s possible to create a public-facing subnet with internet access for your web servers while keeping most of the backend infrastructure in a private subnet with no internet connection, making it much more secure.
Amazon MQ is a managed message broker service that makes it easy to run ActiveMQ and RabbitMQ on AWS infrastructure. It automatically handles provisioning for high availability, setup, software and security updates, and other maintenance tasks.
With SQS, you can send, store, and receive messages between microservices and serverless applications. It’s a fully managed service that has two types of message queues. Standard queues are best for maximum throughput and at-least-once delivery, while FIFO guarantees that messages are processed exactly once in the exact sending order.
Simple notification service provides high-throughput pub/sub fanout messaging to many subscribers, including Amazon SQS, AWS Lambda functions, HTTPS endpoints, and Amazon Kinesis Data Firehose. It can also send messages to users via email, mobile push notifications, and SMS. It’s a fully managed service, so you pay for use.
Amazon Simple Email Service is a flexible email service that supports mass email communication, marketing, and transactional emails at scale. It offers some analytics and calculates open and click-through rates to measure audience engagement in your email messages.
This service protects the secrets needed to access various APIs and resources required for your application. AWS Secrets Manager provides an API to retrieve secrets, so you don’t have to hardcode them in plain text configuration files. Access to these secrets controlled with fine-grained permissions.
CloudFormation enables you to describe your desired resources and their dependencies with a code template as a single stack. You can provision, manage, update, and delete these stacks as single units without managing underlying resources individually.
CloudWatch provides a unified view of AWS resources and services of your application. It’s helpful to optimize resources, detect abnormal behavior, set different alarms, monitor application health, and troubleshoot issues by viewing logs and various metrics.
Amazon S3 is a generic object storage service designed for incredible durability, high scalability, availability, security, and performance. It has various storage classes for different use cases. S3 automatically stores copies of objects across multiple systems. It offers a fine-grained access control system and auditing capabilities for compliance. Using Amazon Athena, you can analyze data in S3 at any scale with simple SQL queries.
For data archiving and long-term backups at extremely low-cost, Amazon offers S3 Glacier with extreme durability. There are three options for access to archives. Expedited retrievals typically return data in 1-5 minutes, standard generally complete in 3-5 hours, while the cheapest bulk retrievals take 5-12 hours to get large amounts of data.
EBS is generic long-term high-performance block storage for EC2 instances. It’s designed for both throughput and transactional workloads and can scale to petabytes of data. You can choose different storage types with various throughput and latency suitable for your needs. The EBS replicates volumes within the Availability Zone, and you can use EBS Snapshots to backup your volumes to S3.
Amazon Elastic File System is a fully managed scalable elastic NFS. It grows and shrinks automatically, eliminating the need to provision and manually manage capacity. EFS is designed to provide massively parallel shared access to thousands of EC2 instances with a high level of aggregate throughput and IOPS, maintaining consistent latency.
Amazon Web Services (AWS) offers more than 175 cloud services to cover any possible need. We’ve briefly described only the tip of this enormous iceberg. Besides general-purpose services, it has dozens of more specialized services in machine learning, IoT, Media, and other categories. Amazon Braket even allows you to experiment with quantum computing!
With cloud computing services like AWS, you can focus on developing your applications without too much worrying about managing and scaling your servers. You pay for what you use with most services. The majority of them are fully managed, drastically reducing the total cost of ownership by eliminating the need for dedicated people to manage them.
It’s much easier to make your application highly available, reliable, and fault-tolerant while maintaining outstanding performance and scaling worldwide.
You can read much more about all available services and each one of them in the AWS Documentation. We’ll be happy to answer any question, so don’t hesitate to get in touch using the form below.