SlideShare a Scribd company logo
1 of 38
Corda on Azure
Blockchain
Juarez Barbosa Junior
Azure Developer Relations Lead
juarez.junior@Microsoft.com
@juarezjunior
History of Corda on Azure
2016
Corda solution added to Azure
Marketplace
2017
Partnership announced between R3
and Microsoft
2018
Onboarded Insurwave consortium on
Azure
2019
Introduced Corda Logic Apps and Flow
to help with integration
Corda Enterprise (DIY)
- Deployment,
Networking and
Security
Building from scratch is a huge undertaking
Choose
your ledger
Write smart
contract
Manage node
health
Build the
network
Manually
deploy ledger
Write
business logic
Assign node
identities
Connect
nodes
Provision
members
Network
governance
Extend to
additional
networks
Manage
permissions
Establish
node roles
Enforce
policies
Customize
integrations
Deployment and monitoring of Corda nodes
on Azure
High-level architecture
Describe in detail the automated deployment of Corda nodes along with the design needed to support networking and
security of such an enterprise solution.
We will not go into the details about the Corda Enterprise architecture/design, although we do provide links to the
Corda Enterprise documentation for reference wherever applicable.
Our goal:
• How to deploy Corda network on Microsoft Azure?
• How to integrate Corda with Azure Key Vault?
• How to secure Corda network communication?
Reference Implementation
Trade Finance – Business (classic)
A business scenario that involves peer-to-peer transactions in a non-trusted environment is a viable candidate for
Blockchain technology.
Trade Finance enables the exchange of goods. However, the classic process is prone to delays and frauds.
It’s largely manual and lacks transparency.
It is one of the key business scenario for realizing the benefits of Blockchain, which can help reduce the disputes and
errors and bring in transparency by providing a single source of truth.
https://en.wikipedia.org/wiki/Trade_finance
Business Architecture
Trade Finance - Business
Biz Architecture with Blockchain
Trade Finance - Blockchain
Benefits of using Blockchain/DLT:
▪ Real-time review: Financial documents linked and accessible through Blockchain are reviewed and approved in real
time, reducing the time it takes to initiate shipment.
▪ Disintermediation: Banks facilitating trade finance through Blockchain do not require a trusted intermediary to assume
risk, eliminating the need for correspondent banks.
▪ Decentralized contract execution: As contract terms are met, status is updated on Blockchain in real time, reducing the
time and headcount required to start transactions as well as monitor the delivery of goods.
▪ Proof of ownership: Blockchain provides transparency into the location and ownership of the goods.
▪ Automated settlement and reduced transaction fees: contract terms executed via smart contract eliminate the need for
correspondent banks and additional transaction fees.
Tech Architecture - Cloud
Trade Finance – Cloud Infrastructure and Azure
Describe the cloud services needed to enable such a scenario on Microsoft Azure using Corda Enterprise.
The design follows the ‘Multiple Organizations, Private Consortium’ approach (refer here).
It is a true consortium setup where each organization/party has its own setup of Azure services (e.g. AD tenant etc.),
which is provisioned in its own Azure subscription/region.
The Corda node running in respective organization/party setup is enabled for peer-to-peer communication with other
Corda nodes within other organization/party setup.
A conceptual multi-member network architecture follows (refer here for more details).
Tech Architecture - Cloud
Trade Finance (Cloud/On-Premises)
Azure
Trade Finance
(Azure)
Corda
Core Components
▪ A persistence layer for storing data
▪ A network interface for interacting with other nodes
▪ An RPC interface for interacting with the node’s owner
▪ A service hub for allowing the node’s flows to call upon the node’s other services
▪ A CorDapp interface and provider for extending the node by installing CorDapps
https://docs.corda.net/key-concepts-node.html
Corda
Corda
Network -
https://docs.cord
a.net/key-
concepts-
node.html
Azure
Which Operating System (OS) to use?
Corda can be deployed on both Windows and Linux. It can also be containerized with Docker (Refer
https://docs.corda.net/head/deploying-a-node.htm for more details)
When using Azure VM, as a best practice we should always use Azure Data Disks and at the Operating System level run
the Corda node from the logical data disk which can be configured to aggregate 2 or more disks.
On Windows we recommend the usage of Storage Spaces and on Linux we have the following guidance available to
achieve maximum performance - https://docs.microsoft.com/enus/azure/virtual-machines/linux/optimization
Corda has made available a docker image which allows to run inside a container and can be found in the following
repository - https://github.com/corda/corda-docker. Also, if we run the Corda node in a container, we should also use
volumes which are the preferred mechanism for persisting data generated by and used by Docker containers:
https://docs.docker.com/storage/volumes/
Azure
OS
Azure
DevOps and CI/CD
We can use a continuous integration and continuous deployment (CI/CD) pipeline to automate the deployment tasks
and push changes to the Corda nodes automatically.
Visual Studio Team Services (VSTS) provides the CI/CD pipeline, starting with a Git repository for managing your
application source code and infrastructure code (ARM templates).
Note: Please refer to the resource below for more details on Continuous Integration and Delivery
using Visual Studio Team Services
https://www.visualstudio.com/team-services/continuous-integration/
The pipeline can use Azure ARM templates to provision or update the infrastructure as necessary in each subscription,
and then deploy the updated build following a workflow as described in the next diagram.
Azure
CI / CD
Azure
Keys Management Using Azure Key Vault - Understanding Corda Keys and Certificates
It’s critical to be familiar with Corda key/certificate management concepts before understanding the possibilities of
integrating with Azure Key Vault - https://docs.corda.net/permissioning.html
A Corda network has four types of Certificate Authorities (CAs):
▪ Root Network CA
▪ Doorman CA
▪ Node CAs
▪ Legal Identity Cas
Corda’s X509Utilities (which uses Bouncy Castle) can be used to create public/private keypairs and certificates. Included
below are the steps needed to build the Certificate hierarchy:
• Root Network CA – Generate keypair, create a self-signed certificate for the keypair
• Doorman CA – Generate keypair, obtain a certificate for the keypair signed with the root network CA key
• Node CA – For each node, generate keypair, obtain a certificate for the keypair signed with the doorman CA key
Azure
AKV and
Corda Certs
Azure
Keys Management Using Azure Key Vault - Azure
Key Vault (AKV) Integration
The diagram below describes, at a high-level, the
certificate creation process involving a given application
and AKV. The step by step description of the process is
available - https://docs.microsoft.com/en-gb/azure/key-
vault/create-certificate
Azure
Securing Corda Network Communication
A Corda network is an authenticated peer-to-peer network of nodes, where each node is a Java Virtual Machine run-
time environment hosting Corda services and executing applications. All communication between nodes is direct, with
TLS-encrypted messages sent over AMQP/1.0.
Each Corda network has a Network Map Service that publishes the IP addresses through which every node on the
network can be reached, along with the identity certificates of those nodes and the services they provide.
More information is available here: https://docs.corda.net/key-concepts-ecosystem.html
On Azure, a Corda network will constitute of corda nodes running within an Azure Virtual Network (VNET) deployed
across multiple Azure subscriptions owned by the respective consortium participants.
We have multiple options to interconnect them. These options take in account subscription limits and best practices for
each of the connectivity methods used to connect corda network nodes across the different VNETs.
Azure
Network - VNET peering
The first option to interconnect a Corda
network would be using VNET peering,
which would allow for higher number
of transactions along with enabling
better performance
https://docs.microsoft.com/en-
us/azure/azure-subscription-service-
limits
In blockchain, we’ll typically have each
member belonging to a different
company, each with its own subscription,
Identity management requirements and
restrictions. So peering works when all
subscriptions are associated with the
same Azure AD tenant.
Azure
Network - Site-to-Site VPN
In case each member of the consortium wants to have its own Azure AD tenant then the next solution is setting up
the network through either a VPN Gateway or a Network Virtualization Appliance (NVA) which would establish the
connections between both networks https://aka.ms/AzureSiteToSiteVPNCORDA
Azure
Network - Nginx with DDoS
Standard
The third solution is when customers have
a public IP address which is associated
with the Corda node and we need to
secure this endpoint with the means which
we have available for Layers 3, 4.
The Azure DDoS Standard Protection
service protects your application from a
comprehensive set of network layer (Layer
3, 4) attacks.
https://docs.microsoft.com/en-
us/azure/virtual-machines/linux/tutorial-
secure-web-server
Corda Enterprise with
Azure Blockchain
Service (BaaS)
Announcing Corda Enterprise on Azure Blockchain Service
+
Azure Blockchain Service
Simple node deployment and configuration
Simple, quick deployment
Configure and deploy a Corda node (Corda Enterprise v4) with a
single Azure portal pane, or through REST APIs, x-Plat CLI and
Powershell
Easily join Corda network of choice
Add your Corda node to Testnet, UAT, Corda Network, or a private
business network
Simple node deployment and configuration
Simple, quick deployment
Configure and deploy a Corda node (Corda Enterprise v4) with a
single Azure portal pane, or through REST APIs, x-Plat CLI and
Powershell
Easily join Corda network of choice
Add your Corda node to Testnet, UAT, Corda Network, or a private
business network
Azure + Corda Enterprise = Built for business
Designed for enterprise readiness
Built to meet enterprise standards in terms of
performance, compliance, security, and
interoperability
Optimized for Azure customers
Integrated with key Azure services, such as AKV,
Azure SQL, and Azure Monitor
Open and extensible platform and ecosystem
Innovate and extend the shared partner ecosystem by
leveraging Corda Enterprise on Azure Blockchain
Service
Simple node deployment and configuration
Simple, quick deployment
Configure and deploy a Corda node (Corda Enterprise v4) with a
single Azure portal pane, or through REST APIs, x-Plat CLI and
Powershell
Easily join Corda network of choice
Add your Corda node to Testnet, UAT, Corda Network, or a private
business network
Node management
Manage access to node
Provide access to node via basic
authentication and manage password
Gracefully drain and restart nodes
Control node restart on your own terms,
gracefully allowing flows to drain
Node users management
Manage node user permissions
Easily add and manage node user
permissions based on installed CorDapps
CorDapp management
Manage installed CorDapps
Easily add and manage CorDapps to
your node with built-in graceful flow
draining
Deploy and broadcast CorDapps
Easily deploy as many CorDapps you
want to your node and share those
CorDapps with others in your network
Node health, monitoring and logging
Azure Monitor logging and alerting integration
Get node insights such as transaction count, CPU and memory
usage, as well as alerts for user-defined thresholds
View ledger and proxy logs in Log Analytics
Configure rich views for logging events emitted from Corda and
proxy, enabling insights into blockchain activity and network
connections
Roadmap
• Corda node provisioning
• Simple CorDapp management
• Single RPC user
• MVP portal UX
• Basic monitoring and logging
• Simple documentation
• Support channel
• Enhanced CorDapp management
• Enhanced RPC user management
• Full portal UX
• Enhanced monitoring/logging
• Documentation
• HA/DR
• Upgrade support
• Firewall/network privacy
functionality
• AKV signing
• Billing/business model
• Onboard Microsoft support
• Documentation
Milestone 1 – MVP
Private Preview
Milestone 2 – Full
Private Preview
Milestone 3 – Public
Preview
All on the best cloud for blockchain
Analysts place us ahead of the competition
Our open, app-focused approach has been
validated by Gartner, Forrester and many other
third-party analysts
We have designed a thoughtful product portfolio
We have spent 4 years developing the most open
and comprehensive blockchain portfolio to simplify
development of this new class of apps
Customers and partners trust us
Businesses have built thousands of blockchain apps
on Azure working with our rich ecosystem of
blockchain partners ​
Join customers and partners building blockchain apps
on Azure
PARTNERS CUSTOMERS
Thank You

More Related Content

Similar to Corda on Azure Blockchain

Workshop: Blockchain on Azure for Developers
Workshop: Blockchain on Azure for DevelopersWorkshop: Blockchain on Azure for Developers
Workshop: Blockchain on Azure for DevelopersJuarez Junior
 
Becoming a Microsoft Specialist in Microsoft Azure Infrastructure
Becoming a Microsoft Specialist in Microsoft Azure InfrastructureBecoming a Microsoft Specialist in Microsoft Azure Infrastructure
Becoming a Microsoft Specialist in Microsoft Azure InfrastructureSyed Irtaza Ali
 
BizDay: Fully Managed Corda Enterprise with Azure Blockchain Service, Microsoft
BizDay: Fully Managed Corda Enterprise with Azure Blockchain Service, MicrosoftBizDay: Fully Managed Corda Enterprise with Azure Blockchain Service, Microsoft
BizDay: Fully Managed Corda Enterprise with Azure Blockchain Service, MicrosoftR3
 
Privacy Preservation in cloud Environment using AES Algorithm
Privacy Preservation in cloud Environment using AES AlgorithmPrivacy Preservation in cloud Environment using AES Algorithm
Privacy Preservation in cloud Environment using AES AlgorithmIRJET Journal
 
Introduction to the world of Cloud Computing & Microsoft Azure.pptx
Introduction to the world of Cloud Computing & Microsoft Azure.pptxIntroduction to the world of Cloud Computing & Microsoft Azure.pptx
Introduction to the world of Cloud Computing & Microsoft Azure.pptxPrazolBista
 
Microsoft Azure Tutorial | Microsoft Cloud Computing | Microsoft Azure Traini...
Microsoft Azure Tutorial | Microsoft Cloud Computing | Microsoft Azure Traini...Microsoft Azure Tutorial | Microsoft Cloud Computing | Microsoft Azure Traini...
Microsoft Azure Tutorial | Microsoft Cloud Computing | Microsoft Azure Traini...Edureka!
 
Adoption of Cloud Computing in Healthcare to Improves Patient Care Coordination
Adoption of Cloud Computing in Healthcare to Improves Patient Care CoordinationAdoption of Cloud Computing in Healthcare to Improves Patient Care Coordination
Adoption of Cloud Computing in Healthcare to Improves Patient Care CoordinationMindfire LLC
 
MuleSoft Meetup Vancouver 5th Virtual Event
MuleSoft Meetup Vancouver 5th Virtual EventMuleSoft Meetup Vancouver 5th Virtual Event
MuleSoft Meetup Vancouver 5th Virtual EventVikalp Bhalia
 
Azure Arc - Managing Hybrid and Multi-Cloud Platforms
Azure Arc - Managing Hybrid and Multi-Cloud PlatformsAzure Arc - Managing Hybrid and Multi-Cloud Platforms
Azure Arc - Managing Hybrid and Multi-Cloud PlatformsWinWire Technologies Inc
 
HPC Cloud Burst Using Docker
HPC Cloud Burst Using DockerHPC Cloud Burst Using Docker
HPC Cloud Burst Using DockerIRJET Journal
 
Load Balancing and Data Management in Cloud Computing
Load Balancing and Data Management in Cloud ComputingLoad Balancing and Data Management in Cloud Computing
Load Balancing and Data Management in Cloud Computingijtsrd
 
Cloud Security Architecture.pptx
Cloud Security Architecture.pptxCloud Security Architecture.pptx
Cloud Security Architecture.pptxMoshe Ferber
 
DEVELOPING APPLICATION FOR CLOUD – A PROGRAMMER’S PERSPECTIVE
DEVELOPING APPLICATION FOR CLOUD – A PROGRAMMER’S PERSPECTIVEDEVELOPING APPLICATION FOR CLOUD – A PROGRAMMER’S PERSPECTIVE
DEVELOPING APPLICATION FOR CLOUD – A PROGRAMMER’S PERSPECTIVEcscpconf
 
AWS IoT vs Azure IoT
AWS IoT vs Azure IoTAWS IoT vs Azure IoT
AWS IoT vs Azure IoTahmed badr
 
2019 International Conference on Machine Learning, Big Data, C.docx
2019 International Conference on Machine Learning, Big Data, C.docx2019 International Conference on Machine Learning, Big Data, C.docx
2019 International Conference on Machine Learning, Big Data, C.docxlorainedeserre
 
2019 International Conference on Machine Learning, Big Data, C.docx
2019 International Conference on Machine Learning, Big Data, C.docx2019 International Conference on Machine Learning, Big Data, C.docx
2019 International Conference on Machine Learning, Big Data, C.docxRAJU852744
 

Similar to Corda on Azure Blockchain (20)

Workshop: Blockchain on Azure for Developers
Workshop: Blockchain on Azure for DevelopersWorkshop: Blockchain on Azure for Developers
Workshop: Blockchain on Azure for Developers
 
Becoming a Microsoft Specialist in Microsoft Azure Infrastructure
Becoming a Microsoft Specialist in Microsoft Azure InfrastructureBecoming a Microsoft Specialist in Microsoft Azure Infrastructure
Becoming a Microsoft Specialist in Microsoft Azure Infrastructure
 
BizDay: Fully Managed Corda Enterprise with Azure Blockchain Service, Microsoft
BizDay: Fully Managed Corda Enterprise with Azure Blockchain Service, MicrosoftBizDay: Fully Managed Corda Enterprise with Azure Blockchain Service, Microsoft
BizDay: Fully Managed Corda Enterprise with Azure Blockchain Service, Microsoft
 
Azure bootcamp (1)
Azure bootcamp (1)Azure bootcamp (1)
Azure bootcamp (1)
 
Privacy Preservation in cloud Environment using AES Algorithm
Privacy Preservation in cloud Environment using AES AlgorithmPrivacy Preservation in cloud Environment using AES Algorithm
Privacy Preservation in cloud Environment using AES Algorithm
 
Introduction to the world of Cloud Computing & Microsoft Azure.pptx
Introduction to the world of Cloud Computing & Microsoft Azure.pptxIntroduction to the world of Cloud Computing & Microsoft Azure.pptx
Introduction to the world of Cloud Computing & Microsoft Azure.pptx
 
Microsoft Azure Tutorial | Microsoft Cloud Computing | Microsoft Azure Traini...
Microsoft Azure Tutorial | Microsoft Cloud Computing | Microsoft Azure Traini...Microsoft Azure Tutorial | Microsoft Cloud Computing | Microsoft Azure Traini...
Microsoft Azure Tutorial | Microsoft Cloud Computing | Microsoft Azure Traini...
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
UNIT - II.docx
UNIT - II.docxUNIT - II.docx
UNIT - II.docx
 
Adoption of Cloud Computing in Healthcare to Improves Patient Care Coordination
Adoption of Cloud Computing in Healthcare to Improves Patient Care CoordinationAdoption of Cloud Computing in Healthcare to Improves Patient Care Coordination
Adoption of Cloud Computing in Healthcare to Improves Patient Care Coordination
 
MuleSoft Meetup Vancouver 5th Virtual Event
MuleSoft Meetup Vancouver 5th Virtual EventMuleSoft Meetup Vancouver 5th Virtual Event
MuleSoft Meetup Vancouver 5th Virtual Event
 
Azure Arc - Managing Hybrid and Multi-Cloud Platforms
Azure Arc - Managing Hybrid and Multi-Cloud PlatformsAzure Arc - Managing Hybrid and Multi-Cloud Platforms
Azure Arc - Managing Hybrid and Multi-Cloud Platforms
 
HPC Cloud Burst Using Docker
HPC Cloud Burst Using DockerHPC Cloud Burst Using Docker
HPC Cloud Burst Using Docker
 
An Overview of Windows Azure
An Overview of Windows AzureAn Overview of Windows Azure
An Overview of Windows Azure
 
Load Balancing and Data Management in Cloud Computing
Load Balancing and Data Management in Cloud ComputingLoad Balancing and Data Management in Cloud Computing
Load Balancing and Data Management in Cloud Computing
 
Cloud Security Architecture.pptx
Cloud Security Architecture.pptxCloud Security Architecture.pptx
Cloud Security Architecture.pptx
 
DEVELOPING APPLICATION FOR CLOUD – A PROGRAMMER’S PERSPECTIVE
DEVELOPING APPLICATION FOR CLOUD – A PROGRAMMER’S PERSPECTIVEDEVELOPING APPLICATION FOR CLOUD – A PROGRAMMER’S PERSPECTIVE
DEVELOPING APPLICATION FOR CLOUD – A PROGRAMMER’S PERSPECTIVE
 
AWS IoT vs Azure IoT
AWS IoT vs Azure IoTAWS IoT vs Azure IoT
AWS IoT vs Azure IoT
 
2019 International Conference on Machine Learning, Big Data, C.docx
2019 International Conference on Machine Learning, Big Data, C.docx2019 International Conference on Machine Learning, Big Data, C.docx
2019 International Conference on Machine Learning, Big Data, C.docx
 
2019 International Conference on Machine Learning, Big Data, C.docx
2019 International Conference on Machine Learning, Big Data, C.docx2019 International Conference on Machine Learning, Big Data, C.docx
2019 International Conference on Machine Learning, Big Data, C.docx
 

More from Juarez Junior

Oracle CloudWorld 2023 - How to hook up Telegram with Spring Boot and ADB
Oracle CloudWorld 2023 - How to hook up Telegram with Spring Boot and ADBOracle CloudWorld 2023 - How to hook up Telegram with Spring Boot and ADB
Oracle CloudWorld 2023 - How to hook up Telegram with Spring Boot and ADBJuarez Junior
 
Oracle CloudWorld 2023 - A Practical Guide to Implementing DevOps with IaC fo...
Oracle CloudWorld 2023 - A Practical Guide to Implementing DevOps with IaC fo...Oracle CloudWorld 2023 - A Practical Guide to Implementing DevOps with IaC fo...
Oracle CloudWorld 2023 - A Practical Guide to Implementing DevOps with IaC fo...Juarez Junior
 
Oracle CloudWorld 2023 - A High-Speed Data Ingestion Service in Java Using MQ...
Oracle CloudWorld 2023 - A High-Speed Data Ingestion Service in Java Using MQ...Oracle CloudWorld 2023 - A High-Speed Data Ingestion Service in Java Using MQ...
Oracle CloudWorld 2023 - A High-Speed Data Ingestion Service in Java Using MQ...Juarez Junior
 
Oracle CloudWorld 2023 - Multi-cloud App Dev for Java Devs with Microsoft Azu...
Oracle CloudWorld 2023 - Multi-cloud App Dev for Java Devs with Microsoft Azu...Oracle CloudWorld 2023 - Multi-cloud App Dev for Java Devs with Microsoft Azu...
Oracle CloudWorld 2023 - Multi-cloud App Dev for Java Devs with Microsoft Azu...Juarez Junior
 
GeeCon Prague 2023 - Unleash the power of your applications with Micronaut®, ...
GeeCon Prague 2023 - Unleash the power of your applications with Micronaut®, ...GeeCon Prague 2023 - Unleash the power of your applications with Micronaut®, ...
GeeCon Prague 2023 - Unleash the power of your applications with Micronaut®, ...Juarez Junior
 
jPrime 2023 - Revolutionize Java DB AppDev with Reactive Streams and Virtual ...
jPrime 2023 - Revolutionize Java DB AppDev with Reactive Streams and Virtual ...jPrime 2023 - Revolutionize Java DB AppDev with Reactive Streams and Virtual ...
jPrime 2023 - Revolutionize Java DB AppDev with Reactive Streams and Virtual ...Juarez Junior
 
Porto Tech Hub Conference 2023 - Revolutionize Java DB AppDev with Reactive S...
Porto Tech Hub Conference 2023 - Revolutionize Java DB AppDev with Reactive S...Porto Tech Hub Conference 2023 - Revolutionize Java DB AppDev with Reactive S...
Porto Tech Hub Conference 2023 - Revolutionize Java DB AppDev with Reactive S...Juarez Junior
 
SevillaJUG - Unleash the power of your applications with Micronaut® ,GraalVM...
SevillaJUG - Unleash the power of your applications with Micronaut®  ,GraalVM...SevillaJUG - Unleash the power of your applications with Micronaut®  ,GraalVM...
SevillaJUG - Unleash the power of your applications with Micronaut® ,GraalVM...Juarez Junior
 
SKILup Days Container Orchestration - Kubernetes Operators for Databases
SKILup Days Container Orchestration - Kubernetes Operators for DatabasesSKILup Days Container Orchestration - Kubernetes Operators for Databases
SKILup Days Container Orchestration - Kubernetes Operators for DatabasesJuarez Junior
 
TDC Connections 2023 - Revolutionize Java DB AppDev with Reactive Streams and...
TDC Connections 2023 - Revolutionize Java DB AppDev with Reactive Streams and...TDC Connections 2023 - Revolutionize Java DB AppDev with Reactive Streams and...
TDC Connections 2023 - Revolutionize Java DB AppDev with Reactive Streams and...Juarez Junior
 
TDC Connections 2023 - A High-Speed Data Ingestion Service in Java Using MQTT...
TDC Connections 2023 - A High-Speed Data Ingestion Service in Java Using MQTT...TDC Connections 2023 - A High-Speed Data Ingestion Service in Java Using MQTT...
TDC Connections 2023 - A High-Speed Data Ingestion Service in Java Using MQTT...Juarez Junior
 
DTU Global Azure 2023 Bootcamp - Multi-cloud App Dev for Java Developers with...
DTU Global Azure 2023 Bootcamp - Multi-cloud App Dev for Java Developers with...DTU Global Azure 2023 Bootcamp - Multi-cloud App Dev for Java Developers with...
DTU Global Azure 2023 Bootcamp - Multi-cloud App Dev for Java Developers with...Juarez Junior
 
Melee Numerique 2022 - Revolutionize Java DB App Dev with Reactive Streams an...
Melee Numerique 2022 - Revolutionize Java DB App Dev with Reactive Streams an...Melee Numerique 2022 - Revolutionize Java DB App Dev with Reactive Streams an...
Melee Numerique 2022 - Revolutionize Java DB App Dev with Reactive Streams an...Juarez Junior
 
JCON OpenBlend Slovenia 2023 - A High-Speed Data Ingestion Service in Java Us...
JCON OpenBlend Slovenia 2023 - A High-Speed Data Ingestion Service in Java Us...JCON OpenBlend Slovenia 2023 - A High-Speed Data Ingestion Service in Java Us...
JCON OpenBlend Slovenia 2023 - A High-Speed Data Ingestion Service in Java Us...Juarez Junior
 
DWX23 - Revolutionize Java DB AppDev with Reactive Streams and Virtual Threads
DWX23 - Revolutionize Java DB AppDev with Reactive Streams and Virtual ThreadsDWX23 - Revolutionize Java DB AppDev with Reactive Streams and Virtual Threads
DWX23 - Revolutionize Java DB AppDev with Reactive Streams and Virtual ThreadsJuarez Junior
 
DWX23 - A High-Speed Data Ingestion Service in Java Using MQTT, AMQP, and STO...
DWX23 - A High-Speed Data Ingestion Service in Java Using MQTT, AMQP, and STO...DWX23 - A High-Speed Data Ingestion Service in Java Using MQTT, AMQP, and STO...
DWX23 - A High-Speed Data Ingestion Service in Java Using MQTT, AMQP, and STO...Juarez Junior
 
DeveloperWeek Latin America 2023 - A High-Speed Data Ingestion Service in Jav...
DeveloperWeek Latin America 2023 - A High-Speed Data Ingestion Service in Jav...DeveloperWeek Latin America 2023 - A High-Speed Data Ingestion Service in Jav...
DeveloperWeek Latin America 2023 - A High-Speed Data Ingestion Service in Jav...Juarez Junior
 
DeveloperWeekEnterprise2023 - Introduction to Kubernetes Operators for Databases
DeveloperWeekEnterprise2023 - Introduction to Kubernetes Operators for DatabasesDeveloperWeekEnterprise2023 - Introduction to Kubernetes Operators for Databases
DeveloperWeekEnterprise2023 - Introduction to Kubernetes Operators for DatabasesJuarez Junior
 
DevConf.cz - Introduction to Kubernetes Operators for Databases
DevConf.cz - Introduction to Kubernetes Operators for DatabasesDevConf.cz - Introduction to Kubernetes Operators for Databases
DevConf.cz - Introduction to Kubernetes Operators for DatabasesJuarez Junior
 
CloudTalks - Revolutionize Java DB AppDev with Reactive Streams and Virtual T...
CloudTalks - Revolutionize Java DB AppDev with Reactive Streams and Virtual T...CloudTalks - Revolutionize Java DB AppDev with Reactive Streams and Virtual T...
CloudTalks - Revolutionize Java DB AppDev with Reactive Streams and Virtual T...Juarez Junior
 

More from Juarez Junior (20)

Oracle CloudWorld 2023 - How to hook up Telegram with Spring Boot and ADB
Oracle CloudWorld 2023 - How to hook up Telegram with Spring Boot and ADBOracle CloudWorld 2023 - How to hook up Telegram with Spring Boot and ADB
Oracle CloudWorld 2023 - How to hook up Telegram with Spring Boot and ADB
 
Oracle CloudWorld 2023 - A Practical Guide to Implementing DevOps with IaC fo...
Oracle CloudWorld 2023 - A Practical Guide to Implementing DevOps with IaC fo...Oracle CloudWorld 2023 - A Practical Guide to Implementing DevOps with IaC fo...
Oracle CloudWorld 2023 - A Practical Guide to Implementing DevOps with IaC fo...
 
Oracle CloudWorld 2023 - A High-Speed Data Ingestion Service in Java Using MQ...
Oracle CloudWorld 2023 - A High-Speed Data Ingestion Service in Java Using MQ...Oracle CloudWorld 2023 - A High-Speed Data Ingestion Service in Java Using MQ...
Oracle CloudWorld 2023 - A High-Speed Data Ingestion Service in Java Using MQ...
 
Oracle CloudWorld 2023 - Multi-cloud App Dev for Java Devs with Microsoft Azu...
Oracle CloudWorld 2023 - Multi-cloud App Dev for Java Devs with Microsoft Azu...Oracle CloudWorld 2023 - Multi-cloud App Dev for Java Devs with Microsoft Azu...
Oracle CloudWorld 2023 - Multi-cloud App Dev for Java Devs with Microsoft Azu...
 
GeeCon Prague 2023 - Unleash the power of your applications with Micronaut®, ...
GeeCon Prague 2023 - Unleash the power of your applications with Micronaut®, ...GeeCon Prague 2023 - Unleash the power of your applications with Micronaut®, ...
GeeCon Prague 2023 - Unleash the power of your applications with Micronaut®, ...
 
jPrime 2023 - Revolutionize Java DB AppDev with Reactive Streams and Virtual ...
jPrime 2023 - Revolutionize Java DB AppDev with Reactive Streams and Virtual ...jPrime 2023 - Revolutionize Java DB AppDev with Reactive Streams and Virtual ...
jPrime 2023 - Revolutionize Java DB AppDev with Reactive Streams and Virtual ...
 
Porto Tech Hub Conference 2023 - Revolutionize Java DB AppDev with Reactive S...
Porto Tech Hub Conference 2023 - Revolutionize Java DB AppDev with Reactive S...Porto Tech Hub Conference 2023 - Revolutionize Java DB AppDev with Reactive S...
Porto Tech Hub Conference 2023 - Revolutionize Java DB AppDev with Reactive S...
 
SevillaJUG - Unleash the power of your applications with Micronaut® ,GraalVM...
SevillaJUG - Unleash the power of your applications with Micronaut®  ,GraalVM...SevillaJUG - Unleash the power of your applications with Micronaut®  ,GraalVM...
SevillaJUG - Unleash the power of your applications with Micronaut® ,GraalVM...
 
SKILup Days Container Orchestration - Kubernetes Operators for Databases
SKILup Days Container Orchestration - Kubernetes Operators for DatabasesSKILup Days Container Orchestration - Kubernetes Operators for Databases
SKILup Days Container Orchestration - Kubernetes Operators for Databases
 
TDC Connections 2023 - Revolutionize Java DB AppDev with Reactive Streams and...
TDC Connections 2023 - Revolutionize Java DB AppDev with Reactive Streams and...TDC Connections 2023 - Revolutionize Java DB AppDev with Reactive Streams and...
TDC Connections 2023 - Revolutionize Java DB AppDev with Reactive Streams and...
 
TDC Connections 2023 - A High-Speed Data Ingestion Service in Java Using MQTT...
TDC Connections 2023 - A High-Speed Data Ingestion Service in Java Using MQTT...TDC Connections 2023 - A High-Speed Data Ingestion Service in Java Using MQTT...
TDC Connections 2023 - A High-Speed Data Ingestion Service in Java Using MQTT...
 
DTU Global Azure 2023 Bootcamp - Multi-cloud App Dev for Java Developers with...
DTU Global Azure 2023 Bootcamp - Multi-cloud App Dev for Java Developers with...DTU Global Azure 2023 Bootcamp - Multi-cloud App Dev for Java Developers with...
DTU Global Azure 2023 Bootcamp - Multi-cloud App Dev for Java Developers with...
 
Melee Numerique 2022 - Revolutionize Java DB App Dev with Reactive Streams an...
Melee Numerique 2022 - Revolutionize Java DB App Dev with Reactive Streams an...Melee Numerique 2022 - Revolutionize Java DB App Dev with Reactive Streams an...
Melee Numerique 2022 - Revolutionize Java DB App Dev with Reactive Streams an...
 
JCON OpenBlend Slovenia 2023 - A High-Speed Data Ingestion Service in Java Us...
JCON OpenBlend Slovenia 2023 - A High-Speed Data Ingestion Service in Java Us...JCON OpenBlend Slovenia 2023 - A High-Speed Data Ingestion Service in Java Us...
JCON OpenBlend Slovenia 2023 - A High-Speed Data Ingestion Service in Java Us...
 
DWX23 - Revolutionize Java DB AppDev with Reactive Streams and Virtual Threads
DWX23 - Revolutionize Java DB AppDev with Reactive Streams and Virtual ThreadsDWX23 - Revolutionize Java DB AppDev with Reactive Streams and Virtual Threads
DWX23 - Revolutionize Java DB AppDev with Reactive Streams and Virtual Threads
 
DWX23 - A High-Speed Data Ingestion Service in Java Using MQTT, AMQP, and STO...
DWX23 - A High-Speed Data Ingestion Service in Java Using MQTT, AMQP, and STO...DWX23 - A High-Speed Data Ingestion Service in Java Using MQTT, AMQP, and STO...
DWX23 - A High-Speed Data Ingestion Service in Java Using MQTT, AMQP, and STO...
 
DeveloperWeek Latin America 2023 - A High-Speed Data Ingestion Service in Jav...
DeveloperWeek Latin America 2023 - A High-Speed Data Ingestion Service in Jav...DeveloperWeek Latin America 2023 - A High-Speed Data Ingestion Service in Jav...
DeveloperWeek Latin America 2023 - A High-Speed Data Ingestion Service in Jav...
 
DeveloperWeekEnterprise2023 - Introduction to Kubernetes Operators for Databases
DeveloperWeekEnterprise2023 - Introduction to Kubernetes Operators for DatabasesDeveloperWeekEnterprise2023 - Introduction to Kubernetes Operators for Databases
DeveloperWeekEnterprise2023 - Introduction to Kubernetes Operators for Databases
 
DevConf.cz - Introduction to Kubernetes Operators for Databases
DevConf.cz - Introduction to Kubernetes Operators for DatabasesDevConf.cz - Introduction to Kubernetes Operators for Databases
DevConf.cz - Introduction to Kubernetes Operators for Databases
 
CloudTalks - Revolutionize Java DB AppDev with Reactive Streams and Virtual T...
CloudTalks - Revolutionize Java DB AppDev with Reactive Streams and Virtual T...CloudTalks - Revolutionize Java DB AppDev with Reactive Streams and Virtual T...
CloudTalks - Revolutionize Java DB AppDev with Reactive Streams and Virtual T...
 

Recently uploaded

Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 

Recently uploaded (20)

Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 

Corda on Azure Blockchain

  • 1. Corda on Azure Blockchain Juarez Barbosa Junior Azure Developer Relations Lead juarez.junior@Microsoft.com @juarezjunior
  • 2. History of Corda on Azure 2016 Corda solution added to Azure Marketplace 2017 Partnership announced between R3 and Microsoft 2018 Onboarded Insurwave consortium on Azure 2019 Introduced Corda Logic Apps and Flow to help with integration
  • 3. Corda Enterprise (DIY) - Deployment, Networking and Security
  • 4. Building from scratch is a huge undertaking Choose your ledger Write smart contract Manage node health Build the network Manually deploy ledger Write business logic Assign node identities Connect nodes Provision members Network governance Extend to additional networks Manage permissions Establish node roles Enforce policies Customize integrations
  • 5. Deployment and monitoring of Corda nodes on Azure High-level architecture Describe in detail the automated deployment of Corda nodes along with the design needed to support networking and security of such an enterprise solution. We will not go into the details about the Corda Enterprise architecture/design, although we do provide links to the Corda Enterprise documentation for reference wherever applicable. Our goal: • How to deploy Corda network on Microsoft Azure? • How to integrate Corda with Azure Key Vault? • How to secure Corda network communication?
  • 6. Reference Implementation Trade Finance – Business (classic) A business scenario that involves peer-to-peer transactions in a non-trusted environment is a viable candidate for Blockchain technology. Trade Finance enables the exchange of goods. However, the classic process is prone to delays and frauds. It’s largely manual and lacks transparency. It is one of the key business scenario for realizing the benefits of Blockchain, which can help reduce the disputes and errors and bring in transparency by providing a single source of truth. https://en.wikipedia.org/wiki/Trade_finance
  • 8. Biz Architecture with Blockchain Trade Finance - Blockchain Benefits of using Blockchain/DLT: ▪ Real-time review: Financial documents linked and accessible through Blockchain are reviewed and approved in real time, reducing the time it takes to initiate shipment. ▪ Disintermediation: Banks facilitating trade finance through Blockchain do not require a trusted intermediary to assume risk, eliminating the need for correspondent banks. ▪ Decentralized contract execution: As contract terms are met, status is updated on Blockchain in real time, reducing the time and headcount required to start transactions as well as monitor the delivery of goods. ▪ Proof of ownership: Blockchain provides transparency into the location and ownership of the goods. ▪ Automated settlement and reduced transaction fees: contract terms executed via smart contract eliminate the need for correspondent banks and additional transaction fees.
  • 9. Tech Architecture - Cloud Trade Finance – Cloud Infrastructure and Azure Describe the cloud services needed to enable such a scenario on Microsoft Azure using Corda Enterprise. The design follows the ‘Multiple Organizations, Private Consortium’ approach (refer here). It is a true consortium setup where each organization/party has its own setup of Azure services (e.g. AD tenant etc.), which is provisioned in its own Azure subscription/region. The Corda node running in respective organization/party setup is enabled for peer-to-peer communication with other Corda nodes within other organization/party setup. A conceptual multi-member network architecture follows (refer here for more details).
  • 10. Tech Architecture - Cloud Trade Finance (Cloud/On-Premises)
  • 12. Corda Core Components ▪ A persistence layer for storing data ▪ A network interface for interacting with other nodes ▪ An RPC interface for interacting with the node’s owner ▪ A service hub for allowing the node’s flows to call upon the node’s other services ▪ A CorDapp interface and provider for extending the node by installing CorDapps https://docs.corda.net/key-concepts-node.html
  • 14. Azure Which Operating System (OS) to use? Corda can be deployed on both Windows and Linux. It can also be containerized with Docker (Refer https://docs.corda.net/head/deploying-a-node.htm for more details) When using Azure VM, as a best practice we should always use Azure Data Disks and at the Operating System level run the Corda node from the logical data disk which can be configured to aggregate 2 or more disks. On Windows we recommend the usage of Storage Spaces and on Linux we have the following guidance available to achieve maximum performance - https://docs.microsoft.com/enus/azure/virtual-machines/linux/optimization Corda has made available a docker image which allows to run inside a container and can be found in the following repository - https://github.com/corda/corda-docker. Also, if we run the Corda node in a container, we should also use volumes which are the preferred mechanism for persisting data generated by and used by Docker containers: https://docs.docker.com/storage/volumes/
  • 16. Azure DevOps and CI/CD We can use a continuous integration and continuous deployment (CI/CD) pipeline to automate the deployment tasks and push changes to the Corda nodes automatically. Visual Studio Team Services (VSTS) provides the CI/CD pipeline, starting with a Git repository for managing your application source code and infrastructure code (ARM templates). Note: Please refer to the resource below for more details on Continuous Integration and Delivery using Visual Studio Team Services https://www.visualstudio.com/team-services/continuous-integration/ The pipeline can use Azure ARM templates to provision or update the infrastructure as necessary in each subscription, and then deploy the updated build following a workflow as described in the next diagram.
  • 18. Azure Keys Management Using Azure Key Vault - Understanding Corda Keys and Certificates It’s critical to be familiar with Corda key/certificate management concepts before understanding the possibilities of integrating with Azure Key Vault - https://docs.corda.net/permissioning.html A Corda network has four types of Certificate Authorities (CAs): ▪ Root Network CA ▪ Doorman CA ▪ Node CAs ▪ Legal Identity Cas Corda’s X509Utilities (which uses Bouncy Castle) can be used to create public/private keypairs and certificates. Included below are the steps needed to build the Certificate hierarchy: • Root Network CA – Generate keypair, create a self-signed certificate for the keypair • Doorman CA – Generate keypair, obtain a certificate for the keypair signed with the root network CA key • Node CA – For each node, generate keypair, obtain a certificate for the keypair signed with the doorman CA key
  • 20. Azure Keys Management Using Azure Key Vault - Azure Key Vault (AKV) Integration The diagram below describes, at a high-level, the certificate creation process involving a given application and AKV. The step by step description of the process is available - https://docs.microsoft.com/en-gb/azure/key- vault/create-certificate
  • 21. Azure Securing Corda Network Communication A Corda network is an authenticated peer-to-peer network of nodes, where each node is a Java Virtual Machine run- time environment hosting Corda services and executing applications. All communication between nodes is direct, with TLS-encrypted messages sent over AMQP/1.0. Each Corda network has a Network Map Service that publishes the IP addresses through which every node on the network can be reached, along with the identity certificates of those nodes and the services they provide. More information is available here: https://docs.corda.net/key-concepts-ecosystem.html On Azure, a Corda network will constitute of corda nodes running within an Azure Virtual Network (VNET) deployed across multiple Azure subscriptions owned by the respective consortium participants. We have multiple options to interconnect them. These options take in account subscription limits and best practices for each of the connectivity methods used to connect corda network nodes across the different VNETs.
  • 22. Azure Network - VNET peering The first option to interconnect a Corda network would be using VNET peering, which would allow for higher number of transactions along with enabling better performance https://docs.microsoft.com/en- us/azure/azure-subscription-service- limits In blockchain, we’ll typically have each member belonging to a different company, each with its own subscription, Identity management requirements and restrictions. So peering works when all subscriptions are associated with the same Azure AD tenant.
  • 23. Azure Network - Site-to-Site VPN In case each member of the consortium wants to have its own Azure AD tenant then the next solution is setting up the network through either a VPN Gateway or a Network Virtualization Appliance (NVA) which would establish the connections between both networks https://aka.ms/AzureSiteToSiteVPNCORDA
  • 24. Azure Network - Nginx with DDoS Standard The third solution is when customers have a public IP address which is associated with the Corda node and we need to secure this endpoint with the means which we have available for Layers 3, 4. The Azure DDoS Standard Protection service protects your application from a comprehensive set of network layer (Layer 3, 4) attacks. https://docs.microsoft.com/en- us/azure/virtual-machines/linux/tutorial- secure-web-server
  • 25. Corda Enterprise with Azure Blockchain Service (BaaS)
  • 26. Announcing Corda Enterprise on Azure Blockchain Service + Azure Blockchain Service
  • 27. Simple node deployment and configuration Simple, quick deployment Configure and deploy a Corda node (Corda Enterprise v4) with a single Azure portal pane, or through REST APIs, x-Plat CLI and Powershell Easily join Corda network of choice Add your Corda node to Testnet, UAT, Corda Network, or a private business network
  • 28. Simple node deployment and configuration Simple, quick deployment Configure and deploy a Corda node (Corda Enterprise v4) with a single Azure portal pane, or through REST APIs, x-Plat CLI and Powershell Easily join Corda network of choice Add your Corda node to Testnet, UAT, Corda Network, or a private business network
  • 29. Azure + Corda Enterprise = Built for business Designed for enterprise readiness Built to meet enterprise standards in terms of performance, compliance, security, and interoperability Optimized for Azure customers Integrated with key Azure services, such as AKV, Azure SQL, and Azure Monitor Open and extensible platform and ecosystem Innovate and extend the shared partner ecosystem by leveraging Corda Enterprise on Azure Blockchain Service
  • 30. Simple node deployment and configuration Simple, quick deployment Configure and deploy a Corda node (Corda Enterprise v4) with a single Azure portal pane, or through REST APIs, x-Plat CLI and Powershell Easily join Corda network of choice Add your Corda node to Testnet, UAT, Corda Network, or a private business network
  • 31. Node management Manage access to node Provide access to node via basic authentication and manage password Gracefully drain and restart nodes Control node restart on your own terms, gracefully allowing flows to drain
  • 32. Node users management Manage node user permissions Easily add and manage node user permissions based on installed CorDapps
  • 33. CorDapp management Manage installed CorDapps Easily add and manage CorDapps to your node with built-in graceful flow draining Deploy and broadcast CorDapps Easily deploy as many CorDapps you want to your node and share those CorDapps with others in your network
  • 34. Node health, monitoring and logging Azure Monitor logging and alerting integration Get node insights such as transaction count, CPU and memory usage, as well as alerts for user-defined thresholds View ledger and proxy logs in Log Analytics Configure rich views for logging events emitted from Corda and proxy, enabling insights into blockchain activity and network connections
  • 35. Roadmap • Corda node provisioning • Simple CorDapp management • Single RPC user • MVP portal UX • Basic monitoring and logging • Simple documentation • Support channel • Enhanced CorDapp management • Enhanced RPC user management • Full portal UX • Enhanced monitoring/logging • Documentation • HA/DR • Upgrade support • Firewall/network privacy functionality • AKV signing • Billing/business model • Onboard Microsoft support • Documentation Milestone 1 – MVP Private Preview Milestone 2 – Full Private Preview Milestone 3 – Public Preview
  • 36. All on the best cloud for blockchain Analysts place us ahead of the competition Our open, app-focused approach has been validated by Gartner, Forrester and many other third-party analysts We have designed a thoughtful product portfolio We have spent 4 years developing the most open and comprehensive blockchain portfolio to simplify development of this new class of apps Customers and partners trust us Businesses have built thousands of blockchain apps on Azure working with our rich ecosystem of blockchain partners ​
  • 37. Join customers and partners building blockchain apps on Azure PARTNERS CUSTOMERS