DEV Community

Discussion on: What is Docker? Why is it important and necessary for developers? Part II

Collapse
 
pavelloz profile image
Paweł Kowalski • Edited

I can answer to question from title: It is not necessary at all.

Collapse
 
simonoff profile image
Oleksandr Simonov

If you do not care about the quality and repeatability of the environment - yes, it's not necessary. Or you 10 years working with one code base and working with legacy code.

Collapse
 
pavelloz profile image
Paweł Kowalski

Well, dockers doesnt guarantee any of that. When i asked our devops about why my env is so different than his, he said that docker is not about that. I didnt ask what its for, but i waste a lot of time on it and i remember times when i didnt have to.

PS. Quality and repeatability of environment is easily achivable without containers in any shape or form.

Thread Thread
 
simonoff profile image
Oleksandr Simonov

The differences are big. You running code locally on mac os, but production runs on Linux. Different versions of libraries, toolchains, etc. The only way to avoid this thing - run in same environment. Even if you use a Vagrant you still running in totally different environments. Only containers can provide possibility to run the same environment locally and in production.

Thread Thread
 
pavelloz profile image
Paweł Kowalski

If you have very simple app, then maybe they are the same.

When you introduce external services, async cloud functions, environment variables, feature flags, dependencies, missing mocks... then its not the same, and the whole containerization loses its shine and starts to cost more than its worth.

Ideal world would be... ideal, but its not. And docker is not necessary for every dev, by any stretch of an imagination.

Thread Thread
 
pavelloz profile image
Paweł Kowalski

Also, if docker is necessary for quality software - are you saying that before docker was invented, there was no quality software?

Thread Thread
 
simonoff profile image
Oleksandr Simonov

It was much harder to achieve same level of quality.