2022-01-01から1年間の記事一覧

アドベントカレンダー 記事175本公開 - 年末恒例アウトプット強化月間

ZOZO CTOブロックの@ikkouです。もうすぐ2022年も終わりますね。皆さんは師走のイベント、「アドベントカレンダー」に参加しましたか? ZOZOは例年アドベントカレンダーに参加していて、2020年は計100本、2021年は計125本、そして今年は昨年以上となる計175…

ElasticOn Tokyo 2022参加レポート〜エンジニア登壇とセッション紹介〜

本記事では弊社エンジニアによるElasticOn Tokyo2022登壇の様子や気になったセッションについて紹介しています。

AWS re:Invent 2022 参加レポート(ラスベガスの写真と厳選したセッション情報をお届けします!)

こんにちは。SRE部 ECプラットフォーム基盤SREブロックの高塚です。 11/28〜12/2に開催されたAWS re:Invent 2022に、ZOZOのエンジニア10名が参加しました。アドベントカレンダーの1日目ではHave Funイベントなどを紹介しましたが、この記事では現地の様子と…

Argo CD Resource Hookを活用したKubernetes環境での負荷試験自動化の取り組み

はじめに こんにちは、計測プラットフォーム開発本部SREブロックの渡辺です。普段はZOZOMATやZOZOGLASSなどの計測技術に関わるシステムの開発、運用に携わっています。 先日私達のチームでは、リリースフローにステージング環境での負荷試験を自動化する取り…

ZOZOFITのアーキテクチャ設計とシステム構築時の裏話

はじめに こんにちは、計測プラットフォーム開発本部SREブロックの近藤です。普段はZOZOMATやZOZOGLASSなどの計測技術に関わるシステムの開発、運用に携わっています。 今年の夏に、ZOZOFITというサービスがローンチされました。このサービスは米国での展開…

Chatworkさんと合同でCQRS Meetup【Chatwork × ZOZO】を開催しました #cqrsmeetup

はじめに ZOZOMO部プロダクト開発ブロックの木目沢です。 11/25にZOZOとChatworkさん合同でCQRSをテーマにしたCQRS Meetup【Chatwork × ZOZO】を開催しました。 zozotech-inc.connpass.com

BigQueryのストレージ料金プランを変更して、年間数千万円を節約する

こんにちは、最近気になるニュースはサザエの学名が数年前に初めて命名されたこと1な、MLデータ部データ基盤ブロックの塩崎です。BigQueryのストレージに関する新料金プランが先日発表されたので、その検証をしました。我々の環境では年間で数千万円という費…

KubeCon + CloudNativeCon North America 2022参加レポート〜3年ぶりのアメリカ現地開催の様子とセッション紹介〜

こんにちは。計測システム部SREブロックの西郷です。 10月24日から10月28日にかけてKubeCon + CloudNativeCon North America 2022(以下、KubeCon)が行われました。今回弊社からはWEARやZOZOTOWNのマイクロサービス基盤、計測システムに関わるメンバー7名で…

Argo Rolloutsを導入してカナリアリリースを実現する

はじめに こんにちは。計測プラットフォーム開発本部SREブロックの纐纈です。今年の4月に入社し、ZOZOMATやZOZOGLASSの運用改善に取り組んでいます。また、今年の夏US向けにZOZOFITをリリースしましたが、そちらの機能追加にも今後関わっていく予定です。 計…

Kubernetes External SecretsからExternal Secrets Operatorに移行した話 〜他ツールとの比較・移行戦略・工夫したポイント〜

はじめに こんにちは、SRE部ECプラットフォーム基盤SREブロックの織田です。普段は主にZOZOTOWNのリプレイスやインフラを改善、運用しています。 本記事では、Secret管理コンポーネントであるKubernetes External Secrets(以降、KESと表記)の非推奨を受け…

DroidKaigi 2022参加レポート 〜CfSレビュー会、エンジニア登壇、After DroidKaigiまで〜

こんにちは! 計測プラットフォーム本部でiOS/Androidアプリ開発をしている寺田(@tama_Ud)です。 2022年10月5日から7日にかけて、「DroidKaigi 2022」が開催されましたね! ZOZOはGOLD SPONSORとして協賛し、オフライン会場にてスポンサーブースの出展をし…

Kubernetesネイティブなワークフローエンジンとは!FAANSでArgo Workflowsを導入した話

はじめに こんにちは。ブランドソリューション開発本部 バックエンド部 SREの笹沢(@sasamuku)です。 ZOZOではショップスタッフの販売サポートツール「FAANS」を2022年8月に正式リリースしました。FAANSはアパレルのショップスタッフ様を支援する様々な機能…

カナリアリリースを自動化!Flaggerでプログレッシブデリバリーを実現した話

はじめに こんにちは。SRE部ECプラットフォーム基盤SREブロックの大澤と立花です。 本記事ではマイクロサービスのカナリアリリースに関して私達が抱えていた課題と、それをFlaggerによるプログレッシブデリバリー導入でどのように改善したのかを紹介します。…

ZOZOTOWNのGo言語におけるマイクロサービス開発の共通規約を守るための取り組み

はじめに こんにちは。ECプラットフォーム部の北原です。普段はZOZOTOWNのバックエンドの開発、運用に携わっており、現在は会員機能を司るマイクロサービスの開発を進めています。 今回はZOZOTOWNのGo言語におけるマイクロサービス開発の共通規約を守るため…

運用改善によるチームパフォーマンス向上のための取り組み

こんにちは。ブランドソリューション開発本部フロントエンド部の御立田です。フロントエンド部の部長とWEAR Androidのブロック長を兼任しており、普段は部署全体の管理・リスクマネジメントや、Android開発における設計などを行っております。 本記事では、…

ハイブリッド開催に完全対応! iOSDC Japan 2022参加レポート

はじめに こんにちは、ZOZOTOWN開発本部の松井とZOZO NEXTの木下です。9/10から9/12までの3日間、iOSDC Japan 2022が開催されました。ZOZOグループからは6名が登壇、20名以上が参加しました。またプラチナスポンサーとして協賛しました。 technote.zozo.com …

サジェスト機能の改善を評価する社内ツールの紹介

はじめに こんにちは。検索基盤部の倉澤です。 私たちは、ZOZOTOWNの検索機能の改善に取り組んでいます。ZOZOTOWNには、ユーザーが検索クエリを入力した際に、候補となるキーワードを表示するサジェスト機能があります。 今回はこのサジェスト機能の改善を効…

Testcontainersを利用してIntegrationTestを改善する

はじめに こんにちは、マイグレーションチームの寺嶋です。 本記事では、ZOZOTOWNのマイクロサービスにおけるデータベースを参照したユニットテストの改善で得られた知見や工夫について紹介します。 背景と課題 ZOZOTOWNでは、数年前からリプレイスプロジェ…

XMLで書かれたUIをJetpack Composeで書き換える手順の紹介

はじめに ブランドソリューション開発本部フロントエンド部FAANSの山田(@yshogo87)です。 本投稿では、すでにXMLで書かれたレイアウトをJetpack Composeにリファクタリングした理由とその手順について紹介します。 リファクタリングする画面の問題点 FAANS…

WEARにおけるSLOを用いた信頼性改善の取り組み

こんにちは、WEAR部バックエンドブロックの小山とSREブロックの繁谷です。 WEARでは日々システムの信頼性を向上させるため改善に取り組んでいます。今回はその中でもSLOに基づいた改善について紹介いたします。 WEARリプレイスの歩み WEARでは2019年から本格…

RubyKaigi 2022参加レポート 〜エンジニアによるセッション紹介〜

こんにちは!バックエンドチームマネージャーの@tsuwatchです! 2022/9/8〜10に三重県にて開催されたRubyKaigi 2022でプラチナスポンサーとして協賛し、スポンサーブースを出展しました。 technote.zozo.com technote.zozo.com 弊社からはWEARを開発するバッ…

ZOZOTOWNホーム画面におけるログ設計と改善サイクルの紹介

はじめに こんにちは、ML・データ部推薦基盤ブロックの宮本(@tm73rst)です。普段は主にZOZOTOWNのホーム画面や商品ページにおいて、データ活用やレコメンド改善のプロダクトマネジメントを行っております。 近年ビックデータ社会と言われる中、データドリ…

WEARにおけるPUSH通知システムのリプレイス

こんにちは、WEARバックエンドブロックの天春(@AmagA001)です。バックエンドの運用・開発に携わっています。WEARはサービス開始から10年ほどの古いVBScriptを使った環境からRuby on Rails環境にシステムリプレイスを行なっています。本記事では、リプレイ…

Knative Servingを用いて多数の開発環境APIを低コストで構築する

はじめに こんにちは、技術本部ML・データ部MLOpsブロックの鹿山(@Ash_Kayamin)です。先日、20個の開発環境APIを用意し、各APIをリクエストに応じて動的に起動できる仕組みをKnative Servingを用いて構築しました。 この記事ではKnative Servingを利用した…

全社共通データ基盤を廃止して新しいデータ基盤に引越した話

こんにちは、データ基盤の開発、運用をしていた谷口(case-k)です。最近は配信基盤の開発と運用をしています。 ZOZOではオンプレやクラウドにあるデータをBigQueryへ連携し、分析やシステムで活用しています。BigQueryに連携されたテーブルは共通データ基盤…

ZOZOTOWN Webフロントエンドリプレイスにおける CSS in JS の技術選定で Emotion を選定した話

はじめに こんにちは。ZOZOTOWN開発本部フロントエンドの菊地(@hiro0218)です。 現在、ZOZOTOWNではWebフロントエンド技術のリプレイスプロジェクトが進行しています1。本記事では、WebフロントエンドのリプレイスでCSS in JSの技術選定をした際の背景や課…

Argo CD導入設計とリリースフロー改善の取り組み

はじめに こんにちは、計測プラットフォーム開発本部SREブロックの渡辺です。普段はZOZOMATやZOZOGLASSなどの計測技術に関わるシステムの開発、運用に携わっています。 先日私達のチームでは、EKS環境にArgo CDを導入し、デプロイパイプラインのリアーキテク…

ZOZOTOWN Androidチームにおけるコードメトリクスとビルド時間計測の取り組み

はじめに ZOZOTOWN開発本部 ZOZOTOWNアプリ部 Android2ブロックの高橋です。 ZOZOTOWN Androidチームでは、リファクタリングやビルド速度改善の取り組みを継続的に行なっています。本記事では、それらの取り組みの効果を可視化するために導入した、コードメ…

CIOpsからGitOpsへ。Flux2でマイクロサービスのデプロイを爆速にした話

はじめに こんにちは。SRE部の巣立(@ksudate)です。 ZOZOTOWNのマイクロサービス基盤では、GitHub Actionsを利用したCDパイプラインを構築しています。しかし、管理するマイクロサービスが増えるにつれて運用負荷が高まりつつありました。 本記事では、ZOZ…

SQL ServerのCDCを用いた加熱商品の販売イベントにおける負荷軽減の取り組み

ZOZOTOWNの加熱商品発売イベントにおける負荷軽減対策の歴史を振り返り、直近の取り組みであるSQL ServerのCDCを用いた検証結果をご紹介します。

カテゴリー