-: Workflow Orchestration.
In this lesson,
we're going to start talking about orchestration,
because orchestration is the automation
of multiple steps in a deployment process.
Now, when you take a process,
you have to first break it down into its component parts.
You need to understand what that workflow looks like.
So, if I start at the green dot
and I want to get to the red dot,
what things do I do to get there?
What are those if and then and else statements?
What are the different actions they go through?
Let's take an example.
Let's say you wanted to orchestrate
adding a new virtual machine to a load balance cluster.
Now, this process might include lots of different things.
You're going to have to provision the VM.
You have to configure the VM.
You have to add it to the load balance cluster,
and you need to configure
that load balance cluster weight distribution
to consider the fact that you added
this new virtual machine as part of that cluster.
When you do all these things, there might be four, five,
10, 15, 20 steps, maybe 100 steps.
But you can do all of this through orchestration,
and then you can automate it
so you can run those things
without having to do each of those steps yourself.
Now, when you talk about orchestration,
I want you to think about it this way.
Orchestration is the automation of automations.
Now, what does that mean?
Well, each of those blocks
in that flowchart I just showed you
could be its own step,
and that step may be one action, or it could be 50 actions.
For instance, I have a flowchart and a path
that talks about when you buy a course,
everything that happens from the time you buy the course
to the time you start taking the course.
And there's a lot of things that happen
because we have to create an account for you.
We have to reset your password.
We need to add the course to your account.
There's all these different steps.
And so each of those isn't just one step, either.
Some of those have multiple actions inside of it.
For instance, when you buy the course,
we have to send you a receipt.
We have to log that inside of our purchase system.
We have to make sure we accounted
for the taxes that we have to pay on that.
We have to account for the fact
that we need to create an account for that,
and all those different things.
And so, if we can think logically about,
what is the sequence,
then we can automate that sequence.
And if we take lots of different sequences
and put them all together in one big automation,
that is the orchestration piece.
Now, when we talk about cloud computing,
one of the biggest benefits in cloud computing
is rapid elasticity.
When you go to my website,
if there's one person going to my website,
we have one cloud server up.
If we have 10 people, we might have two cloud servers up.
If we have a 100 people,
we might have five cloud servers up.
If we have 100,000 people, we might have,
I don't know, 1,000 or 2,000 servers up.
And what happens is this rapid elasticity.
It does this all on its own.
It rapidly adds new servers
as the configurations configures them,
copies the data, and then puts them into the cloud,
as well, as part of our load balance cluster.
All that happens with automation,
and this all happens
because of the orchestration we've created.
Now, when you start talking about orchestration,
there's really three types of orchestration.
The first one is resource orchestration.
This is to provision and allocate resources
within a cloud environment or other solution.
When you talk about workload orchestration,
this is for the management of applications
and other cloud workloads that need to be performed,
and basically looking at the components
to create the product you need.
The third one that we have
is what's known as service orchestration.
This is going to be used to deploy services
into cloud environments.
Notice the differences here.
Resources is like an EC2 instance in Amazon.
You're going to start up a new server, a new VM.
If you're dealing with workload orchestration,
this is about managing apps
and other things that are working together.
And then we talk about service orchestration.
This is working on those services themself.
Now, when it comes to orchestration,
I want you to remember
you don't have to be locked into one vendor.
Everything you do doesn't have to sit there on Amazon
or on Azure or on Google Cloud.
You can pick one, two, three, or multiple.
It really depends on you.
And if you do this,
there is some platforms out there
that are known as third-party orchestration platforms.
These allow you to work on your product
and your orchestration across multiple vendors,
and allows you to prevent this vendor lock-in.
Now, as we talk about orchestration,
there is a handful of tools that you need to be aware of.