A friend started his IT career in the UK tax office. Got outsourced to 3 difference companies and stayed at the same desk at each change.
My experience with outsourcing IT is that it is rarely thought through. A process is believed to be costly and inefficient. What should happen is a process that goes through the 5 WHYS.
Start with "Why do you think it is costly and inefficient?" and if it is, move on to "Why is it costly and inefficient?"
The problem is often spaghetti communication paths, bureaucracy and tech debt. The only reason it works is that insider knowledge and processes that have sprung up to offset the problem. Outsourcing simply eliminates the insider knowledge and further processes spring up to address that.
To outsource something properly you need to know the inputs and outputs, time sensitivity, data quality processes and a plethora of other details where the devil lurks.
Payroll would be an example where outsourcing works well.
Moving to the cloud addresses some IT issues but without care it comes with a thumping great bill. Even when care is taken it can can still come with a thumping great bill if your use case is not intended for the cloud. If you are running 24/7/365 then it is going to be expensive. The attraction of the cloud is that you can scale DOWN, but this is a late realisation.