What is the right platform for decentralized applications?
Between 2017-2021, during my time at AWS, every conversation with new cloud customers would start with TCO analysis between on-premises and cloud. But, soon, the conversation would evolve into how the cloud can enable or fast-track new value creation that comes from increased experimentation and improvement in time to market.
I remember having a conversation with the CIO of a Fortune 500 company about agility and experimentation. If I can trust my memory, he said, “My customers are impatient about new features. And to serve my customers, I have to be impatient like my customers about new feature delivery. To deliver innovation at speed, I need to equip my developers with the right tools and platform. I want to keep both my customers and developers happy”.
Yes, it’s the developers’ job to release new features faster.
But, it is IT leaders who must provide developers with the right platform to experiment upon and execute at the desired speed.
So far, I am impressed by the progress and improvement in the tooling required to build and deploy decentralized software on public and private blockchain platforms. But, current experience and tooling are far from optimal for the rapid development of blockchain application proof of concepts, value, and delivery of value. Blockchain platform services are still limited, so it’s important your organization can support the business needs for blockchain application development before you pick a platform for blockchain application development.
Here is our compilation of features and questions your decentralized application and services teams will need to expect from an enterprise blockchain platform.
- What specific programming languages are supported?
- What development IDE is used for programming?
- Are there programming frameworks available for software development?
- How easy is it to test and debug code in supported programming languages?
- How long is the learning curve for a new programming language?
- What are key optimizations required to deploy code in supported programming languages?
- What type of scaling is used?
- What are the upper limits?
- How is scaling triggered – reactive, or predictive?
- Is adaptive scaling supported?
- Is the platform multi-tenant or dedicated?
- Does it have a noisy neighbor problem?
- What is the track record of the developers for delivering enhancements and upgrades?
- How are upgrades delivered?
- If using open source, how frequently are upgrades on open source software available?
- Is there a cost for applying upgrades?
- Who is responsible for what software upgrade?
- What kind of custom packages are supported and how does it impact support?
- Is there real-time transparency for all transactions?
- Does it support writes from multiple locations?
- How are write conflicts handled?
- How are failed transactions handled?
- Do you have a full view on the blockchain activity?
- Does blockchain provide success/failure feedback?
- Is the system feedback easily interpretable?
- Is the visibility provided in a reasonable time?
- What is the capital cost of new application deployment?
- What is the minimum operational cost?
- What is the marginal cost of deploying a new decentralized application on a platform?
- What other support costs need to be accounted for to operate the production environment?
- What is the documented confidence level in the platform security?
- What compliance and assurance certifications are available as proof?
- What popular open source software is used to build a platform?
- How are participants added?
- Who has what level of control?
- How is fine grained access control supported and at what granularity?
- What kind of attacks are common?
- What kind of protection and mitigation are supported?
- What existing software tools and services can be used for security perimeter hardening and monitoring?
- How is the network secured?
- What are different layers, and how is security responsibility shared?
- What are the upper limits of validating transactions?
- What are primary performance bottlenecks?
- What controls and tradeoffs exist to improve performance?
- Is there a guide on performance best practices?
- What are the uptime track records?
- Which parts are centralized, and how can they be decentralized?
- What is the dependency on partners?
- What kind of SLAs are provided by partners?
- What are best practices for improving resilience and availability?
- Is the platform self-healing?
- What kind of visibility is provided to consumers during outages?
- What is the communication mechanism used for reporting and tracking outages?
- How easy is it to add participants to the platform?
- How can you extend domain models supported on the platform?
- Does it support open interfaces for third party applications integrations?
- What type of partner integrations are supported out of the box?
- Does it interoperate with other related technologies?
- What components are open source, and what are proprietary?
- What is the variety of collaboration and contributions from a variety of developers?
- How frequently are new versions of the open source code upgraded?
- How much of the platform runs on renewable energy sources?
- Does the platform use inefficient algorithms?
At Vendia, we believe blockchain development doesn’t have to be complicated. Enterprise customers don’t have to wait any longer to address business pain points and needs that blockchain can solve. To learn more about our enterprise blockchain solution for automating and accelerating your data workflows across your multi-party business networks, contact us with questions or request your 5-day proof of concept.