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

ZOZOTOWNで最大級のイベントである新春セールを乗り越えるための負荷試験とその効果

はじめに こんにちは、SRE部の秋田と伊藤です。普段はZOZOTOWNのオンプレミスとクラウドの運用・保守・構築に携わっています。 新春セールはZOZOTOWNの中でも最も力を入れているイベントの1つであり、セール開始直後は毎年最大級のアクセスやトラフィックが…

BigQueryで時を遡って過去のテーブルを再構成する

はじめに こんにちは、データシステム部データ基盤ブロックSREの纐纈です。 本記事では、過去に遡ってBigQueryのデータを参照する方法(以下、タイムトラベルと呼びます)をご紹介します。また、この機能はBigQueryが提供している、変更または削除されたデー…

【オンラインMeetup イベントレポート】ZOZO Tech Talk #5 - チーム開発と運用

こんにちは、ZOZO CTOブロックの@ikkouです。 ZOZOでは、4/22にZOZO Tech Talk #5 - チーム開発と運用を開催しました。 zozotech-inc.connpass.com 本イベントは、これまで夕刻に開催してきたMeetupとは異なり、ランチタイムに開催する「ZOZO Tech Talk」シ…

WEARに動画投稿を実装した際にハマった事とその解決策

はじめに こんにちは。WEAR部iOSチームの坂倉です。先日、WEARにコーディネート動画の投稿機能を実装しました。 iOSで動画を扱うにはAVFoundationを使う必要がありますが、原因がわかりにくいエラーを引き起こすことが多々あり、実装になかなか苦労しました…

【オンラインMeetup イベントレポート】Data Engineering Meetup 【ZOZO × GMOペパボ】

こんにちは、ZOZO CTOブロックの@ikkouです。 ZOZOでは、4/20にData Engineering MeetupをGMOペパボさんと共催しました。 zozotech-inc.connpass.com 本イベントではto C向けサービスを提供する2社が、各社のData Engineering事情や直近の取り組みについて発…

Combineの非同期処理をSwift Concurrencyのasync/awaitで書き換えてみた

こんにちは、FAANS部の中島 (@burita083) です。2021年10月に中途入社し、FAANSのiOSアプリの開発を行なっています。 FAANSの由来は「Fashion Advisors are Neighbors」で、「ショップスタッフの効率的な販売をサポートするショップスタッフ専用ツール」です…

FAANSにおけるCloud RunからGKE Autopilotへのリプレイス事例

はじめに こんにちは。ブランドソリューション開発本部 WEAR部 SREの笹沢(@sasamuku)です。 FAANSはショップスタッフの効率的な販売をサポートするスタッフ専用ツールです。FAANSの一部機能は既にリリースされており全国の店舗で利用いただいております。…

WorkManagerを使ったバックグラウンドでのAPI呼び出し

はじめに こんにちは。WEAR部Androidチームの半澤です。普段は、「ファッションコーディネートアプリ WEAR」のAndroidアプリ開発を担当しております。 今回は、WorkManagerを使ったバックグラウンドでのAPI呼び出しについて紹介いたします。WorkManagerは時…

WEAR Webフロントエンドリプレイスのアーキテクチャ選定とNext.jsへの移行

はじめに こんにちは。WEAR部フロントエンドブロックの藤井です。WEARでは現在、Webサイトのリプレイスを進めています。本記事では、リプレイスに至った背景や課題と、課題解決のために行ったリプレイスのアーキテクチャ選定についてご紹介します。

Amazon Kinesis Data Streamsの事例紹介とAWS SDKのバージョンアップについて

はじめに こんにちは。ECプラットフォーム部カート決済ブロックの曽根です。 ZOZOTOWNでは、リプレイスの一環として、2021年4月からカート決済機能のマイクロサービス化を開始しました。 ZOZOTOWN カート決済機能リプレイス Phase1 〜 キャパシティコントロ…

ZOZOTOWN iOSチーム、Apple silicon導入しました

はじめに こんにちは、ZOZOアプリ部でZOZOTOWN iOSアプリを開発している小松です(@tosh_3)。ZOZOTOWN iOSチームでは、M1 Pro / M1 Max発売のタイミングでチーム内の開発環境をApple siliconへと移行しました。スムーズに移行するためにどのようなことを実…

OpenAPI Generatorのコード生成とSpring Frameworkのカスタムデータバインディングを共存させる

OpenAPI Generatorを使ったOpenAPI定義からのコード生成と、Spring Frameworkのカスタムデータバインディングを共存させるために実施したことをご紹介します。

Unityを組み込んだiOSアプリにおける、UXも考慮した開発

こんにちは、ZOZO NEXTで新規プロダクトの開発を担当している木下です。先日、3Dバーチャル試着に関する実証実験の取り組みが発表されました。3Dバーチャル試着ではユーザーが入力した体型データを基に3Dアバターが作成され、好みのアイテムを選んで着丈やサ…

SQL Serverのバージョンアップ時に必要なクエリ互換性に関する検証精度を向上させた話

SQL Serverのバージョンアップの際に必要なクエリ互換性を、アプリ側に定義されているクエリも含めて検証した事例をご紹介します。

ZOZOMATのマルチテナントEKSクラスタへの移行

はじめに こんにちは。計測プラットフォーム開発本部SREブロックの西郷です。普段はZOZOSUITやZOZOMAT、ZOZOGLASSなどの計測技術に関わるシステムの開発、運用に携わっています。先日私達のチームでは、シングルクラスタ・マルチテナントを前提として構築し…

楽々スケール Digdag on GKE Autopilot の紹介とその運用Tips

こんにちは、MA基盤チームの田島です。私達のチームでは複数のワークフローエンジンを利用し、メールやLINEなどへの配信を含むバッチ処理を行っていました。今回それらのワークフローエンジンをすべてDigdagに統一しました。そして実行環境としてGKEのAutopi…

オンプレのreadonlyデータベースをクラウド化した話

はじめに こんにちは、技術本部SRE部ZOZOSREチームの堀口/柳田です。普段はZOZOTOWNのオンプレミスとクラウドの構築・運用に携わっています。 ZOZOTOWNではSQL Serverを中心とした各種DBMSが稼働しています。 その中で検索処理における参照に特化された役割…

DynamoDBによるOutboxパターンとCDCを用いたCQRSアーキテクチャの実装〜ZOZOMOでの取り組み

こんにちは。ブランドソリューション開発部プロダクト開発ブロックの岡元です。普段はFulfillment by ZOZOとZOZOMOのブランド実店舗の在庫確認・在庫取り置きサービスの開発、保守をしています。 本記事では、ブランド実店舗の在庫確認・在庫取り置きサービ…

Cloud Composer 2上でApache Airflow 2のワークフローを実装する

はじめに こんにちはZOZOデータサイエンス部MLOpsブロック松岡です。 本記事では先日リリースされたGCP(Google Cloud Platform)Cloud Composerの最新バージョンCloud Composer 2について紹介します。 ZOZOTOWNでは、多種多様な商品が毎日新たに出品されて…

ZOZOTOWN検索マイクロサービスにおけるキャッシュの導入とその効果

はじめに こんにちは。検索基盤部 検索基盤チームの佐藤(@satto_sann)です。検索基盤チームでは、 ZOZOTOWNの検索周りのシステム開発に日々取り組んでいます。 本記事では、ZOZOTOWNの検索マイクロサービスにおけるキャッシュ導入で得られた知見や工夫点に…

Storybook × MSW × Chromaticを使ったUIの影響範囲を自動検知するための取り組み

こんにちは、FAANS部の田中です。普段は、WebのフロントエンドエンジニアとしてFAANSの開発を行なっています。 FAANSの由来は「Fashion Advisors are Neighbors」で、「ショップスタッフの効率的な販売をサポートするショップスタッフ専用ツール」です。現在…

JAXによるスケーラブルな機械学習

はじめに こんにちは、ZOZO NEXT ZOZO ResearchのSai Htaung Khamです。ZOZO NEXTは、ファッション領域におけるユーザーの課題を想像しテクノロジーの力で解決すること、より多くの人がファッションを楽しめる世界の創造を目指す企業です。 ZOZO NEXTでは多…

Gatlingによる分散負荷試験を自動化するKubernetesオペレーターGatling Operatorの紹介

こんにちは。SRE部の川崎(@yokawasa)、巣立(@tmrekk_)です。私たちは、ZOZOTOWNのサイト信頼性を高めるべく日々さまざまな施策に取り組んでおり、その中の1つに負荷試験やその効率化・自動化があります。本記事では、私たちが負荷試験で抱えていた課題解…

Elasticsearch LTRプラグインと特徴量キャッシュ機能の基本

はじめに こんにちは、検索基盤部 検索研究ブロックの真鍋です。ヤフー株式会社から一部出向していて、主にZOZOTOWNの検索機能へのランキングモデルの導入に従事しています。 本記事では、Elasticsearch上でランキングモデルを扱うための有名なプラグインの…

Vertex Feature Storeの機械学習システムへの導入

こんにちは、データシステム部推薦基盤ブロックの寺崎(@f6wbl6)です。現在、推薦基盤ブロックではデータサイエンス部MLOpsブロックのメンバーと協力しながらMLOps基盤の構築を進めています。本記事ではMLOps基盤構築の一環として進めているVertex Feature …

【ZOZOTOWNマイクロサービス化】API Gatewayのスロットリング機能開発におけるノウハウ大公開

API Gatewayのスロットリング機能を開発しましたので、そこで得られた知見を共有いたします。ソースコードもたくさん掲載しております。

Intuneの先進認証によるMac自動キッティング

デバイス管理に従事する全国の情シスの皆様、日々の業務お疲れ様です。コーポレートエンジニアリング部ファシリティブロックの佐藤です。いわゆる”情シス”と呼ばれる役割のチームに所属し、PCやネットワーク機器などの社内インフラの管理・運用に携わってい…

【オンラインMeetup イベントレポート】ZOZO Tech Talk #4 - Webフロントエンド

こんにちは、ZOZO CTOブロックの@ikkouです。 ZOZOでは、2/25にZOZO Tech Talk #4 - Webフロントエンドを開催しました。 zozotech-inc.connpass.com 本イベントは、これまで夕刻に開催してきたMeetupとは異なり、ランチタイムに開催する「ZOZO Tech Talk」シ…

WEARにおける画像配信のリプレイス戦略とAkamai Image & Video Managerの導入

こんにちは、WEAR部の繁谷です。SREとしてWEARの運用・保守・開発をしています。 WEARでは、以前の記事で説明した通り、画像配信のリプレイスを行ってきました。本記事ではSRE観点で画像配信のリプレイスやAkamai Image & Video Manager(以下、Image Manage…

【オンラインMeetup イベントレポート】ZOZO Tech Talk #3 - Webフロントエンド

こんにちは、ZOZO CTOブロックの池田(@ikenyal)です。 ZOZOでは、2/21にZOZO Tech Talk #3 - Webフロントエンドを開催しました。 zozotech-inc.connpass.com 本イベントは、これまで夕刻に開催してきたMeetupとは異なり、ランチタイムに開催する「ZOZO Tec…

カテゴリー