Do you love provisioning servers, managing them, scaling them and whatnot?
There are quite a few chances of you saying no to my above question !!!
Now imagine, I tell you –
Hey, here is your magic wand that will free you up from all the server management tasks and let you enjoy what you love doing with a nice cup of coffee(I love tea more 😛 )
Presenting Serverless !!!
You may read my previous post on What is Serverless Computing and Why it’s Awesome !!!
Serverless Computing has taken the cloud computing world to storm. Big companies like Netflix, Airbnb and Coca-Cola are using serverless to cater for their compute needs on demand.
This makes me think that serverless is the next big thing in the computing world. In other words, it’s the future of cloud computing.
What do you think?
Do let me know in the comment box 🙂
Serverless Services on AWS
When it comes to serverless architecture, AWS has the most number of services available to them.
Let’s discuss them one by one and see how can you use them.
Simple Storage Service or S3 is the simple, easy-to-use and cost-effective object storage provided by AWS. It lets you store and retrieve any type and amount of data from anywhere in the world.
You create buckets in S3 and can store an unlimited amount of data in a bucket.
You can use S3 for various use cases such as-
- Static Website Hosting
- Backup and Storage
- Storage for Internet
- Data Archival
Get Started: AWS S3
- AWS S3 is Global or Region Specific?
- How to Create an S3 Bucket using CloudFormation
- This is Why S3 Bucket Names are Unique Globally
- AWS S3 Storage Classes- All you need to know
- Setup S3 bucket CORS Configuration using CloudFormation
- Create an S3 Bucket Policy using CloudFormation
- Automated Deployment of React App from CodeCommit to AWS S3
AWS lambda is the revolutionary serverless computing platform provided by Amazon. It provides you with the capability to run code without provisioning or managing a server. (Exactly what you are looking for 😀 )
- Provides pay-as-you-go model. You only pay when your code is actually running and not for idle time.
- Runs in response to events such as a request to an API gateway endpoint or an image upload to an S3 bucket etc
- Can be used for Back-end development for a serverless website or Real-time data processing
- Ideally, it fits a lot of use cases
AWS Lambda@Edge allows you to run Lambda functions at AWS Edge locations in response to Amazon CloudFront events to customize the response that CloudFront delivers.
- It improves performance by running closer to your application users and reduces latency
- You can use Lambda@Edge to change CloudFront request and response
Get Started: AWS Lambda
API Gateway is a fully managed service that makes it easy for developers to create, publish, maintain, monitor, and secure APIs at any scale.
Can handle hundreds of thousands of API calls. It also provides Authentication and authorization out of the box.
- In the time of microservices and serverless, together with AWS Lambda, it’s a perfect fit for API development for your serverless workload
Get Started: API Gateway
AWS DynamoDB is a fully managed fast and flexible NoSQL database. It provides single-digit millisecond latency at any scale.
You store key value and document data in DynamoDB.
DynamoDB provides both provisioned and on-demand capacity modes to optimize the cost
- Again it’s the perfect database candidate for a serverless application and now it even supports transactions
Get Started: AWS DynamoDB
Amazon SQS or Simple Queue Service is a fully managed message queue Service provided by AWS.
In the world of microservices architecture, Amazon SQS helps you decouple your application components so that they can work and fail independently
- Frees you from managing your own message queuing system
- You can send, receive and store messages between components
- Increases the fault tolerance of your application.
- You can share sensitive data between components using encryption
- Scales efficiently as your application grows
- Provides Standard as well as FIFO queue
Get Started: AWS SQS
Amazon Kinesis is a fully managed scalable and durable real-time data streaming service. It lets to collect, process and analyse data in real-time.
For example, you can collect real-time data such as audio, video, application log or IoT sensor data using it and react to those data in real-time.
- Enables you to ingest buffer and process real-time data
- You can analyse those data to provide insight in minutes
- Can handle any amount of data from thousands of sources and that too at really low latency
Get Started: AWS Kinesis
SNS or simple notification service is a fully managed messaging/notification service. It provides publisher/subscriber based many to many communication.
Publishers send message to an SNS topic and all the subscriber to the topic gets the message.
It can be used for-
- Sending Emails, SMS and push notifications to mobile devices
- Pushing messages to application endpoints like Kinesis Data Firehose delivery streams, Amazon SQS queues, HTTP(S) endpoints, and Lambda functions
Get Started: AWS SNS
Amazon Fargate is a technology that lets you run serverless containers on Elastic Container Service(ECS) or Elastic Kubernetes Service(EKS).
When using the Fargate launch type, you don’t have to provision and manage your servers.
You can simply specify the resources like vCPU and memory and pay for those resources.
Get Started: AWS Fargate
Athena is a managed query service by AWS that allows you to analyse unstructured, semi-structured, and structured data stored in Amazon S3 using SQS queries.
If you know SQL, it becomes really easy to analyse large datasets stored in S3. All you need is to point your data in s3 and define the schema and Tada you can start querying your data 🙂
It supports multiple file formats such as CSV, JSON, ORC, Avro, and Parquet.
You can use Athena when you want to query data stored in S3
Get Started: AWS Athena
AWS Step Functions is a serverless orchestrator service by AWS that let’s you coordinate multiple AWS services like Lambda and others to help you quickly and efficiently develop business-critical applications.
Basically, it’s based on a finite state machine and the output of one step acts as input to other helping the workflow execute in order and as per exception.
It works perfectly when your work includes predefined multiple steps. It coordinates the step well and provides error handling as well.
for example- you can use step functions to coordinate various steps of checkout for an e-commerce site.
You can check out a few more use cases here.
Get Started: AWS Step Function
AWS AppSync is a fully managed service which lets you develop GraphQL API quickly via the AWS CLI, console, Amplify CLI or CloudFormation.
It works by giving front-end developers the ability to query multiple databases, microservices, and APIs from a single GraphQL endpoint.
Does various heavy lifting like-
- Connecting to various data sources like DynamoDB, Lambda etc
- Adds cache to improve performance
- Supports real-time updates by subscription
- Client-side data store to keep off-line clients in sync
Get Started: AWS App Sync
Events are at the heart of communication when it comes to serverless applications.
Amazon EventBridge is a fully managed, serverless event bus that you can use to react to various events from-
- Internal AWS infrastructure events
- External SaaS provider events
- Custom events
Let’s you easily create event-driven architecture by connecting various event sources and routing it to a target like AWS Lambda or others.
Get Started: AWS EventBridge
That was my take on Serverless Services on AWS. I have got a chance to work on almost all of them and I am pretty satisfied with the way they work.
To be honest, I love them all but being specific I really really love S3, DyanamoDB and Lambda.
What’s your favourite by the way? Let’s blast the comment box with your comments. Trust me, I love reading them and they inspire me to write more. So please don’t wait and leave a comment for me.
Enjoyed the content?
Subscribe to our newsletter below to get awesome AWS learning materials delivered straight to your inbox.
Well, That was my take on “Serverless Services on AWS“. Please feel free to share your feedback.
If you liked reading my post, you can motivate me by-
- Adding a comment below on what you liked and what can be improved.
- Follow us on
- Share this post with your friends and colleagues.