4 ms·
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
by gecko 10y ago
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?
- jacques_chester 10y agoJava 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.
- iamcreasy 10y agoWhat is PaaSes?
- timv 10y agoPaaS is "Platform as a Service" https://en.wikipedia.org/wiki/Platform_as_a_service https://en.wikipedia.org/wiki/Platform_as_a_service Think Heroku, Google App Engine, AWS Beanstalk, etc. Cloud providers that give you something like a managed runtime. As distinct from Infrastructure as a Service which provides lower level infrastructure. Examples are AWS EC2, Google Compute Engine, etc.
- Yhippa 10y ago> 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?
- jacques_chester 10y agoEssentially this. In theory it could be done, but I've only seen placs where they wound up with a app-container-per-production-WAR rule. OS containers are a similar pattern for a similar reason. Stronger isolation simplifies production deployment and management.