1. ゆるITエンジニア道場
  2. 知らないサービスをどのように..
2025-09-04 06:38

知らないサービスをどのように運用するかAIに聞いて学んだ話

riddle です。最近やってよかったAIの使い方を紹介します。


--------------------------------------------------------------


riddle : https://x.com/riddle_tec

ひびの : https://x.com/nasustim


番組へのお便りはこちら:https://forms.gle/gp78XNFgERDFDkb88

サマリー

ポッドキャストでは、AWSのダイナモDBの運用方法をAIを活用して学んだ体験が語られています。特に、実際の運用から得た知見やAIの活用によって深まった理解が詳しく紹介されています。

ダイナモDBの概要
こんにちは、シニアソフトエンジニアのリドルです。このポッドキャストは、IT業界のいろんな話やリアルをお届けします。
今回はですね、私が知らないサービスをどのように運用するかを、AIを聞いて学んだ話をしたいと思います。
知らないサービスというか、AWSのダイナモDBというノーSQLの話なんですけれども、ノーSQL私はちょっと触ったことがなくてですね、
簡単に触りだけを皆さんにお伝えすると、RDBMSっていう、列と行で管理する、古来からあるデータベースあると思うんですけども、
その次に登場したやつで、スキーマって呼ばれるものがないんですね。スキーマってRDBMSにおける、例えばユーザーテーブルっていうものがあったとしたら、
名前とかIDとかメール、住所みたいな決まった型みたいなものがないんですよ。特にダイナモの場合だとPKってやつとSKってやつがあって、
パーティションキーとソートキーかな。それがあって後は全部もう可変式みたいな感じなんで、本当にいろんなレコードをバラバラに入れられるんですね。
それこそユーザーのレコードを入れてもいいし、商品のレコードを入れてもいいし、なんか本当にバラバラにできるんですよ。
ちょっとダイナモのことはあんまりわかってないんで、ちょっと間違ったことをしたら申し訳ないんですけど、基本的にはそんな感じですね。
ちょっと今技術的にそれを触るタイミングがあって、いろいろと今調査したりしてるんですけども、やっぱり触ったことないものってよくわかんないんですよね。
これはね別にシニアだろうがミドルだろうがジュニアだろうがわかんないものはわかんないです。でやっぱり本とかドキュメントとか、
まあいろんな文献というか個人で触ったような記事とかいろいろ読むんですけど、なんかね理屈はわかるんですよ。理屈はわかるんですけど、使い方も運用の仕方もわからんみたいな。
これ大体こういうのって先人というかプロジェクトで最初に入ってて、それでこういうふうに運用されてるんだなっていうのを見聞きしながら試すと、
あーなるほどなるほどこんな感じなのかっていう感じで学べて、他の現場行ってみてちょっと試してみて、あーこれだといけるけどこれちょっと怪しいなぁみたいな感じでちょっとずつこうなんて言うんですかね
練馬していくというか、なんか慣れていくみたいな感じで新しい技術に慣れていくっていうのが結構個人的にはステップとして多かったかなと思っていて、
一方で知らないやつを新規のところにバーンて入れるのは結構ハードルが高いと思っていて、そういう意味で私はグラフQLとかも触ったことないんですけど、これもすでに入ってる現場に入っていろいろやるならいいんですけど、
自分が位置から入れようってなるとちょっと選ばないかなという感じはあります。今回は私がダイナモDBたちには取り組んでるんですけれども、これがね結局わかんない。
恋愛といろいろ会話するんだけどわかんないという感じで、まあまあまあそんな状況なんです。ここでちょっと編み出したんですけど、これを実際に運用するしかないなと思っていて、これ運用するとねやっぱりわかるんですよ。
ただ運用って結構難しくて、実際にサービス作ってローンチしてユーザーが増えてとか、機能を増やしたり減らしたりしてその結果データベースがなんか変な影響を受けて、
こういう設計するとまずいんだとかそうやって気づけるんですね。それってやっぱり実際にプロジェクトを回さないと絶対わかんないんで、これどうにかならないかなと思ったところにちょっと妙案が思いつきました。
でこれが何かというと、AIに運用させればいいじゃんということですね。だから簡単に言うとAIに何か仮想のECサイトみたいなものを作らせて、
AIによる運用学習
作らせるってのはですよ、もうチャットの中だけですよ。チャットの中だけでECサイトを作ってください。裏側はダイナモデータベースです。こういう仕様ですみたいなことを最初に書いて、
その後機能を考えるとかもめんどくさいんで、ちょっとデータベースの変更を伴うような機能変更とか、大がかりなスキマ変更とか、スキマないんですけど、
通常のダイナモの使い方からちょっと外れたようなケースとか、ノーエスケールって結構結果整合性のものが多いんですけども、強整合性みたいなしっかりとした整合性を担保してくれるようなものを
追加入れたい場合ってどうすればいいかわかんないんで、それが必要とされるような機能を盛り込んでくださいみたいなことを書いて、ちょっとね2年ぐらい運用してもらったんですね。
その結果、ああこういう変更の時はこういうことしないといけないけどこつらいなーみたいなものを全部出してもらうんですよ、AIに。そうすると自分は何にも運用しないんですけど、
ああなるほどこういうことあったらここで苦労するのか、じゃあ多分こういうことした方がいいんだろうなーみたいなことを学ぶんですよね、そこで。
これちょっと自分のやり方としては、読んだだけだと絶対理解しないんで、ダイナモのテーブルというかコマンドとかをちょっと実際に作ってみたりするんですよ。
作ってみて、ああこれこういうふうに変えればいいのかなるほどとか、これなんでこういうふうに変えてるんだろうわかんないなーみたいなやつはドキュメントを漁ったりとかするんですね。
あと本当にこれって今もこうなのみたいなのはちょっと最新ドキュメント見たりとか、MCPで最新の取ってくればいいんですけど、
そういうのでいろいろ情報収集とか、AWSのドキュメントのダイナモのところがどういうツリー構造になってるのかみたいなことをちょっと見ながら検索にも慣れつつみたいな感じで、
実際に運用を経験することなくそれっぽい運用をAIでやるっていう感じの学習方法を今回編み出しました。
多分他の分野もそうですし、少なくともITのいろんな技術に対しても使えるかなと思っていて、
もちろん出たてのものであんまりAIが学習できてないとか、ドキュメントが少ないものに関しては適用難しいと思うんですけども、
ある程度名前が知れているものとかだったりすれば同じような手法が使えるかなと思っていて、
結構どんな技術でも何が嬉しいのかいまいちわかんないものって結構あると思うんですよね。
特に抽象度が高いものだったりとか、使う領域がニッチなものだったりすると、そこを自分が実際にこばったりしてないと何が嬉しいのか全然わかんないし、
ということは結構多いので、例えば新人じゃないとDockerとかGitって何が嬉しいのみたいな話あると思いますけど、
そういうのも実際にどういうふうに運用されるのかみたいなことをAIに出力させて、それで学ぶっていうのが結構いい方法なんじゃないかなと思ったので、今回ご紹介させていただきました。
このPodcastはハッシュタグゆるITで皆様からの感想やコメント募集しております。
またチャンネルの概要欄にもGoogleフォームのリンクありますので、そちらからのご投稿も大歓迎です。ありがとうございました。
06:38

コメント

スクロール