Moving apps to the cloud is a top priority for every organization now. There are plenty of options to do it. But the major players to help you achieve that are Amazon web services, Microsoft Azure and Google Cloud Platform – let them worry about servers, disks and power.
There are two options to migrate/build your apps in the cloud – Infrastructure as a Service(IaaS) and Platform as a Service(PaaS).
If you choose PaaS you can migrate all of your application to the respective services available in the cloud. Ex. Amazon Sagemaker, Amazon dynamoDB etc. It will be a cheaper option. But, then your application is glued to that platform. Hence, you can’t easily migrate apps to other platforms. Startups do not go with this approach for the same reason.
Instead, if you choose IaaS – you will set up a virtual machine for the application. The benefit is that you can easily port your application across the cloud (AWS, Azure, GCP etc). But, the running cost will be higher compared to PaaS.
So, what is the right choice? Neither of them. Both IaaS and PaaS are a compromise.
The solution: Docker! docker offers a great option without any compromises. You can migrate each part of your application to a container and can run the whole application in containers using Azure Kubernetes Service or Amazon ECS. And you can port the app to anywhere and run it in the same way!
What is a Docker?
Docker is an open-source technology with a simple concept – package an application together with all its dependencies as containers. Hence, you can port that app anywhere and run it in the same way.
How to Run your First Docker App Anywhere?
Set up docker on your local machine by downloading and installing it.
Clone a sample app from Git by executing this command: git clone https://github.com/Azure-Samples/azure-voting-app-redis.git
Change directory with command: cd azure-voting-app-redis
Create container image with command: docker-compose up -d
Run the app locally from a browser: http://localhost:8080/
With a few additional scripts, you can run the same app on Azure/AWS/GCP.
Explore the beauty and potential of containers. With your comment let me know what you think!