7 AWS services that can help create your app
Tags: serverless, aws, beginners, startup
Published: 2023-01-22 18:15:15

Amazon Web Services offers a lot of different services that can be used for building an app. You can search [within all of them on this site](https://aws.amazon.com/products/?aws-products-all.sort-by=item.additionalFields.productNameLowercase&aws-products-all.sort-order=asc&awsf.re%3AInvent=*all&awsf.Free%20Tier%20Type=*all&awsf.tech-category=*all) where you can use different filters to get to services that could fulfil your needs. 


![AWS Cloud Products page](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jhws2id7xjjto97z3e9x.png)

You can choose a particular product category or use filter on the left side of page.

There is a possibility to choose from different possibilities:

1. re:Invent - we can choose from whether the service was launched on re:Invent 2021 or 2022
2. Free Tier Type - we can choose whether we want to see the services with 12 Months Free, Always Free or Trials possibility
3. Product Categories - consists of different product categories e.i. Analytics, Blockchain, Database, Internet Of Things etc. 

The number of services available is pretty high. Let's dive briefly into 7 of them. 

##[1. AWS Lambda](https://aws.amazon.com/lambda/)
AWS Lambda is serverless computing service used for running event-driven and scheduled tasks. It allows users to run code without provisioning or managing servers. One of the advantages is that it can scale automatically and we pay only for what we use. Lambda can be used with these programming languages: Java, Go, PowerShell, Node.js, C#, Python, and Ruby code. #2. Amazon Cognito

##[2. Amazon API Gateway](https://aws.amazon.com/api-gateway/)
Helps to create, publish, maintain, monitor, and secure APIs at any scale. Using API Gateway we can build 2 types of APIs:

1. RESTful APIs
2. WEBSOCKET APIs

##[3 Amazon Cognito](https://aws.amazon.com/cognito/)
This service is usually used for adding sign-in and sign-up to web and mobile apps. Amazon Cognito is an authentication and authorization service. 

So basically once we need to add the possibility for registering the clients and then their sign in to their accounts, this service is good to go.

##[4. Amazon Dynamo DB](https://aws.amazon.com/dynamodb/)
As we could also work with some data that we need to be stored, it is always good to have a service that enables us to do so. Amazon Dynamo DB is serverless, key-value NoSQL database. It enables app creators to start small and scale to handle petabytes of data and ten of millions of read and write requests per second.

##[5. Amazon Appsync](https://aws.amazon.com/appsync/)
As the clients may have some data within their accounts and after they are logged in they expect their data to be shown. We need to query them from somewhere. Amazon Appsync helps to create serverless API that enables that. 

Not only querying is the thing that can be done thanks to this service. Also updating or publishing data through one single endpoint is the thing. 

There are 2 types of APIs that can be created with this service:

1. GraphQL API
2. Pub/Sub API

##[6. AWS Step Functions](https://aws.amazon.com/step-functions/)
This service helps with serverless orchestration. Helps with management of workflows with possibility to call over 200 AWS services.

In other words we can have some workflow within our business logic that requires couple of steps to be done. Let's take for example a simple flow where a user of the app needs to upload a photo that will be edited. Steps that could be done
1. Saving the photo on server
2. Checking that payment was a success
3. 
a. If the payment was a success then running a Lambda function that can edit the photo
b.  If the payment was not a success then wait for 3 days for a payment. If there is no payment after 3 days - CANCEL IT

4. Saving the edited photo on server
5. Sending the email with the edited photo or with the message that the payment did not arrive and the order was cancelled.

All of the steps could be managed by creating a workflow within the Step Functions. This is just an example of couple of steps, but the possibilities are endless.
  
##[7. AWS CloudWatch](https://aws.amazon.com/cloudwatch/)
This service is pretty useful once you would like to log for example some errors that occur from time to time. But not only that. AWS CloudWatch is monitoring and management 
service, which is great for collecting logs, metrics or event data.

## Conclusion
These are just a couple of services that can be useful from all the services that are offered by AWS. 

Which from the AWS services are you using for creating your apps?


FOLLOW [tellitwithcode](https://www.instagram.com/tellitwithcode/) on Instagram