Serverless services on AWS: an overview

Anna Boyko
Romexsoft-LTD
Published in
6 min readJan 27, 2021

As the world steadily shifts to complete digitalization, we can see more and more serverless applications on the market. Having a serverless application means that you do not have to invest in an in-house server infrastructure, host a whole team of server managers, or worry about scalability. AWS hosts a unique ecosystem of services that allow you to have your app’s server infrastructure completely in the cloud.

Read more: What is Serverless?

In this article, I would like to provide you with an overview of AWS’s serverless services by categorising them according to their basic functionality.

1. Computing

AWS Lambda

AWS Lambda is a pay-per-use computing environment that takes care of server and operating system maintenance for you, as well as scales automatically according to your application’s needs. If you choose to use AWS Lambda as your app’s computing environment, you will only be responsible for the code you provide, leaving all the infrastructure management headache behind. Lambda is a great service that is suitable in many development scenarios for any kind of application.

AWS Fargate

AWS Fargate is a computing environment that is made to run containers without managing servers or clusters of instances. Running your app’s containers with AWS Fargate is a secure and reliable solution that makes managing your cloud-native application even easier.

2. Databases

AWS DynamoDB

AWS DynamoDB is a high-performance NoSQL database service. DynamoDB database infrastructures are fully managed by AWS, so you don’t have to worry about operating and managing an in-house database. With DynamoDB you can create database tables of any size for any workload, which can then scale automatically in response to any changes in traffic. AWS DynamoDB also provides top-notch data encryption and backup services, so you can rest assured that your data is always going to be safe.

Amazon Aurora

Amazon Aurora is a serverless database engine that is a part of Amazon Relational Database Service. Amazon Aurora is fully compatible with MySQL and PostgreSQL, and can be used with code, tools, and applications that have already been set up for MySQL and PostgreSQL, but three to five times more effectively. Amazon Aurora databases are also fully managed scalable, their storage growing on-demand.

3. Messaging

Amazon SNS

Amazon Simple Notification Service (Amazon SNS) is a message delivery service for application-to-application and application-to-person notifications. You can set up Amazon SNS to send out messages in response to many triggers from your app’s serverless ecosystem, such as, for example, AWS Lambda functions. SNS messages can be distributed via mobile push notifications, e-mail, SMS, Amazon SQS, Amazon Lambda, or to an HTTP endpoint. Amazon SNS has no upfront costs and employs a pay-per-use model, is highly reliable, and uses server-side encryption to deliver your messages in the most secure way.

Amazon SQS

Amazon Simple Queue Service (Amazon SQS) is a message queuing service that allows you to send, receive, and cache messages between your serverless software systems. Amazon SQS is a secure and reliable solution for your message queues of any scale.

Read more: Top 10 AWS services

4. Monitoring

AWS CloudWatch

AWS CloudWatch is a service that can monitor all sorts of variables and applications of your AWS cloud infrastructures in real time. With the help of CloudWatch you can set up notifications in response to any kind of events and automatically apply changes to the metrics you are monitoring.

AWS CloudWatch homepage automatically displays all of the parameters of all the AWS services you are subscribed to, and you can create custom dashboards tailored to any specific needs.

Amazon QuickSight

Amazon QuickSight is a business intelligence tool that is used for reporting your cloud application insights in a concise and easy-to-understand way. QuickSight is a fully managed, secure, and reliable way to report your AWS data, third-party data, SaaS data, B2B data, and more. QuickSight data dashboards are equipped with built-in management tools that you can scale from 10 to 10 000 users.

5. Service integration

AWS Step Functions

AWS Step Functions is a service that lets you combine AWS services with each other to create complex functions for custom-tailored cloud applications. AWS Step Functions dashboard lets you see your apps as a series of easy-to-understand workflows, and with its built-in controls you can easily monitor the status of your functions. You can both set up Step Functions to perform routine small-scale tasks and create complex interfaces that require human interaction.

Amazon API Gateway

Amazon API Gateway is a service for API developers to create APIs to access AWS services or third-party web services. With Amazon API Gateway you can create, publish, maintain, and secure REST, HTTP, and WebSocket APIs of any scale. API developers can create APIs for use in their own applications or to be accessed by third-party applications.

Read more: Top 10 AWS Cloud Migration Tools and Services

6. Security

Amazon Cognito

Amazon Cognito is a fully-managed and affordable authentication, authorization, and user management service for web and mobile applications. With Amazon Cognito you can sign in to your accounts with a username and password combination or through your third-party accounts such as Google, Facebook, Amazon, or Apple. The two main features of Amazon Cognito are user pools (provide sign up and sign in functionality for individual accounts) and identity pools (let you grant other accounts access to the AWS Services you are subscribed to). Amazon Cognito is a highly secure service with multiple options of account verification (phone, email, multi-factor, etc.)

AWS KMS

AWS Key Management Service (AWS KMS) is a service that allows you to create and manage data encryption keys (customer master keys, CMKs for short). AWS KMS can be integrated with many other AWS data security services and is equipped with multiple management tools to help you keep all of your CMKs in check.

Conclusion

If you want to build a serverless application, you would need to feel confident in the cloud services you are subscribing to. AWS is exactly the right place to go to fulfill all of your cloud-native application’s needs — with its reliable, affordable, and fully integrated services, there is no doubt that your app’s cloud infrastructure will be perfect.

Original article: https://www.romexsoft.com/blog/serverless-services-on-aws-an-overview/

--

--