Let’s look at a couple of simple models that can help you think in a structured way about your journey to the cloud. There are basically three ways you can choose to move capabilities to the cloud.
Lift & shift
Here, you typically pick up an existing application and deploy it as-is to infrastructure-as-a-service (or IaaS) in the cloud. There are multiple advantages with this approach - you can move to the cloud quickly and the software will no longer run on a computer in your data center that you need to operate, maintain, backup and upgrade. The disadvantages are that it’s still the same software, and you still need to operate, patch and debug it on your own. This as-is, on-prem architecture will not be flexible under load nor will it have a built-in high availability.
Adopt SaaS
The second path is where you choose to adopt the capabilities provided by a software-as-a-service, or SaaS application. Good examples of this are Salesforce, ServiceNow or Marketo. As you move a particular business function to a SaaS application, you may be able to switch off or decommission an old application on-premises. The advantages here are that the applications are cloud native, with clear pricing and no operational effors from your side. As a disadvantage we can mention that those SaaS apps, are often adopted by your competitors, meaning you can’t differentiate your business with them.
Build cloud-native solutions
The third path is where you choose to build brand new cloud-native applications using all the powerful capabilities provided by a platform-as-a-service (PaaS) such as the AWS stack or Azure stack. This may also allow you to wind down obsolete on-premises applications. A key advantage of this approach is the faster time to market, which makes it very suitable for your systems of innovation. Also, by building your apps from scratch, you can leverage the best the cloud providers offer – e.g. databases as a service and easy access to huge storages that can be used as data lakes for analytics. As disadvantages, we can list the danger of vendor locking to a particular cloud provider and the often unpredictable costs, that may easily explode if the solution is not engineered carefully.