Re: technology realization of cloud computing has different constraints
@Tzubair The answers to these questions depend on what the strategic vision is for IT in the enterprise.
If the enterprise views IT as a strategic differentiator but they are behind on their investment in skill and capability then bringing in an SI to bootstrap the effort is most productive. But it is important that whatever SI is brought in, the system that is delivered can be picked up, maintained, transformed, and expanded on by the internal IT teams. The SI is really there to avoid making unnecessary mistakes, and bootstrap the organization to best practices in one product cycle. The bootstrap project needs to deliver skill, capability, training, and support processes for all the cloud requirements: infrastructure-as-code, CI/CD, service reliability, and elasticity. So that first project is unlikely to be an existing enterprise application for the back-office.
If the enterprise simply consumes IT and is not investing in skill and capability, then the path to the cloud is through integration of full stack SaaS components. The SaaS provider solves the cloud attributes of the application, the enterprise consumes the capability, and the internal IT team serves as a VMO, and L1 support layer, with the skills to escalate to L2 and L3 support by the SaaS provider. An SI, or the professional services team of the SaaS provider will be your answer to system integration with existing systems and processes.
Because cloud transformations are very much a change management problem with the IT teams having to go through major skills and process training, it is typically very easy to predict success of failure upfront. Success is only achievable if the management team understands the change management problem. The journey that the internal IT team needs to go through is to discover the new attributes of the cloud, which in a nutshell is the domain of distributed systems comprised of unreliable components. This journey starts with deployment automation (infrastructure as code) and can be applied to the enterprise applications that they already have. The next problem that they need to become familiar with is service reliability. With the infrastructure automation in hand, they need to solve the distributes system problem of delivering reliable service in the presence of component and network failures. Again, something that you can apply to your existing enteprise applications without having to go to the cloud. It is even better to do this in your own environment first, before bringing in the cloud. This comprises the necessary skills for the delivery pipeline. CI/CD/CR is the next step to facilitate innovation, and elasticity is the cherry on top to have the system autonomously right-size itself. That journey is not rocket science, but it does require a change in thinking. An SI can bootstrap that process, but the organization needs to do the learning.