>> Hey folks, my name is Burke Holland, and
welcome to the beginner's series to Serverless.
In this video, I'd like to answer the question,
what is Serverless?
This is a quote from me.
The point of this quote is that
Serverless has become more of a buzzword.
Buzzwords tend to lose their meaning.
It's more about the power of
the word than what the word actually means.
But Serverless does have a meaning.
What does it mean when we say that something is Serverless?
This is a definition that I like,
build applications without thinking about servers.
Now, I don't mean thinking about actual server boxes,
physical boxes, we never really did that.
What I mean is thinking about
the other things that you have to think
about when you have an actual physical server box,
and not having to think about those things anymore.
Here's some scenarios.
The configuration of the runtime that you need.
Do you need Java, do you need dot net,
do you need node, are those things installed?
Do you need a web framework to handle
web requests like ASP.net or Express,
how much processor power does your application need?
How much memory you're going to need?
Can the application scale out to handle a lot of load?
These are all the things that you have to think
about when you're working with an actual server.
Serverless architecture abstracts that away,
so all you have to worry about is your code.
Now it helps to look at a concrete example.
The service that most people associate with
Serverless is something called Functions as a Service.
Azure Functions is Azure function as a Service offering.
With Azure Functions, you create single functions.
These can be as simple as
a single code file with a single method in it.
You can call that method in a myriad of different ways.
Like with a URL,
you could do it with a timer like on a schedule,
or even when some other event happens somewhere else in Azure.
All of these different ways to
execute your function are called triggers.
Here's a simple example.
Azure Functions, projects are just folders,
and inside are the functions themselves.
Each function is a folder,
in this case, called HelloWorld.
The code that executes for that HelloWorld function is
an index.js file which is inside of that folder.
Now, this just demonstrates that a single file with
a single method is all that's needed to make this work.
You tell Azure Functions that
this particular function should be triggered with an HTTP request,
and Azure Functions turns this into
an endpoint and gives you the URL to call.
There's no web framework to worry about,
there's no routing to worry about,
there's no request handling to worry about.
This is what we mean by not thinking about servers.
This is the essence of Serverless.
I'm only worried about the business logic of my application.
I'm not thinking about how to expose
it as a service so that I can call it,
that part just works.
Serverless has become quite popular in the last few years.
Why is that? Well, there are some good reasons.
The first and probably foremost reason is that it's cheap.
There's no server to worry about,
no physical machine to pay for.
So there's no flat monthly fee.
You only pay for what you use,
you pay when your function is executed and even then,
it's just fractions of a cent.
It's easy because there's simply
less work required of you as a developer.
Less setup, less configuration.
You just put your code in and then it just works.
It's practical. Serverless is good for
all use cases and applications from Microservices, to APIs.
It's also particularly well suited for one thing like say,
adding a process that runs at the end of every day that reads
a database and sends an email
with a summary of the sales for that day.
In summary, Serverless means that you don't have
to think about servers when you're building applications.
Serverless is popular because it's cheap,
it makes life easier and it's practical.
Azure Functions is Azure's functions
as a Service Serverless offering.
[MUSIC]