m_2kyymのブックマーク (30)

  • Kubernetes Event-driven Autoscaling(KEDA)で実現する夜間・休日のインフラコスト削減 - ZOZO TECH BLOG

    はじめに こんにちは、データシステム部MLOpsブロックの木村です。MLOpsブロックでは、継続的にGoogle Cloudのコスト削減に取り組んでいます。その一環として、夜間や休日といった利用されていない時間帯にも稼働し続けることで発生していた、開発・検証・テスト環境の余分なコストに着目しました。 この課題を解決するために、MLOpsブロックではKubernetes Event-driven Autoscaling(以下KEDA)を導入しました。KEDAは、Kubernetes環境でイベントドリブンによるオートスケールを実現するオープンソースのツールです。KEDAにより利用されていない時間帯のPodを停止させ余分なコストを削減しました。 記事ではKEDAを導入したモチベーションや効果、導入する際に直面した課題や、加えて事故なく番環境へ適用するために工夫した点をご紹介します。KEDAの

    Kubernetes Event-driven Autoscaling(KEDA)で実現する夜間・休日のインフラコスト削減 - ZOZO TECH BLOG
    m_2kyym
    m_2kyym 2025/04/02
  • ZOZOTOWNの推薦システムにおけるA/Bテストの標準化 - ZOZO TECH BLOG

    はじめに こんにちは。データシステム部推薦基盤ブロックの佐藤(@rayuron)と住安(@kosuke_sumiyasu)です。私たちはZOZOTOWNのパーソナライズを実現する推薦システムを開発・運用しています。 ZOZOTOWNでは、様々な改善施策の効果を検証するためにA/Bテストを実施していますが、そのプロセスには多くの工程があり、効率化の余地がありました。記事では、A/Bテストの工程を自動化・標準化し、効率化を図った取り組みについてご紹介します。 はじめに 背景 課題 1. A/Bテスト設計書のテンプレートがない 2. A/Bテストの開催期間が決め打ち 3. 有意差検定をするために手動運用が必要 4. チーム間で集計定義とダッシュボードが複数存在している 5. 施策ごとに新しいダッシュボードを作り直す必要がある 6. システム改修漏れが発生する 解決策 1. A/Bテスト設計書

    ZOZOTOWNの推薦システムにおけるA/Bテストの標準化 - ZOZO TECH BLOG
    m_2kyym
    m_2kyym 2025/03/26
  • ZOZOTOWNホーム画面のパーソナライズ最新アップデート ─ Two-Towerモデルで目指す多様性と受注系指標の向上 - ZOZO TECH BLOG

    はじめに こんにちは。データシステム部推薦基盤ブロックの新卒1年目の上國料(@Kamiko20174481)と、5年目の宮(@tm73rst)です。私たちのチームでは、ZOZOTOWNの推薦システムを開発しています。2024年7月のテックブログでは、ZOZOTOWNのホーム画面に表示される「モジュール」の並び順をパーソナライズする取り組みを紹介しました。 techblog.zozo.com モジュールとは、トレンドやキャンペーンなど特定のテーマに基づき商品群を表示する枠のことです。 モジュールの内容は企画チームの意図に基づいて設定されますが、ユーザーごとに関心や求めるコンセプトが異なるため、一律の表示ではなく最適な順序で並べることが重要です。 このように、ユーザーごとに適したモジュールを配置する仕組みをモジュールパーソナライズと呼びます。記事では、このモジュールパーソナライズの精度を向

    ZOZOTOWNホーム画面のパーソナライズ最新アップデート ─ Two-Towerモデルで目指す多様性と受注系指標の向上 - ZOZO TECH BLOG
    m_2kyym
    m_2kyym 2025/02/19
  • Four Keysを活用してチームの開発生産性を改善した時のふりかえりの考え方と手法を紹介します - ZOZO TECH BLOG

    はじめに こんにちは、データシステム部MLOpsブロックの薄田(@udus122)です。 この記事ではFour Keysなどの指標を活用して、定量的な根拠に基づきチームの開発生産性を改善する考え方とふりかえり手法を紹介します。 Four Keysとはデプロイ頻度、変更のリードタイム、変更障害率、平均修復時間の4つの指標からなるソフトウェアデリバリーや開発生産性の指標です。 Four Keysなど開発生産性の指標を計測し、定期的にふりかえっているけれど、なかなか具体的な改善につながらない。 そんな悩みはないでしょうか? 実際に私たちのチームで抱えていた開発生産性の改善に関する課題と解決策を紹介します。皆さんのチームで開発生産性を改善する際のご参考になれば幸いです。 目次 はじめに 目次 開発生産性の改善に取り組んだ背景 チームの改善に取り組む上での課題 Four Keysの考え方に対する理解

    Four Keysを活用してチームの開発生産性を改善した時のふりかえりの考え方と手法を紹介します - ZOZO TECH BLOG
    m_2kyym
    m_2kyym 2024/10/01
  • Go製CLIツールGatling Commanderによる負荷試験実施の自動化

    負荷テストツール4選!ユーザーが語る効果的なパフォーマンステストのプラクティス!の登壇資料になります。 https://trident-qa.connpass.com/event/326996/

    Go製CLIツールGatling Commanderによる負荷試験実施の自動化
    m_2kyym
    m_2kyym 2024/09/27
  • KubeCon + CloudNativeCon Europe 2024 参加レポート - ZOZO TECH BLOG

    はじめに こんにちは。SRE部フロントSREブロックの三品です。 3月19日から3月22日にかけてKubeCon + CloudNativeCon Europe 2024(以下、KubeCon EUと呼びます)が行われました。今回弊社からはZOZOTOWNのマイクロサービスや基盤に関わるエンジニア、推薦システムに関わるエンジニアの合わせて4人で参加しました。 記事では現地の様子や弊社エンジニアが気になったセッションや現地の様子について紹介していきます。 目次 KubeConEU2024の概要 セッションの紹介 現地の様子 ブースについて 参加に向けてのTips 最後に KubeCon EU 2024の概要 昨年4月にオランダ アムステルダムで行われたKubeCon EUの様子については昨年の参加レポートをご覧ください。 techblog.zozo.com 今年のKubeCon EUはフラ

    KubeCon + CloudNativeCon Europe 2024 参加レポート - ZOZO TECH BLOG
    m_2kyym
    m_2kyym 2024/04/05
  • Google Cloud ComposerでGPUを使ったタスクを安定稼働するために行ったこと - ZOZO TECH BLOG

    はじめに こんにちは、ML・データ部MLOpsブロックの松岡です。 記事ではCloud Composerのワークフローにおいて、GPUを使うタスクで発生したGoogle CloudのGPU枯渇問題と、その解決のために行った対策を紹介します。 ZOZOが運営するZOZOTOWN・WEARでは、特定の商品やコーディネート画像に含まれるアイテムの類似商品を検索する類似アイテム検索機能があります。記事ではこの機能を画像検索と呼びます。 画像検索では類似商品の検索を高速に行うため、画像特徴量の近傍探索Indexを事前に作成しています。近傍探索Indexはワークフローを日次実行して作成しています。 このワークフローでは大きく次のように処理を行っています。 当日追加された商品の情報を取得し、商品情報をもとに商品画像を取得する。 物体検出器で商品画像から商品が存在する座標とカテゴリーを検出する。 検出

    Google Cloud ComposerでGPUを使ったタスクを安定稼働するために行ったこと - ZOZO TECH BLOG
    m_2kyym
    m_2kyym 2023/10/19
  • Terraformとdriftctlで行うGoogle Cloud 権限管理の省力化 - ZOZO TECH BLOG

    はじめに こんにちは、ML・データ部MLOpsブロックの岡です。 MLOpsブロックでは日々複数のGoogle Cloudプロジェクトを管理しています。これらのプロジェクトでは、データサイエンティストやプロジェクトマネージャーなど別チームのメンバーが作業することもあり、必要に応じてメンバーのGoogleアカウントへ権限を付与しています。 権限の付与はプロジェクトの管理者であるMLOpsブロックメンバーが行いますが、これは頻繁に発生する作業でありトイルとなっていました。 また権限付与後はこれらを継続的に管理し、定期的に棚卸しすることで不要になった権限を削除する必要があります。しかし当初の運用だと権限の棚卸しの対応コストが大きく、これが実施されずに不要な権限が残り続けるという課題もありました。 記事ではMLOpsブロックで抱えていたGoogle Cloudプロジェクト内での権限管理における

    Terraformとdriftctlで行うGoogle Cloud 権限管理の省力化 - ZOZO TECH BLOG
    m_2kyym
    m_2kyym 2023/10/02
  • MLOpsマルチテナントクラスタへのArgo CDの導入と運用 - ZOZO TECH BLOG

    はじめに こんにちは。ML・データ部MLOpsブロックの築山(@2kyym)です。 MLOpsブロックでは2022年の上期からArgo CDの導入に着手しました。記事ではArgo CDの導入を検討した背景から導入のメリット、また導入における公式マニフェストへの変更点や、運用において必須である認証や権限管理など、具体的な手順についてご紹介します。少しでもArgo CDの導入を検討している方の助けになれば幸いです。 またArgo CDを導入するきっかけとなった、複数運用していたKubernetesクラスタを1つに集約するマルチテナントクラスタへの移行についても触れます。マルチテナントクラスタの設計や具体的な移行作業については述べると長くなってしまうため、詳細については改めて別の記事にてご紹介できればと思います。 Argo CDについては、昨年の計測SREブロックの記事でも触れられていますので

    MLOpsマルチテナントクラスタへのArgo CDの導入と運用 - ZOZO TECH BLOG
    m_2kyym
    m_2kyym 2023/03/30
  • Vertex AI Pipelinesからの外部通信の通信元IPアドレスをNATで固定する - ZOZO TECH BLOG

    はじめに こんにちは、技術部ML・データ部MLOpsブロックの鹿山(@Ash_Kayamin)です。MLOpsブロックではバッチ実行環境としてVertex AI Pipelinesを用いています。Vertex AI PipelinesはGCPマネージドなKubeflow Pipelinesを提供するサービスで、コンテナ化した処理に依存関係をもたせたパイプラインを定義し実行できます。この記事ではVertex AI Pipelinesで起動するノードからIPアドレス制限があるエンドポイントへ通信するために、NATを利用して通信元IPアドレスを固定した方法と実装のはまりどころについてご紹介します。 Vertex AI Pipelinesの利用例については過去の記事で紹介していますので、併せてご覧ください。 techblog.zozo.com 目次 はじめに 目次 課題:Vertex AI Pi

    Vertex AI Pipelinesからの外部通信の通信元IPアドレスをNATで固定する - ZOZO TECH BLOG
    m_2kyym
    m_2kyym 2023/03/01
  • Knative Servingを用いて多数の開発環境APIを低コストで構築する - ZOZO TECH BLOG

    はじめに こんにちは、技術部ML・データ部MLOpsブロックの鹿山(@Ash_Kayamin)です。先日、20個の開発環境APIを用意し、各APIをリクエストに応じて動的に起動できる仕組みをKnative Servingを用いて構築しました。 この記事ではKnative Servingを利用した背景と、利用方法、はまりどころ、利用によって得られたコスト削減効果についてご紹介します。なお、今回はKubernetesクラスタのバージョンとの互換性の都合でKnativev1.3.1を利用しました。2022/9現在の最新バージョンはv1.7.1になりますのでご注意ください。 目次 はじめに 目次 課題:20個の異なる開発環境APIを低コストで提供したい 解決策:Knative Servingを用いて、リクエストに応じて動的にAPIサーバーを起動する仕組みを導入する Google Cloud上でA

    Knative Servingを用いて多数の開発環境APIを低コストで構築する - ZOZO TECH BLOG
    m_2kyym
    m_2kyym 2022/09/16
    :uooo:
  • Managing Kubernetes Secrets with the External Secrets Operator

    Building Inclusive Mini Golf: A Practical Guide to Accessible XR Development Colby Morgan discusses practical strategies and technical examples for building accessible and inclusive XR experiences. Learn about their core design principles, including accessibility at the start, invisible features, simplicity, and layered depth, using Walkabout Mini Golf as a case study.

    Managing Kubernetes Secrets with the External Secrets Operator
    m_2kyym
    m_2kyym 2022/08/03
    providerの作り方にも一応触れられてる
  • Work with change history  |  BigQuery  |  Google Cloud

    m_2kyym
    m_2kyym 2022/07/09
    bq変更履歴
  • ZOZOTOWNホーム画面におけるパーソナライズの取り組み - ZOZO TECH BLOG

    はじめに こんにちは、ML・データ部推薦基盤ブロックの寺崎(@f6wbl6)と佐藤(@rayuron)です。 ZOZOTOWNのホーム画面は2021年3月にリニューアルされ、「モジュール」と呼ばれる単位で商品が表示されるようになりました。 記事ではユーザーごとにパーソナライズされたモジュール(以降、パーソナライズモジュール)のロジックやシステム構成、および導入時に実施したA/Bテストの内容と結果をご紹介します。 先に結論から言ってしまいますが、今回のパーソナライズモジュールでは機械学習モデルを使わず、ユーザーの回遊行動を分析した結果を元にしたルールベースのロジックを使用しています。記事のポイントは大きく以下の3点です。 ルールベースのパーソナライズロジック 機械学習モデル導入を見越したシステム設計 ホーム画面のパーソナライズによる効果 記事がこれから同様のタスクに取り組む方の参考にな

    ZOZOTOWNホーム画面におけるパーソナライズの取り組み - ZOZO TECH BLOG
    m_2kyym
    m_2kyym 2022/06/20
    :ryosaku:
  • Kubernetes 1.24: gRPC container probes in beta

    m_2kyym
    m_2kyym 2022/05/15
    grpc probe
  • QuarkusによるKubernetes Native Java

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    QuarkusによるKubernetes Native Java
    m_2kyym
    m_2kyym 2022/04/27
    :eyes:
  • FAANSにおけるCloud RunからGKE Autopilotへのリプレイス事例 - ZOZO TECH BLOG

    はじめに こんにちは。ブランドソリューション開発部 WEAR部 SREの笹沢(@sasamuku)です。 FAANSはショップスタッフの効率的な販売をサポートするスタッフ専用ツールです。FAANSの一部機能は既にリリースされており全国の店舗で利用いただいております。正式リリースに向け、WEARと連携したコーディネート投稿機能やその成果をチェックできる機能などを開発中です。 FAANSのコンテナ基盤にはCloud Runを採用しており、昨年にSREとしての取り組みをテックブログでご紹介しました。しかし、運用していく中で機能需要や技術戦略の変遷があり、Cloud RunからGKE Autopilotへリプレイスすることを決めました。記事ではリプレイスの背景と、複数サービスが稼働している状況下でのリプレイス方法についてご紹介します。 目次 はじめに 目次 リプレイスの背景 なぜCloud R

    FAANSにおけるCloud RunからGKE Autopilotへのリプレイス事例 - ZOZO TECH BLOG
    m_2kyym
    m_2kyym 2022/04/17
    :eyes:
  • Kubernetes障害で泣かないための羅針盤、Observabilityを活用したトラブルシューティングフロー大公開

    ※岡、正野、宇都宮はNTTデータ所属 Kubernetesやクラウドネイティブをより便利に利用する技術やツールの概要、使い方を凝縮して紹介する連載「Cloud Nativeチートシート」。前回から複数回に分けて「Observability(オブザーバビリティ)」「可観測性」にフォーカスして解説しています。 Kubernetesを使っていてトラブルが発生したけど、原因究明をどう進めればいいか分からない……ということはありませんか? コンテナを利用したシステムでは、マイクロサービス化が容易なので、コンポーネントやサービスの数が従来のシステムに比べて非常に多くなります。そのため、障害が発生した場合の原因の究明も大変になります。 そこで今回は、「Observabilityでいろいろとデータが取れるのは分かったけど、何からどう見ていけばいいのか分からない」という方向けに、Kubernetesで実

    Kubernetes障害で泣かないための羅針盤、Observabilityを活用したトラブルシューティングフロー大公開
    m_2kyym
    m_2kyym 2022/04/14
  • [アップデート] BigQuery で search index (Preview) が利用可能になりテキストや半構造データを効率的に検索可能に | DevelopersIO

    この様にテーブルが作成されます。 インデックスの作成 search index を作成します。以下のようにCREATE SEARCH INDEX文を入力してRunをクリックします。 CREATE SEARCH INDEX desc_index ON search_index.release_notes(description); INFORMATION_SCHEMA で search index を確認します。 SELECT table_name, index_name, ddl, coverage_percentage FROM search_index.INFORMATION_SCHEMA.SEARCH_INDEXES WHERE index_status = 'ACTIVE'; インデックスを確認するとcoverage_percentageが 0 となっています。これはインデックスを

    [アップデート] BigQuery で search index (Preview) が利用可能になりテキストや半構造データを効率的に検索可能に | DevelopersIO
    m_2kyym
    m_2kyym 2022/04/10
    :eyes:
  • BigQuery Scriptingの便利な使い方をまとめてみた - yasuhisa's blog

    背景 & Disclaimer 自分自身はこれまでBigQuery Scriptingをほぼ使っていませんでした BigQuery自体は3年くらいの利用歴 SQL単発で済ませるのが苦しそうな場合は、Pythonなどのプログラミング言語 + ワークフローエンジンの組み合わせで戦っており、自分としては特に困っていなかった 社内で他の方が使うケースをぼちぼち見ることがある 自分は困っていなくても、社内のBigQueryユーザーでBigQuery Scriptingを使っていて困っている人がそれなりにいる 著者はそれなりのBigQueryユーザーがいる企業のデータ基盤の人間です さすがに「使ったことないので、分からないですねー」で済ませるわけにはいかなくなってきた そもそもどんなユースケースで便利なのかすらも分かっていない状態なので、便利そうに思える場合をまとめてみることにしました というわけで、

    BigQuery Scriptingの便利な使い方をまとめてみた - yasuhisa's blog
    m_2kyym
    m_2kyym 2022/04/03
    使ったことないな