To end of this entire section on computers let's just take a high level approach and compare the three
major compute options again on the left hand side.
We can see we have virtual machines.
This is where we have physical hardware a host operating system with a hypervisor controller run it
on top of that on premises.
That's typically VM wherein hyper v in Azure Azure takes care of that for us and we put our virtual
machine on top of that a virtual machine has its own virtual hardware and can run say Windows or Linux
and then we deploy our applications inside that when we look at containers.
Now again we're sort of taking the physical hardware we've got the operating system now which could
be Windows or Linux at this point and a container engine running on top there instead.
We no longer deploy the OS every single time we wanted to point your application.
We simply deploy the application along with its dependencies as containers which have already been tested
and we know that they run effectively.
Finally we have service.
So now we have physical hardware host operating system could be a hypervisor again run in some other
additional application on top that provide service capability and that's the service runtime and now
we simply deploy functions and individual API is basically they can scale out as needed.
So instead of say taken that bit of code and package it in a container.
This is a very small piece of code that can scale out and typically you know we don't like to see functions
run any more than 10 minutes which is the standard limit.
As of right now provided by Azure.
So with all three of those again it comes down to decoupling containers is typically the sweet spot
because allows people to kind of package things up do things it a little bit more familiar way and get
everything they need together.
And then if you really wanna get create I mean you got logic caps functions and things I can scale on
demand in a much more service way then by all means continue down to service.