At the start of 2018, only two of the leading cloud providers offered Blockchain as a Service (BaaS) services. In 2015 Azure launched first, followed by IBM in 2016. In the last four months Amazon’s AWS, SAP, Oracle, and Google Cloud announced their blockchain cloud services.
Ledger Insights is conducting a survey about BaaS providers. Feedback from you or a technical colleague is appreciated.
What is BaaS
One of the biggest challenges is what is meant by BaaS, what does it cover? The term is used rather loosely. The only aspect that the phrase always seems to include is the ability to set up a server or node from a template. But, provided your comfortable with Linux servers, the basic installation process for most of the blockchain protocols isn’t that hard without a template.
So while the above graphic is useful, one shouldn’t choose a provider based on the availability of a protocol at a cloud provider. The trickier parts are what comes after the basic installation, including configuration.
But the ‘as a Service’ can also encompass maintaining servers, monitoring and managing the entire blockchain network, and integration tools. There’s tremendous variability in the availability of all three.
Some blockchain companies which are Distributed app (Dapp) companies call their services BaaS because a user can use their app straight away. Here BaaS refers to hosting solutions for the leading enterprise protocols.
What are the criteria?
Whether or not BaaS matters to your company partly depends on your team’s skills. Many decent enterprise developers aren’t that confident in setting up servers. Often that’s because they’ve mainly developed on Windows and BaaS hosting is Linux based. You may or may not have an internal systems administration team who are very comfortable at server setup.
There’s a good chance your company uses one or more cloud providers. The learning curve with each cloud provider is quite significant. So if a developer is already familiar with one of them, from a time-saving perspective, it’s probably worth sticking with what you know. This is especially because BaaS offerings are evolving quickly.
Security is a critical issue. In some cases, the BaaS provider might help with part of this. But given the array of security issues ranging from application level to server level, you can’t assume it’s all taken care of.
Other criteria in choosing cloud providers will be the BaaS tools available, choice of operating systems, ease of use, and pricing.
Tools
The deepest set of tools by far is for Ethereum.
Azure’s Blockchain WorkBench is in public preview mode and for now only available for Ethereum. Workbench provides a web page so a developer can deploy a blockchain network, pre-integrated with a set of cloud services for data ingestion, key and identity management and off-chain storage needed to build a multi-party application.
While AWS started very late, they took a shortcut to catch up. AWS Marketplace partner Kaleido, a Consensys startup, provides a web-based user interface for configuring a consortium blockchain for both Ethereum or JP Morgan’s Quorum. And there’s soon to be further competition in the Ethereum space from Clovyr founded by ex-Quorum lead Amber Baldet.
For Hyperledger Fabric, most cloud providers have a BaaS offering, but the only one that additionally offers Hyperledger Composer is IBM. However, that doesn’t stop you from installing Composer yourself on any cloud platform.
While AWS offers open source Corda, the network management tools and extra features that come with the Enterprise version are currently only available on Azure.
Major cloud players
Outside of blockchain, in cloud Infrastructure as a Service (IaaS), Amazon’s AWS is still the market leader by a significant margin. Microsoft’s Azure is in second place. It’s hard to know how far behind Azure is because they only publish Azure growth rates, not the figures.
The only other company that made it into this year’s Gartner‘s leader magic quadrant was Google, and only just.
SAP and Oracle are hoping to attract customers to their blockchain cloud offerings by offering tight integration with their respective platforms.
Below is a deeper dive into the choices available from AWS and Azure.
AWS
One of the most significant challenges with AWS is finding information because there are so many services. This is a good starting point.
Tools
Once you have a server up and running, there are no additional tools available for managing a blockchain network beyond the conventional AWS services and load balancers. Load balancers are simple to use and may be okay if you’re running Ethereum, but many permissioned blockchains require data to be separated onto different machines.
There are tools available in the marketplace from third parties such as Kaleido for Ethereum as previously mentioned.
Templates
AWS lets you choose two routes. You either use Amazon ready made Blockchain templates, or you can use the marketplace.
Currently, there are two AWS ready-made templates for Ethereum and Hyperledger Fabric. They can either be used on EC2 which is for a full server, or on ECS which is Amazon’s serverless container hosting. With the latter, you can deploy a Docker container to the cloud. The advantage of containers over servers is they need less maintenance.
The marketplace now has numerous options. In some cases, there are multiple flavors for the same blockchain so watch for the seller.
A company called CodeCreator seems to offer a pre-built version of Hyperledger Fabric. There’s a charge for this, whereas the AWS blockchain template is free (apart from the server or container fees).
For Ethereum there are numerous different options. There’s the BlockApps STRATO enterprise version, plus Consensys’ Kaleido which offers Geth Ethereum or JP Morgan’s Quorum.
Corda is available from R3 in the marketplace, but only the open source version.
Intel offers a build of Hyperledger Sawtooth ready-made for supply chains.
Azure
Azure probably has slightly better step-by-step instructions compared to AWS. All blockchain hosting is on Linux servers.
Tools
As previously mentioned, Azure has its Microsoft Azure Blockchain Workbench. The web interface enables users to create end-to-end blockchain applications. It comes with sample cross-organizational workflows and a smart contract builder as well as an admin console.
WorkBench also allows the blockchain to be queried using a SQL database. There doesn’t seem to be the option to use MySQL for this.
The WorkBench toolset currently works with Ethereum – either with the built-in ledger that you can deploy as part of Workbench, or with a ‘bring your own ledger’ capability that lets you deploy a multi-member network. Microsoft plans to support additional ledgers in the future.
Blockchain flavors
There are many offerings in the Azure marketplace including Ethereum, Corda, Quorum, Hyperledger Fabric, Chain and others. These are available in single-node, multi-node, and multi-member topologies. Multi-member offerings allow customers to create a consortium network across multiple organizations, each with distinct administrative control over their nodes.
It can also accommodate members who deploy on-premises or on other clouds.
Microsoft offers an Ethereum Proof of Work node. Watch out as that will be expensive to run if you do a serious amount of transactions. There’s the usual Proof of Authority consortium type available as well.
Other Ethereum options include:
- BlockApps enterprise Ethereum flavor
- a Quorum build from the Enterprise Ethereum Alliance
- Parity’s Ethereum POA
R3’s Corda is available in the marketplace. Here you can get the Enterprise version with extra features and network management tools.
The other solution of note is the Stratumn Indigo Node. The main Stratumn public use case is the French Federation of Insurers.
MultiChain is also available but it’s a very old 2016 build, and it’s a community-built offering rather than a Marketplace offering.
Please take a moment to answer the short BaaS survey.
Disclosure: the author has been an AWS customer for many years