Hacker News new | ask | show | jobs
by edmcnulty101 1550 days ago
Containerization is great. It allows you to write all the infrastructure for you Java app as code and then just simply type 'docker-compose up' to get it running (or whatever your orchestrator).

This makes it super portable.

Just something to think about.

I personally think the win's from Containerization are greater than the challenges.

2 comments

I admit we do miss that part. Instead for us it's `sudo apt -y install app-name`
installing the app locally isn't as sustainable. The data and configuration for test environments gets scattered across the system and is less reproducible for new comers. As changes are made to the test environment, developers have to then install/update/reconfigure manually. It becomes an nmo effort with less consistency and more error over the single line docker-compose up
Don't disagree, but we just avoid writing stuff where you need to have 10+ apps running locally to run "an app". That itself isn't sustainable architecture, those should be one app in a monolith.

That being said, to your point, we do have some inter-service dependencies that have to run separately. We haven't figured out a good balance yet, but it's the exception not the rule fortunately, and everyone "just knows" how to run an extra app in those extreme cases.

do you have a 'sudo apt uninstall app-name' to clean everything up?
Yes! In fact, an upgrade path too in the script.
Sounds great as long as you either put work into multi OS compatibility or stick to the same OS.

Depending on your situation that sounds like you have a good solution that's working and you're happy with.

You don't necessarily need containers for that though?
Containers offer a lot of advantages, portability, IaC, OS abstraction, common predictable environments, etc.

I personally like them a lot but it's definitely not the only way to do things.

The alternative would be hosted functions, like lambda, which is just running in someone else's containers.