You guys covered a lot of ground in your discussion and for the sake of time I won't comment on every point, but basically what you're discussing is the business case for "Cloud" vs. on-prem.
In short, the "Cloud" reduces the complexity of operations while increasing agility and scale-ability.
Cloud reduces complexity by eliminating the management of the infrastructure. You no longer have to worry about servers, storage, power, cooling, network switches, cabling, virtualization etc. etc. etc. (not to mention making all of the above redundant). This is a massive win for I.T. operations because it lifts the burden of the most time consuming and expensive part of operations (building and operating data centers). Most admins also don't enjoy swapping UPS batteries and testing HVAC systems so double win!
Cloud increases agility because it's all billed per-minute. You no longer need to go through a multi-month (year?) process to add a new service. You just click. You can add hundreds of servers to your environment in seconds then turn them off again 5 minutes later. There is no equivalent of that in any other environment.
Cloud increases scale-ability because day-to-day maintenance tasks like monitoring and patching can all be automated. So while it's fine to say you can spin up 100 new servers in 5 minutes, that's not a good thing unless you have a way to manage all that new compute. Cloud has you covered.
Or think of it this way, Cloud is your way to access the most sophisticated & robust I.T. infrastructure and management solutions available. Solutions that, until Cloud, were only available to the worlds largest organizations (and even they struggle to cope).
"Cloud" is like buying a plane ticket. You don't just get a seat on a plane, you get a "slice" of all the complex operations that happen in the background to get you from point-A to point-B safely (air traffic control, airport maintenance, airplane maintenance, etc. etc. etc.) Think of what a different world it would be if we didn't have a "Cloud" of airplanes in the sky to utilize.
Now a quick side-bar on containers (e.g. Docker). The whole point is that they don't get updated. If there is a new version of your code, you push it out to a new "swarm" of containers and all the old ones get torn down. It's easy and that's the whole point. If you had to do patch management on containers, now you're effectively just turning them back into VMs and that defeats the whole purpose.
John