for Managing a Large Number of Web Services, Brokers & Camel Routes
Fuse Fabric is open source technology embedded in Fuse ESB Enterprise and Fuse MQ Enterprise that make it possible to manage large, distributed deployments from a central location. When working with a large number of web serivics, brokers or Apache Camel routes, you can create and manage containers in a fabric using Fuse IDE and Fuse Management Console.
With Fuse Fabric you can easily take advantage of
- unique configurations at different locations to achieve Integration Everywhere
- dynamic sizing which is essential for Cloud deployments
- high availability (HA) for mission-critical applications
Many Containers, Many Unique Configurations
FuseSource integration products are unique in how they allow you to uniquely configure each container and its contents – because one size does not fit all. You can create integration infrastructure at all locations – whether at headquarters, or at a retail outlet, or at a partner site – that is as lightweight or as comprehensive as you like and have it all work seamlessly together.
One of the challenges with creating a distributed integration application is ensuring that certain configuration aspects remain consistent across multiple locations. Another is managing the upgrade process. Fuse Fabric greatly simplifies both tasks with its centralized management features and tools for doing rolling updates.
Anatomy of a Fabric
A fabric includes a group of
containers – a container can host any web service, Apache Camel route, or broker created by either Fuse ESB Enterprise or Fuse MQ Enterprise. The configuration of the containers and their contents is defined by
profiles – a profile is a description of how a logical group of containers should be provisioned. Multiple containers may use the same profile, and child profiles can inherit from parent profiles. A large retail chain, for example, may want to create a parent profile that defines security parameters for all the retail outlets, but each region may have a child profile to define broker and performance configurations as shown below. Once a profile is defined, the provisioning of a container that conforms to that profile is automated. Each profile may have multiple
versions – DevOps may choose to upgrade a broker, change a security setting, or alter the Camel route deployed at each retail outlet, and does so by creating a new version of a profile. DevOps can then apply the new version to multiple containers (or roll back to an older version) to ensure consistent application of upgrades.
Versions make it easy to update containers in a controlled manner. If a large retail chain wants to roll out updates its US stores, for example, they would edit the “USA” profile and the changes would be inherited by the regional profiles. This creates a new version of the USA, East, and West profiles (collectively known as an ensemble). Each individual store would adopt the new version incrementally so that any instability can be caught early and reversed without effecting the entire chain.
Scaling and HA
Once in production, DevOps can easily scale an application by deploying more containers using the predefined profiles from a centralized instance of Fuse Management Console. The fabric infrastructure automatically load balances requests across all available containers.
HA is easy to implement because a fabric is aware of all containers within that fabric. If one container should fail, the fabric infrastructure will automatically route all requests to another container in the fabric of the same profile.
For more information on using fabrics, refer to the Fuse IDE documentation and the Fuse Management Console documentation.