Articles

Building a Network Management System for a Global Trade Finance Network

September 27, 2021

Founded in 2016 and backed by SMBC, SBI Japan, ING Ventures, BNP, Tech Mahindra, Kistefos, Accenture, SAP and LBBW, Marco Polo Network is the largest and fastest-growing distributed trade and supply chain finance network in the world.

Marco Polo Network is rewiring global trade and supply chain using blockchain-enabled Distributed Ledger Technology (DLT) and multi-cloud solutions. Marco Polo Network processes millions of documents, with millions of transactions passing through thousands of parties.

Shane O’Flynn, Marco Polo Network’s Head of Engineering, recently gave a talk at LeadDev Live.

The title of Shane’s talk was “Building a scalable, automated network management system for thousands of independent nodes.” In this post, I provide a summary of Shane’s talk.

What is global trade finance?

According to Shane, approximately half of all global trade is financed. Global trade finance is a $9 trillion annual business. While there are multiple trade finance products, the simplest is borrowing against your customers’ orders.

Let’s take an example.

If a television manufacturer receives an order for one million dollars, it can go to a bank to ask for $300,000 in funds to help fulfill that order. It shows the customer’s purchase order to the bank in order to secure the loan. 

Today, trade finance is paper-based, siloed and inefficient. Shane says that a bookkeeper from the 18th century would recognize many of today’s instruments and processes. Today’s processes are also risky and expensive. The risk and expense mean that only half of today’s trades can be financed.

Marco Polo Network exists to digitize the process and make global trade finance more efficient. It uses cryptographically-verified transactions on the blockchain with all documents built into smart contracts.

Overview of the Marco Polo Network

Architecture of the Marco Polo Network

Every bank or corporate (i.e., company) that joins the Marco Polo Network must first go through KYC (Know Your Customer) and AML (Anti-Money Laundering) certification. Once onboarded, they are discoverable by any other entity on the network. Any two parties can join, link and transact with each other. Transactions are not unilateral: both parties must agree before a transaction takes place.

The network does not have a central ledger. The Corda Notary attests to the transacting nodes and Attestation Nodes “vouch on-chain” for the information contained in a transaction between two parties.

Marco Polo Network is cloud-agnostic. Today, it runs on Azure, Google Cloud Platform (GCP) and Tencent. Support for IBM Cloud and AWS is under development.

Marco Polo Network’s global trial

Marco Polo Network ran a global trial of its platform. The trial involved 70 organizations and 350 users. Lessons learned from the trial: 

  • The manual onboarding process was labor-intensive and error prone. It would not allow the organization to scale.
  • Managing 70 nodes in real-time was problematic. Marco Polo Network relied on automation, scripts and command line interfaces (CLI), rather than a user interface (UI). This made it hard for support engineers to manage the system.
  • An end-to-end view from a customer perspective was not there. Marco Polo Network could see isolated problems, but not how they related to a specific customer and their trading partners

The decision? To embark on a project to build a robust Network Management System (NMS).

Marco Polo Network’s Network Management System (NMS)

The Marco Polo Network NMS is the command and control center for the organization’s managed services. It provides the ability to deploy and manage platforms and nodes into multiple cloud data centers around the world at scale. The NMS is integrated into the team’s development pipelines and cloud estate.

Every Marco Polo Network Platform is deployed with a platform management agent, while every Kubernetes cluster is deployed with a cluster management agent. These agents report back to a control plane, providing heartbeat, health, usage, audit logs, alerts and control data.

This data is stored in Cloud Firestore, a flexible, scalable database for mobile, web, and server development from Firebase and Google Cloud. The Marco Polo Network NMS performs regular queries to this database.

The NMS provides a set of managed operations:

  • Automated platform and node deployments at scale
  • One-click deployments into multiple worldwide data centers
  • Elastic and redundant computing resource management
  • One-click updates, backups, restores, freeze and thaw for many platforms
  • Automated failover handling and disaster recovery
  • Cost metrics tracking
  • Monitoring, alerting and logs

The users of the NMS are network operations engineers, who see graphical dashboards and interactive tabular views of data:

  • Cluster, pod and container-level views
  • Color-coded health icons (e.g., red, amber, green)
  • Search, select and sort
  • Predefined actions on selected components
  • Category-based tabs
Dashboard for Marco Polo Network's NMS

In the image above, it should be clear to network operations staff that the red box requires attention.

A number of open-source tools are used to power these dashboards: Grafana, Prometheus, Apache JMeter and Java Management Extensions (JMX).

Lohika helps Marco Polo Network scale their engineering

Shane manages a distributed team of 100+ engineers. As Shane notes in the webinar, “Lohika provides a lot of my core engineering staff in a well-embedded way. Lohika engineers play roles on the team all the way from the management team to individual contributors.”

Watch this video to learn more about how Lohika helps Marco Polo Network scale their engineering team: