データサイエンティストハトリのブログ

PythonとインテリジェントクラウドとAIが好きな学生エンジニア。データ分析、スクレイピング、就職活動などについて書いていきます。

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

f:id:hatorihatorihatorik:20180930042421p:plain

 

こんにちは、どうもハトリです!!

 

TwitterでプログラミングやIT関連のことについてつぶやいているのでよかったら是非フォローしてください →→(@tori_engineer)

 

 

Baasとは

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

1. Backend as a service

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

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

 

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

 

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

 

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というサービスです。

www.ibm.com

 

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

f:id:hatorihatorihatorik:20180807000802p:plain

 

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

 

f:id:hatorihatorihatorik:20180807001317p:plain

 

 

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

 

qiita.com

AWS Blockchain Templates

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

AWS Blockchain Templates

 

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

 

qiita.com

 

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

qiita.com

Azure Blockchain Workbench

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

azure.microsoft.com

 

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

www.jpbitcoinblog.info

Oracle Cloud

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

cloud.oracle.com

 

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

cloud.oracle.com

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

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

coinpost.jp

 

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

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

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

 

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

www.alibabacloud.com

 

各社BaaSの比較と見解

f:id:hatorihatorihatorik:20180930042424j:plain

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

 

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

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