- [Instructor] So now let's talk about
application level portions of cloud computing architecture.
So what's important here is that this is
where the rubber meets the road.
In other words, in defining networks, and storage,
and computes, and data, all of these serve the application.
So what they do is they allow the application
to, in essence, orchestrate these resources
into solutions that actually meet the needs of the business.
So when going forward this is where
everything needs to happen.
Having said that, this is probably the most complex thing
to think about when we're looking at architecture,
because this is nothing static,
and it's always going to change.
Applications are going to be customized
to meet the needs of the business.
Therefore, each application instance
that you find in a cloud is going to be very different
than the other application instance.
But what you can do is look for patterns.
You look for different ways in which we deploy applications,
such as leveraging containers and serverless
and other advanced technologies.
And understand that, in many instances we're going
to be able to make reusable application components
that we can use from application to application.
In essence, reusing things so we never have
to start the build of applications from scratch.
So we're turning all of these technology components
into a solution.
So our ability to, in essence, bind these things together
and actually create a good architecture for the application
is also in the domain of the cloud computing architect.
And so while you may not do programming,
what the application needs to do.
And you need to be able to instruct the developers
how to leverage the resources in the proper way,
and the proper order.
And also, they need to instruct you
making sure that you're picking the right components
of the architecture, that's able to meet the needs
of the business.
So typically do hundreds of these for a single enterprise.
So applications go on and on and on.
And the reality is that net new applications
are accelerating because we have DevOps,
development and operations, which were bound together.
Which we're removing some of the latency
and also the ability to leverage the power of the cloud
to, in essence, provision the resources
that you need instantaneously
to host and run the applications.
So applications are multiplying.
So again, we have the cloud architecture.
And with the application level component of the architecture
we have a couple of things that we're dealing with.
The ability to, in essence, bind APIs that we're building,
that we're able to reuse between applications.
An instance of that would be the ability
to do a credit check, and we may need to do that
from hundreds of applications at the enterprises,
in this case a bank, maybe leveraging.
And there's no reason to rewrite that or reinvent the wheel
each and every time you need to do a credit check.
So we're going to produce an application service
that's going to be reusable within those various systems
through an API, or an application programming interface.
We may be dealing with containers.
The ability to, in essence, put applications
into these pre-built packages,
which are operating systems under themselves,
which may be portable between different cloud providers,
depending on what your needs are.
And you need to figure out how they need to work
and play well together.
of container orchestration layers, such as Kubernetes,
and picking the right one.
Making sure you're deploying within those layers
and they're going to be manageable,
and they're going to be part of the architecture.
Languages, the programming languages
that you need to leverage, such as Python,
Node.js, could be C, Java, Legacy System languages,
even Cobalt and Fortran.
Then user interfaces.
How we're going to interact with the users, or the humans.
And whether it's going to be a mobile application,
graphical user interface that's native to the platform,
or typically, and more often than not,
it's going to be a web browser based interface.
And then breaking that down even further
we have custom and canned application services,
things we write or things we may leverage
from somebody else, even outside the organization.
Different container options, such as Docker
and also Kubernetes is an orchestration layer.
Languages such as Python and Node.js.
Then user interfaces such as mobile and browser.