Blockchain technology has opened up a new and exciting world for developers, but it seems that the business technology world is still hard to embrace. What are the challenges that exist and how can they be overcome? We have arranged for you
By Aviad Fenigstein, CTO & Chief Architect at Cloud Valley
In recent years, there has been a huge buzz around blockchain technology. It has opened to us, the developers, the opportunity to create innovative apps that can socially help citizens, organizations and maybe even countries and governments to change the world. So it is not surprising that everyone wants to engage, experiment with it and of course create and develop good, smart and effective solutions.
The blockchain business world has also become an important and breakthrough technology and interest in it. At the same time, the adoption of technology requires an investment in changing organizational consciousness and unique technological tools. This is because the design and development of a blockchain system requires a great deal of attention to details and issues that are usually not required in standard systems. Because these are systems that need to integrate with other systems in the organization, proper leadership of the design and implementation process, with practical experience in defining and implementing blockchain processes, is key to a successful and groundbreaking blockchain project.
Of course, you don’t have to do everything alone. There are now quite a few methods, tools, services and platforms in the market that allow organizations to enter the blockchain world quickly and efficiently. What are the key challenges, what tools can help and how do they work? We have arranged for you to make it easier for you to take part in a blockchain project and say proudly: “I have code lines there.”
Development technology is completely different
The technological challenges of developing blockchain technology in the business world are great, and we, the developers, need to learn almost completely different development technology and have different characteristics from those we are used to. We will have to solve software problems and face challenges related to deterministic, decentralized, decentralized technology, and keep in mind that the app and database are fully replicated and running simultaneously across multiple servers and sites. It is important to take care of a solution that will allow us to control the version of the app, as blockchain apps do not have the usual and familiar version updates.
In addition, more complex interfaces and protocols must be dealt with, designed and programmed asynchronously fully for each operation and try to cope with the difficulty of debugging the application code with limited capabilities. Also, the interface between the Blockchain system – which is a core system – and a mobile app or website is not easy and requires effort in development, as does user management against blockchain keys. And we haven’t even said a word about the ecosystem challenges of data security, encryption and data privacy, blockchain key protection and more.
Experiment for free and reduce difficulties
Despite all these complex challenges, blockchain is an amazing technology that solves problems most effectively. If we make the right decisions, use the right development tools, and use cloud-managed services that will save us the complex maintenance of the infrastructure, we can easily break down the task and start writing code for our own blockchain system. To facilitate the adoption of the technology, there are several platforms that allow the developer community to experience it and reduce the difficulties involved. I use technologies developed by Microsoft, most of which are open source access to the developer community, and cloud management services in Azure.
– Developer Tools Package: Microsoft offers an open source suite of tools that can be easily installed as an add-on to its common development tool – VS Code. The suite of tools allows you to develop, distribute and manage blockchain applications from the development environment. It basically wraps Truffle and Ganache, two tools designed to develop code for Ethereum-based blockchain systems, enriching them with capabilities and making it easy to develop, compile and debug our apps.
This will allow us to debug and see exactly what values are stored on the blockchain, the status of each action or process, and additional values and parameters on the transaction. We can also use a simple test interface and avoid many situations where we had to write unit test code or display interface in order to perform processes and functions tests. In addition, the toolkit allows you to upload the app directly to our Azure blockchain services.
– Managed Blockchain Service (PaaS): One of the blockchain solutions tailored to the enterprise world is the Azure Blockchain Service managed blockchain service. It is a service that enables the use of several common and open source platforms, such as Ethereum, Quorum, Corda, alongside a set of services that includes monitoring and monitoring operations in the blockchain, a managed mechanism for the integration of organizations into the blockchain network in a simple and secure manner, privilege management and of course, information security casing .
The service resolves the need to manage a blockchain network and server infrastructure, enabling us to focus on system development and subsequent distribution in a managed, secure, and fully controlled manner. We can also see in one place the different performance metrics of the servers, along with the visual possibility of monitoring the transactions, blocks and messages in the system. Permission management is simple and easy and is done using the usual Role based access method.
– Azure Blockchain Workbench Service: The service allows companies and organizations to do a feasibility study on their blockchain system or develop a cheap MVP within a few days. The service runs above the managed blockchain services and can manage blockchain apps, load them into the system and let it generate a basic UI. The process workflow and application permissions can also be managed simply and visually.
In addition, the service includes a standard REST API layer, unlike the blockchain’s generic Json RPC layer. The use of the service APIs layer allows us to develop custom client side applications, as well as connect them to standard and simple interfaces and to a set of services that manage the blockchain asynchronous processes automatically.
– Serverless technologies: One of the complex challenges for us, the developer, is the integration between blockchain and standard systems. This is a complex issue in itself, since blockchain is a distributed technology. By using Serverless services such as Azure Functions, we can integrate blockchain and other enterprise systems or schedule actions according to events that occurred in the process. We can run it in Azure, in other clouds, or in the organization’s yard, enabling us to develop integrated blockchain enterprise systems that provide an end-to-end solution.
The article is sponsored by Cloud Valley
Cloud Valley from the Comm-IT group is the leading and largest company in Israel in providing managed cloud services to the Azure environment. The company helps organizations of all sizes leverage cloud technology to achieve their best cost / benefit goals and best fit their requirements.
The company specializes in providing automated and smart services that free the organization from ongoing care and allow it to focus on the business side with a quiet heart. Cloud Valley’s professional team provides the top-notch counseling and support needed to get the most out of the Azure platform. For more details, click here.
Edits and writes on every field except football. He has an obsessive relationship with business and technology trends, is sure to be the funniest to say sweet potato. Commercial content manager for TechAmbo.