With Serverless architecture, your application has no virtual machines to run its code; it depends on managed services. These services can be fault tolerant and scalable, which in turn removes the burden of maintaining the resources by yourself. We all know that managing databases, load balancer and server can be very time-consuming. In fact, predicting the changes become more complex. This is why many projects tend to deploy on serverless architecture. Not only do you not have to predict the infrastructure requirements, but you also start paying for a number of resources consumed.
What does the word ‘Serverless’ mean?
In short, serverless means no servers to manage, provision or scale. It automatically scales out and you don’t pay for the idle time. The diagram below consists of a serverless application which uses many managed AWS resources.
Serverless Application in Amazon Web Services
Amazon Web Services provides many services that can help you in developing a serverless application.
- API Gateway – consider API gateway as your application router. With API gateway you can trigger Lambda events based upon a URL request.
Example: If a user visits www.infinitypp.com/user/10 API gateway will invoke a Lambda function to retrieve the user details.
- Lambdas (FaaS) – Lets you write functions written in C#, Python, Java and Node.js. The good thing about Lamdas is that they are designed to handle millions of requests and are extremely cost-effective. A million request fees total just $ 0.0124. Lambda functions can be trigged from multiple sources such as data created in DynomoDB or files uploaded to S3 and many sources.
- DynmoDB – If you’ve been working MySQL you will be blown away by the performance of DynmoDB. DynmoDB is the NoSQL database managed by AWS. DynmoDB will let you store data at a very fast rate compared to MySQL.
- Cognito: With AWS Cognito you could manage user registration or sign in regardless of the amount of traffic. Cognito also provides authentication with other services, for example: Facebook, Twitter, Google and more.
The concepts of CI/CD can be applied to a Serverless application. The key difference versus traditional architecture is the lack of server, which I personally find extremely beneficial.
To discover more about AWS Lambda or developing a serverless Application, watch the webinar below.
Read more Amazon AWS Tutorials and News.
I have a huge interest in AWS, Azure, and Ansible. In my spare time, I spend learning new features of AWS and Azure 🙂