第13章ハイブリッドマルチクラウドのデジタルソリューション開発
ML Toolkits Performance機械学習ツールキットの性能
ML toolkits can be used for various tasks, such as scaling a computation to solve bigger problems. One approach is the SPMD model of communicating sequential processes by using the message passing interface (MPI) standard model. Another is the graph execution dataflow model, used in Spark, Flink, and the deep learning toolkits. You can write ML algorithms using either MPI or Spark. You should be aware that MPI implementations of standard ML algorithms typically perform better than the versions in Spark and Flink. Often, the differences are factors of orders of magnitude in execution time, but the MPI versions are harder to program than the Spark versions.
英語のヒント
機械学習ツールキットは、より大きな問題を解くために計算規模を拡大するなど、さまざまな用途に使える。一つの方法は、メッセージパッシングインターフェース(MPI)の標準モデルによって、逐次プロセス同士を通信させるSPMDモデルである。別の方法は、Spark、Flink、深層学習ツールキットで使われる、グラフ実行によるデータフローモデルだ。機械学習アルゴリズムはMPIでもSparkでも書ける。標準的なアルゴリズムのMPI実装は、通常、SparkやFlinkの版より性能がよいことを知っておこう。実行時間が桁違いになることも多いが、MPI版はSpark版よりプログラミングが難しい。
Blockchain Servicesブロックチェーンサービス
Blockchains use a distributed ledger system to store data and transactions in an open-source database that enables you to build applications that allow multiple parties to securely and transparently run transactions and share data without using a trusted central authority. With blockchain 2.0, developers have a mechanism that allows programmable transactions, which are modified by a condition or set of conditions. Blockchain 2.0 is not limited to supporting transactions. It can also handle microtransactions, decentralized exchange, and creating and transferring digital assets. Blockchain 2.0 also has the ability to handle smart contracts, which are scripts executed in a blockchain 2.0 environment. The codes of smart contracts are accessible to the public, and anyone can verify the correctness of code execution. The actual verification is carried out by miners in the blockchain environment, and this ensures honest execution of the “contract.” Smart contracts rely on cryptography to secure them against tampering and unauthorized revisions.
英語のヒント
ブロックチェーンは分散台帳システムを使い、データと取引をオープンソースのデータベースに保存する。それによって、信頼された中央の管理主体を使わずに、複数の当事者が安全かつ透明に取引を実行し、データを共有するアプリケーションを作れる。ブロックチェーン2.0には、条件や条件群によって変更される、プログラム可能な取引の仕組みがある。取引の支援だけに限らず、少額取引、分散型の交換、デジタル資産の作成と移転も扱える。さらに、ブロックチェーン2.0環境で実行されるスクリプトである、スマートコントラクトを扱える。そのコードは公開され、誰でも実行の正しさを検証できる。実際の検証はブロックチェーン環境のマイナーが行い、「契約」の誠実な実行を確保する。スマートコントラクトは暗号技術によって、改ざんや権限のない変更から保護される。
A blockchain network is a peer-to-peer network that allows people and organizations who may not know one another to trust and independently verify the records of financial and other transactions. This improves the efficiency and immutability of transactions for business processes such as international payments, supply chain management, land registration, crowdfunding, governance, financial transactions, and more.
英語のヒント
ブロックチェーンのネットワークは、互いを知らない人や組織でも、金融その他の取引記録を信頼し、独立して検証できるピアツーピアのネットワークである。これにより、国際送金、サプライチェーン管理、土地登記、クラウドファンディング、ガバナンス、金融取引などの業務で、取引の効率と不変性が向上する。
Ethereum.org implements a blockchain 2.0 decentralized computing platform for Web3 and provides a language to write transaction scripts. Web3 applications are referred to as DApps and may be deployed on blockchain 2.0 decentralized computing platforms. Ethereum.org provides its own development environment (i.e., Remix) and programming languages, such as Solidity, to develop and deploy contracts. Public test networks such as Goerli may be used to develop and test contracts before deploying them on the Ethereum platform. Web3 APIs are available for various programming languages, such as JavaScript, Python, Haskell, Java, Scala, and PureScript, to facilitate the creation of applications that interact directly with the blockchain 2.0 platform.
英語のヒント
Ethereum.orgは、Web3向けにブロックチェーン2.0の分散計算基盤を実装し、取引スクリプトを書く言語を提供する。Web3アプリケーションはDAppと呼ばれ、この種の分散基盤に配置できる。Ethereum.orgは、契約の開発と配置のために、独自の開発環境Remixや、Solidityなどの言語を提供する。Ethereum本体へ配置する前に、Goerliなどの公開テストネットワークで契約を開発・テストできる。JavaScript、Python、Haskell、Java、Scala、PureScriptなどの言語にはWeb3 APIが用意され、ブロックチェーン2.0基盤と直接やり取りするアプリケーションを作りやすくしている。
Using PaaS blockchain services on AWS, Oracle, GCP, and IBM big clouds, it is possible to create a blockchain decentralized computing platform to facilitate the deployment of Web3 DApps. Big clouds provide clusters of VMs that may be leveraged as P2P nodes within a blockchain 2.0 decentralized platform implementation, such as Hyperledger. While Microsoft Azure offered PaaS services to create blockchain platforms, it has retired these services and partnered with ConsenSys and other companies to provide that support. Azure does provide products and services, Web3 developer tools, and security capabilities to help create Web3 applications and deploy them on partner platforms.
英語のヒント
AWS、Oracle、GCP、IBMの大手クラウドのブロックチェーンPaaSを使えば、Web3 DAppを配置しやすくする分散計算基盤を作れる。大手クラウドはVMのクラスターを提供し、Hyperledgerなどのブロックチェーン2.0分散基盤で、P2Pノードとして活用できる。Microsoft Azureは以前、ブロックチェーン基盤作成用のPaaSを提供していたが、これらを終了し、ConsenSysなどと提携して支援を提供している。Azure自身も、Web3アプリケーションの作成と提携先の基盤への配置を助ける製品、サービス、Web3開発ツール、セキュリティー機能を提供している。
LINK TO LEARNING学びを広げるリンク
To learn more about blockchain PaaS services available in the big cloud, you can visit multiple websites and explore blockchain features. For example, you can find information about AWS blockchain (https://openstax.org/r/76AWSBlockchain) online.
大手クラウドで利用できるブロックチェーンPaaSについて詳しく学ぶには、複数のWebサイトで機能を調べるとよい。例えば、AWSのブロックチェーン(https://openstax.org/r/76AWSBlockchain)についての情報がオンラインで見られる。
AWS Blockchain ServicesAWSのブロックチェーンサービス
AWS provides blockchain templates that help you create and deploy blockchain networks on AWS using different blockchain frameworks. AWS Managed Blockchain, which is shown in Figure 13.12, is used to configure and launch AWS CloudFormation stacks to create blockchain networks. The AWS resources and services used depend on the AWS blockchain template selected and the options to specify the fundamental components of a blockchain network.
AWSは、異なるブロックチェーンのフレームワークを使ってAWS上にネットワークを作成・配置するためのテンプレートを提供する。図13.12のAWS Managed Blockchainでは、AWS CloudFormationスタックを設定・起動してブロックチェーンネットワークを作る。使うAWSの資源とサービスは、選んだテンプレートと、ネットワークの基本要素を指定するオプションによって異なる。

attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license · CC BY 4.0 · Source出典
Figure 13.12 This graphic shows AWS blockchain templates, which are used to configure and launch AWS CloudFormation stacks to create blockchain networks. (attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license)
図13.12 AWSのブロックチェーンテンプレート。AWS CloudFormationスタックを設定・起動し、ブロックチェーンネットワークを作成するために使う。(帰属表示:著作権 Rice University、OpenStax、CC BY 4.0)
Amazon Managed Blockchain is a fully managed service for creating and managing blockchain networks that supports the Hyperledger Fabric open-source framework. You can use Managed Blockchain to create a scalable blockchain network quickly and efficiently using the AWS Management Console, the AWS CLI, or the Managed Blockchain SDK. Managed Blockchain scales to meet the demands of thousands of applications running millions of transactions. Once the blockchain network is functional, Managed Blockchain simplifies network management tasks by managing certificates, making it easy to create proposals for a vote among network members, and tracking operational metrics such as computing resources, memory, and storage resources.
英語のヒント
Amazon Managed Blockchainは、Hyperledger Fabricというオープンソースのフレームワークに対応する、ブロックチェーンネットワークの作成・管理を全面的に担うサービスである。AWS Management Console、AWS CLI、Managed Blockchain SDKを使い、拡張可能なネットワークを素早く効率的に作れる。数千のアプリケーションが数百万の取引を行う需要に対応するよう拡張できる。ネットワークが動くようになった後は、証明書の管理、メンバー間で投票する提案の簡単な作成、計算資源・メモリ・記憶資源などの運用指標の追跡によって、管理作業を簡素化する。
Figure 13.13 shows the basic components of a Hyperledger Fabric blockchain running on AWS. A network includes one or more members with unique identities. For example, a member might be an organization in a consortium of banks. Each member runs one or more blockchain peer nodes to run chaincode, endorse transactions, and store a local copy of the ledger. Amazon Managed Blockchain creates and manages these components for each member in a network and also creates components shared by all members in a network, such as the Hyperledger Fabric ordering service and the general networking configuration.
英語のヒント
図13.13は、AWSで動くHyperledger Fabricブロックチェーンの基本要素を示す。ネットワークには、固有の識別情報を持つ一つ以上のメンバーが含まれる。例えば、銀行の共同事業体に属する一つの組織がメンバーとなる。各メンバーは一つ以上のピアノードを動かし、チェーンコードの実行、取引の承認、台帳のローカルコピーの保存を行う。Amazon Managed Blockchainは、各メンバー用にこれらの要素を作成・管理する。さらに、Hyperledger Fabricの順序付けサービスや一般的なネットワーク設定など、全メンバー共通の要素も作成する。

attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license · CC BY 4.0 · Source出典
Figure 13.13 This graphic shows the basic components of a Hyperledger Fabric blockchain running on AWS via a Managed Blockchain network. (attribution: Copyright Rice University, OpenStax, under CC BY 4.0 license)
図13.13 Managed Blockchainネットワークを通じてAWS上で動く、Hyperledger Fabricブロックチェーンの基本構成。(帰属表示:著作権 Rice University、OpenStax、CC BY 4.0)
When creating a Managed Blockchain network, the creator chooses the blockchain framework and the edition of Amazon Managed Blockchain to use, and this determines the capacity and capabilities of the network as a whole. The creator also must create the first Managed Blockchain network member. Additional members are added through a proposal and voting process. There is no charge for the network itself, but each member pays an hourly rate (billed per second) for their network membership. Charges vary depending on the edition of the network. Each member also pays for peer nodes, peer node storage, and the amount of data that the member writes to the network. The blockchain network remains active as long as there are members. The network is deleted only when the last member deletes itself from the network. No member or AWS account, even the creator’s AWS account, can delete the network until they are the last member and delete themselves.
英語のヒント
Managed Blockchainのネットワークを作成するとき、作成者は使用するブロックチェーンのフレームワークと、Amazon Managed Blockchainのエディションを選ぶ。これによってネットワーク全体の容量と機能が決まる。作成者は最初のネットワークメンバーも作る必要があり、追加メンバーは提案と投票を経て加わる。ネットワーク自体に料金はかからないが、各メンバーは参加のための時間単価を、秒単位の課金で支払う。料金はエディションで異なる。さらに各メンバーは、ピアノード、その記憶領域、ネットワークに書き込むデータ量に対しても支払う。メンバーが存在する限りネットワークは稼働し、最後のメンバーが自分をネットワークから削除したときだけ、ネットワークが削除される。作成者のAWSアカウントであっても、最後のメンバーとなって自分を削除するまでは、ネットワークを削除できない。