1. h173.club
  2. 001: カラーミーショップの開..
2022-04-08 21:57

001: カラーミーショップの開発環境今昔物語

@kenchanと@takapi86の二人で、GMOペパボEC事業部で開発・運営しているカラーミーショップのローカル開発環境の課題の変遷について話しました。後半は、notionで書かれている社内の日報・日記を広めるために作ったbotの新機能の紹介をしています。


この頃は、外部に公開するつもりがまったくなかったので、社内の用語が多めになっています。「これ何?」というものがあったらぜひ入社していただいて社内のslackでご質問ください。

00:02
ひとなみクラブはEC事業部の2人が社内の出来事とか技術トピックについて話す社内ポッドキャストです。
私は一人の高橋くんさんです。
はい、ここで言った方がいいですね。
EC事業部のエンジニアリングリードの高ピーです。
最近はSCXチームにジョインして進化後100%にするためにいろいろ実役を一緒に進めていっております。
本日はよろしくお願いします。
いいですね。
チームが、携わるチームがちょっと変わったって感じなんですか?
そうですね、一応ジョイントは言っても、所属はDXチームのままなんですけど、
進化後100%にするためにSCXチームに一時的に参画しているという感じです。
いいですね、活躍の場が広がったという感じで頑張ってください。
はい、じゃあ今日もそれぞれ1トピックずつ持ってきたので、それらを話していこうかなと思います。
はい、じゃあ最初どっちからいきましょうか?
じゃあ前回に引き続き私が最初にやっていこうかなと思います。
今日は何の話ですか?
今日はですね、ちょうど一昨日アルマさんがペパカレ研修、フィオールド研修が終わって、
昨日からOJTで開発にジョインすることになったので、開発環境を設定してもらっているということで、
開発環境の話をしていこうかなと思っています。
なるほど、カラーミーショップの開発環境の話ですかね。
そうですね、カラーミーショップの開発環境の話をしようかなと思います。
カラーミーショップの開発環境って、1,2年前からたかぴーも中心に変えてくれていると思うんですけど、
今はどういう状況になっているんですか?
そうですね、昔の話をすると、最近ジョインされた方は知らないと思うんですけど、
実はベイグラウンド環境に1つVMを建てて、その上にパペット経由でいろいろPHPだとかインストールしていたという感じになっていて、
今は消毒されている方はご存知の通り、ドッカー環境で作っているという感じでございますね。
なるほど、今日特別話したいポイントとかは何かあるんですか?
そうですね、今までの開発環境ってどういう課題があったの?みたいなところとか、
昔の話をしつつ、最近の出た課題みたいなところもお話できればなと思っています。
03:00
なるほど、いいですね。じゃあ最初はちょっと前にあった課題みたいなところからいきますか?
そうですね、今いくつか、クンさんもいろいろご存知だと思うんですけど、いくつかもともと問題があって、
そもそもパペットをマニフェストをメンテナンスできる人が少なくて、確かあれですよね、
クンさんとかアックスさんとかぐらいしか開発環境をメンテナンスできる人がいなくて、なかなかアップデートがはかどらないみたいなところがあったりして、
結構本番環境と介しているところがあったなというところとかありましたね。
あとはちょっと今信じられないかもしれないですけど、PHPも一つのVM環境の中にいろんなロールを入れて動かしていたので、
バージョンが5.3で固定されているっていう時代があって、
アドミンは5.6なのに開発環境は5.3みたいなところとかがあって、
5.6では再現するけど5.3では再現しない環境とか不具合とかがあって、
いろいろその辺で問題が起こってたなみたいなのはよくありましたね。
今リポジトリはもうアーカイブされてますけど、
ディベロップメントパペットっていうやつがあった時代ですね。
確かに今ちょっとReadMeを開いて眺めてるんですけど、
途中で突然ワードプレスの開発環境の話とかが出てきて、なかなか趣があるReadMeになってますね。
すごい長いし。
後半はこれとDockerを組み合わせてみたいな時代もありましたよね、そういえば。
ありましたね。一時期ハイブリッドな感じでやっていて、
そこからもう完全にDockerに独立してやっていったっていう感じになるんですけど、
ハイブリッドの時代のDockerファイルとかも参考にさせてもらったりしてたんで、
その時代も無駄ではなかったかなと思ってるんですけど、
今は結構シンプルな感じに。
シンプル?
そうですね。
使ってるツールとしてはシンプルで、一つDockerだけってことになってるんで、
非常に改善されてよかったなと思ってます。
そうですね。今は各リポジトリにDockerコンポーズファイルがあるみたいな構成になってますよね、そういえば。
そうですね。今はそういう構成になっていて、
Dockerのネットワークでデータベースにアクセスしたりとか、
他のロールにアクセスしたりみたいな感じで、ネットワークが繋がってるみたいな感じになってます。
06:00
じゃあ最近の課題というか、最近の状況はどんな感じなんですか?
そうですね。最近はM1Macが出始めたっていうところが大きいかなっていうところがあって、
今のいろいろ絡みオペレーションとか便利ツールがあるんですけども、
それにのっとってインストールしようとしても、そのままでは今動かないっていうところがあって、
一時的に手を入れたりしなければならないっていうところがあったりとかして、
そういった部分が環境構築をする際にちょっとネックになっているというところがありますね。
あとは、ペーパーボードではコンテナイメージを定期的に脆弱性のスキャンをしていて、
脆弱性のあるイメージは消されるように定期的なバッジが走っているんですけど、
それによって脆弱性が解消してきていないイメージが消されてしまうみたいなのがあって、
それを復活してちゃんとアップデートするようにするみたいなところのメンテナンスコストがかかりすぎてしまっているなというところで、
少しであればいいんですけど、結構数が多いのでちょっと苦戦しているっていう課題がありますね。
なるほど、確かに結構そのコンテナスキャンリポジトリの一周からはカラミーのイメージ結構いっぱいリンクされちゃってますもんね。
そうですね。
で、じゃあイグノアすればいいかっていうと、そういうわけでもないしなみたいなところがあって、
根本解決するために動くのが正しいと思うんですけど、
ちょっと数が多すぎるんでなんとかできないかなというふうに思ってますね。
なんかこのあたりって今こうしたらとか考えてることって何かあるんですか?
そうですね、いろいろやり方はあるかなとは思ってるんですけど、
一つは今開発環境のイメージをレジストリに置いていると思うんですけど、
以前は手元でDockerビルドをするような形になっていたので、
それに戻すっていうのも一つありかなとは思ってますね。
共通のイメージが使えるとか、ビルドする時間がかからないのでDockerレジストリ結構便利に使ってますけど、
ローカルの環境がCPUアーキテクチャが違うみたいなのが出てきたときに、
RJアーキテクチャのイメージを作るっていうのが成功法であるんだけど結構それ大変だったりするので、
ローカルでビルドするっていうのはどうかっていうところなんですね。
そうですね。
私とかは今開発環境完全にWindowsとWSLになってるので、
09:00
ほぼほぼ困ってないというか、M1の人たち困ってるのは知ってるんだけど、
なかなか手伝えなくてもどかしい気持ちになってはいるんですよね。
そうなんですよね。
こちらで何もできないというか、話を聞いてみたいな感じでしか動けないところがちょっともどかしいところがあるので。
その意味ではタカピンはまだM1ではないMacで開発してるんですよね。
そうですね、Intel Macですね。
これからM1の人増えるでしょうし。
実行環境というか、本番の環境みたいなのがARMだけになるっていうこともなかなか考えづらいなと思うので。
そうですね。
難しいところですよね。
そうですね。これからショップセットとかも含めてコンテナ環境で本番導入みたいなところが増えてくるかなと思うので。
そうすると手元でどういった構成にするのかっていうところが課題となってくるかなと思いますね。
タカピはそういう開発環境の話だったりとか、今日話してくれたこととかはどこかで他の人と共有したり改善しようという活動をしたりしてるんですか?
そうですね。ちょいちょい話に上がったときに、例えばアップデート会を手伝ったりとかするときにそういった話はしているんですけど、
まとめてどうかみたいなところとか、理想像はどうみたいなところの話は全体にはできてないなと思うので、
ちょっとその辺は改めて共有していきたいなというふうには思ってますね。
今だとさっきおっしゃってたアップデート会みたいなのも最初は結構タカピが全部見て回ってというか主催して回ってたと思うんですけど、
今は結構チームの中でそれぞれのチームが自分たちが一番見るようなリポジトリとかを頑張ってやってくれるような状態にはなったので、
そうなるとそうなったで今度は情報がそれぞれの人たちのところに閉じてしまうようなことがあったりして、
今タカピが言ってくれたような全体としてこっちに向かうよとか、理想の方向はこれだよっていうのを次は示す必要が出てきたなっていう感触なんですよね。
そうですね。
なるほど。その話が今日できたんでこれみんな聞いてくださいっていうことですね。
そうですね。開発環境本当にバリューの方向みたいなところがあるんで、
ぜひ理想像を立ててバーンとそれに向かって解決するみたいなアクションができる人を募集してますっていう話をしようかなと思ってました。
12:03
いいですね。
そういう点では昨日公開されたCTOが効くでも同じような話タカピがされてて、結構環境を大きく変えるみたいなのがチャレンジしてやりきれると力になるっていう話しててすごくいいなと思って聞いてました。
なので次のタカピじゃないですけど、そういう難しいというかちょっと大きなことにチャレンジしてレベルアップしたいっていう方がいたらぜひ声をかけてくださいっていう感じですね。
そうですね。
いいですね。
あとは開発環境について言っておきたいこととかはありますか?
あとはそうですね、その辺ですかね。
わかりました。
じゃあこれを聞いているまさにあなたぜひ開発環境を改善に手を挙げてくださいね。
よろしくお願いします。
はい。
じゃあ次のトピックに行きますか。
はい。
はい、だいたいこれで何分ぐらいですか。
13分ぐらいなんで、結構いい時間なので。
私の方の持ってきたトピックは本当に軽い楽なやつなんで、1個だけ紹介して終わろうかなと今日のところは思いますけど。
皆さん日報というか日記というかがノーションに書く場所があるので、ちなみにタカピはご存知でしたか?
はい、それは知っていて、ちょっと毎日ではないんですけど日報は書くようにはしてますね。
いいですね、ちょっと前からノーションで日報とか日記を書こうっていう風になったんですけど、
普段みんながいるところってスラックだったりGitHubエンタープライズだったりするので、
ノーションにあえて見に行ったりしないとなかなか日報とか日記とかを目に留まる機会がないよなと思って、
少し前にスラックに昨日の日報というか前営業日の日報を通知するっていうボットを作って、それを細々と運用しているっていうのが私のサイドプロジェクトとしてあるんですけど、
日報お知らせさんみたいな。
そうそう、日報お知らせさんっていう名前でやらせてもらってるんですけど、
それに今週新しい機能一つ追加して、毎日ランダムで事業部外の人の日記を出すっていう機能をつけたんですね。
これ実はずっと年初ぐらいからやりたいなと思ってた機能なんですけど、なかなか気が乗らなくてできてなかったんですけど、ちょっと頑張って実装して試しに今週から動かしてるっていう感じです。
15:06
今って日報お知らせさんどういう仕組みになってるかっていうと、日報とか日記にラベルがついてるので、特定のラベルのついた日記を特定のチャンネルに送るっていう機能を提供してたんですね。
なんですけど、それで私しばらく日報お知らせさんで来るものをバーッと開いて、昨日この人こんなことやったんだなって見てたんですけど、
ふと他事業部の人のところ全然自分見てないし、たまに流れてきて見るとやっぱ面白いなと思ったので、
偶然の出会いじゃないですけど、偶然他の人の日記を見るみたいな機会を作ってみたくて、この機能を作ってみたって感じですね。
なるほど、めちゃめちゃいいですね。
これちょっともう一つ課題感としてあったのは、1人とか2人とかしか書いてないところだと、毎回同じ人がずっと通知されるだけで、人を広げるのが難しいなってちょっと思ってたんですよね。
なかなか見る人が固定化されてしまうみたいな問題もあるよなと思ったので。
日記ってさっきタカピーも言ってくれたように、自分もそうなんですけど、なかなか毎日書くの、書いたほうがいいんだけど難しいのがあって。
なかなか、はい。
結構しばらく書かないことが続いたり、見に行くことがしばらくしないでると、復帰するっていうのがすごく難しいものだよなと思ったので、
そういう見に行くきっかけを、今までになかったものを作るみたいなところもランダムにたまたま知ってる人というか、他の事業部の知り合いの人の日記が流れてきたらちょっと見に行こうかなっていう気にもなるかなと思って。
そういう偶然の演出したくてやってみたんですけど、結構今のところ、まだ2、3日ですけど、わりと好評なコメントをいただけたりしてるので、やってよかったなと。
思いましたね。
私もすごくいいなと思っていて、他の事業部の人の一覧とかが出るとかじゃなくて、一人っていうところがすごく良いなと思っていて。
なるほど。
これを、他の事業部を気にしなさいみたいな感じで全部見るのはちょっと厳しいところもあるし、それはそれで労力がかかってしまうので、たまたま目についたとか、気になる時、今日はこの人を見るみたいな感じで、限定されると見に来やすかったりするので、すごく良いなと思いました。
18:03
確かに。そうなんですよね。全員見たいかっていうと、それもそれで大変だったりするので、一人とか二人とかが良いですよね、やっぱり。
そうですね。結構強い印象に残るようなタイトルだったりする人を見に行ってしまうみたいなところがあるので、目立つタイトル。
確かに。
そういう普通のタイトルをつけてる人が盛れてしまうみたいなのはちょっとあるなと思っているので、こういった感じでランダムになっていると本当に良いなと思いました。
確かに。なるほど。
これ、さっきタイトルの話がちょっと出たんですけど、実はちょっとだけ工夫してるというか、ポイントもあって、タイトルが入っている人の中から選ぶようにしてるんですね、実は。
アンディファインドとかは除外するみたいな。
そうそう。結構、自分もそうなんですけど、作ったけど何も書かずに1日、翌日になってしまったっていうのを自分もたまにあって、
せっかくピックアップされたのを見に行ったのに何も書いてない日報だと、それはそれでちょっとがっかりするようなと思ったので、タイトルだけは最低でも入ってる人っていうのを実は選んでやってたりします。
なるほど、そんな工夫があったんですね。
今日のやつは結構最初通知が来た時はちょっと自分はびっくりして、今日のピックアップの日報って絵文字一文字のタイトルだったんですよ。
考え中みたいな感じ。
これパッと見た時、私タイトルがないじゃんってちょっと思っちゃって、なんかバグらせちゃったかなって思ったんですけど、これはこういうタイトルだっていうことがわかったので一安心しました。
なるほど、確かにリンクっぽい色をしてない絵文字なので、クリックできないような気がしますよね。
それでちょっとびっくりしちゃいました私は。
そういう機能を作ったので、これ普段から見てる人は是非ピックアップ日記クリックしてほしいなと思いますし、もしまだ日記書いてないよって人は是非ピックアップされると思うので書き始めていただけると嬉しいなと思ってます。
私のトピックはそんな感じだったので、これでそれぞれ1トピックずつ終わりましたけど、
一応前回が第0回ってことだったんで、今回が一応初回の収録ということには回数上はなっているので、どうしましょうか。
どうやって締めるといいんですかね。
特に何も考えてなかったので。
じゃあ前回言ったようなことをちょっと最後に言って終わりましょうか。
21:00
ひとなみクラブは社内ポッドキャストで一応週1から2週間に1回ぐらい更新しようと思っております。
ご意見ご感想はスラックのh173ひとなみというチャンネルがあるので、こちらに入っていただけると運営の方法とか、
今日これから収録するよとかそういう話もあるので、もしよかったら入っていただいてコメントいただければなと思います。
あとはh173という絵文字を作っていて、これがリアクジに設定されているので、
このポッドキャストの話題見していた方はリアクションしてくださると私たちに届くかなと思います。
じゃあ今回第1回の収録はそろそろ終わろうと思います。
ではみなさんさよなら。
ありがとうございました。
21:57

コメント

スクロール