プログラミング

【ブロックチェーン×クラウド】BaaSとは?事例付きで紹介!

Baasとは

ところで、BaaSの意味を調べると2つの意味があるようです。

1. Backend as a service

BaaS(Backend as a service)とは、モバイルアプリのバックエンド機能を提供するクラウドサービスです。 BaaSを使うことにより、アプリ単体がモバイル端末上で動作するだけでなく、外部からの働きかけを行うことで、アプリがそれに応じた動作を行うことができるようになります。

参考:BaaSとは|ポスモバ プッシュ通知と情報配信のBaaS

前者はBackend as a Serviceの略です。これはモバイルアプリのバックエンド機能を簡単に実装するために提供されているものです。

モバイルアプリはSwiftやKotlinのようなネイティブアプリ専用言語に加え、バックエンドを動かす必要があるアプリを作る場合はRubyやPHPなどのバックエンド言語が必要になってきます。

1つの開発で2つの言語を使うのはかなり大変ですよね?そのような人のために用意されたかなり便利なクラウドサービスとなっています。

2. Blockchain as a Service

必要なソフトウェアを必要なだけインターネット経由で提供するSaaS(Software as a Service、サースと読んで「サービスとしてのソフトウェア」を意味します)、そのプラットフォーム版でソフトウェアを動かすOSやハードウェアを提供するPaaS(Platform as a Service、パース)について耳にしたことがあるという人も少なくないと思います。

SaaSやPaaSに続いて、ブロックチェーンをクラウド上でサービスとして提供するBaaS(Blockchain as a Service、バース)という言葉も登場しました。BaaSには、ブロックチェーンがすぐに使えるよう、あらかじめ必要な設定がされた状態で提供されています。BaaSを利用するメリットはSaaSやPaaS同様、個々の企業やサービスがゼロからシステムを構築して稼働させる必要がなく、ブロックチェーンを利用したアプリケーションの開発に専念できることにあります。これはブロックチェーンを利用するハードルを下げるため、ブロックチェーンの普及に大きく影響すると考えられています。

参考:クラウドでブロックチェーンを提供するBaaS

ここではこのBlockchain as a Serviceとしての意味を持つBaaSについて書いていきます。

SaaSやPaaSは私たちがわざわざサーバーを借りて0から構築しなくても簡単にセットアップできるよ、というものでした。

BaaSの原理もこれと似ています。BaaSも同じように、初心者では構築が困難なブロックチェーンシステムの構築の一部をクラウド上に委託することで、ユーザーは開発に集中できるようになります。SaaSとの違いはブロックチェーンを利用したアプリケーションの開発ができるところです。

主なBaaSサービスのまとめ

IBM Blockchain

IBMが提供するIBM Blockchainというサービスです。

公式サイト:IBM Blockchain

環境はこんな感じになっています。

f:id:hatorihatorihatorik:20180807000802p:plain

システムの全体像はこんなかんじになっています。わかりやすい!

f:id:hatorihatorihatorik:20180807001317p:plain

下記サイトを参考にして簡単に使って見るとより具体的なイメージがわくかもしれません。

参考:IBM Blockchain を使ってみる

AWS Blockchain Templates

AWSが提供しているクラウドです。

>>AWS Blockchain Templates

このサイトでめちゃくちゃ詳しく説明されていました。

参考:AWSがリリースしたブロックチェーンフレームワーク「AWS Blockchain Templates」は何がスゴイのか

上記サイトで理解→下記サイトで実装っていう流れで完璧に理解できるかと。

参考:AWS でブロックチェーンをトライしてみるの巻

Azure Blockchain Workbench

Microsoftが提供しているAzureというクラウドのサービスの一部です。

参考:ブロックチェーン テクノロジとアプリケーション | Microsoft Azure

この方のブログを参考に触ってみるといいでしょう。

参考:Microsoft AzureのBlockchain as a Service(BaaS)を少しだけ触ってみた話

Oracle Cloud

Oracle社のクラウドであるOracle Cloudにあるサービスです。

参考:Blockchain Cloud Service | Oracle Cloud

英語ですが、動画で使い方を知るためのでもビデオも用意されています。

参考:Blockchain Cloud Service – もっとよく知る(デモとビデオ) | Oracle Cloud

その他(Googleクラウド、Alibabaクラウド)

Google CloudはGoogleが提供するクラウドサービスです。

参考:Googleがブロックチェーン企業2社と提携:Cloud上でブロックチェーンフレームワークを提供へ

GoogleはDigital Asset社、Block Apps社という2社のブロックチェーン企業と提携

し、Google Cloud上でブロックチェーンフレームワークを提供できるようになっています。

導入は決定しているようだがまだ私たちが使うことはできないようでした。

中国のAlibabaという会社もブロックチェーンクラウドを提供しています。

参考:Alibaba Cloud Document Center: Find the Documentation for Your Needs – Alibaba Cloud

各社BaaSの比較と見解

f:id:hatorihatorihatorik:20180930042424j:plain

まず、BaaSを提供している各社の違いですが、それほど違いはないと思っています。多少の違いはありますが、これらの機能は頻繁にアップデートされているため、できることはだいたい一緒になってきます。

個人的にクラウドは不動産のようなものだと思っています(地価の話ではなくたくさんもってると強いという意味です)。不動産は土地それ自体にそれほど違いはないです。たくさん土地を持っている人が強いです。

これはクラウドも一緒だと思っています。ブロックチェーンでビジネスをやるときにAWSであろうがAzureであろうがユーザーはそれほど関係ありません。もっとも歴史が長いAWSをはじめAzure、GCPのような超大企業が今後もさらに力をつけていくのではないでしょうか。