[ChatGPT Hack] Bing Chat を使って、新規アプリ開発の Azure 概算見積もりを作ってみた

# 注意点

:::note alert
予算を取るための厳密なプロセスに、この **Blog の内容だけ**で臨むのは絶対にさけてください。**専門家のアドバイス**を必ず得てください。

この Blog は、私個人の見解であり、**私の所属会社が何かを保証してくれるわけではありません**。

もう一点。Bing Chat も ChatGPT も。出力文字列で毎回同じものにするかどうかの揺らぎの設定が出来ます。この Blog では Bing Chat の [バランス]設定を行っています。ですので、同じ Prompt でも異なる**出力結果**になる事があります。
:::


# 背景

皆さんご存じの通り、Cloud の費用は、アクセス数が10倍になれば、10倍近くのコンピューターリソースが必要になることもあります。もっと少なかったり、もっと必要になる場合もありますが。

それが1万円なのか、1億円なのか? やはり費用の規模によって、どこまで行うのか? という事の判断に繋がる事は多いです。

実際には、慎重に検討を重ねて、アプリケーション稼働に必要なサイジングを行って、必要な Cloud のリソースを選択します。後は、単価 x 数量なので簡単なんですが。

ここでは、その超絶概算見積もりにチャレンジしてみます。

# 戦略

今回は、**専門家がいない**中、どこまで出来るのかにチャレンジします。
なぜかといえば、ChatGPT の価値の一つに**素人をある一定以上の知識の人に近づけてくれる**という事があります。ただプロ・専門家にはなれないと思います。現時点は。

その分野について、今回の過程を通じて学ぶ機会を得られますから。これを幾度も試行錯誤出来る事が大事です。シュミレーションかもしれませんね。

- 見積もりが必要という事はわかっている
- 見積もりに何が必要かはわかっていない

また、ChatGPT は算出は苦手という事が分かっています。言語生成モデルですから。その部分は「概算見積もり」という事でご容赦ください。見積もり期間は1か月にします。ダメージが大きくならないように。

という状態で、チャレンジしてみます。大胆っすね!

# 1. タスク一覧の洗い出し

ビジネス上の課題をある程度文章化した、と仮定します。なぜなら、IT は ビジネスの課題を解決する道具ですから。課題が無いと、見積もりは出来ません。

まずは、ビジネスの課題をインプットしましょう。

入力 Prompt:
```
以下のビジネス上の課題があります。ITを活用して試作品を開発するためには、
どんな手順がありますか?
表形式で出力してください。
分からない場合は「分からない」と出力してください。

ビジネス上の課題:
- ビジネス圏が[xxx県]の県域に限る
- 人口が減っている
- 1ユーザーあたりの売り上げを望めない。追加商品が開発出来ていない
- 新規ユーザー獲得のために、インターネットをチャネルとして活用したい
- ECサイトは作成した。Rakutenにも出展している。
- それでもユーザーが増えていない
- ユーザーからのフィードバックとして「なぜ個別にユーザー登録をするのか?面倒だ」が上がっている
- ECサイトへのログイン時に、ユーザーが既に持っているFacebook/Twitterなどの
既存アカウントを使ったらいいのではないか?という意見がある
- 社内にITに詳しい人がいない

```

出力:
```
こんにちは、これはBingです。お役に立てるように頑張ります😊

ITを活用して試作品を開発するためには、以下のような手順があります¹²³。

| 手順 | 説明 |
| --- | --- |
| 1. 要件定義 | 開発したいシステムの目的や機能、性能などを明確にする |
| 2. 設計 | システムの構造やデータの流れ、画面のレイアウトなどを決める |
| 3. 実装 | プログラミング言語やツールを使ってシステムを作成する |
| 4. テスト | システムが正しく動作するか、不具合がないかを確認する |
| 5. リリース | システムをユーザーに提供する |

ただし、これらの手順は一般的なものであり、プロジェクトの規模や納期、
予算などによって変わる場合があります。
また、社内にITに詳しい人がいない場合は、外部のシステム開発会社に依頼することもできます。

ECサイトへのログイン時に既存アカウントを使えるようにするためには、
Facebook/Twitterなどのサービスと連携する必要があります。
これは「ソーシャルログイン」と呼ばれる機能です。ソーシャルログインを実装する方法は、
以下のページで紹介されています 。

- [ソーシャルログインとは？メリット・デメリットと実装方法](https://www.webprofessional.jp/how-to-implement-social-login/)
- [ソーシャルログインの実装方法と注意点](https://www.seohacks.net/basic/social-login/)

以上が私がお答えできる内容です。もっと詳しく知りたいことがあれば、お気軽にお尋ねください。

ソース: Bing との会話 2023/4/14(1) システム開発にはどんな手法がある？それぞれのメリット .... https://hnavi.co.jp/knowledge/blog/system-development-method/ アクセス日時 2023/4/14.
(2) 3Dプリンタとラピッドプロトタイピング | meviy | ミスミ. https://jp.meviy.misumi-ec.com/info/ja/archives/19787/ アクセス日時 2023/4/14.
(3) ラピッドプロトタイピングで製品開発を成功させるには .... https://www.robot-befriend.com/blog/rapid-prototyping/ アクセス日時 2023/4/14.

```

相変わらず優秀! 情報ソースがあるのがいい😍

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108143/182f741e-3bed-ffee-4ab8-8ccc7656f035.png)

でも、概算見積もりは無かったですねぇ😊

# 2. タスクの実行

ここでは、以下にチャレンジしましょう。

- 要件定義書
- 概算見積もり


## 2.1. [要件定義書] の作成

入力 Prompt:
```
素晴らしいです!
外部とやりとりするために、ドキュメントを作りたいです。
先ほどの「ビジネス上の課題」から、要件定義のドキュメントを作成してください。
```

出力:
```
承知しました。
要件定義のドキュメントを作成するためには、以下のような項目を記載する必要があります。

- プロジェクトの概要
- プロジェクトの目的
- プロジェクトの背景
- プロジェクトの範囲
- プロジェクトの成果物
- プロジェクトのスケジュール
- プロジェクトの関係者
- プロジェクトの要求事項
- プロジェクトの制約事項
- プロジェクトのリスク

先ほどの「ビジネス上の課題」から、要件定義のドキュメントを作成すると、以下のようになります。

```markdown
# 要件定義書

## 1. プロジェクトの概要

本プロジェクトでは、[xxx県]におけるECサイトの改善を行う。
具体的には、ソーシャルログイン機能を実装し、ユーザー登録の手間を減らすことで、
新規ユーザー獲得と売り上げ向上を目指す。

## 2. プロジェクトの目的

本プロジェクトの目的は、以下の通りである。

- 新規ユーザー獲得率を10%以上向上させる
- 1ユーザーあたりの売り上げを5%以上向上させる
- ユーザー満足度を80%以上にする

## 3. プロジェクトの背景

現在、[xxx県]におけるビジネス圏は県域に限られており、
人口減少や競合他社との価格競争により、売り上げが伸び悩んでいる。
また、追加商品が開発できておらず、1ユーザーあたりの売り上げも低い。
インターネットをチャネルとして活用することで、新規ユーザー獲得と売り上げ向上を図りたいが、
ECサイトへのアクセス数や購入率は低い。ユーザーからのフィードバックとして、
「なぜ個別にユーザー登録をするのか?面倒だ」という声が多く聞かれる。
そこで、ECサイトへのログイン時に、ユーザーが既に持っているFacebook/Twitterなどの
既存アカウントを使えるようにすることで、ユーザー登録の手間を減らし、
新規ユーザー獲得と売り上げ向上を図ることとした。

## 4. プロジェクトの範囲

本プロジェクトでは、以下の範囲内でシステム開発を行う。

- ECサイトへのログイン画面にソーシャルログイン機能を追加する
- ソーシャルログイン機能はFacebook/Twitter/Google/Line/Amazon/Apple の6つに対応する
- ソーシャルログイン機能はPC/スマートフォン/タブレット の3つのデバイスに対応する
- ソーシャルログイン
```

Markdown の形式でドキュメントを作ってくれました。ただ、**途中で切れちゃいましたねぇ**。
Bing Chat では**続きを作って**と指示すれば、ちゃんと続きも作ってくれます。


入力 Prompt:
```
ドキュメントの続きを作成してください。
```

出力:
```
かしこまりました。ドキュメントの続きを作成します。

```markdown
機能は、ソーシャルメディアのAPIやSDKを利用して実装する
- ソーシャルログイン機能の実装に伴い、ユーザー情報の管理やプライバシーポリシーの改定を行う

## 5. プロジェクトの成果物

本プロジェクトの成果物は、以下の通りである。

- ソーシャルログイン機能を実装したECサイト
- ソーシャルログイン機能のテスト仕様書
- ソーシャルログイン機能のユーザーマニュアル
- ユーザー情報の管理方法やプライバシーポリシーのドキュメント

## 6. プロジェクトのスケジュール

本プロジェクトのスケジュールは、以下の通りである。

| 工程 | 期間 | 担当者 |
| --- | --- | --- |
| 要件定義 | 2023年4月15日～2023年4月30日 | Aさん |
| 設計 | 2023年5月1日～2023年5月15日 | Bさん |
| 実装 | 2023年5月16日～2023年6月15日 | Cさん |
| テスト | 2023年6月16日～2023年6月30日 | Dさん |
| リリース | 2023年7月1日～2023年7月15日 | Eさん |

## 7. プロジェクトの関係者

本プロジェクトの関係者は、以下の通りである。

- プロジェクトマネージャー: Fさん
- システム開発会社: G社
- ECサイト運営会社: H社
- ECサイト利用者: Iさん

## 8. プロジェクトの要求事項

本プロジェクトにおける要求事項は、以下の通りである。

- ソーシャルログイン機能は、ユーザーが既存アカウントを選択してログインできること
- ソーシャルログイン機能は、ユーザーが既存アカウントとECサイトアカウントを紐付けできること
- ソーシャルログイン機能は、ユーザーが既存アカウントとECサイトアカウントを解除できること
- ソーシャルログイン機能は、ユーザーが既存アカウントとECサイトアカウントのどちらでもログインできること
- ソーシャルログイン機能は、ユーザーが既存アカウントから必要な情報を取得し、ECサイトに登録できること
- ソーシャルログイン機能は、ユーザーが既存アカウントから取得した情報を確認・編集できること
- ソーシャルログイン機能は、ユーザーが既存アカウントから取得した情報を削除できること
- ソーシャルログイン機能は、ユーザーが既存アカウントから取得した情報を他のサービスに流出させないこと
- ソーシャルログイン機能は、ユーザーが既存アカウントから取得した
```

まじ、素敵😍
ただ、終わっていないですから、再度「続き」を要求しましょう。同じ Promopt を入力します。

出力:
```
かしこまりました。ドキュメント作成の続きをします。

```markdown
情報をECサイトの利用規約やプライバシーポリシーに従って扱うこと

## 9. プロジェクトの制約事項

本プロジェクトにおける制約事項は、以下の通りである。

- ソーシャルログイン機能は、ソーシャルメディアのAPIやSDKの仕様に依存するため、
変更に対応できるように柔軟な設計とテストを行うこと
- ソーシャルログイン機能は、ユーザーのプライバシーを保護するために、
必要最低限の情報のみを取得し、ユーザーの同意を得ること
- ソーシャルログイン機能は、ユーザーのセキュリティを確保するために、
暗号化や認証などの対策を行うこと
- ソーシャルログイン機能は、ユーザーの利便性を高めるために、
ログイン画面やマイページなどのUI/UXを工夫すること

## 10. プロジェクトのリスク

本プロジェクトにおけるリスクは、以下の通りである。

- ソーシャルメディアのAPIやSDKの仕様変更により、
ソーシャルログイン機能が正常に動作しなくなる可能性がある
- ユーザーがソーシャルログイン機能に対して不信感や抵抗感を持ち、
利用しない可能性がある
- ユーザーがソーシャルログイン機能を利用した際に、
個人情報が漏洩したり、不正利用されたりする可能性がある
- ユーザーがソーシャルログイン機能を利用した際に、
ECサイトの利用規約やプライバシーポリシーに同意しない可能性がある

以上で、要件定義書の作成を終了します。ご確認ください。
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108143/d6335420-9bf8-4e82-05d4-fa6b831c2222.png)

いい感じです!

勿論、**そのまま鵜呑みにするのではなく。ご自身で修正**しましょう。

## 2.2. 概算見積もり作成

ガンガン聞いちゃいましょう!
Bing Chat は幾ら聞いても嫌な顔一つしませんよ😊

入力 Prompt:
```
このアプリケーションを Microsoft Azure 上で動かします。
概算の見積もりをするためには、どんな情報が必要ですか? 
分からなければ「わかりません」と出力してください。
```

出力:
```
Microsoft Azure 上でアプリケーションを動かすための概算の見積もりをするには、
以下のような情報が必要です¹²。

- アプリケーションの種類や目的
- 利用する Azure の製品や機能
- リソースのスペックや数
- リソースの利用時間や頻度
- 処理するデータ量や種類
- 適用される割引やサポートプラン

これらの情報をもとに、料金計算ツール¹を使って、見積もりを作成することができます。

ソース: Bing との会話 2023/4/14(1) 料金計算ツール | Microsoft Azure. https://azure.microsoft.com/ja-jp/pricing/calculator/ アクセス日時 2023/4/14.
(2) Microsoft Azure の見積もりの考え方. https://www.microsoft.com/ja-jp/biz/public-sector/azure-estimate-concept.aspx アクセス日時 2023/4/14.
(3) 価格の概要 - Azure 価格の仕組み | Microsoft Azure. https://azure.microsoft.com/ja-jp/pricing/?&ef_id=Cj0KCQiAkuP9BRCkARIsAKGLE8UuQoPhb4-9ztTUvP4eGVlL_tK94kxCXIkAt3n61d7z-cXmtTNSsigaAhw5EALw_wcB:G:s アクセス日時 2023/4/14.
```

相変わらず、すげぇです😍。

私も幾度も Azure の見積もりをしています。何かといえば、**抜け漏れ**ってあるんです。人ですからね。だから、過去に作った見積書を見返すわけですよ。ただ、Bing Chatの出力にも、抜け漏れがあるかもしれないです。それは私が過去に作った見積もりに比べると、たぶん劣るでしょう。でも、私は専門家です。Azureに関しては。この Bing Chat は専門家ではないんです。

今回は概算ですから。十分だと思います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108143/94efc506-44e2-f3e7-66ca-8a558df91bc3.png)

[料金計算ツール] っていうのがあるんですね。

https://azure.microsoft.com/ja-jp/pricing/calculator/

入力 Promot:
```
料金計算ツールを使って見積もりを作成してください。
```

出力:
```
料金計算ツールを使って見積もりを作成するには、以下の手順を参考にしてください¹。

- まず、料金計算ツールのページ¹にアクセスします。
- 次に、利用する Azure の製品や機能を選択します。例えば、仮想マシンやストレージなどです。
- 次に、各製品や機能の詳細な設定を行います。例えば、リージョンやインスタンスの種類や数などです。
- 次に、適用される割引やサポートプランを選択します。
例えば、リザーブド インスタンスやAzure Hybrid Benefitなどです。
- 最後に、見積もりの結果を確認します。時間単位または月単位のコストが表示されます。

以上で、料金計算ツールを使って見積もりを作成することができます。

ソース: Bing との会話 2023/4/14(1) 料金計算ツール | Microsoft Azure. https://azure.microsoft.com/ja-jp/pricing/calculator/ アクセス日時 2023/4/14.
(2) 料金を計算する - 日本郵便. https://www.post.japanpost.jp/send/fee/index.html アクセス日時 2023/4/14.
(3) 料金 - Windows Virtual Machines | Microsoft Azure. https://azure.microsoft.com/ja-jp/pricing/details/virtual-machines/windows/ アクセス日時 2023/4/14.
```

興味深いのは、次の Prompt の候補に [見積もりの結果を教えてください]とあります。
これ、試してみましょうか?

入力 Prompt (今回は選んでいるだけ。入力してない):
```
見積もりの結果を教えてください
```

出力:
```
見積もりの結果を教えるには、利用する Azure の製品や機能や設定などの情報が必要です。
料金計算ツール¹で見積もりを作成した後、結果を共有することができます。
結果を共有するには、以下の手順を参考にしてください¹。

- まず、料金計算ツールのページ¹で見積もりの結果を確認します。
- 次に、ページの右上にある「共有」ボタンをクリックします。
- 次に、表示されたダイアログボックスで「リンクをコピー」ボタンをクリックします。
- 最後に、コピーしたリンクを貼り付けて、見積もりの結果を教えます。

以上で、見積もりの結果を教えることができます。

ソース: Bing との会話 2023/4/14(1) 料金計算ツール | Microsoft Azure. https://azure.microsoft.com/ja-jp/pricing/calculator/ アクセス日時 2023/4/14.
(2) 料金を計算する - 日本郵便. https://www.post.japanpost.jp/send/fee/index.html アクセス日時 2023/4/14.
(3) 料金 - Windows Virtual Machines | Microsoft Azure. https://azure.microsoft.com/ja-jp/pricing/details/virtual-machines/windows/ アクセス日時 2023/4/14.
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108143/74989645-3d25-a2b2-89af-8b19dc341176.png)

そうじゃない😎

問い合わせの仕方、つまり、Prompt の仕方が悪かったですね。

この様に Bing Chat では、**次の質問を提示してくれますが、その先で必ずしも自分の望んでいる結果が生成されるわけではありません**。

軌道修正をしましょう。

Azure の見積もりに必要な情報は以下でしたね。そして、これまでのビジネス情報に入れていない情報もあります。

- アプリケーションの種類や目的
- 利用する Azure の製品や機能
- リソースのスペックや数
- リソースの利用時間や頻度
- 処理するデータ量や種類
- 適用される割引やサポートプラン

このギャップを埋めていきましょう。
概算には以下が大事だと思います。一つずつ詰めていきましょう。

- 利用する Azure の製品や機能
- リソースのスペックや数
- リソースの利用時間や頻度
- 処理するデータ量や種類

入力 Prompt:
```
ビジネス上の課題を解決するアプリケーションをするためには、
どんなAzureの製品が必要ですか?リスト形式で出力してください。
分からなかったら、「分からない」と答えてください。
```

出力:
```
ビジネス上の課題を解決するアプリケーションを作るためには、どんな Azure の製品が必要かは、
課題の内容や規模によって異なります。
Azure には、さまざまなカテゴリの製品やサービスがあります²。
例えば、以下のようなものがあります。

- DevOps: シンプルで信頼できる継続的デリバリー ツールを使ってイノベーションを促進する¹
- ID: ユーザーの ID とアクセス権を管理し、デバイス、データ、アプリ、インフラストラクチャを
高度な脅威から保護する¹
- Web: 高性能の Web アプリケーションをすばやく、かつ効率的に
ビルド、デプロイ、スケーリングする¹
- Windows Virtual Desktop: セキュアで生産性の高い仮想デスクトップと
アプリのエクスペリエンスを提供する¹
- コンテナー: コンテナー化されたアプリケーションを開発、デプロイ、管理するための
ツールとサービスを提供する¹
- コンピューティング: クラウド上でアプリケーションやサービスを実行するための
仮想マシンや関数などのコンピューティング リソースを提供する¹

これらは一部の例ですが、他にも多くの製品やサービスがあります。
ビジネス上の課題に合わせて、必要な製品やサービスを選択してください。

ソース: Bing との会話 2023/4/14(1) Azure クラウド サービス | Microsoft Azure. https://azure.microsoft.com/ja-jp/products/ アクセス日時 2023/4/14.
(2) Azure クラウド サービス | Microsoft Azure. https://bing.com/search?q=Azure+%e8%a3%bd%e5%93%81+%e3%83%93%e3%82%b8%e3%83%8d%e3%82%b9 アクセス日時 2023/4/14.
(3) Azure の製品 - カテゴリ別一覧 | Microsoft Azure. https://azure.microsoft.com/ja-jp/products/category アクセス日時 2023/4/14.
(4) クラウド コンピューティング サービス | Microsoft Azure. https://azure.microsoft.com/ja-jp/ アクセス日時 2023/4/14.
```

ちょっと違いますね。「ビジネスの課題」が**一般論**でした。より具体的に指示する。これが Prompt Engineering のベストプラクティスに挙げられています。

https://www.promptingguide.ai/jp/introduction/tips#%E4%B8%8D%E6%AD%A3%E7%A2%BA%E3%81%95%E3%82%92%E9%81%BF%E3%81%91%E3%82%8B

改善してみます。

入力 Promot:
```
今回指定しているビジネス上の課題を解決するアプリケーションをするうためには、
どんなAzureの製品が必要ですか?リスト形式で出力してください。分からなかったら、「分からない」と答えてください。

```

出力:
```
すみませんが、今回指定しているビジネス上の課題とは何でしょうか？
課題の内容や規模によって、必要な Azure の製品は異なります。
課題を教えていただければ、より適切な回答をお伝えできるかもしれません。
```

過去の情報が**忘れられてます**ね😭
これも現在の ChatGPT や Bing Chat で報告されている現象です。

こうなった場合は、**情報を一度になるべく入れたほうがいい**です。

入力 Promot:
```
今回指定している、以下の、ビジネス上の課題を解決するアプリケーションを動作させるためには、
どんなAzureの製品が必要ですか?
リスト形式で出力してください。
分からなかったら、「分からない」と答えてください。

ビジネス上の課題:
- ビジネス圏が[xxx県]の県域に限る
- 人口が減っている
- 1ユーザーあたりの売り上げを望めない。追加商品が開発出来ていない
- 新規ユーザー獲得のために、インターネットをチャネルとして活用したい
- ECサイトは作成した。Rakutenにも出展している。
- それでもユーザーが増えていない
- ユーザーからのフィードバックとして「なぜ個別にユーザー登録をするのか?面倒だ」が上がっている
- ECサイトへのログイン時に、ユーザーが既に持っているFacebook/Twitterなどの
既存アカウントを使ったらいいのではないか?という意見がある
- 社内にITに詳しい人がいない
```

出力:
```
今回指定しているビジネス上の課題を解決するアプリケーションを作るためには、
以下のような Azure の製品が必要になるかもしれません。

- Azure Active Directory: ユーザーが既存の Facebook や Twitter などのアカウントを使って 
EC サイトにログインできるようにするための ID 管理サービス¹
- Azure App Service: EC サイトを簡単に作成、デプロイ、スケーリングできるようにするための
 Web アプリケーション プラットフォーム¹
- Azure Cosmos DB: EC サイトのデータを高速に処理できるようにするための分散型データベース¹
- Azure Cognitive Services: EC サイトのユーザー体験を向上させるための AI 機能を提供するサービス¹。
例えば、画像認識や自然言語処理などを使って、商品の検索やレコメンド、レビューなどを改善できます。
- Azure DevOps: EC サイトの開発や運用を効率化するための継続的デリバリー ツール¹

これらは一部の例ですが、他にも多くの製品やサービスがあります。
ビジネス上の課題に合わせて、必要な製品やサービスを選択してください。

ソース: Bing との会話 2023/4/14(1) Azure クラウド サービス | Microsoft Azure. https://bing.com/search?q=Azure+%e8%a3%bd%e5%93%81+%e3%83%93%e3%82%b8%e3%83%8d%e3%82%b9 アクセス日時 2023/4/14.
(2) Azure クラウド サービス | Microsoft Azure. https://azure.microsoft.com/ja-jp/products/ アクセス日時 2023/4/14.
(3) Azure の製品 - カテゴリ別一覧 | Microsoft Azure. https://azure.microsoft.com/ja-jp/products/category アクセス日時 2023/4/14.
(4) クラウド コンピューティング サービス | Microsoft Azure. https://azure.microsoft.com/ja-jp/ アクセス日時 2023/4/14.
```

おぉ! 製品名は出ましたね😍!
Azure の製品は 200以上あると言われています。どなたか、似たビジネスの課題があって、それを解決するアプリケーションを Azure 上で作ってくれて。その情報をインターネットで公開してれたのかもしれません。ただ、よくよく情報ソースを見ると Microsoft の公式情報ばかりですが😊

Azure の製品毎に、**数量**を決めていきましょう。

入力:
```
Azure Acrive Directory の概算見積もりに必要な情報は何ですか? 
今回のビジネス上の課題を前提にして教えてください。
また、その単価の情報から、今回のビジネス上の課題を元にして必要となる容量を算出して、
概算見積もりを行ってください。
作成結果は、表形式で出力してください。
分からなかったら「分からない」と答えてください。
```

出力:
```
Azure Active Directory の概算見積もりに必要な情報は、以下のとおりです。

- プランの種類: Azure Active Directory には、無料、Office 365 アプリ、
Premium P1、Premium P2 の 4 つのプランがあります²。
それぞれのプランには、異なる機能や制限があります。
今回のビジネス上の課題を前提にすると、ユーザーが既存のアカウントを使ってログインできるようにするためには、無料プランでも可能ですが、より高度なセキュリティや管理機能を利用するためには、
Premium P1 以上のプランが必要になるかもしれません。
- ユーザー数: Azure Active Directory の料金は、ユーザー数に応じて変わります²。
ユーザー数は、EC サイトにログインする予想されるユーザーの数です。
今回のビジネス上の課題を前提にすると、[xxx県]の人口や EC サイトの現在のユーザー数などを参考にして、ユーザー数を推定する必要があります。
- 外部 ID 数: Azure Active Directory では、外部 ID という機能を使って、
外部ユーザー（例えば Facebook や Twitter などのアカウントを持つユーザー）を管理できます³。
外部 ID の料金は、月間アクティブ ユーザー (MAU) に基づいています³。
MAU とは、1 か月間に少なくとも 1 回 Azure AD 外部 ID を使用してサインインした外部ユーザーの数です³。
今回のビジネス上の課題を前提にすると、外部 ID を使って EC サイトにログインする予想される 
MAU の数を推定する必要があります。

以上の情報から、概算見積もりを行うことができます。以下は、一例です。

| プラン | ユーザー数 | 外部 ID 数 | 単価 | 合計 |
| --- | --- | --- | --- | --- |
| Premium P1 | 1000 | 5000 | ¥650/ユーザー/月 + ¥0/MAU/月 (最初の 50,000 MAU まで無料) | ¥650,000/月 |
| 無料 | 1000 | 5000 | ¥0/ユーザー/月 + ¥0/MAU/月 (最初の 50,000 MAU まで無料) | ¥0/月 |

この見積もりはあくまで参考です。
実際の料金は、使用状況や為替レートなどによって変わる可能性があります。
詳細な料金情報は、Azure の公式サイト¹²³ をご確認ください。

ソース: Bing との会話 2023/4/14(1) Azure Active Directory の価格 | Microsoft Security. https://www.microsoft.com/ja-jp/security/business/identity-access/azure-active-directory-pricing アクセス日時 2023/4/14.
(2) 料金 - Active Directory 外部 ID | Microsoft Azure. https://azure.microsoft.com/ja-jp/pricing/details/active-directory/external-identities/ アクセス日時 2023/4/14.
(3) 料金計算ツール | Microsoft Azure. https://azure.microsoft.com/ja-jp/pricing/calculator/ アクセス日時 2023/4/14.
```

来たーーー!!!😍
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108143/4018e641-c33a-b224-c578-80329390cd1f.png)

ユーザー数を後は適当にいじればいいだけ!

改善をしてみましょう。

入力 Promot:
```
先にリストアップした、ビジネスの課題、を解決するアプリケーションを使うために必要な
 Azure の製品の全てについて、概算見積もりに必要な情報は何ですか? 
今回のビジネス上の課題を前提にして教えてください。
また、その単価の情報から、今回のビジネス上の課題を元にして必要となる容量を算出して、
概算見積もりを行ってください。
作成結果は、表形式で出力してください。
分からなかったら「分からない」と答えてください。
```

出力:
```
Azure の製品は、多数ありますが、今回のビジネス上の課題を前提にすると、
以下の製品が必要になる可能性があります。

- Azure App Service: Web アプリケーションや API をホストするためのサービスです²。
EC サイトのフロントエンドやバックエンドを構築するために利用できます。
- Azure SQL Database: リレーショナル データベースをクラウドで提供するサービスです²。
EC サイトの商品や注文などのデータを管理するために利用できます。
- Azure Storage: ファイルや画像などの非構造化データをクラウドで保存するサービスです²。
EC サイトの商品画像やユーザーのアップロードファイルなどを保存するために利用できます。
- Azure Active Directory: ユーザーの ID とアクセス権を管理するサービスです²。
EC サイトにログインするユーザーの認証や認可を行うために利用できます。

以上の製品について、概算見積もりに必要な情報は、以下のとおりです。

- プランの種類: 各製品には、無料、基本、標準、プレミアムなどのプランがあります¹²。
それぞれのプランには、異なる機能や制限があります。
今回のビジネス上の課題を前提にすると、必要な機能や性能を満たすプランを選択する必要があります。
- 使用量: 各製品の料金は、使用量に応じて変わります¹²。
使用量は、アプリケーションのインスタンス数やサイズ、データベースの容量やトランザクション数、
ストレージの容量やアクセス数などです。
今回のビジネス上の課題を前提にすると、予想される使用量を推定する必要があります。

以上の情報から、概算見積もりを行うことができます。以下は、一例です。

| 製品 | プラン | 使用量 | 単価 | 合計 |
| --- | --- | --- | --- | --- |
| Azure App Service | 標準 | S1 インスタンス 2 個 | ¥9,000/インスタンス/月 | ¥18,000/月 |
| Azure SQL Database | 標準 | S0 データベース 1 個 (250 GB) | ¥6,000/データベース/月 | ¥6,000/月 |
| Azure Storage | 汎用 v2 | LRS ストレージ 100 GB + アクセス 10 万回 | ¥0.3/GB/月 + ¥0.1/10,000 アクセス/月 | ¥33/月 |
| Azure Active Directory | Premium P1 | ユーザー 1000 人 + 外部 ID 5000 人 | ¥650/ユーザー/月 + ¥0/MAU/月 (最初の 50,000 MAU まで無料) | ¥650,000/月 |
| 合計 | - | - | - | ¥674,033/月 |

この見

ソース: Bing との会話 2023/4/14(1) Azure の製品 - カテゴリ別一覧 | Microsoft Azure. https://azure.microsoft.com/ja-jp/products/category アクセス日時 2023/4/14.
(2) Azure クラウド サービス | Microsoft Azure. https://bing.com/search?q=Azure+%e8%a3%bd%e5%93%81+%e4%b8%80%e8%a6%a7 アクセス日時 2023/4/14.
(3) Azure クラウド サービス | Microsoft Azure. https://azure.microsoft.com/ja-jp/products/ アクセス日時 2023/4/14.
(4) クラウド コンピューティング サービス | Microsoft Azure. https://azure.microsoft.com/ja-jp/ アクセス日時 2023/4/14.
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108143/f1aa6ab6-7782-8306-56d6-a9bbd97a943c.png)


先ほどは Cosmos 君で、今回は SQL Database 君ですが。概算という意味ではどちらでもいいと思います。
そこまで厳密にこだわるのであれば、ちゃんと専門家の意見を仰ぎましょう、

見積もりの根拠も聞いてみますか!

入力 Prompt:
```
この見積もりはどのように作成したのですか?
```

出力:
```
この見積もりは、Azure の製品とサービスの料金表 を参考にして、
必要な製品とプランを選択し、使用量を推定して、単価と合計を計算したものです。
使用量は、EC サイトの想定されるアクセス数やデータ量などに基づいています。
この見積もりは、あくまで一例であり、実際の料金とは異なる場合があります。
```

見積金額の**調整**をしましょう。

Azure Active Directory が今回では金額の殆どを占めています。[プラン]の機能差を確認します。

入力 Promot:
```
Azure Active Directory のプランには何があって、どんな機能があるのですか? 
またその機能はどんな時に使うのですか?今回の、ビジネス要件、に本当に必要なのですか?
分からない場合は「分からない」と出力してください。
```

出力:
```
Azure Active Directory のプランには、以下の 4 つがあります¹。

- 無料: 基本的な ID 管理・アクセス管理機能を提供します。例えば、ユーザーの登録や削除、
パスワードのリセット、シングルサインオンなどができます。
Office 365 や Azure などの Microsoft サービスと連携する場合に利用できます。
- Office 365 アプリ: 無料プランに加えて、グループベースのアクセス管理や
自己サービスグループ管理などの機能を提供します。
Office 365 のサブスクリプションに含まれています。
- Premium P1: Office 365 アプリプランに加えて、ソーシャルログインや条件付きアクセス、
特権ID管理などの高度な機能を提供します。ビジネスクリティカルなアプリケーションや
データへのアクセスを制御する場合に利用できます。
- Premium P2: Premium P1 プランに加えて、アイデンティティ保護やアクセスレビューなどの
脅威対策やガバナンス機能を提供します。
高度なセキュリティやコンプライアンス要件を満たす場合に利用できます。

今回のビジネス要件では、ECサイトへのログイン時に、ユーザーが既に持っている
 Facebook/Twitter などの既存アカウントを使えるようにすることが目的です。
この機能は、ソーシャルログインと呼ばれ、Azure Active Directory の 
Premium P1 プラン以上で利用できます²。
ソーシャルログインは、ユーザーが新たにアカウントを作成したりパスワードを覚えたりする必要がなく、
簡単にログインできるようにするメリットがあります。
また、ECサイト側も、ユーザーの情報を安全に管理できるメリットがあります。
したがって、今回のビジネス要件には必要な機能だと言えます。

ソース: Bing との会話 2023/4/14(1) Azure Active Directory の価格 | Microsoft Security. https://www.microsoft.com/ja-jp/security/business/identity-access/azure-active-directory-pricing アクセス日時 2023/4/14.
(2) Azure ADのプランを比較！詳しい機能なども併せて解説 .... https://solution.kamome-e.com/blog/archive/blog-sso-idm-20220531 アクセス日時 2023/4/14.
(3) Azure Active Directory | Microsoft Azure. https://azure.microsoft.com/ja-jp/products/active-directory/ アクセス日時 2023/4/14.
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/108143/54d8934b-9726-c613-a120-b8754fc16950.png)

凄い...


# まとめ

Bing Chat でも本当に**概算**見積もりまで作ってくれる事がわかりましたね。後は Excel 君で最終調整です。

- タスクの一覧を聞く
- 出力結果が途切れたら「続きを作って」と Prompt する
- 出力結果のフォーマットは CSV など、その後のツールで加工しやすいように指定をする。今回は Excel 君

そして何より。
出力された説明文をしっかりと読む事。理解できない、あるいは、怪しいなと思ったら、情報元のドキュメントを確実に読む事です。

ここでは、**概算**です。その概算から、**精緻な見積もり作業**に行くには本当に大変です。システムのアーキテクチャを決めるのは、熟練のエンジニアの方でも難しいんです。アプリケーションがどう動くのかで、インフラ側は大きく変わりますから。そして、見積もり作業参加者が共通認識を持つために、もっと多くの種類のドキュメントが必要です。それで机上で妥当性確認もしますし。場合によっては、アプリケーションを組んで、ストレステストをした上で、サイジングを行い、それを見積もりに反映させます。

それでも。ここまでご一読された皆さんであれば、さ。もうこのドキュメントが読めるんじゃないでしょうかーーー😎

https://www.microsoft.com/ja-jp/biz/public-sector/azure-estimate-concept.aspx