MonotaRO Tech Blog
https://tech-blog.monotaro.com/
MonotaRO Tech Blog
フィード

Argo Workflows導入事例: 複数システムの開発基盤をマルチテナントで支える!!
15

MonotaRO Tech Blog
はじめに モノタロウのプラットフォームエンジニアリング部門 コンテナ基盤グループの宋 明起です。 私たちコンテナ基盤グループは、アプリケーション開発者がコンテナシステムの複雑さに悩まされることなく、アプリ開発に専念できる環境を提供しています。コンテナ基盤の構築・改善を通じて、開発者がより簡単かつ安全にアプリケーションをデプロイ・運用できるように支援しています。 はじめに 背景 共通の課題 コンテナプラットフォームでのジョブ運用 Argo Workflowsを選定した理由 マルチテナント環境でのArgo Workflowsの構築と運用に関する検討 マルチテナント環境における運用上の課題 検討ポイ…
5日前

運用負荷軽減!Google Groupを活かしたGitHub Teamメンバーの自動同期の仕組み
MonotaRO Tech Blog
初めまして、プラットフォームエンジニアリング部門DevSecOpsグループ ソフトウェアデリバリーチーム(以降SDチーム)の舛田です。 今回は、GitHub Teamのユーザ管理を半自動化しようと奮闘中の取り組みについて書いていこうと思います。 GitHub導入とTeam管理 これまでのTeam管理 Google Groupを元にしたTeam管理 具体的な取り組み 完成した構成 運用上の懸念と対策 メールグループの削除・リネーム時の対応について GitHub導入とTeam管理 過去のTech Blog記事でも紹介されているのですが、弊社では2023年にBitbucketからGitHub Ent…
20日前

『言えば作れる』時代の到来:AI×データパイプラインで実現した次世代開発スタイル
MonotaRO Tech Blog
こんにちは! コアシステムエンジニアリング部門 商品ドメイングループの流川です。普段は商品管理に関わるシステムの開発・保守を担当しています。 ※以前公開した記事はこちら:基幹システム運用安定化のアプローチ戦略~困難から見つけた解決の糸口~ - MonotaRO Tech Blog 皆さん、AI使いこなしていますか?昨年11月末から今年の3月末まで育休を取得しており、復帰すると社内にAIムーブメントが到来していてびっくりしました!オフィスのあちこちでAIツールが活用されている光景を目の当たりにし、約4か月ちょっとのお休みの間にすっかり別世界になったような感じで、「乗り遅れるわけにはいかない!」と…
1ヶ月前

大規模コードベースをAIの業務知識に!作ってわかったMCPサーバー使いこなし術
MonotaRO Tech Blog
TL;DR 社内の開発情報にアクセスするMCPサーバーを作成して、AI開発ツールが業務知識を活用できるようにしてみた。 具体的なツール事例(DBスキーマ参照、コード検索など)と、AIに活用させるための命名、レスポンス、権限などの考え方とコツを紹介。 TL;DR はじめに MCPとは MonotaROでのMCP DBスキーマを使ったコード生成 既存ソースコードからの業務知識抽出 共通モジュールの使用例の検索 MCPツール実装のコツ プロセスの状態に依存せずツールを利用できるようにする できるだけ具体的なツール名をつけてパラメータを修飾する レスポンスとしてinformativeなフィードバックを…
1ヶ月前

顧客のリピート行動を取り入れた推薦アルゴリズムの現在
MonotaRO Tech Blog
はじめに MonotaROの販促とパーソナライズチラシについて 間接資材の推薦における課題 「もう一度購入する枠」における推薦手法 Buy It Again: Modeling Repeat Purchase Recommendations (KDD'2018) Personalized Category Frequency Prediction For Buy It Again Recommendations (RecSys'23) リピート行動を考慮する推薦手法 RepeatNet: A Repeat Aware Neural Recommendation Machine for Sess…
2ヶ月前

モノタロウのAI駆動開発の全貌をご紹介します
MonotaRO Tech Blog
はじめに こんにちは!モノタロウ CTO-Office 所属の市原です。AI駆動開発チームのリーダーを務めています。 近年、生成AI技術は目覚ましい進化を遂げ、ソフトウェア開発の世界にも大きな変化をもたらしています。 モノタロウでは、「AIを活用して生産性を非連続に向上する」ことを目指してAI駆動開発への取り組みを積極的に進めています。 来月5月7日には、AI駆動開発カンファレンスにて、CTO 普川、プラットフォームエンジニアリング部門長 香川、私市原で登壇します。モノタロウでの取り組みについて、詳しくお話しさせていただく予定です。 本記事では、カンファレンスに先駆けて、モノタロウがAI駆動開…
2ヶ月前

プルリクエストを作るだけで検証環境が自動生成!ArgoCDとk8sで実現する開発者体験の改善
MonotaRO Tech Blog
はじめに こんにちは、モノタロウの コンテナ基盤グループの田中です。 現在、私たちはプラットフォームエンジニアリングの取り組みとして、EKS クラスタにのっているアプリの開発支援を行っております。 今回その一環として、ArgoCD Pull Request Generator(以降:PR Generator)を導入することで、アプリのプルリクエスト(以降:PR)を作成するだけで環境が自動生成され、PRの単位で動作確認がすぐにできるようにしました。 見どころは PR Generator の機能を知ることができる アーキテクチャから設定まで再現できるように詳細に記載 マルチクラスタ環境での活用法 …
2ヶ月前

社内ブログからはじまる発信力:社内アドベントカレンダーの取り組みとキャリア形成への期待
MonotaRO Tech Blog
こんにちは。ECシステムエンジニアリング部門の野口(id:celitan / @regtan)です。MonotaROでは購入者向けのマーケティングオートメーションシステムのプロダクトマネージメントとその開発チームのエンジニアリングマネージャを担当しています。 今回は、2024年12月に社内で行われたアドベントカレンダーの取り組みについてご紹介します。一般的なアドベントカレンダーは12月1日からクリスマスである12月25日まで一つずつ小さなプレゼントを取り出して楽しむものですが、Tech系でアドベントカレンダーといえば12月1日から12月25日までお題に沿ってリレー形式で記事を公開する取り組みを…
3ヶ月前

QA・品質保証の仮説検証・価値探索を行い、QA領域の組織を立ち上げる過程の話
MonotaRO Tech Blog
もしあなたが様々なシステムの品質保証を担ってきた QA エンジニアとして、QA 組織がない・QA エンジニアがいない会社に「入りたい」と思いますか? もしあなたがエンジニアリングマネージャーとして、QA 組織がない・QA エンジニアがいない中 CTO から「QA エンジニアを採用・オファーするか?(面倒を見れるか?QA 領域で活動していく覚悟はあるか?)」と言われて「はい」と答えますか? もしどちらも「Yes」となり、1年後にどうなったと思いますか? はじめに QA領域の組織を立ち上げたい発端 QA領域の活動の方向・方針を考える CTOとの議論(1回目) テストプロセスの学習と実践 CTOとの…
4ヶ月前

生成AIのSlackbot導入から1年半。社内での活用が広がり、次のステップが見えてきた話
MonotaRO Tech Blog
はじめに こんにちは、新卒3年目の佐藤です。 ちょうど1年半ほど前に生成AIのSlackbotを社内向けに導入したブログを書き、ありがたいことに多くの反響をいただきました。 tech-blog.monotaro.com このブログにあるようにMonotaROでは、2023年5月にGPT-3.5のSlackbot「MonoChat (β)」を全社員向けに開発・導入しました。 本ブログでは導入の"その後"の話として、実際にMonotaRO社内でどれだけSlackbotが活用されているかという話とその要因、そして社内での更なる生成AI活用に向けた直近の取り組みを紹介したいと思います! はじめに 1.…
4ヶ月前

中央集権から自律分散型のデータ管理へ〜モノタロウにおけるアナリティクスエンジニアリング〜
MonotaRO Tech Blog
アナリティクスエンジニアリンググループのマネージャーをしている吉本です。 モノタロウでは昨年7月よりアナリティクスエンジニアリンググループを立ち上げ、データ管理をより高度にするための取り組みを始めております。 今回はモノタロウにおいてアナリティクスエンジニアリンググループができた背景と取り組みについて紹介いたします。 またこの記事を読んでモノタロウのアナリティクスエンジニアリングに興味がある!詳しい話を聞きたいと思ったかたは2/13にイベントを開催いたしますのでぜひご参加ください! monotaro.connpass.com データ活用と管理の歴史 各業務におけるデータ管理の課題 各業務の指標…
5ヶ月前

GKE/EKS(Kubernetes)のコスト可視化を良い感じにしてみた
MonotaRO Tech Blog
はじめに こんにちは!コンテナ基盤グループの楠本です。 今回はマルチテナント運用におけるKubernetesクラスタ内のコスト把握方法についてご紹介します。 見どころは EKSでKubecostを使ってみたがうまくいかなかったこと OpenCostを導入して解消したこと Datadogを使ってマルチクラウドのKubernetesを把握できるようにしたこと の3点です。 はじめに 結果:OpenCost・Datadogを使って出来たもの EKSにKubecostを試験導入してみた スプレッドシートで頑張っていた頃 EC2にかわって出番が回ってきた 過去分は取得できない EBSボリュームの管理 E…
5ヶ月前

BigQueryエミュレータを使ったETLのインテグレーションテスト
MonotaRO Tech Blog
TL;DR BigQuery Emulator と fake-gcs-server を組み合わせることでbqコマンドでCSVファイルを読み込んでETLのインテグレーションテストができた。 はじめに こんにちは。先日こちらの記事を書いたCTO-Officeの藤本です。そこでは書ききれなかったETLについて書いておきたいと思います。 ビッグデータを扱うETLのテストを行いたい場合に、DBからExtractするEの部分など、ユニットテストやモックでは担保できないところが出てきます。 そのようなインテグレーションテストに、OSSのBigQuery Emulatorを活用できる場合があります。 背景 モ…
6ヶ月前

安定したElasticsearchバージョンアップを目指して
MonotaRO Tech Blog
(2024/12/10 13:35) Elastic Stack (Elasticsearch) Advent Calendar 2024のリンクを追加 初めまして。ECシステムエンジニアリング部門 EC商品基盤グループ サーチチーム 松浦です。 今回は、全文検索エンジンElasticsearch のバージョンアップの具体的な取り組みについて取り上げます。 このブログ記事の内容はElasticsearch株式会社が主催するElasticsearch Community in Osaka - connpassで発表した内容を元に作成しました。 また、Elastic Stack (Elastics…
7ヶ月前

EKSでKarpenterに入学してみた 〜 Fargateを卒業する理由と方法 〜
MonotaRO Tech Blog
はじめに こんにちは!コンテナ基盤グループの楠本です。 前回の記事EKSコンテナ移行のトラブル事例:FargateにおけるAZ間通信遅延の解消 - MonotaRO Tech Blogを投稿してから半年以上も経ちました。(時が流れるのは早い… 前回はSREグループコンテナ化推進チームとしてでしたが、今回は挨拶の通りコンテナ基盤グループとしての投稿です。 元々ECエンジニアリング部門のSREグループとして活動していましたが、今年初めに組織編成があり、プラットフォームエンジニアリング部門の1グループとして活動しています。 今回は組織とのミスマッチからEKS on FargateからEKS on E…
8ヶ月前

システムをVMからコンテナに移行して、結局VMに戻した話
MonotaRO Tech Blog
こんにちは、モノタロウ コアシステムエンジニアリング部門 配送ドメイングループの安見です。 この記事では私が関わっていた社内システムを仮想サーバ(AWS EC2)からコンテナに移行した後にコンテナをやめて仮想サーバに戻した話をご紹介します。 諸説明 コンテナ移行について コンテナ化対象システムについて 直面した様々な問題 リリース後の多数の残課題 展開する機能の数が多すぎる コンテナ化のメリットが薄かった なぜこうなったか よかったこと まとめ 追記: 現在なら... 諸説明 コンテナ移行について システムのコンテナ移行とは、アプリケーションやサービスを動作させるための必要なすべての環境を、一…
8ヶ月前

現場から学ぶMLOps: MonotaROでの実践的アプローチ~オンライン推論編~
MonotaRO Tech Blog
はじめに こんにちは。MonotaROで機械学習エンジニア兼、Tシャツのモデルを務めている新卒3年目の長澤です! 最近は健康のためにスポーツをしているのですが、そのスポーツの疲れで日々が辛くなってきました。観戦と自分で身体を動かす方の割合(重み)をバンディットを使ってうまく最適化していきたいこの頃です。 今回は、自分がここ1,2年(2023~2024)で取り組んできたMonotaROにおけるMLOpsの取り組みについて、実例を交えながら紹介します。MLOpsの実例はあまり世の中に出回っていないので、一つの事例として読んでもらえれば嬉しいです。 はじめに この記事で紹介すること この記事で紹介し…
9ヶ月前

データと機械学習で顧客体験を革新する、次世代ECの舞台裏 - MonotaRO MLエンジニアリングチームの軌跡と展望
MonotaRO Tech Blog
MonotaRO(モノタロウ)では、全社的にデータ活用研修を行うなど、数字に基づいた意思決定を行うデータドリブンな経営が根付いています。事業者向けECサイトとして、モノを買う時にかかる手間や時間を短縮し、顧客である事業者の時間を創出することが、モノタロウの提供価値です。この価値をさらに高めるため、「ほしいものがすぐ見つかる」という顧客体験の向上に注力しています。 その中心的な役割を担うのが、機械学習(ML)を活用した顧客体験の最適化です。MLエンジニアリング(MLE)チームは、この重要なテーマの最前線に立ち、日々革新的なソリューションの開発に取り組んでいます。 データサイエンスのアルゴリズムを…
9ヶ月前

EKSでKubernetes DaemonSetを用いたロギング:Fluent-bitの運用とトラブル事例
MonotaRO Tech Blog
モノタロウのプラットフォームエンジニアリング部門 コンテナ基盤グループの宋 明起です。 私たちは、アプリケーション開発者からコンテナシステムの認知負荷を取り除き、アプリ開発に専念できるコンテナ基盤の構築と基盤を改善し、開発者はより楽に、より安全にアプリケーションのデプロイと運用できるように支援しています。 背景 基本設計 方針 構成 サンプル モニタリング サンプル 障害 障害1. Memory overflowエラーが発生 障害2. 大量のログが欠損になっている (refresh_interval) 障害3. まだ一部ログが欠損になっている (Prestop) [FAQ] 背景 モノタロウで…
9ヶ月前

モデリングとアーキテクチャの知見を積み上げて基幹システムに可変性を注入する
MonotaRO Tech Blog
こんにちは。 この記事では、2024/5/22に開催された「アーキテクチャを突き詰める Online Conference」で弊社CTOの普川がお話しした内容(ビジネスの構造をアーキテクチャに落とし込みソフトウェアに可変性を注入する〜モノタロウ基幹システム刷新の実践例)を、現場目線から改めてご紹介します。 なお、本稿の執筆は頼と尾髙が分担しておりまして、途中で急に文体が変わったな?と違和感を持たれることもあろうかと思われますが、ご容赦いただけますと幸いです。 本稿をさらに深掘りするイベントを10/4(金)に開催いたします。 ご興味ある方はぜひご登録ください。 https://connpass.…
10ヶ月前

成功を呼ぶ『騒ぐ』力!新米PMが挑んだインボイス制度対応プロジェクト
MonotaRO Tech Blog
いきなりですが、皆さんは「どうしたらプロジェクトマネージャになれるの?」と思ったことは無いでしょうか。 こんにちは。モノタロウの川北です。 今回はプロジェクトマネジメントの技術や方法論ではなく、プロジェクトマネージャを担える人材になる為に私が重要だと考える「心構え」と「ふるまい」についてお話したいと思います。 1.はじめに 1.1.プロジェクトマネージャへの第一歩 1.2.担当プロジェクトの概要 2.プロジェクト推進の中で直面した壁 2.1.その役割、担ったことないんですけど...の壁 2.2.その領域、無知なんですけど...の壁 2.3.高品質な上に納期厳守って、ハードル高いんですけど...…
10ヶ月前

ドキュメンテーションを文化にする〜コミュニケーションの「ハブ」作りに取り組んだ4年間~
MonotaRO Tech Blog
はじめに こんにちは。プラットフォームエンジニアリング部門の池田(@progrhyme)です。 この記事では、モノタロウのテック系の部門で筆者が取り組んできた「ドキュメンテーションプロジェクト」について、下の目次の流れに沿って紹介していきます。 【目次】 はじめに 「ドキュメンテーションプロジェクト」とは プロジェクト発足の背景 ねらい(まとめ) 何をやったか ドキュメンテーションの促進 Confluence → Googleドキュメントへの移行 その結果どうだったか 上手く行ったこと 上手く行かなかったこと まとめ 「ドキュメンテーションプロジェクト」とは 初めに、プロジェクトの概要について…
1年前

出荷目安アイコンを改善するのに9か月もかかって辛かったので、システム分割を爆速で進めてリードタイムが9分の1になった話
MonotaRO Tech Blog
こんにちは。2019年に初々しい記事を書いていた山本です。今でも元気にモノタロウで働いております。 この記事では、社内カンファレンスで私が業務部門向けに行ったプレゼンテーションを基に、マイクロサービス化に踏み切ったエピソードを紹介します。モノタロウがGoとprotobufで進める爆速マイクロサービス開発とそれを支えるプロセス と被る部分もありますが、同じ内容でも今回は易しめに解説していますので、空き時間にでもさらっとお読みください。 -- --まさか共通化されてないなんて 2022年の暮れに、こんな改修依頼を受けました。私はプロジェクトの開発リード担当でした。 出荷目安アイコンとは、当社商品が…
1年前

社内の基盤を活かして爆速開発を実現するために重視したマイクロサービステンプレートの5つの要点
MonotaRO Tech Blog
はじめに 転職後の二つの喪失感への対応 所属チームの現状とMonotaROのアプリケーション/サービス共通基盤(所謂プラットフォーム) 所属チームの状況 社内プラットフォームの状況 マイクロサービス開発のためのテンプレートの導入 開発のロケットスタート:テンプレートの早期提供 テンプレート作成の5つの要点 1. ベンダー非依存なObservabilityの実装 2. CI/CDを早期に提供(特にLinterを最初期に) 3. APIプロトコルとして、JSON over HTTPとgRPCの双方をサポート 4. 最低限の薄いフレームワーク 5. セントラルProtobufリポジトリの提供 現在の…
1年前

イケてるダッシュボードを作りたい!アナリストが自分自身の仕事を分析してみた
MonotaRO Tech Blog
こんにちは!MonotaROで3年ほどアナリストをしている杉田です。1年前にマーケティング部門マーケティングサイエンスグループに異動し、現在はマーケティング施策の効果検証手法や売上予測手法の改善に取り組んでいます。データサイエンス領域でのスキルアップを目指しており、アナリストとデータサイエンティストの間という(MonotaROの中では)少数派な道を歩もうとしている最中です。キャリア面での葛藤話もまたの機会にお話しできたらと思っていますが、若手メンバーのオンボーディングについて部署の皆さんと執筆をした記事がありますので興味があれば覗いてみてください。 note.com 今回は、アナリスト業務をす…
1年前

マイクロサービス化するならリビルドで!ビジネスロジックをGoで書き直してわかったこと
MonotaRO Tech Blog
この記事では モノタロウがGoとprotobufで進める爆速マイクロサービス開発とそれを支えるプロセス - MonotaRO Tech Blog のうち、主にアーキテクチャにおける詳細について紹介します。 自己紹介 マイクロサービス化について 課題を認識する スコープと技術選定 ゴールイメージを共有する 既存コードから分かった問題点 曖昧なデータ構造 処理フローの混在 アドホックなデータ取得 効果的な改善を行う 処理フローを分割する N+1問題とロジックの独立性を考慮した設計 安全に移行する 実行時のデータを取る 新旧比較による検証 まとめ 自己紹介 藤本 洋一 プラットフォームエンジニアリン…
1年前

基幹システム運用安定化のアプローチ戦略~困難から見つけた解決の糸口~
MonotaRO Tech Blog
こんにちは。コアシステムエンジニアリング部門 商品ドメイングループの流川です。当グループでは商品情報管理基盤の開発・運用を担当しています。 突然ですが、システム刷新後にトラブルが頻発し、頭を抱えたことはありませんか? 慣れ親しんだシステムをいつまでも使い続けたいですよね。社会背景や事業成長と共にシステム刷新を行わなければならない時は必ず来てしまいます。刷新に関わることも大変ですが、本当に大変だったのは運用後だったことを痛感しました。刷新を行うと運用方法も同時に変わってしまい、トラブルが起きがちです。今回は商品点数約2200万点を支えるモノタロウの商品情報管理基盤を刷新した際の経験をもとに、どう…
1年前

効率的にリファクタリングを進めるための下準備教えます
MonotaRO Tech Blog
はじめに ※ (2024/03/14 16:33) 「インテグレーションテストの気軽な実行・変更ができない」節にて、データのクリーンアップを teardownで行うよう修正 EC開発-B グループの岡崎と EC開発-A グループの菊川です。2人とも普段は MonotaRO の EC サイトの開発に従事しています。 今回は、昨年11月に開催した、テストとリファクタリングのためのワークショップの中で行ったライブコーディングの準備をするにあたって困ったことについて記載します。 ライブコーディングでは、参加者全員の前で実際のプロダクトのソースコードをリファクタリングする、ということにし、それにあたって…
1年前

モノタロウがGoとprotobufで進める爆速マイクロサービス開発とそれを支えるプロセス
MonotaRO Tech Blog
こんにちは。モノタロウのTechBlog編集チームです。 モノタロウではECサイトでのお客様体験の向上を目指して、日々改善に取り組んでいます。 商品の出荷目安などの出荷関連情報は重要な要素の1つになります。 今回は、出荷関連情報の正確性を改善するとともにシステムの変更容易性を向上させるためにマイクロサービス化に取り組んだ活動をインタビューしました。 自己紹介 納期表示を高度化する サプライヤ在庫連携機能開発のつらみ AVLのマイクロサービス開発のすすめ方 リリース・監視・その後の展開 おわりに 今回インタビューしたみなさん 自己紹介 山崎 章裕 ECシステムエンジニアリング部門 開発生産性グル…
1年前

モノリシックなAPIでのカナリアリリース導入と開発者の認知負荷を減らすためConfigMapを使わない選択をした話
MonotaRO Tech Blog
こんにちは、プラットフォームエンジニアリング部門コンテナ基盤グループの岡田です。 当社ではECサイトの裏側で利用されているモノリシックなAPIをコンテナ化し、Elastic Kubernetes Service (EKS) に移行しました。 移行直後は下記のようにトラブルに見舞われましたが、現状安定した運用ができています。 EKSコンテナ移行のトラブル事例:推測するな計測せよ -CoreDNS暴走編- - MonotaRO Tech Blog EKSコンテナ移行のトラブル事例:FargateにおけるAZ間通信遅延の解消 - MonotaRO Tech Blog 今回はトラブル事例ではなく活用事…
1年前