-: In this step, let's start with serverless.
What do we think about when we deploy an application?
If you're like me a few years back,
you'd think about where to deploy this.
What kind of server should I make use of?
What should be the operating system?
I'd be thinking about how to take care of scaling.
How do we take care of availability and load balancing?
What if you don't really need to worry about servers
and you can focus just on code?
That's where serverless comes into picture.
One of the first misconceptions about serverless
is that serverless is no servers.
That's not true.
Serverless does not mean no servers.
Even when you're using serverless applications,
in the background, the application still runs on a server.
However, the important thing is,
you don't really need to worry about the server.
The cloud platform takes care of everything for you.
All that you need to focus on is the code.
So for me, serverless is all about having
zero worry about infrastructure.
You have zero visibility into the infrastructure as well,
so you don't even know where your application is running.
With serverless, you get flexible scaling
and automated high availability.
You don't really need to worry about
how to make your application highly available.
The serverless service would take care of it for you.
And if you're varying loads,
even that is taken care of by the serverless service.
It would scale up the number of instances,
scale down the number of instances based on the load.
So it provides you with flexible scaling.
And the most important part of serverless for me
is pay for use.
When you're making use of a serverless service,
you don't pay for servers,
you pay for the number of requests,
you pay for use.
Ideally, when you have zero requests,
you don't really need to pay anything at all.
So serverless for me, is all about focusing on code
and leaving it to the cloud managed service
to take care of all that is needed
to scale your code to serve millions of requests.
You pay for requests and not for servers.
And the most popular serverless service in AWS
is AWS Lambda.
AWS Lambda is truly serverless.
You don't need to worry about servers,
scaling or availability.
You only worry about your code.
You pay for what you use.
You pay for number of requests
that are coming into your Lambda function.
You also pay for the duration of the request,
how long each request is running for,
and you'll also pay for the memory that is made use of
by your Lambda function.
The great thing about AWS Lambda
is that it supports a wide variety of programming languages.
You can build your Lambda functions in Java,
Go, PowerShell, Node.js, C-Sharp, Python, Ruby,
and a lot of other languages.
In this step, we got a quick introduction
to serverless and AWS Lambda.
I'll see you in the next step.