I was writing desktop apps and (later) Python during the J2EE boom, so I may be really badly understanding things, but: if you're in a pure-Java workshop, isn't something like a J2EE container the equivalent of Docker? My understanding was that it provided security isolation and containment, while allowing a much richer API, and that it also provided a trivial ability to deploy new versions just by submitting a new .war, similar to how you just upload a new Docker image. Is that not what was going on there? Or maybe it proved insufficient?
Java containers are better viewed as the forerunners to general-purpose PaaSes. They load and health-check the app, route traffic, capture logs, inject services and the like.
Containers are a great building block for PaaSes. Red Hat have built their latest OpenShift on Kubernetes, for example. My own employers, Pivotal, are the majority contributor to Cloud Foundry, another containerising PaaS using a different container system.
Even in Java, folk are moving towards apps that bundle their own container. Spring Boot does with Tomcat by default. It turns out that the giant Java app servers were great, but eventually wound up with the same problem as previous generations of highly shared services: without strong isolation guarantees, it becomes necessary to heavily gateway production to prevent outages or degradations. That backpressure creates de facto waterfall.
> It turns out that the giant Java app servers were great, but eventually wound up with the same problem as previous generations of highly shared services: without strong isolation guarantees, it becomes necessary to heavily gateway production to prevent outages or degradations.
Are you talking about app isolation on an app server? I.e. running multiple WARs/EARs on a single server and not having one app destabilize the whole thing?
Only download these if you want to get harassed by Nginx sales reps. I sent the link to the Docker/Microservices one from a while ago to my entire team and they called all of us several times.
Out of interest, why is it 'for Java Developers'? Is it just that it has examples of moving Java apps to Docker, or are there some specifics that need to be considered for Java in Docker vs anything else in Docker?
I'd say he has a point. I'd call it "How to put more cancer in your cancer so you can give cancer to all users" Multibody parametric 3D model of a complex machine in Autodesk Inventor - X amount of RAM and and % CPU load
Stupid fucking page with some text and a few pictures, comments and a video - Y amount of RAM and and % CPU load
Guess whether X is bigger than Y or naah