概要
この文書では、IBM Cloudで無料で使えるAI機能の1つである「watsonx.ai Studio」を用いて、開発中のツールである「ScopeCompass」を例に「watsonx.ai Studio」でPythonアプリを、Jupyter Notebook環境で動かすことに取り組みます。
ScopeCompass
責任共有モデル
クラウドコンピューティングにおける責任共有モデルは、クラウドサービスを提供するベンダーごとに決まったものを提示することが多いです。クラウドサービス提供ベンダー(CSP)とユーザー(お客様)、このユーザー(お客様)とは、SIerやエンドユーザまで含んだものになります(参考資料をご参照ください)。
ユーザー(お客様)の線引きがあいまい
IBM CloudやAWSなどのクラウドサービス提供ベンダー(CSP)の責任共有モデルをみると、ユーザー(お客様)の部分には、SIerとエンドユーザー(End User)が隠れていることがわかります。
日本のIT人材は、約7割がIT企業に偏る構造であり、日本の企業の99.7%を占める中小企業ではIT人材が常に不足していることから、オンプレミス、プライベートクラウド、パブリッククラウド(IaaS , PaaS , SaaS)の導入において、SIerとエンドユーザー(End User)が、それぞれどのような役割と責任を担うのか線引きが必要になります。
しかし、こうした日本の産業構造に対応した責任共有モデルは、どこの企業からも示されていません(25年9月現在)。
ScopeCompassの役割
「ScopeCompass」は、CSPとSIer、エンドユーザー(End User)の3つの立場にわけて責任共有モデルを作成、カスタマイズ、可視化するツールとして開発しています。オープンソースソフトウェアのため、どなたでもお使いいただけます。
watsonx.ai Studioの起動
IBM Cloud Catalogから、「watsonx.ai Studio」を探します。
利用制限があるものの無料で使える「Lite」プランを選び、「Create」をクリックします。
「watsonx.ai Runtime」が稼働していない場合は、「Provision watsonx.ai Runtime」のみ選ぶことになる。「Next」をクリックします。
「watsonx.ai Runtime」でも、利用制限があるものの無料で使える「Lite」を選び、「Create」をクリックします。
プロジェクト作成
「Create a project」画面が表示されます。「Name」にプロジェクト名を入れ、「Create」をクリックします。
プロジェクト画面が表示され、「Overview」タブが選ばれている状態になります。
Jupyter Notebookを起動
「Assets」タブをクリックします。Asset画面が表示されます。「New asset +」をクリックします。
「What do you want to do?」と表示されます。「notebook」などのキーワードを入れて、表示された「Work with data and models in Python or R notebooks」をクリックします。
「Define details」画面で、「Name」にJupyter Notebook名を入力し、「Create」をクリックします。
責任共有モデルのカスタマイズツール「ScopeCompass」を起動する
Githubの「ScopeCompass」のリポジトリにある、「csrmv_tool_gradio.py」にアクセスします。
コピーしたコードを、watsonx.ai Studioで起動しているJupyter Notebookに貼り付けます。
責任共有モデルのカスタマイズおよび可視化ツール「ScopeCompass」が起動します。
別タブで使いたい場合は、「Running on public URL: 」に表示されている、gradio.liveで終わるURLにアクセスします。GradioはSSHトンネルを作成し、専用のURLを発行することで、起動したアプリケーションに外部からアクセスできるようになっています。
「Running on public URL: 」の有効時間は、アプリケーションを起動した状態で1週間が上限です。watsonx.ai Studioの無料枠は10時間程度で切れてしまいますので、使い続けるにはwatsonx.ai Studioに課金が必要です。
今回起動している「ScopeCompass」は、責任共有モデルの資料をつくるときだけに使うツールなので、常時起動している必要はないでしょう。
「ScopeCompass」で責任共有モデルを決める
「ScopeCompass」では、次のような手順で責任共有モデルを作成します。
(1)「表示モデル」で、責任共有モデルの対象となるクラウドサービスモデルを指定
オンプレミス、プライベートクラウド、パブリッククラウドのIaaS(Public IaaS)、パブリッククラウドのPaaS(Public PaaS)、パブリッククラウドのSaaS(Public SaaS)の5つのクラウドコンピューティングのサービスモデルの組み合わせを選びます。1つだけでも構いません。選択後、「グラフを更新」をクリックします。
(2)「役割別の組織名」で、「End User」「SIer」「CSP」の各組織名を入力
クラウドサービスを使っている企業が、自社の責任共有モデルを可視化する場合は「End User」に自社名を入れます。あなたがSIerの中の人であれば、お客様名を「End User」に入れ、「SIer」に自社名、「CSP」にクラウドベンダー名を入力します。入力後、「グラフを更新」をクリックします。責任共有モデルの図における「End User」「SIer」「CSP」の表示が変化したことがわかります。
(3)責任の割合を変える
画面左側に表示されている「調整パネル」では、オンプレミス、プライベートクラウド、パブリッククラウドのIaaS(Public IaaS)、パブリッククラウドのPaaS(Public PaaS)、パブリッククラウドのSaaS(Public SaaS)の5つのクラウドコンピューティングのサービスモデル別に、「データ&アクセス」や「アプリケーション」といったレイヤー(責任範囲)における、各役割(「End User」「SIer」「CSP」)の責任負担の割合を変更することができます。変更に際しては、注釈にメモを入れておくと良いでしょう。
たとえば、上の図では、パブリッククラウドのSaaS(Public SaaS)における、データやアクセス設定について、「End User」の責任負担割合が100%となっています。これはデフォルト値です。
これを、「End User」と「SIer」でそれぞれ50%ずつに変え、注釈に「SIer指定のバックアップサービスを導入した。」としましょう。クラウドサービスでは、データが失われないようにバックアップを定期的に取ることや、アクセス設定は、「End User」の責任とされますが、日本の企業で99.7%におよぶ中小企業では、一般的な責任共有モデルでは難しいことが考えられますので、SIer指定のバックアップサービス等を導入して、トラブル時の責任の割合を分散してあげることが必要になります。
変更後、「グラフを更新」をクリックします。
(4)責任共有モデルをダウンロードする
.webp形式の画像ファイルとしてダウンロードすることができます。Windows環境であれば、フォトアプリでダウンロードした画像ファイルを表示することができます。
「End User」「SIer」「CSP」のそれぞれの責任の割合をダウンロードする場合は、「CSVファイルをダウンロード」に表示されている、ファイルサイズの数字部分をクリックしましょう。
CSVファイルはUTF-8ですので、Excelで開く際には文字化けにご注意ください。
Google スプレッドシートで開いてみました。変更した責任負担の割合を確認することができます。
作業終了後、「Save and create checkpoint」をクリックします。
画面左上に表示されているプロジェクト名(例 ScopeCompass-demo)をクリックします。
プロジェクトのAssets画面に戻ります。使用していたNotebookが表示されています。
Notebookを再利用する場合は、「All assets」に表示されているNoteboo名(例 mynotebook)をクリックしましょう。
Runtimeの稼働状況を確認する
プロジェクトの画面で、「Manage」タブをクリックします。
画面左側の「Environments」をクリックします。
プロジェクトにおいて実行したRuntimeの時間が表示されます。watsonx.ai Studioでは、毎月10CUHまでが無料枠になっていますので、下図では2.2CUH使い、当月の無料枠の残りは、7.8CUHとなります。
Runtimeの停止には、下図のように「Resource usage」付近にカーソルを近づけると表示される「Stop runtine instance」をクリックします。