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>