5 ms·
Containers are often touted is this novel concept that's bound to revolutionise software development and software delivery in particular. The general idea isn'
by BjoernKW 10y ago
Containers are often touted is this novel concept that's bound to revolutionise software development and software delivery in particular.
The general idea isn't all that new however. Java Applications have been delivered as containers since 1995 (although the concept isn't explicitly named that way with Java applications).
Each JAR / WAR is a self-contained application that can run anywhere where there's a JVM (which is pretty much everywhere).
From a feature perspective the only real innovation of Docker-style containers probably is that those aren't limited to the JVM but are (largely) language- and runtime-agnostic.
- mirekrusin 10y agoJAR/WAR general idea is not that new as well, we had CPAN before!
- BjoernKW 10y agoCPAN is more akin to Maven (or rather public Maven repositories) / RubyGems / NPM in that context. Perl modules are hardly self-contained. Compiling Perl module dependencies could be a real pain at times.
- paulddraper 10y agoActually, JARs are even more compatible than that: they can run against a huge number of OSs and architectures, even in embedded systems.
- geodel 10y ago> Each JAR / WAR is a self-contained application that can run anywhere where there's a JVM (which is pretty much everywhere). Jar could be self contained or it could depend on 100s of other jars so it is not as straightforward as one assume. War required a Java application containers to be deployed which is outside a War not inside. Also J2EE deployments can get pretty complicated with its infamous XML usage for configuring anything. JVM is not everywhere by default or work without config by default for non trivial application. It is complex software which can lead to myriad classpath/ version issues related to jar files if not installed very carefully.
- taeric 10y agoAs complicated as J2EE deployments could get, I don't see Containers being less complicated. Just a new language for managing the complexity.
- dismantlethesun 10y agoContainers are like that as well. You can have a container for your application, that doesn't really do anything unless you can connect to your database which runs in another container.