タグ

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

  • EKSコンテナ移行のトラブル事例:FargateにおけるAZ間通信遅延の解消 - MonotaRO Tech Blog

    こんにちは!SREグループ コンテナ化推進チームの楠です。 EKSへのコンテナ移行では、これまで紹介した記事以外にも様々なトラブルがありました。 EKSコンテナ移行のトラブル事例:ALBの設定とPodのライフサイクル管理 - MonotaRO Tech Blog EKSコンテナ移行のトラブル事例:推測するな計測せよ -CoreDNS暴走編- - MonotaRO Tech Blog 今回のトラブルでは、コンテナ移行に伴ってSLOが未達状態になりエラーバジェットを急激に消費してしまいました。 その対策としてマルチAZ間の通信遅延の解消をEKS on Fargateで実施したお話をご紹介します。 先に断っておくと私自身がアプリケーション開発者だったため、 インフラの話は都度インフラの方からサポートを受けながら対応しました。そのためズレている点などあればご了承ください。 VMからEKS on

    EKSコンテナ移行のトラブル事例:FargateにおけるAZ間通信遅延の解消 - MonotaRO Tech Blog
  • あえて手動アップグレードを選ぶ〜マネージドサービス(GKE)で手作業による対応をした話〜 - MonotaRO Tech Blog

    こんにちは。データ基盤グループ データエンジニアリングチームの宮口です。 この記事ではGoogle Cloud Platform(以下、GCP)のサービスの1つであるGoogle Kubernetes Engine(以下、GKE)のクラスタを手動アップグレードした話を紹介します。 私が所属するデータエンジニアリングチームでは、社内システムに保存されたデータをGCPのBigQueryにニアリアルタイムで同期するシステムや、BigQueryに保存されている大容量のデータを低レイテンシなAPIとして提供するシステムなど、モノタロウのビジネスを裏側で支えるシステムの管理を行っています。それらのシステムは全てのコンポーネントをコンテナ化しており、その実行環境としてGKEを採用しています。 また、それとは別に社内でGKE共通環境と呼んでいる、マルチテナント方式のクラスタによるアプリケーション実行基盤を

    あえて手動アップグレードを選ぶ〜マネージドサービス(GKE)で手作業による対応をした話〜 - MonotaRO Tech Blog
  • EKSコンテナ移行のトラブル事例:ALBの設定とPodのライフサイクル管理 - MonotaRO Tech Blog

    こんにちは、SREグループの岡田です。 モノタロウではモノタロウのクラウドネイティブ化の取り組みについて - MonotaRO Tech Blog にも記載されているようにシステムのモダナイズに取り組んでおり、その一環でEKSのPoCそして実際にECサイトの裏側のAPIを対象にコンテナ化に取り組みました。 この記事では移行時に起こったトラブルとハマったポイントの1事例をご紹介します。 前提 起こったトラブル トラブルシュート 1. 問題の整理と仮説 2. 検証 検証1.Podのステータスがterminate状態になってから削除されるまでの時間を変えてみる。 検証2.Pod Readiness Gateを試す。 検証3. ALBのDeregistration delay(登録解除までの待機時間)を短くしてみる。 分かった事 ALBを含めたPod入れ替え時の挙動 EKSにおけるトラブルシュート

    EKSコンテナ移行のトラブル事例:ALBの設定とPodのライフサイクル管理 - MonotaRO Tech Blog
  • 「モノタロウの1900万商品を検索するElasticsearch構築運用事例」のポイント深掘り〜第50回 Elasticsearch勉強会後記〜 - MonotaRO Tech Blog

    こんにちは。 EC基盤グループ サーチチームの 山村です。 この記事は、 Elastic Stack (Elasticsearch) Advent Calendar 2022 の 23日目です。 2か月ほど前になりますが、2022年10月26日に実施された 第50回 Elasticsearch勉強会 で発表させていただきました。 私が外部での発表するのは、2016年6月のSolr勉強会 以来で、非常に緊張しました。 日々の業務にかまけて、ブログが後回しになっていたことで大変遅くなってしまいましたが、上記の発表で話した内容とスライド資料から、話したかったポイントを抜粋するとともに、勉強会で不足していた部分について補足をします。 当日、発表を終えたところで気が抜けてしまい、Twitter で頂いていた質問に満足に答えられませんでしたので、この場で補足説明を含めて出来るだけ回答したいと思います。

    「モノタロウの1900万商品を検索するElasticsearch構築運用事例」のポイント深掘り〜第50回 Elasticsearch勉強会後記〜 - MonotaRO Tech Blog
  • 半年デプロイ改善を継続して見えてきた「成果」 ~モノタロウのカナリアリリース導入のその後 - MonotaRO Tech Blog

    ※この記事は 開発生産性 Advent Calendar 2022 カレンダー2 の20日目の記事です。 前回記事の16日目は nakayamaatsushiさんの 『Findy Team+ Award 受賞の裏側~開発生産性向上の取り組みを振り返る~』でした。計測した開発指標をどのように開発生産性向上に結び付けているのか、具体的なアクション事例が紹介されており非常に参考になりました! この記事の内容 カナリアリリースを導入しました やってみての感想 うまくいったこと デプロイ頻度が上がる 番で発覚するバグのユーザー影響を抑えられる 試しやすくなる 期待通りじゃなかったこと 開発リードタイムが短縮される⇒それほどでもない 機能開発のスループットがあがる⇒べつに上がらない マージが分散することで、衝突が起こりづらくなる⇒ならない 番環境での不具合は発生しなくなる⇒そうとはいいきれない わ

    半年デプロイ改善を継続して見えてきた「成果」 ~モノタロウのカナリアリリース導入のその後 - MonotaRO Tech Blog
  • 100人規模のエンジニア組織で DevOps Four Keys を導入し、アジリティー向上を目指した取り組み - MonotaRO Tech Blog

    ※この記事は 開発生産性 Advent Calendar 2022 のカレンダー2の13日目の記事になります。 前回は1日目は hiroshinishio さんの 『より筋肉質なチームにするために、開発者が見るべき21のDevOpsアウトプット指標』 で、個人的には指標それぞれの分析や改善の方法が書かれていて勉強になりました。 こんにちは。 モノタロウで主に DevOps エンジニアとして活動している伊藤です。 休日はジムに節制した事、サウナと健康を意識するおじさんとしても活動しています。 (最近だと渋谷の改良湯さんのサウナと外気浴スペースの具合が最高でととのいました) 今回は DevOps Four Keys*1 (以降 4keys と呼称) というソフトウェア開発チームのパフォーマンスを示す4つの指標を導入し、部門の目標として掲げたここ1年の取り組みを紹介できればと思います。 背景

    100人規模のエンジニア組織で DevOps Four Keys を導入し、アジリティー向上を目指した取り組み - MonotaRO Tech Blog
  • 大規模アプリケーション開発運用をマルチテナント方式のGKEクラスタで実現した話 - MonotaRO Tech Blog

    こんにちは。EC基盤グループの宮口(@smiyaguchi)と池田(@progrhyme)です。 モノタロウではKubernetesのマネージドサービスであるGoogle Kubernetes Engine(以下、GKE)を利用しています。 このKubernetesですがとても便利な反面、管理が大変で開発者がアプリケーションの開発とKubernetesの運用を同時に行うのは負荷が高くなりあまり好ましくありません。 そこでモノタロウでは開発と運用を分離できるように、社内でGKE共通環境と呼んでいるマルチテナント方式のクラスタによるアプリケーションの実行基盤を構築しました。 今回はその紹介をします。 マルチテナント・シングルテナントとは? なぜマルチテナントのGKE環境を作ることにしたのか 全体概要 前提・環境情報 GKE共通環境の特徴 Namespace・ノードプールの分離 RBACによる権

    大規模アプリケーション開発運用をマルチテナント方式のGKEクラスタで実現した話 - MonotaRO Tech Blog
  • Software Design連載 2021年9月号 「テストが無い」からの脱却 - MonotaRO Tech Blog

    こんにちは、鈴木です。 「テストが無い」状態を脱却しました。 「いつの時代かよ!」と突っ込まれるかもしれませんが、モノタロウは創業から 20 年ほど EC をやっています。昨日書いたコードも、15 年前に書いたコードも、元気にビジネスを支えています。 記事ではモノタロウの EC を支える API の話をします。「テストが無い」状態がスタートラインでした。そこから、CI を導入して、ローカル開発環境の整備して、テストコードを書いて、リリースマネジメントを導入しました。 目新しいことは書きません。長寿の大規模システムであっても、愚直に数年取り組むことで、「前進できる!」「変えられる!」という実例を書きます。 ※記事の初出は、 Software Design2021年9月号「Pythonモダン化計画(第2回)」になります。第1回の記事は「Software Design連載 2021年8月号

    Software Design連載 2021年9月号 「テストが無い」からの脱却 - MonotaRO Tech Blog
  • 20 万行超のコードベースをテストせずにリファクタリングリリースした話 - MonotaRO Tech Blog

    こんにちは、鈴木です。 20 万行を超えるアプリケーションのほとんど全てのソースコードを変更し、テストを行わずに番リリースしました。 「それってテストいるんですか?」問題 いきなりですが質問です。ソースコードを 1 バイトでも変更したら再テストする必要はあるでしょうか。「絶対に再テストすべき」という方もいれば、「状況によるしケースバイケースかな・・」という方もいらっしゃると思います。 ケースバイケースと考える方は、どのような場合にテストを行わなくて良いと考えるでしょうか。例えば、コメント内の誤字を修正した場合はどうでしょうか。ローカル変数の名前を typo していたので修正した場合、デッドコードを削除した場合はどうでしょうか。 こんなことがありました ある日、Python のソースコードを眺めていると、「# $Id」のような CVS 時代のコメントがありました。いまやソースコードは Gi

    20 万行超のコードベースをテストせずにリファクタリングリリースした話 - MonotaRO Tech Blog
  • 1