Monday, June 23, 2014

Bootstrap RESTful Docker on Ubuntu

The most "devOps way" of communicating with the Docker server is to expose it via the REST API. And then using the HTTP client of your choice to send commands to that Docker server.  

Here is what you need to do in order to set up the Docker server exposed via REST endpoint on Ubuntu 14.04.

Install Docker

Here is the Official Ubuntu installation documentation in the nutshell - to install Docker on Ubuntu just type the following command into your shell:

curl -s | sudo sh

Expose Docker via HTTP

By default Docker is exposed only via the Unix sockets. You can change it with the additional -H (host) option.

sudo sh -c 'echo "DOCKER_OPTS=\"-H unix:///var/run/docker.sock -H tcp://\"" > /etc/default/docker'
sudo service docker restart
In order to verify that Docker has been properly exposed via HTTP, execute the following command:


Running Docker without root

If you wanna execute docker command without sudo, add yourself to the docker system group:

usermod -a -G docker yourUserName

Fabric8 readiness

The settings presented above are the default Docker setup expected by the Fabric8 Docker integration. If you followed this instruction, you can safely play with the Fabric8 Docker containers.

Monday, June 16, 2014

What is Fuse now?

Some people don't fully realize it, but Fuse ESB has been evolving pretty much over the past few years. Many folks see Fuse as the commercially supported version of the ServiceMix i.e. OSGi container used to deploy Camel, CXF and ActiveMQ.

Well, that changed :).

ESB? Not really anymore...

Recently Fuse evolved into the open source project called Fabric8 - the iPaaS integration platform. What is iPaaS integration platform? It's the piece of the software that allows you to deploy (and manage) your business services and middleware. I personally like to say that Fabric8 is something that glue your sofware pieces together.

Fabric8 itself is the open source project. JBoss Fuse is Fabric8 with commercial support (delivered to you by the awesome Red Hat engineering support ;).

Deploy whatever you want, wherever you want

Fabric8 is a poly-container. It means that you are no longer forced to deploy your services as the OSGi bundles running inside the Apache Karaf container. Fabric8 provides unified container API that makes it possible to deploy your services (WARs, OSGi bundles, jar containing executable class with public static void main method, WildFly modules and so forth) into the container of your choice (Tomcat, Karaf, plain JVM processes, WildFly, etc).

With the Fabric8 you can deploy your services not only to the various type of servers on the single physical machine, but also to the remote machine managed via SSH, or even better, to the cloud containers (like Openshift or Docker). From the Fabric8 perspective it really doesn't matter where do you deploy your services - you can still manage and monitor them in the same unified way.

DevOps heaven

We love devOps. Fabric8 is being developed with the devOps folks treated as the first-class citizens. Fabric8 comes with Hawtio - really impressive management console. Just try it - believe me it's worth to try Fabric8 just for the Hawtio alone :) .

For more command line oriented guys (like me), there is a Fabric8 shell available. You can use your favorite SSH client to connect into the Fabric8 shell and take the advantage of the interactive shell with the auto-completion among its numerous features.

What does it mean for me?

Do you enjoy our messaging related goodies? You like lightweight messaging with the ActiveMQ? Messages routing and gazillion of components available in Apache Camel? Services management with the Apache Karaf shell? Fabric8 has it all. Plus provisioning, management and monitoring features that can bring back the joy to your operations activities :) . Give Fabric8 a try and see how it can leverage the software development process to the new level of fun - in case of any issues you can find Fabric8 folks on our mailing list and IRC channel. We are always happy to help with the potential issues!