Fabric8 is easy to install on your laptop, on an existing Kubernetes or OpenShift cluster or the public cloud.
Fabric8 is an end to end development platform spanning ideation to production for the creation of cloud-native applications and microservices. You can build, test and deploy your applications via Continuous Delivery pipelines then run and manage them with Continuous Improvement and ChatOps.
A summary on Fabric:
- Contains a configuration management system for code and configuration files through the use of Git.
- Has the concept of a Profile, which is then used to instantiate application instances e.g. ActiveMQ brokers, Fuse etc.
- Multiple versions of Profiles are supported within the fabric through the use of Git.
Provides Scalability and High Availability
- With the use of Apache Zookeeper it is scalable and resilient, on each Fabric instance.
- Handles the complexity of IP addresses and port mappings through the Service Registry (stored in Zookeeper).
- Perform load balancing through Service Registry.
- The Service Registry enables service location transparency.
- Manages the ‘split brain’ problem caused by network failures in the Fabric.
- Supports Docker.
Allows Management of the Fabric
- Is manageable through a Web Console (by default on port 8181) which uses Jolokia and Hawtio. The console provides an easy way to manage the Fabric and the inbuilt Wiki allows Profiles to be documented.
- Provides an interactive shell for Fabric management for people who don’t want to use the Web GUI. This shell supports the usual Linux command line auto-completion and history.
- Maven plugins can be used to install and deploy Java code to the Fabric. Using the maven plugin you can include profiles in the release process; so existing projects can release their profile configuration files (e.g. links to the various jars/wars etc). Each multi-module project can create a single zip file with all the profiles (folders) and config files; which can then, in Fuse 6.2 (or fabric8 1.1.x) be imported into any fabric via a command line.
- Fabric provides a local Maven repository which acts as a cache of any required artifacts loaded from whatever public/internal maven repositories are used.
Designed for and Includes Integration and Messaging Middleware
- Apache Karaf OSGI container.
- Apache Camel integration technologies supporting the standard Enterprise Integration Patterns .
- Fuse ESB with Apache CFX to support REST and SOAP web services.
- ActiveMQ message broker that supports common wire protocols.
- The Web Console can be extended through the use of Hawtio plugins.
- The Fabric (from Fuse 6.2) can deploy pretty much any Java program with a Main Class.
- The version of Fabric currently in development (to be released as Fuse version 6.2 this year) supports not just ApacheMQ and Karaf OSGI container but, JBoss EAP, Wildfly and Tomcat.