/4thtech
Published in

/4thtech

Upgrade to Production Server infrastructure enables Containerisation and Scalability

4thpillar technologies (i.e. 4thtech) is a blockchain technology innovation and development initiative with main focus on enabling blockchain solutions resolving; (1) digital identity (i.e. mapping of X.509 digital identity certificate with blockchain wallet address); (2) electronic data and documents exchange between blockchain wallets, and; (3) digital document blockchain Notarisation (i.e. fraud prevention process that enables document authenticity and guarantees that the document has not been changed in the course of a transaction between wallets). Three main completed innovations are forming the rationale and framework needed for further development, legislation adoption, multi-chain deployment and recognition. With that 4thtech concludes projects second biggest development mile-stone and paves the way towards the final goals, that are: (1) the development and deployment of 4thtech 2.0, and; (2) the development and deployment of Enterprise Access Point (i.e. AP)[4].

Linode, Linux virtual machines cloud server infrastructure

Up to now, the project operated on reliable conventional server infrastructure, appropriate for the MVP development phase. As 4thtech solutions moved to production, it was time to also move them to production server infrastructure. We have chosen the Linode, Linux virtual machines cloud server infrastructure. With 11 data centres worldwide, extensive peering relationships, and Next Generation Network (NGN), Linode delivers the modern infrastructure and performance to innovate at scale.

With server, infrastructure un and running, a few challenges still remain on how to solve blockchain interoperability and scalability. The 4thTech solution to scalability is containerization, so let's dive into more details.

Blockchain and Containerization in General

Containerisation is a standardized unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another[1]. According to Christopher Tozzi, there are shared fundamentals between blockchain and containerisation; (1) just as a blockchain stores data in a decentralized fashion, a containerized application is powered by a number of containers, across which the workload is distributed. No one container is more important than another, and load can shift across the environment as application demand dictates; (2) if some of the nodes on the blockchain disappear, data remains intact because it is stored on other nodes. This makes blockchain data storage more reliable than conventional databases. Containers operate in a similar fashion. A containerized application consists of multiple containers. When one fails, others remain available to keep the application running; (3) containers are a form of immutable infrastructure. When you want to modify your application, you don’t change existing containers. You create new ones. Blockchains are somewhat similar in that once data is written to the blockchain, it is immutable. To change records, you write new data rather than modifying data already in place, and; (4) The ability to scale is the features of both technologies[2]. The current 4thtech MVP leverages blockchain with the combination of containerisation to form a framework for a future cross-platform Client and Enterprise Suite development.

Docker

A Docker container image is a lightweight, standalone, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries and settings[1]. Docker plays a vital role when developing blockchain applications and acts as an important tool; (1) when creating distributed applications locally, and; (2) providing automatisation to reduce time spent on error-prone steps during deployment and testing[3]. During the 4thtech research testing, the Docker and Kubernetes performed without any issues on the same server. In the Docker case, conflicts can appear in the case of the same port usage if running multiple containers on the same machine. When dealing with blockchain and different container software interoperability, numerous use-cases have proven the interoperability between blockchain and Docker container software, but the blockchain interoperability with different container software remains an open issue.

The solution to 4thTech scalability

In the case of 4thtech blockchain applications development, developed Docker containers will be integrated into Kubernetes clusters, which will enable the overall scalability and elasticity of the 4thtech systems.

[1] ‘What is Container?’ <https://www.docker.com/resources/what-container> [accessed 7 November 2020].

[2] ‘Blockchain and Containers: More in Common than You Think — Container Journal’ <https://containerjournal.com/features/blockchain-containers-common-think/> [accessed 7 November].

[3] ‘Docker Usage in Blockchain — Oneupcompany — Medium’ <https://medium.com/oneupcompany/docker-usage-in-blockchain-1ef7dd4a1dd0> [accessed 7 November].

[4] ‘4thTech project Whitepaper’ <https://github.com/4thtech/static-assets/raw/main/pdf/whitepaper.pdf> [accessed 7 November].