Docker is really efficient when using your system’s resources to help you isolate and manage your application.
3 biggest wins of Docker
Let’s have a look at the 3 biggest wins of Docker & why you should consider it using for your web applications.
1. Saving Time & Money
When it comes to save time & money, Docker is really efficient when it comes to your system resources & help you isolate and manage your applications. In other words, Docker lets you run your application on a specific machine where it won’t effect other resources on the same machine. This machine could be your development laptop or a cloud server.
Imagine you’ve 10 different applications with each having approximately 10 different framework agnostic dependencies. For example some applications are written on Node, some on PHP, some on Django and so on, each require different set of dependencies to run.
VM (Virtual Machine) waste a lot of resources. People often use vagrant to isolate apps. But it also utilises VM to allocate resources, yet the wastage is still there as vagrant lets you manage VMS on the command line.
Lets say you’re using vagrant for those 10projects. And each application is approx. 700MB of size. That will make around 7 GB of HDD space. Well docker solves this issue for you.
Docker will intelligently share the common stuff between these applications & end up with the space necessary for package dependencies and unique set of data which saves around 10x of disk space savings.
2. Portability across Machines & Environments
There are cases when some application is working on your machine and causing issues on your team partner’s machine. Consider you’re using a diff version of OS or a step ahead or behind in installed dependencies. Well obviously things will not be the same for your other team members.
Docker eliminates that problem by putting your application into an special kind of a package which will ran under the type of environment you choose which is called a Docker File. It will run your apps in a controller environment whether your machine running docker is windows, linux or macOS.
3. Picking the best Tool for your job
New development environments can be discouraging and takes hours or sometimes days to setup. Well docker empowers you here and lets you experiment with the frameworks and services without having to bear the pain of installing every little dependency.
less_burdens === more_flexibility
To wind up here,
- Your apps can have better architecture
- Micro-services become easier to manage
- Dependencies are no longer burdens
- Makes your code more portable
In short, docker is an awesome tool-set for both developing & deploying applications. So let’s give docker a shot and gain some valuable knowledge about fasten our web development.