タグ

ブックマーク / tech-blog.monotaro.com (23)

  • 基幹システム運用安定化のアプローチ戦略~困難から見つけた解決の糸口~ - MonotaRO Tech Blog

    こんにちは。コアシステムエンジニアリング部門 商品ドメイングループの流川です。当グループでは商品情報管理基盤の開発・運用を担当しています。 突然ですが、システム刷新後にトラブルが頻発し、頭を抱えたことはありませんか? 慣れ親しんだシステムをいつまでも使い続けたいですよね。社会背景や事業成長と共にシステム刷新を行わなければならない時は必ず来てしまいます。刷新に関わることも大変ですが、当に大変だったのは運用後だったことを痛感しました。刷新を行うと運用方法も同時に変わってしまい、トラブルが起きがちです。今回は商品点数約2200万点を支えるモノタロウの商品情報管理基盤を刷新した際の経験をもとに、どう解決したのか、その手引きをご提供します。 商品情報管理基盤の刷新背景 刷新後のシステム概要図 導入後にトラブルが頻発! 当時の運用担当者の心境とその背景から得た改善ヒント 解決に向けてのアプローチ ポ

    基幹システム運用安定化のアプローチ戦略~困難から見つけた解決の糸口~ - MonotaRO Tech Blog
  • モノリシックなAPIでのカナリアリリース導入と開発者の認知負荷を減らすためConfigMapを使わない選択をした話 - MonotaRO Tech Blog

    こんにちは、プラットフォームエンジニアリング部門コンテナ基盤グループの岡田です。 当社ではECサイトの裏側で利用されているモノリシックなAPIをコンテナ化し、Elastic Kubernetes Service (EKS) に移行しました。 移行直後は下記のようにトラブルに見舞われましたが、現状安定した運用ができています。 EKSコンテナ移行のトラブル事例:推測するな計測せよ -CoreDNS暴走編- - MonotaRO Tech Blog EKSコンテナ移行のトラブル事例:FargateにおけるAZ間通信遅延の解消 - MonotaRO Tech Blog 今回はトラブル事例ではなく活用事例になりますが、アプリケーションリリース起因でのトラブル影響を減らすため、コンテナ化したAPIに対してカナリアリリース導入を行いました。そのため、導入に際して生じたConfigやSecret周りの課題

    モノリシックなAPIでのカナリアリリース導入と開発者の認知負荷を減らすためConfigMapを使わない選択をした話 - MonotaRO Tech Blog
  • 大企業向けビジネスの信頼を支えるために半年かけてゼロからユニットテストを充実させたら、開発者も幸せになった 工夫5選 - MonotaRO Tech Blog

    初めまして、購買ソリューショングループ 運用・機能改善チームの稗田です。当社では自社で運営しているECサイト(モノタロウドットコム)から直接商品をご購入いただく他に、他社の購買システムと連携して商品をご購入いただくシステム(大企業連携システム)があります。こちらの大企業連携システムには多くのバッチ処理があるのですが、これまで自動テストがありませんでした。今回はバッチ処理の障害をきっかけに短期間でユニットテストを充実させるためにした工夫や学んだことをお話しします。 ユニットテストを作らなければいけないと思ったきっかけ 障害発生 担当システムやチームの状況 チームの1人として感じたこと お客様やステークホルダーの信頼を取り戻すために ユニットテストを短期間で作成するためにやった工夫 工夫1: 外部協力会社の力を借りる 工夫2: 課題や目的、ルールをドキュメントで共有する 工夫3: リファレンス

    大企業向けビジネスの信頼を支えるために半年かけてゼロからユニットテストを充実させたら、開発者も幸せになった 工夫5選 - MonotaRO Tech Blog
  • 商品数の増加を見据えて商品情報作成処理をPythonからBigQueryに移行した話 | SQLによるバッチ処理で工夫した3つのポイント - MonotaRO Tech Blog

    こんにちは、EC基盤グループ 商品情報基盤チームの江村です。今回は私が所属している商品情報基盤チームで構築、運用を行っているシステムについてお話します。 モノタロウでは以前から記事になっていますが、検索システムの移行を行っており、現在商品検索ページの裏側の検索システムのSolrからElasticsearchへの切り替え*1が完了しました。 私が所属している商品情報基盤チームではElasticsearch、Spannerに入れるための商品情報の作成とSpannerおよび、Spannerからデータを取得するAPIの運用を行っています。今回はその中でもElasticsearch、SpannerのためのBigQueryでの商品情報作成処理について取り上げます。(詳しい検索部分の構成については以前の記事を参照ください) システム移行の背景 移行による設計ポイント 「MySQL + Python」の処

    商品数の増加を見据えて商品情報作成処理をPythonからBigQueryに移行した話 | SQLによるバッチ処理で工夫した3つのポイント - MonotaRO Tech Blog
  • 一般企業であまり前例がない「認証VLAN」を導入した、その後の学び - MonotaRO Tech Blog

    こんにちは。サービスインフラ-Bグループの宮・高野です。 今回はManabiCon第3回で発表した「梅田オフィスで認証VLANを導入したプロジェクト」について紹介します。 自己紹介 梅田オフィス構築後に発生した問題 前提 フリーアドレス 通信品質の安定 題 そもそもVLANとは何なのか? じゃあ認証VLANとは何なのか? 認証VLANのキーワード「IEEE802.1X」とは? プロジェクト概要 プロジェクト体制 プロジェクトの予定期間 実現したいこと 検証時の苦労 苦労したことその1: 必要機材とテストパターンの洗い出し 苦労したことその2:検証環境の構築 苦労したことその3:VLAN設計変更 苦労したことその4:有線LAN接続時、通信が不安定になる 苦労したことその5:認証VLANを利用しているPCへリモートデスクトップ接続ができない 在宅勤務・出社勤務 802.1X の認証モードに

    一般企業であまり前例がない「認証VLAN」を導入した、その後の学び - MonotaRO Tech Blog
  • 【Elasticsearch】1900万点に及ぶ商品データ作成の時間を約67%短縮できた構成と工夫 - MonotaRO Tech Blog

    初めまして、EC基盤グループ サーチチームの壷井です。 モノタロウでは2019年10月頃より新規検索システムの設計・開発を進め、今年の4月頃にECサイト(monotaro.com) 検索ページの裏側の検索システムを従来のSolrからElasticsearchに100%移行*1しました。この移行は将来の商品点数やリクエスト数の増加を見据えたバックエンドの大規模な改修で、ここまで約2年半ほどプロジェクトを進めてきました。今後もECサイトのすべてのページの完全移行に向け引き続き開発・運用を行っていきます。 今回はこのプロジェクトのなかで私が担当してきたElasticsearchへの日々のデータの洗い替え(日次更新と呼んでいます)ワークフローのシステム構成と工夫などについてお話します。 モノタロウの検索システムの紹介 日次更新のシステム構成 処理の流れ ① リアルタイムデータ同期 ② 日次商品デー

    【Elasticsearch】1900万点に及ぶ商品データ作成の時間を約67%短縮できた構成と工夫 - MonotaRO Tech Blog
  • 求人票の作り方: QAリードを実例に5ステップのフレームワークと中間成果物を公開します - MonotaRO Tech Blog

    こんにちは、鈴木です。 求人票の作成を経験しました。実際に公開した求人票を実例として、どのように考え、どのようなプロセスで、どのような中間成果物を生み出しながら取り組んだのか。具体的な内容を共有します。 「先に知っておきたかった!」と思うものや、検索しても見つからなかったものなど、多くの知見を得ることができました。 それらを公開することで、これから求人票の作成に関わる人のお役に立てれば幸いです。 QAリード採用はじめました はじまりは兄弟会社の組織図 求人票を書こう! ってどうすれば!? 求人票作成のフレームワーク 1. 現在を書き出す 1.1. 思っていることを書き出す 1.2. 現在使っているモノを書き出す 1.3. 現在おこなっているコトを書き出す 2. 未来を書き出す 2.1. 将来おこなっているコトを書き出す 2.2. 将来使っているモノを書き出す 3. その職種が必要な理由を書

    求人票の作り方: QAリードを実例に5ステップのフレームワークと中間成果物を公開します - MonotaRO Tech Blog
  • 8ヵ月間のSoftware Design連載を組織的にバックアップしたノウハウを共有します! - MonotaRO Tech Blog

    こんにちは。モノタロウで開発を担当している河です。2021年7月から2022年2月に技術評論社様で発刊されている Software Design にモノタロウにおけるPython大規模開発に関する取り組みを連載させていただきました。そして無事に8か月分の雑誌連載を完遂することができました。ここでは、雑誌連載プロジェクトの体制やスケジュール、成功させるために取り組んだことについてご紹介します。 Software Designの記事の再紹介 連載のきっかけと狙い プロジェクト体制 スケジュール プロジェクトを成功させるために取り組んだこと さいごに Software Designの記事の再紹介 全8回の連載のテーマは「Python」、「大規模」、「レガシー」の3柱でした。 連載してきた記事は以下になります。 第1回 Software Design連載 2021年8月号 Python製のレガ

    8ヵ月間のSoftware Design連載を組織的にバックアップしたノウハウを共有します! - MonotaRO Tech Blog
  • SRE導入: システムを安定させる4000万円の魔法の壺 - MonotaRO Tech Blog

    こんにちは。鈴木です。 ここにシステムを安定させる4000万円の魔法の壺があるとします。 あなたなら買いますか。 はじめに SREやればいいのに 4000万円の魔法の壺 なぜモノタロウはSREに取り組むのか 10分落ちると数百万円、数千万円の影響が出る 不安定なシステムを札束でしばいたことがある 大規模化・複雑化が旧来の運用方法を無効化する SREの導入による効果 会話の中に「SLO」が登場するようになった システムの状態を深く理解できるようになった オンコールの初動対応が早く精緻になった SREの難しさ 組織横断的な活動の難しさ 安定的に時間を使うことの難しさ 利用するツールやサービスの難しさ どのようにSREを導入したのか Googleの最新SREを学んだ CUJを定義した SLIとSLOを定義した Cloud Monitoringでダッシュボードを作成した 役に立つかもしれない話 可

    SRE導入: システムを安定させる4000万円の魔法の壺 - MonotaRO Tech Blog
  • 66分かかる同期処理を10分以内に短縮せよ!~商品情報同期システムでの、処理速度と運用の改善~ - MonotaRO Tech Blog

    はじめに この記事では、モノタロウの基幹系を構成するシステムの一つである、商品情報管理システム(PIM:Product Information Management システム)の導入プロジェクトで、商品情報を基幹系と同期するシステム(商品情報同期機能)の性能や運用環境の改善を行った話をご紹介します。 背景 モノタロウの基幹系は、長年内製のシステムで支えられてきました。基幹系のシステムは、少数のWebアプリケーションと多数のバッチから構成されています。中でも商品情報の管理に関するシステムは、在庫や仕入先に関するシステムと一体化していて、商品情報に関する数多くのマスタメンテナンス画面を備えたやや複雑なシステムです(図1)。 図1 基幹系の概略図 当社のシステムは、もともと自分たちのビジネスに必要な機能を提供する手頃なパッケージ製品がなかったため、すべてを内製でまかなってきたという経緯があります

    66分かかる同期処理を10分以内に短縮せよ!~商品情報同期システムでの、処理速度と運用の改善~ - MonotaRO Tech Blog
  • DMBOKを用いたアセスメントでデータマネジメントを加速させる - MonotaRO Tech Blog

    こんにちは、データ基盤グループの吉田(id:syou6162)です。データ基盤やデータマネジメントに興味を持たれている方はDMBOKを持っている / 読んだことがあるという方も多いのではないでしょうか。このエントリではDMBOK中に紹介されているデータマネジメント成熟度アセスメント(以下、アセスメントと省略)をモノタロウでどう活用しているかについて紹介します。 背景 初手: 自社のデータ基盤の歴史を振り返る アセスメントの実施 データ活用者 / システム提供者 / 意思決定者へのヒアリングの実施 アセスメントを実施した結果 最後に 背景 まず、モノタロウでなぜアセスメントを行なったかについて説明します。モノタロウは20年以上歴史のある企業であり、データ基盤自体も10年以上の歴史があります。単一事業ではあるものの、受注 / 売上 / 商品 / 在庫 / 顧客 / 行動履歴など、対象となるドメ

    DMBOKを用いたアセスメントでデータマネジメントを加速させる - MonotaRO Tech Blog
  • 全社員からデータ基盤への問い合わせが殺到して2人では捌けなくなったので仕組みで解決する話〜datatech-jp Casual Talks #2 登壇後記〜 - MonotaRO Tech Blog

    データ基盤グループの吉です。 今回は先日開催されたdatatech-jp Casual Talksで登壇した内容について補足も含め紹介します。 datatech-jp.connpass.com 発表資料はこちらです。 データ基盤に関わる問い合わせ対応を仕組みで解決する from 株式会社MonotaRO Tech Team www.slideshare.net 発表内容の背景(問い合わせ対応における課題) 発表したこと 発表の反響 最後に datatech-jpは主にデータエンジニアリングやデータ活用に関わる方が参加するコミュニティで、DWHやデータマネジメント、データエンジニアリングに関わる技術、ツールなどについて知見を共有したり、輪読会やLT会のようなイベントを実施しています。 オーガナイザーとして同社同僚の吉田(id:syou6162)が参加しています。 その中でCasual

    全社員からデータ基盤への問い合わせが殺到して2人では捌けなくなったので仕組みで解決する話〜datatech-jp Casual Talks #2 登壇後記〜 - MonotaRO Tech Blog
  • Cron→Rundeckに乗り換えた話 - MonotaRO Tech Blog

    こんにちは。MonotaROで商品管理や受発注システムの開発を担当している中尾です。 この度、これまでcronで実行していたジョブに対してRundeckを導入し、ジョブのスケジュール管理を効率化することができましたので、導入にあたって苦労した点とその解消方法を中心に紹介いたします。 Rundeck導入の背景 Cronの限界を感じた 過去にも導入しようとしたが・・・ Rundeck導入において苦労した点 Rundeckが落ちた場合の対応の検討 GitでのRundeckジョブのバージョン管理 導入してよかったこと 複数のサーバーに跨ってジョブフローが組めること Cron式が使えること 重複起動制御ができること まとめ Rundeck導入の背景 Cronの限界を感じた MonotaROでは「注文を倉庫に連携する」、「商品の発注を自動で行う」といった様々なバッチ処理が、細かいものも含めると1日数千

    Cron→Rundeckに乗り換えた話 - MonotaRO Tech Blog
  • 「Magento」を使って1,400万商品を取り扱えるように越境ECサイトをパワーアップした話 - MonotaRO Tech Blog

    モノタロウで海外向けのECサイト開発を担当している山田です。Tech Blogでは、これまでに国内サイトの開発・運用を効率化する様々な取り組みを紹介してきましたが、今回はモノタロウの海外事業に関する取り組みについて、特に、Magentoを活用したモノタロウの越境ECサイト開発と運用にスポットを当てて紹介します。 MonotaROの海外事業 MonotaROの東南アジア向け越境ECビジネスについて Magentoとは Magentoで越境ECサイトをリプレイスした背景 Magentoによるサイト開発・運用の効率化事例 エクステンション導入による開発の高速化 ベスト・プラクティスに沿った開発手法の提供 カスタマイズに対して堅牢性の高いアーキテクチャを提供 効率的に開発が行えるコーディング手法の提供 品質保証のための枠組みをデフォルトで提供 公式ドキュメントの活用によるMagentoの効率的な学

    「Magento」を使って1,400万商品を取り扱えるように越境ECサイトをパワーアップした話 - MonotaRO Tech Blog
  • データ管理に役立つメタデータに関する勉強会を社内外で開催しました - MonotaRO Tech Blog

    こんにちは、データ基盤グループの吉田(id:syou6162)です。先日、モノタロウ社内で「データ管理に役立つメタデータ」に関する勉強会を開催しました。BigQueryのINFORMATION_SCHEMAを中心とした実例を豊富に盛り込んだ内容について話したのですが、社内に限らず有用な内容であると思うので、広く公開します。 開催に至った背景 モノタロウ社内では広くデータ活用が進んでおり、GCPプロジェクトは数百以上運用され、その中の多くのプロジェクトでBigQueryも使われています。社内に広く提供するDWHやセキュリティなど全社的なデータ基盤に関することはデータ基盤グループが運用/管理を行なっていますが、社内のGCPプロジェクト全てのデータ管理にデータ基盤グループが深く関わっていくのは工数的に困難です*1。 INFORMATION_SCHEMAなどデータ管理に役に立つメタデータのノウハ

    データ管理に役立つメタデータに関する勉強会を社内外で開催しました - MonotaRO Tech Blog
  • Software Design連載 2022年1月号 運用監視の解像度アップとサービス横断的なログ基盤の整備 - MonotaRO Tech Blog

    こんにちは。中山(id:yoichi22) です Software Designに連載させていただいております「Pythonモダン化計画」では、モノタロウの社内事例から読者の皆様のお役に立ちそうな取り組みを紹介させていただいています。のですが、社内でも隣のチームがやってた取り組みを記事で初めて知ることもあって、私も読者として楽しませてもらっています。隣の執筆者さんありがとうございます。 今回は、運用にまつわる監視とログの話題です。記事の初出は、Software Design2022年1月号「Pythonモダン化計画(第6回)」になります。過去の連載記事は以下を参照ください。 第1回 Software Design連載 2021年8月号 Python製のレガシー&大規模システムをどうリファクタリングするか 第2回 Software Design連載 2021年9月号 「テストが無い」からの

    Software Design連載 2022年1月号 運用監視の解像度アップとサービス横断的なログ基盤の整備 - MonotaRO Tech Blog
  • Software Design連載 2021年12月号 リリース作業とエラー追跡の改善 - MonotaRO Tech Blog

    新年あけましておめでとうございます。モノタロウでエンジニアをしております大西です。年もよろしくお願いいたします。 年もMonotaRO Tech Blogでは社内の様々な取り組みを定期的に更新して参りますので、お時間の空いた際にお読み頂けると嬉しく思います。皆様のお役に少しでも立つことができれば幸いです。 今回は、リリースにかかる時間の増加や、リリースに関する作業の属人化を体制変更によって解消した経緯と、大規模な開発体制におけるリリース作業や監視業務でのエラーやアラートの管理方法についてご紹介します。 記事の初出は、 Software Design2021年12月号「Pythonモダン化計画(第5回)」になります。 過去の連載記事は以下を参照ください。 第1回 Software Design連載 2021年8月号 Python製のレガシー&大規模システムをどうリファクタリングするか

    Software Design連載 2021年12月号 リリース作業とエラー追跡の改善 - MonotaRO Tech Blog
  • 10年エンジニアリングマネージャーをやって気づいた4つの大事なポイント 【EMはもっと自由でいい】 - MonotaRO Tech Blog

    はじめに ※この記事はEngineering Manager Advent Calendar の22日目の記事になります。前日はmtx2sさんの技術的負債に対するマネジメントの記事でした。個人的には「負債上限」「負債ベースライン」の考え方良かったです。 こんにちは。モノタロウでエンジニア組織のマネージャーをしております普川(@taipuka0)です。 自分は前職から通算10年以上してエンジニアリングマネージャーを続けた後、現在モノタロウでは8人のEMのみなさんと日々ソフトウェア・エンジニアリングの現場でマネージャーとして課題解決に向き合っています。これまで色々な壁にあたり、試行錯誤を繰り返して来ました。EMの難しさを痛感したことも多々ありました。 なぜEMが難しいのか?その一つとして、エンジニアからEMにジョブチェンジした際のギャップというのがあると思います。同じチーム、現場にいたとしても

    10年エンジニアリングマネージャーをやって気づいた4つの大事なポイント 【EMはもっと自由でいい】 - MonotaRO Tech Blog
  • MonotaROのデータ基盤10年史(前編) - MonotaRO Tech Blog

    おしらせ:12/23 に後編記事がでました! tech-blog.monotaro.com こんにちは、データ基盤グループの香川です。 現在モノタロウではBigQueryに社内のデータを集約し、データ基盤を構築しています。 およそ全従業員の6割が日々データ基盤を利用しており、利用方法や目的は多岐に渡ります。 データ基盤グループはこれまでデータ基盤システムの開発保守と利用者のサポートを主な業務として取り組んできましたが、これら多岐にわたる社内のデータ利用における課題の解決及びさらなるデータ活用の高度化を目的として、今年の5月よりデータ管理を専門に行う組織として新たに体制を再構築しました。 そこで改めて組織として取り組むべき課題や方向性を決めるために、まず自分たちの現在地を知ることが重要と考え、データ基盤の歴史を振り返り、社内のデータ活用における課題やそれを取り巻く状況がどう変わってきたのかを

    MonotaROのデータ基盤10年史(前編) - MonotaRO Tech Blog
  • Software Design連載 2021年10月号 スナップショットテストの可能性を追求する - MonotaRO Tech Blog

    こんにちは、辰巳です。 第3回は「スナップショットテスト」をテーマにお送りします! 「組織が拡大する中で、十分な設計情報がない状況でも、複雑に改修が積み重なったソフトウェアをいかに安全かつ正確に変更できるか?」 記事では、数多くの大幅なシステム変更の経験を経て、この課題に対してモノタロウがいま実践しているグッドプラクティスを紹介します。 記事の初出は、 Software Design2021年10月号「Pythonモダン化計画(第3回)」になります。過去の連載記事は以下を参照ください。 第1回 Software Design連載 2021年8月号 Python製のレガシー&大規模システムをどうリファクタリングするか 第2回 Software Design連載 2021年9月号 「テストが無い」からの脱却 スナップショットテストの可能性を追求する モノタロウは、事業者向けの間接資材を販売

    Software Design連載 2021年10月号 スナップショットテストの可能性を追求する - MonotaRO Tech Blog