Still using swap file? Memory is cheap. I don't recall a server where I created swap partition or swap file.
Memory is NOT cheap, not at all.
It is if you own it. If you rent your hardware, yeah, it adds up.
Even if I own it, throwing away 2-3GB of RAM makes no sense. Now, if I own it, I can easily assign 4GB of RAM then remove it once installed, by why? That's harder to script and still no benefit.
It's a bad habit to see resources as cheap and so waste them just because you can. Extra memory doesn't improve performance, it hurts it (just the tiniest bit). And it's not free, if you always apply twice as much RAM as you use (or four times, here), that gets costly one way or another. Either you wasted money overspeccing in the beginning, or you are stuck buying more now.
Another advantage to application containers is integrations with things like VSCode. Your whole dev environment for a project can live in the container. It makes entry to helping with projects much easier. For example you can include a Dockerfile in your project and VSCode will build the container according to your Dockerfile. Then you can have VSCode spin up the container and attach to it and you can do the development inside of the container. That way the contributors don't need to install anything on their systems to work with your project. It's a really nice work flow.
@scottalanmiller these discussions echo my thoughts exactly. I'm only (hesitantly) learning Docker now, but it feels like it's not a long term answer(I'm possibly too late to the party?), as other approaches are increasing in mind-share.
What you're talking about is one aspect of part of implementing DevOps that is often misinterpreted to mean the whole of it. And yes, it is stupid to call that DevOps. That's just Ops using different tools.
I see it as the opposite. Patrick's core DevOps...
"Thanks to the devopsdays conference, the idea of devops seems to live on. While talking with other people about it, I realize that it is difficult to frame it within the current IT landscape. At lot of the ideas are coming from different kinds of emerging technologies (T) and process management (P) approaches.
For me the two most important observations are:
there is a increase in feedback loops between business, all parts of the delivery process and operations
thanks to this feedback loops we increase the quality and speed up the flow"
This is the core of DevOps, not well described, but pretty clearly about IT, not development. This is the core. Very, very loosely defined to the point of useless, sure.
Then things like DevOps talking dev itself is the extra, the tack on later. It's not "part of" devops, any more than it is of any operations. And just how operations doesn't cease to exist without developers, neither does DevOps.
I believe everything on that page is all meant to be within the context of companies doing development. But I agree, the core of DevOps is about Ops and Business practices. However, I firmly believe the name DevOps comes from Ops and Development working together, and thus the reason why discussions of DevOps implementation specifics centre around companies doing software development. Though just based on that page, I could see why someone could still take a different view. However, I consider The DevOps Handbook to be the definitive source, rather than notes on the initial discussions.
I think doing that makes DevOps a pointless, useless concept. Hopefully that's not what he intended. As an ops practice, it has tremendous value. As a merger of dev and ops, it's just bluster.
Please mention another reason for not using Docker with Linux based operating systems:
If the UID on your host system doesn’t match the UID of the user inside your Docker container, you will have file ownership issues.
I think most people don’t encounter this because they are probably the only user on their development machine, and most people only add a single user in their Dockerfile to run their app.
I’m not sure about other Linuxes, but Ubuntu will assign the first user a UID of 1000 so if you’re the first user on an Ubuntu host and you have an Ubuntu-based Docker image, you won’t even notice.
Personally, i was given advice to avoid host volumes even though the case can be resolved with bindfs and a privileged machine in a Windows environment.