How to Choose a Service From The AWS Service List: Top 11 Solutions for RESTful APIs

There are over 200 AWS services. So, how can you know which one covers your needs? In this article, we explore the 11 AWS services we use and recommend the most to help you make a decision.

Sharing is caring!

by Matias Emiliano Alvarez Duran

09/24/2024

Choosing AWS services has a big impact on your app’s performance, scalability, and cost-effectiveness. Selecting the wrong options could lead your team to overwork to find workarounds and overpay due to the increased requests. 

However, since the AWS service list includes over 200 solutions, choosing the right mix of options can be very overwhelming, that’s why we’ve come up with this guide. Here, you can explore the 11 most common AWS services for RESTful APIs based on their category, use cases, and benefits. 

Note: This post is quite lengthy, so we encourage you to use the table of contents to navigate to the sections that interest you. Alternatively, you can watch our webinar on Proven Strategies to Decode Cloud Complexity, which offers actionable insights on selecting the right technologies, avoiding common pitfalls, and optimizing performance and cost efficiency.

Table of contents

Why you need to choose the right AWS services

Choosing the right AWS services allows you to connect your unique workload requirements to business goals and technical needs. Properly selecting the right mix of services allows you to: 

  • Optimize performance to offer high-quality user experiences without overspending on cloud resources

  • Scale your system vertically or horizontally

  • Pay for what you use and improve cost management 

  • Reduce management overhead and guarantee efficient operations

  • Stay compliant and secure 

How to choose the right AWS services for your platform

To pick the right AWS services for your system, you need to: 

  • Understand your API’s requirements. Identify the specific needs of your API, such as request volume, response time, and data persistence.

  • Evaluate service features. Compare AWS based on their ability to scale, security, and ease of integration with your existing infrastructure.

  • Consider long-term growth. Choose services that not only meet your current needs but can also scale and adapt as your API evolves.

  • Understand how your decision affects your business. Define which flows you need this service to support, who executes those flows, and the frequency of each business flow.

We also recommend that you consult AWS’s decision guides for a more in-depth exploration to match your needs with available services. Plus, conduct an AWS Well-Architected Review to identify which areas of your infrastructure need strengthening before settling on a solution.

Consult your AWS services choice with NaNLABS experts. Hop on a call with AWS-certified partners to validate your services selection or get new suggestions.

List of AWS services: Overview of 11 most used solutions 

We’ve narrowed the AWS service list from +200 solutions to our 11 preferred ones. Here’s a quick snapshot of them: 

AWS Services List

If you’re overwhelmed by the long list of services, get help from one of the best AWS consulting firms. They can help you choose the right combination of services for your business. 

AWS services for compute

Here are the three most common AWS services for compute:

1. Amazon EC2 (Elastic Compute Cloud)

Amazon EC2 offers scalable virtual servers in the AWS Cloud. It gives you full control over your compute resources on demand and lets you scale up or down to manage compute-intensive tasks or changes in website traffic. 

Main use cases: 

  • Hosting traditional web applications, databases, and custom software

  • Configuring networking and security measures of your virtual servers

  • Managing your virtual servers' storage

Key considerations: 

  • Lets you scale up or down within minutes so you can pay for what you use

  • Gives you full control of instances

  • Integrates with most AWS services

  • Can be costly if not optimized properly

2. AWS Lambda

AWS Lambda is a serverless compute service that automatically lets you run code as an event response without provisioning or managing servers. It also manages your compute resources and scales automatically based on the number of requests.

Main use cases: 

  • Running backend services like APIs, data processing, and event-driven applications

  • Providing machine learning (ML) insights by processing data and feeding it to your ML systems

  • Creating and running scalable, secure, and stable interactive mobile and web backends

Key considerations:

  • Handles the infrastructure automatically, there’s no need to manage servers manually

  • Supports automatic scaling based on the number of requests

  • Bills are based on the compute time used, which makes it cost-effective for intermittent workloads

  • There’s an execution time capped at 15 minutes, which may not suit long-running tasks and may cause latency issues

3. Amazon API Gateway

Amazon API Gateway is a fully managed service that makes it easy for developers to create, publish, maintain, monitor, and secure APIs at any scale. It acts as a front door for applications to access data, business logic, or functionality from your backend services.

Main use cases:

  • Creating RESTful APIs to interact with backend services like AWS Lambda or EC2

  • Building WebSocket APIs for real-time communication between clients and servers

  • Managing API traffic by throttling, monitoring, and logging requests

Key considerations:

  • Simplifies API creation and management

  • Provides built-in features for API monitoring, throttling, and security, reducing the overhead of managing these aspects manually

  • Makes infrastructure monitoring easy by tracking metrics and information on data latency, error rates, and API calls

  • Adds a step in the request-response flow which can affect latency

AWS services for storage

Store your data in a reliable, secure, and scalable cloud. These services allow you to improve agility, become more cost-efficient, and enable innovation. 

Here’s one of the most popular AWS services for storage:

1. Amazon S3 (Simple Storage Service)


Amazon S3 is a scalable object storage service that allows you to store and retrieve any amount of data from anywhere on the web. It’s designed for durability, availability, and scalability, making it ideal for storing a wide range of data types.

Main use cases:

  • Storing and distributing static content like images, videos, and documents

  • Doing backup and disaster recovery solutions for critical data

  • Building data lakes for big data analytics, archiving, and compliance data storage

  • Archiving data to lower costs and reduce operational hassles

Key considerations:

  • Is highly durable and available, with 99.999999999% (11 nines) durability and 99.99% availability

  • Supports many storage classes and optimizes costs based on data access patterns

  • Follows a pay-as-you-go pricing model, making it more efficient

  • Is expensive to transfer large amounts of outbound data

  • Performs differently depending on the storage class which can affect time-sensitive data

AWS database services


Here are the two AWS database services we use the most:

1. AWS Relational Database (RDS)

AWS RDS offers a scalable and managed relational database solution that supports several database engines. It handles routine tasks like provisioning, patching, backup, recovery, and scaling.

Main use cases:

  • Developing mobile and web solutions by using a reliable and scalable database that supports structured data storage and complex queries

  • Building new apps by using Amazon RDS as a fully managed database

  • Designing e-commerce platforms as Amazon RDS supports high availability and data redundancy for transactional systems

Key considerations:

  • It’s a fully managed service, so it reduces administrative overhead 

  • Supports high availability and comes with features like Multi-AZ deployments and automated backups 

  • Enables scalability to increase or reduce resources based on demand

  • Gets expensive if you want to handle multiple resource requirements 

  • Limits what you can configure in your database settings 

2. Amazon DynamoDB

Amazon DynamoDB is a fully managed NoSQL database service that provides fast and predictable performance—and supports scalability. It’s designed to handle large-scale, high-throughput applications as it comes with low latency. You can use it along with Amazon RDS in a polyglot database architecture

Main use cases:

  • Real-time applications such as gaming leaderboards, messaging systems, and session management

  • Managing user profiles, preferences, and settings for web and mobile applications

  • Implementing serverless applications by integrating DynamoDB with AWS Lambda

Key considerations:

  • It’s highly performant, even under heavy loads, thanks to automatic scaling

  • Offers improved reliability as it supports automatic backup and restore, global tables for multi-region replication, and point-in-time recovery

  • Has increased security as it provides granular access control 

  • Requires careful data modeling to achieve your desired query performance

  • Costs can increase significantly with high write or read request volumes

AWS services for networking

Use the following service to run your workloads on a reliable and secure global network:

1. Amazon VPC (Virtual Private Cloud)

Amazon VPC is a service that enables you to launch AWS resources in a logically isolated virtual network that you define. It gives you full control over your virtual networking environment, including IP address ranges, subnets, route tables, and network gateways.

Main use cases:

  • Building and hosting websites or blogs with secure inbound and outbound connections

  • Setting up multi-tier applications with separate subnets for web, application, and database layers

  • Extending on-premises networks to the cloud using VPN connections or AWS Direct Connect

Key considerations:

  • Gives complete control over your virtual networking environment, allowing you to define custom network architecture

  • Enhances your software security through network isolation, security groups, and network ACLs, enabling you to enforce strict access controls

  • Creates hybrid cloud architectures by connecting your VPC to an on-premises data center

  • Requires careful planning and management as the network configuration can be complex 

AWS services for security and identity management

Secure your platform by establishing systems to manage resources, identities, and user permissions at scale. Explore two of the most used AWS security and identity management services: 

1. AWS IAM (Identity and Access Management)

AWS IAM lets you securely control access to AWS resources. It allows you to manage users, groups, and permissions to ensure that the right individuals and services have the appropriate level of access.

Main use cases:

  • Managing access to AWS resources by creating and administering user accounts and groups

  • Enforcing security policies and access controls across your AWS environment

  • Integrating with other AWS services to manage permissions for applications and services

  • Implementing multi-factor authentication (MFA) for enhanced security of user accounts

Key considerations:

  • Offers fine-grained control over access permissions, allowing you to enforce the principle of least privilege

  • Supports various authentication methods, including passwords, access keys, and MFA, ensuring flexible security options

  • Helps with auditing and data compliance by recording detailed logging and monitoring through AWS CloudTrail

  • Comes with a steep learning curve for permission management and IAM policies

2. AWS KMS (Key Management Service)

AWS KMS allows you to create, manage, and control cryptographic keys used to encrypt and decrypt data across AWS services and your applications. It provides a secure and compliant way to protect sensitive information.

Main use cases:

  • Managing encryption keys for custom applications that require secure data handling

  • Enforcing compliance and data protection regulations by using AWS KMS-managed keys

  • Implementing envelope encryption, where a data key encrypts data and a master key in KMS protects the data key

Key considerations:

  • Supports fine-grained access control over keys, allowing you to define who can use them and for what purpose

  • Comes with high availability and durability, ensuring that keys are securely stored and accessible when needed

  • Has a steep learning curve to understand how to configure key policies

AWS services for management and monitoring

Scan and collect data from your resources and applications to guarantee everything runs as expected. Here’s the AWS service we recommend for management and monitoring:

1. Amazon CloudWatch

Amazon CloudWatch is a tool to monitor and observe your applications to get actionable insights into your AWS resources, applications, and services. It allows you to collect, analyze, and act on data from your entire AWS environment, helping you maintain performance and operational health.

Main use cases:

  • Monitoring the performance and health of AWS resources like EC2 instances, RDS databases, and Lambda functions

  • Setting up alarms to automatically respond to operational changes, such as scaling resources or triggering automated recovery processes

  • Collecting and analyzing logs from applications and scalable infrastructure to troubleshoot and optimize performance

  • Creating dashboards to visualize metrics and logs for real-time insights into your applications and services

Key considerations:

  • Provides comprehensive monitoring across AWS resources, enabling proactive management of your environment

  • Offers automated actions, such as scaling or notifications, based on defined thresholds, helping maintain system reliability

  • Requires careful configuration to avoid alarm fatigue that may cause your team to ignore them

AWS services for message queuing

If you’re using serverless or microservices architectures, you likely need a message queuing solution to communicate from service-to-service asynchronously. Here’s the AWS service for message queuing we recommend: 

1. Amazon SQS (Simple Queue Service)

Amazon SQS is a message queuing service that enables you to decouple and scale microservices, distributed systems, and serverless applications. It allows you to receive, send, and store messages between software components without requiring them to be available simultaneously.

Main use cases:

  • Decoupling microservices in a distributed architecture, ensuring that services can communicate asynchronously in event-driven applications

  • Buffering requests between application components to handle changing loads and prevent system overloads

  • Coordinating workflows in serverless applications, where AWS Lambda functions can process messages from SQS

Key considerations:

  • Supports standard queues for at-least-once delivery and first-in-first-out (FIFO) queues for exactly-once processing

  • Provides high availability and durability, ensuring that messages aren’t lost even in case of service interference to support business continuity

  • Costs can increase with high message volume and long message retention periods

Which solutions to pick from the AWS service list? 

When building scalable infrastructures, you’ll need to use more than one AWS service. While it all depends on your unique API requirements, the features you need, and your budget, you’ll likely need to use most of the services in this guide. 

However, if you're unsure about which AWS services are the best fit for your project, NaNLABS can help. 

Our team of experts is ready to listen to your unique needs, guide you through the selection process, and suggest a list of AWS services. We also offer AWS development services, so our team can handle the hands-on implementation to reach your technical and business objectives. 

Delegate AWS service selection to NaNLABS experts. Let us find a match between your technical requirements, budget, and business goals.

More articles to read

Previous blog post

Web Technologies

11/18/2013

Avoiding huge controllers in AngularJS

Read the complete article

Next blog post

SMB

09/17/2024

Reduce Technical Debt And Prevent it From Turning Into Financial Debt

Read the complete article