Cloudsoft Deploys Blockchain Apps Faster with Hyperledger Fabric Blueprints
Simpler with blueprints
According to Mike Zaccardo of Cloudsoft, building a blockchain application from scratch is a complicated process that requires significant investment in time and expertise.
“In order to develop, run, and test application chaincodes, you first need a Hyperledger Fabric cluster up and running. This requirement certainly represents a barrier to entry for many would-be developers,” he says. “Rather than focus on what matters to you, building something useful using blockchain and Hyperledger, you need to start off dealing with the plumbing, so to speak.”
To address the issues, software blueprints can be utilized, accelerating the process.
“You can blueprint an application and deploy it wherever you like; then once it’s deployed, you can manage it through its life cycle.” —Mike Zaccardo, Cloudsoft
Recently, we wrote about Fabric Composer and how it simplifies the creation of Hyperledger Fabric networks—by abstracting the low-level details of blockchain and enabling users to define business networks on it.
With the same goal of making complex processes simple, Cloudsoft developed an Application Management Platform (AMP) and created a Hyperledger Fabric blueprint. The solution was recently presented at IBM InterConnect 2017.
Mike compares AMP’s blueprint approach to an object-oriented model. “The blueprint is like the class, and then the actual deployment of that blueprint is kind of like the object,” explains Mike. “So, we’ve got this blueprint that AMP knows how to deploy in Fabric, and then once you go ahead and deploy it, you’ll have a real Fabric running.”
(The concept of using blueprints to simplify complex processes resonates with the idea brought up earlier by Duncan Johnston-Watt of Cloudsoft in a discussion around Cloud Foundry plugin for Apache Brooklyn.)
How it works
As part of the larger Cloudsoft Blockchain Service, AMP was built to reduce the complexity involved in the modern application life cycle, which comprises designing, developing, deploying, orchestrating, and governing.
“With Cloudsoft AMP and the Hyperledger Fabric blueprint, jumping over this initial hurdle is just a matter of a few clicks. Simply configure your desired deployment location(s) and deploy. The cluster can be as large or as small as you’d like, running on one or many locations of virtually any kind.” —Mike Zaccardo, Cloudsoft
According to its documentation, Cloudsoft AMP orchestrates services, platforms, and infrastructures to ensure that they directly meet the needs of applications, dynamically and in real time. It is built upon a foundation of autonomic computing—a framework which allows systems to configure, heal, optimize, and protect themselves according to policies established by their operators.
Cloudsoft AMP makes operational expertise part of application design. Applications respond to demand, failures, and changing priorities automatically, across public and private clouds or your own hardware. It provides a policy-driven control plane that actively manages applications through their life cycle. Blueprints define application architecture and describe the policies that control the application.
In their turn, policies define application behavior, such as:
- Auto-scaling thresholds
- Placement criteria for workloads and for data
- High-availability requirements
- Cost constraints
- Relative application priorities
- Service levels
- Jurisdictional constraints
“Cloudsoft AMP lets developers focus on creating smart contracts, not the plumbing.” —Duncan Johnston-Watt, Cloudsoft
A conceptual overview
AMP automation can be applied to the entire life cycle of a modern cloud application. It permits policies and directives to be established that will result in defined, expected application behaviors.
The diagram above shows how the different components interact:
- Applications are the top level entities that are the parents of all other entities.
- Entities are the central concept in an AMP deployment. An entity represents a resource under management (individual machines or software processes) or logical collections of these. Entities are arranged hierarchically. They can have events, operations, and processing logic associated with them. Active management is achieved through this mechanism.
- Blueprints define an application by specifying its components, such as processes or combinations of processes across multiple machines and services. The blueprint also specifies the inter-relationships between the configurations of the components. Blueprints are written in YAML.
- Sensors are the mechanism for entities to expose information for other entities to see. Sensors from an entity can be subscribed to by other entities to track changes in the entity’s activity. Sensors can be updated, potentially frequently, by the entity or associated tasks.
- Effectors are the mechanism for entities to expose the operations that can be invoked on it by other entities. The invoker is able to track the execution of that effector with tasks.
- Policies perform the active management enabled by AMP. Entities can have policy instances attached to them, which can subscribe to sensors from other entities or run periodically. When they run they can perform calculations, look up other values, invoke effectors, or emit sensor values from the entity with which they are associated.
“Sensor information comes in, effectors can do things, and a policy is given sensor, do effector.” —Mike Zaccardo, Cloudsoft
Cloudsoft AMP can be accessed through CLI, APIs, and a web UI.
Using the web UI, users have access to the following components:
- App Dashboard (a high-level summary of all AMP-managed apps—for drilling down to investigate and resolve issues)
- Blueprint Composer using the built-in IDE to develop application blueprints
- App Inspector to inspect and manage applications (a view on an application or component summary, it’s sensors, effectors, policies, and activities)
- Location Manager for viewing and managing the target locations—across public, private, and hybrid clouds—that one can deploy applications to
With the platform installed, deploying a Hyperledger Fabric applications takes only a few steps. The deployment architecture in a HA mode looks like this.
Cloudsoft AMP is not just about blockchain. Simplifying the deployment of Hyperledger Fabric applications is just one of the things it is capable of.
Cloudsoft has documentation for readers interested in a more technical breakdown of the technology.
- Hyperledger’s Fabric Composer: Simplifying Business Networks on Blockchain
- Cloud Foundry After Dark: Bridging Brooklyn
About the speakers