11 Good AWS Serverless Services to Use in Cloud Architecture » –

Serverless services are fully managed services which means that everything related to the underlying hardware infrastructure, provision, maintenance, patching, or even higher security usage is made available by AWS. Serverless can be called ideal for developers instead of worrying about the allocation server, whether the allocation is too much or too little, after being put into use, there is no need to update, upgrade patching anything (This is really nightmare for developers who are not familiar with infrastructure, CLI, shell and that).

AWS understands this and offers some kind of so-called serverless service.

What is Serverless?

Serverless translates Vietnamese as “non-server” but the translation seems a bit silly, I don’t know how to translate it to escape the meaning. Serverless is not literally serverless, the essence of the underlying serverless is still servers, but AWS makes this opaque (transparency or invisibility) and automatically manages lower layer operations. this floor as long as it provides enough capacity as designed for you.

AWS Serverless

Definition of serverless computing: Serverless computing is a cloud computing execution model in which the cloud provider allocates machine resources on demand, taking care of the servers on behalf of their customers – Wikipedia

  • Serverless refer to applications where the management and allocation of servers and resources are completely managed by the cloud provider. – Serverless-Stack
  • Serverless is a cloud-native development model that allows developers to build and run applications without having to manage servers. There are still servers in serverless, but they are abstracted away from app development. – Redhat

Kevin focuses on developing products using Cloud Native, so he always prioritizes Serverless services in his architecture to speed up development, easy to scale, and much cheaper than doing it. Traditional Cloud.

Now, let’s take a look at the available AWS Serverless services:

1. AWS Lamda

Type: Compute Services

Description: Run code without caring about the server, support coding in popular languages ​​such as: Python, Node.js, Go, Java. More specifically from 2020 Lambda expands capacity to 6vCPU and 10GB RAM and supports docker running.

Pricing Model:

  • Number of requests
  • Duration of execution

Reference: https://aws.amazon.com/lambda/

2. Amazon API Gateway

Type: API, proxy

Description: Helps you deploy APIs at scale, supports Restfull and Websocket APIs,

Pricing Model:

  • Number of requests
  • Caching

Reference: https://aws.amazon.com/api-gateway/

Type: NoSQL DB

Description: AWS NoSQL database service, keyvalue-pair and document DB support. This type of database has a very fast access speed in single-digit-milisecond, if combined with DAX’s Cache, it will be reduced to micro-miliseconds, can scale up to 20 million requests per second.

Pricing Model (on-demand and provisioned):

  • Write Capacity Unit
  • Read Capacity Unit
  • Storage
  • Data Transfer
  • etc

Reference: https://aws.amazon.com/dynamodb/

4. Amazon EventBridge

Type: Controller

Description: Amazon EventBridge is considered an event bus that is the hub for events of various types of SaaS and AWS Services applications. EventBridge collects events from various types of applications such as Zendesk, Datadog, Pagerduty and routes this data to AWS Lambda. You can also set up rules to route this data to different applications. EventBridge helps you build event-driven-applications. EventBridge schema supports Python, Typescript, Java to help developers convenient in the application development process.

Pricing Model:

  • Pay for events to your event bus
  • Events absorbed to Schema Discovery
  • Event Replay

Reference: https://aws.amazon.com/eventbridge/

5. Amazon SNS (Simple Notification Service)

Type: Messaging

Description: pub/sub messaging service that supports SMS, Email, mobile push notification.

Pricing Model:

  • Number of requests
  • Notification services
  • Data Transfer

Reference: https://aws.amazon.com/sns/

6. Amazon SQS (Simple Queue Service)

Type: Messaging, Queuing

Description: Message queue, building queues for information to help decoupling multiple service groups, is also a way to help applications deployed in the cloud increase reliability. SQS supports standard queues to maximize throughput and FIFO queues to ensure messages are delivered exactly once in the order they were sent.

Pricing Model:

  • Number of requests
  • Data Transfer

Reference: https://aws.amazon.com/sqs/

7. Amazon S3 (Simple Storage Service)

Type: Storage

Description: File storage service object (Object). S3 offers limitless storage in buckets, each up to 5TB, easily managed through the AWS Management Console, API, and CLI. S3 also easily integrates other AWS services very deeply such as governance services, data analysis, machine learning, web integration…

Pricing Model:

  • Storage actual usage
  • Request type (PUT, GET, LIST…)
  • Data transfer
  • Retrieving

Reference: https://aws.amazon.com/s3

8. AWS AppSync

Type: API, Mobile service

Description: AppSync is an AWS service that allows building real-time communication applications such as data-driven mobile apps or web apps with the support of GraphQL APIs.

Pricing Model:

  • Query operations
  • Data modification operation
  • real-time update data

Reference: https://aws.amazon.com/appsync/

9. AWS Fargate

Type: Compute, container

Description: Serverless compute when used with containers. Fargate can be used with both EKS and ECS (orchestration)

Pricing Model:

  • Resource vCPU per hour
  • Resource RAM per hour

10. AWS Step Function

Type: Controller, Cron job

Description: Gone are the days of writing cron jobs in the operating system and forking according to the respective business logic. AWS Step Function is a service that helps you build applications that process logic in time hops through state machines. This is a very, very good service.

Pricing Model:

Reference: https://aws.amazon.com/step-functions/

11. Amazon RDS Aurora Serverless

Type: Database, SQL

Description: Aurora is a type of engine in Amazon RDS offered by AWS (AWS Property). Aurora MySQL is 5x faster than regular MySQL and 3x faster than Postgres. Unlike DynamoDB, Aurora is a SQL service. For a large application you may have to combine many types of DB services to get the best performance.

Pricing model:

  • ACU (Aurora Capacity Unit)
  • Storage

Reference: https://aws.amazon.com/rds/aurora/serverless/

Conclusion

Kevin believes that there will be more and more Serverless-oriented services and the cost of using the cloud will be increasingly optimized in favor of users. Thanks for AWS, Azure, GCP are offering more and more good cloud services.

Have fun!

Leave a Reply