DevOps could revolutionize the way companies develop new technology. In fintech specifically, programmers are struggling to keep up with the new programming languages, new coding environments, and new ways to successfully work with other members of their team. Given that the Ethereum blockchain (and subsequent smart contract movement) only launched on July 30, 2015, it should come as no surprise that the programming skills necessary to sustain growth in this field are lacking. Developers lack the proper tools, processes, and protocols to produce consistently high-quality work. If they had the proper tools and extra help through development automatization, could they keep up with the demand with greater ease? Many companies (Walmart, Amazon, Facebook, Netflix, to name a few) seem to think so, and in the heart of this chaos the DevOps revolution was born.
We would like to thank the team at Buddy for their contributions to the design and implementation of the research and to the analysis of the result.
DevOps is a fresh new idea, essentially taking equal parts in development and operations and blending them together into a more streamlined process.
It is comprised of three key parts:
- Speeding up projects
- Increasing security
- Breaking down traditionally isolated roles
DevOps is quickly growing in popularity because it enables teams to conquer problems with less redundancy. When it comes to blockchain and smart contract technology, DevOps has shown huge potential in remedying a lot of the common problems.
Smart Contract Programming is Riddled with Problems
Anything as complex as smart contracts is bound to run into problems, typically because of human error, whether in the programming itself or in the organization of the written code. When you take into account that a standard smart contract written for the Ethereum blockchain can use 4 or more languages (Solidity, Serpent, LLL, Viper, etc) and needs to take into account many different concepts (blockchain theory, EVM, Geth, DApps, etc), bugs are inevitable. Considering all of the different types of programming knowledge necessary to work on smart contracts, it is easy to understand where the mistakes come from.
Bugs aren’t the end of the world, typically, but every now and then they can turn into costly mistakes that are usually avoidable. When it comes to writing code for blockchain/smart contracts there are so many repositories, environments, and other specific protocols that need to be followed – this creates a high probability of errors in programming. With these bugs come security exploits, smart contract failure, and the opportunity for nefarious individuals to take advantage and destroy or manipulate the system.
To summarize: smart contract programming exists in an overly complicated environment that doesn’t have an easy-to-use backend, the reason being that there hasn’t been time enough for the community to develop the proper tools since smart contract tech is still so young.
Emerging Tools for Development Automatization
For many of the existing programming languages and styles, there are a plethora of tools available to developers to help assist them in nearly anything they would need – from highly specialized code writing applications to browser testers, code optimizers, and entire libraries with prewritten open source code. Blockchain and smart contract programmers are starting to see some of these tools developed in their respective fields, but they are still fairly limited. The reason these exist in traditional programming is to increase trust between project sponsors and their developers since the entire development process is more easily verified when incorporating existing open source methods. Think of it as using a factory-made product versus one made by your hobby-enthusiast neighbor. The factory product is standardized and tested, thus easier to trust as opposed to the homemade version. Also, there are many tools to check code integrity, security, and compatibility which can ensure a project will launch faster without any major bugs or flaws.
Current Players on the Field
Some of the solutions presented here were originally designed for development in general and have since been repurposed to fit the needs of the blockchain and smart contract creation, while others have been created specifically for this new industry.
Vee, a blockchain development platform, has created an environment where developers can instantly create blockchains. Their platform is designed with a modular structure in order to support multiple consensus algorithms, and the blockchains created through Vee are decentralized and scalable. Vee is focused on providing custom solutions for businesses and organizations with an emphasis on cloud platforms. By consulting with them, customers who would otherwise be unable to create a blockchain are able to access the technology thanks to the lowered barriers of entry.
Vee helps developers to create DApps by allowing them to host them on their open source blockchain with public APIs, but they do not offer resources aimed specifically at assisting the developers in creating these DApps.
DigiForest, on the other hand, has launched its platform aimed at taking care of all customer needs in regards to blockchain and smart contract creation. They are consultants who can create anything from blockchains to DApps, cloud computing solutions, and database management protocols. DigiForest also offers a large assortment of trainings to help developers learn the skills on their own, and they are available to help entire developing firms expand their skillbase in the cryptocurrency field. Although DigiForest can take care of many needs within the blockchain environment, the problem is that they are creating products for you, and if something goes wrong or if you’d like something changed you’ll have to approach them again for a solution.
Azure is a solution by Microsoft that has been around since 2010, and they bring a lot to the table when it comes to developmental solutions. Everything from app marketplaces, cloud hosting, monitoring, testing, access to processing power, and even blockchain solutions are available through Azure. It has established its place in the market and is considered a key resource by many large businesses, and although it has the potential to be a potent blockchain and smart contract resource, it hasn’t quite managed to grab onto the crypto market just yet. Perhaps Azure will be able to corner the blockchain market in the future if their platform is able to expand its blockchain resource pool and help developers become specialized with the key components of smart contract creation. Until then, users may be left wanting more than what Azure has to offer.
Designed Specifically for the Blockchain
An established DevOps company that is now trying its hand in the blockchain space, known as Buddy, is trying to solve a vast majority of the problems that blockchain development is experiencing, while also fully embracing the DevOps revolution. Where some of the aforementioned platforms fall short, because they are too specialized and simply want to write code for companies, Buddy instead is creating an environment that enables developers (and subsequently the community as a whole) to succeed. Creating streamlined pipelines to automate the development process may be the quickest way to success because it not only helps developers, but it helps to eliminate the possibility of human error at the different stages.
Buddy shares some similarities with other developmental platforms, such as providing a sandbox environment for blockchain development, but features a collection of new ideas in the DevOps world.
- BlockchainOps – Similar to the way that Buddy already hosts developmental automation for web developers, they are creating developmental automation for blockchain-based projects. Using an automation pipeline makes it easy for developers to use ready-to-go actions, such as compiling, tests, deployments, custom scripts, and DApps monitoring.
- dAppOS – A sub platform designed specifically for bootstrapping new projects, new blockchains, and new smart contracts. Think of dAppOS as a fully packaged development environment, essentially a turn-key solution that mixes front-end and back-end stacks with trust logic that is already residing on a blockchain. dAppOS can be used to quickly launch, test, or reconfigure an existing DApp, and it can also be used for training since developers won’t have to bother with installing and configuring dozens of dependencies and stacks to prepare their coding environment.
- Distributed Blockchain-as-a-Service (BaaS) – Sometimes one of the hardest parts of launching a blockchain is soliciting the necessary nodes to support decentralization. However, with Buddy’s BaaS, developers can create a new blockchain with a single click and have it deployed across as many nodes as they desire through Buddy Instances (essentially nodes that support the Buddy Network). Because of this, it is easy to stress-test a blockchain across continents without having to form a community first.
On top of these three specific features, Buddy incorporates many existing blockchain solutions like Azure, Truffle Framework, Amazon Web Services, etc.
Developing a Multi-Blockchain Future
Development in the crypto field needs a boost, more support, and more standardization across the board when it comes to code writing. Since multi-blockchain solutions are becoming more and more popular, companies want to be able to access data on different chains and utilize the specific protocols that the various chains offer. Developers need help, and DevOps is the key if we are to progress and continue to grow blockchain technology. Multi-blockchain solutions are crucial to this success, and companies like Buddy are the clear path to progression.