Hi,

I don't know if we can really compare Karaf and Docker.
I use OSGi to build modular applications. My bundles are Java modules that I can assemble in one way or another. And I use Karaf to create a custom distribution of my OSGi applications. It is a developer thing.

Now, I use Docker to execute applications in an isolated container on a machine. Even on VM, running Docker can simplify support and debug for applications. The fact we can isolate things is very helpful for that. And it is convenient to maximize the usage of VM resources.

I do not see how one could replace the other.
BTW, I already run Karaf in Docker containers. And one of our OSGi applications (which runs in Karaf) can create and interact with Docker containers. So, you can make both of them together when you need.


Le 08/04/2015 14:31, Ryan Moquin a écrit :
I kind of feel like the big push of Docker in the development community in general (as a whole, not talking about the Karaf developer community), will potentially cause a lack of innovation and improvements in the deploying of applications. Docker could become a crutch. If an application is slowly leaking memory over a 24 hour period, why fix it? When it crashes, just replace it with a new instance.

May I say that cloud computing and virtualization in general already setup this kind of approach? When a VM or a container has a problem, it may indeed be more simple to launch a new one, reconfigure your application to use it and kill the old one. But this is not new at all. And there are some little things to deal with, like reconfiguration. Docker works the same, at its level. And even if you can create new containers, the less procedures you have in production environments, the better it is. So, having applications with 99,99% uptime will always be better.

BTW, Docker also has some limitations (with systems services as an example).
So, it comes with its own problems. And I do not expect embedded systems to use Docker (at least, for the moment).

To summer it up, I would say OSGi brings modularity to Java applications.
And that Docker brings modularity to deployments. That's not the same.

My 2 cents,

                    Vincent.

--
Vincent Zurczak
Linagora: www.linagora.com <http://www.linagora.com/>

Twitter <https://twitter.com/VincentZurczak> Vincent Zurczak @ LinkedIn <http://fr.linkedin.com/pub/vincent-zurczak/18/b35/6a7> My Skype ID <callto://vincent.zurczak> My English blog <http://vzurczak.wordpress.com>

Reply via email to