Reader small image

You're reading from  Developing Blockchain Solutions in the Cloud

Product typeBook
Published inApr 2024
PublisherPackt
ISBN-139781837630172
Edition1st Edition
Right arrow
Authors (2):
Stefano Tempesta
Stefano Tempesta
author image
Stefano Tempesta

Stefano Tempesta is a technologist working at the crossroads of Web2 and Web3 to make the internet a more accessible, meaningful, and inclusive space. Stefano is an ambassador of the use of AI and blockchain technology for good purposes. A former advisor to the Department of Industry and Science, Australia, on the National Blockchain Roadmap, he is cofounder of Aetlas, a decentralized climate action and sustainability network with a mission to source verified carbon units for liquidity and carbon asset monetization. A passionate traveler, a poor musician, and an avid learner of new technologies and (programming) languages, Stefano holds three citizenships and speaks fluent English, Italian, and terrible Ukrainian.
Read more about Stefano Tempesta

Michael John Peña
Michael John Peña
author image
Michael John Peña

Michael John Peña, an engineer and Microsoft MVP, excels in tech innovation and leadership. As a data partner at Playtime Solutions, he spearheads projects utilizing Azure, big data, and AI, enhancing data-driven decision-making. With roles ranging from CTO to software engineer, MJ's expertise covers web/app development, cloud computing, blockchain, and IoT. His commitment to lifelong learning and sharing knowledge—underscored by his work with start-ups and as a technical advisor—drives industry advancements in finance, construction, and more. MJ values inclusivity and actively fosters diverse, collaborative environments.
Read more about Michael John Peña

View More author details
Right arrow

Hosting a Corda DLT Network on Azure Kubernetes Service

In recent years, Distributed Ledger Technology (DLT) has emerged as a groundbreaking innovation with the potential to revolutionize industries across the globe. Among the various DLT platforms, Corda has gained significant attention for its focus on privacy, scalability, and interoperability. With its unique design tailored for enterprise use cases, Corda provides a powerful foundation for building decentralized applications and networks.

To harness the full potential of Corda, organizations require a robust and scalable infrastructure that can support the deployment and management of Corda nodes. This is where Azure Kubernetes Service (AKS), a managed container orchestration service provided by Microsoft Azure, comes into play. By leveraging AKS, organizations can effectively host and manage Corda DLT networks with enhanced scalability, security, and operational efficiency.

In this chapter, we won’t dive deep into...

Technical requirements

To run the scripts presented in this chapter for provisioning a Corda network on AKS, you will need an Azure account with an active subscription, as well as resource administrative permissions on the Azure subscription. You can create a free Azure account at https://azure.com/free

This chapter assumes you’re familiar with Azure and AKS for deployment tasks.

Understanding Corda and AKS

In the realm of DLT, Corda has emerged as a prominent platform with a focus on addressing the specific requirements of businesses and enterprises. Built by R3, a leading blockchain software firm, Corda is designed to facilitate secure and efficient transactions between parties while preserving data privacy and confidentiality. Its unique features make it an ideal choice for industries such as finance, supply chain, healthcare, and more. Additional information about industries and specific success case studies for Corda can be found on the R3 Corda website: https://www.r3.com/products/corda.

At its core, Corda is a decentralized ledger that enables participants to transact directly, eliminating the need for intermediaries and reducing transactional friction. Like the Ethereum blockchain, Corda embraces a smart contract approach where transactions are executed using predefined business logic known as Corda Distributed Applications (CorDapps). Unlike Ethereum...

Architecting Corda networks on AKS

When architecting a Corda network on AKS, several design considerations can contribute to a well-structured and efficient deployment. By considering these design considerations, you can create a well-architected Corda network deployment on AKS that aligns with your business requirements, scalability needs, security measures, and regulatory compliance obligations.

Design considerations for Corda network deployment

The following diagram describes the key design considerations for Corda network deployment on AKS:

Figure 7.3 – Key design considerations for Corda on AKS

Figure 7.3 – Key design considerations for Corda on AKS

Let’s examine each feature in detail:

  • Network topology: Consider the network topology that best suits your Corda network requirements. Determine whether a single Corda network is sufficient or if multiple networks or subnetworks are necessary to isolate different business domains or participant groups. Define the network boundaries...

Provisioning an AKS cluster for Corda

The previous two sections focused on understanding the core features of Corda and AKS and the synergy of the two services in Azure, as well as the key considerations for designing a robust, secure, and scalable solution.

We will now progress with the specific steps to set up such a solution based on an AKS cluster running a Corda DLT, starting from having access to an Azure subscription and then preparing the prerequisites for provisioning an AKS cluster for Corda.

Setting up an Azure subscription and preparing the prerequisites

Perform the following steps:

  1. Set up an Azure subscription:
    1. Open the Azure portal (https://portal.azure.com/) and sign in with your Microsoft account. If you don’t have an account yet, you can create a new one for free.
    2. Follow the prompts to create a new Azure subscription or associate an existing subscription with your account.
    3. Provide the necessary information and complete the subscription setup process...

Managing Corda nodes on AKS

Following the initial provisioning and setup of a Corda network on AKS, your deployed infrastructure now requires constant attention: performance, scalability, high availability, security, and operating costs are just a few of the conditions to regularly check for a sound and robust environment.

Now, let’s analyze how to scale, validate the resilience, and ensure high availability and disaster recovery of Corda networks on AKS.

Scaling Corda nodes as Kubernetes pods

Your AKS cluster is now up and running. We’ll keep on leveraging the corda-deployment.yaml file we created in the previous section when we deployed Corda on Kubernetes pods. This file specifies the desired number of replicas, resource limits, and other configuration options for the Corda nodes. In addition, the YAML file describes the source for the container image for Corda nodes. This can be an image pulled from a container registry or a custom-built image that includes...

Summary

Hosting a Corda DLT network on AKS provides organizations with a powerful combination of cutting-edge DLT technology and scalable infrastructure. This chapter served as a comprehensive guide to help you navigate the intricacies of deploying and managing Corda networks on AKS successfully. By following the best practices and guidelines presented here, you can unlock the full potential of Corda and harness the benefits of AKS at scale.

In the next chapter, we’ll progress our deep dive into blockchain-related services offered by Azure by looking at using the ledger features of SQL databases. Besides a transactional and relational database, Azure SQL Managed Instance and SQL Server also offer immutable storage facilities with digital ledger technology.

Further reading

Here are some websites where you can learn more about Corda and AKS.

For Corda:

  • Corda Documentation: The official documentation for Corda provides comprehensive information on getting started, architecture, development, and more. You can find it at https://docs.corda.net/.
  • Corda Network: Visit the Corda Network website to learn more about Corda’s global blockchain network, membership, and how to join: https://www.corda.network/.
  • Corda GitHub repository: The Corda GitHub repository contains the open source code for Corda. You can explore the source code, contribute to the project, and access sample applications: https://github.com/corda/corda.
  • Corda YouTube channel: The official Corda YouTube channel features tutorials, webinars, and presentations on various aspects of Corda: https://www.youtube.com/@Cordablockchain.

For AKS:

  • AKS documentation: The official documentation for AKS provides guides, tutorials, and best practices...
lock icon
The rest of the chapter is locked
You have been reading a chapter from
Developing Blockchain Solutions in the Cloud
Published in: Apr 2024Publisher: PacktISBN-13: 9781837630172
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
undefined
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at £13.99/month. Cancel anytime

Authors (2)

author image
Stefano Tempesta

Stefano Tempesta is a technologist working at the crossroads of Web2 and Web3 to make the internet a more accessible, meaningful, and inclusive space. Stefano is an ambassador of the use of AI and blockchain technology for good purposes. A former advisor to the Department of Industry and Science, Australia, on the National Blockchain Roadmap, he is cofounder of Aetlas, a decentralized climate action and sustainability network with a mission to source verified carbon units for liquidity and carbon asset monetization. A passionate traveler, a poor musician, and an avid learner of new technologies and (programming) languages, Stefano holds three citizenships and speaks fluent English, Italian, and terrible Ukrainian.
Read more about Stefano Tempesta

author image
Michael John Peña

Michael John Peña, an engineer and Microsoft MVP, excels in tech innovation and leadership. As a data partner at Playtime Solutions, he spearheads projects utilizing Azure, big data, and AI, enhancing data-driven decision-making. With roles ranging from CTO to software engineer, MJ's expertise covers web/app development, cloud computing, blockchain, and IoT. His commitment to lifelong learning and sharing knowledge—underscored by his work with start-ups and as a technical advisor—drives industry advancements in finance, construction, and more. MJ values inclusivity and actively fosters diverse, collaborative environments.
Read more about Michael John Peña