KubeCon + CloudNativeCon Europe 2024 参加レポート

はじめに こんにちは。SRE部フロントSREブロックの三品です。 3月19日から3月22日にかけてKubeCon + CloudNativeCon Europe 2024(以下、KubeCon EUと呼びます)が行われました。今回弊社からはZOZOTOWNのマイクロサービスや基盤に関わるエンジニア、推薦シ…

マルチテナントのAWSアカウントとKubernetesにおけるコストの可視化

ZOZOTOWNにおけるマルチテナントプラットフォームのコスト可視化を行いました。その過程で発生した課題やアプローチ、工夫した取り組みなどをご紹介します。

5年ぶりの開催!「try! Swift Tokyo 2024」参加レポート

2024年3月22日〜24日に開催された「try! Swift Tokyo 2024」と、アフターイベントのレポートを公開しました!

Elastic Cloudの特権アカウント共用から脱却!

はじめに こんにちは、SRE部 検索基盤SREブロックの花房です。普段は、ZOZOTOWNの検索関連マイクロサービスにおけるQCD改善やインフラ運用を担当しています。 以前まで、検索基盤を支えるチームではElastic Cloudの特権アカウントをメンバーで共用していまし…

SQSを用いたクレジットカード決済の非同期化

こんにちは、カート決済部カート決済サービスブロックの林です。普段はZOZOTOWN内のカートや決済の機能開発、保守運用、リプレイスを担当しています。 弊社ではカートや決済機能のリプレイスを進めており、これまでにカート投入のキャパシティコントロールや…

ZOZOTOWNのマーケティングプラットフォームでのフロントエンドの取り組み

はじめに こんにちは、MA部の林(@hayash__p)です。 私達のチームでは、メール、LINE、Push通知、サイト内お知らせなどでユーザにZOZOTOWNのセールや新着商品を紹介するといった、マーケティングに関わるシステムを開発しています。これまで、配信チャネル…

Pull Requestのレビュー負荷を軽減し、開発生産性を向上するためにチームで取り組んだこと

はじめに こんにちは。WEARフロントエンド部Webチームの藤井です。私たちのチームでは、WEARのWebサイトのリプレイスと新規機能の開発を並行して進めています。これらの開発を推進する中で、Pull Requestのレビュー負荷を軽減し、開発生産性を向上させるため…

バッチシステムのリアーキテクチャを繰り返して見えた設計の勘所

はじめに こんにちは、検索基盤部の倉澤です。検索基盤部では、検索機能に必要なデータを生成するバッチシステムの開発や運用を担当しています。また、ユーザーのニーズやサービスの成長に合わせてリアーキテクチャを行うこともあります。今回は、リアーキテ…

ZOZOTOWNのマス配信バッチのリプレイス

はじめに こんにちは、MA部の中原です。 MA部ではメルマガやLINE、アプリプッシュ通知を配信するためのマーケティングオートメーションシステムを開発・運用しています。 2022年からこのマーケティングオートメーションシステムをリプレイスするためのプロジ…

AWSで実践するカオスエンジニアリング 〜ZOZOMOでの取り組み〜

AWS

AWS環境でカオスエンジニアリングを実施しました。意図的に障害を発生させることで得られた知見をご紹介します。

AWS CDKで構築するイベント駆動型アーキテクチャの実装戦略

イベント駆動型アーキテクチャにおけるリソース管理面での課題と、AWS CDKを活用した解決策をご紹介します。

新米Google Cloud管理者の奮闘記のその後 〜Organizationの秩序を維持する試み〜

Google Cloudに関する様々な情報をBigQueryに集約しOrganizationの秩序を維持する試みを紹介します。

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

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

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のカスタムデータバインディングを共存させるために実施したことをご紹介します。

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

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

楽々スケール 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のブランド実店舗の在庫確認・在庫取り置きサービスの開発、保守をしています。 本記事では、ブランド実店舗の在庫確認・在庫取り置きサービ…

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

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

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

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

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

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

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

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

ZOZOTOWN カート投入の分散キューイングシステム 〜 プロダクションレディまでの歩み

はじめに こんにちは。家系らーめん好きが高じて鶏油を自分で取得するようになり、金色に輝く液体を見るだけでパブロフの犬的に涎が止まらない、SRE部の横田です。普段はSREとしてZOZOTOWNのリプレイスや運用に携わっています。 先日、弊社の高橋が執筆したZ…

Elasticsearch Learning to Rankプラグインの使い方とポイント

検索基盤部の内田です。私たちは、約1年前よりヤフー株式会社と協力し、検索機能の改善に取り組んでいます。現在、ZOZOTOWNのおすすめ順検索に用いている、ランキング学習を利用した検索機能も、その取り組みの一部です。 本記事では、Elasticsearch上で、ラ…

OSS「Coppe」の公開 〜 BigQuery基盤のデータ監視ツールによるデータ品質担保

はじめに こんにちは、データシステム部データ基盤ブロックの纐纈です。9月から22卒内定者として、チームにジョインしました。 本記事では、弊社のデータ基盤チームが抱えていた課題と、その解決のために公開したOSSツール「Coppe」を紹介します。Coppeは、…

動作検証しながら理解する「Kubernetes Gateway API」と「GKE Gateway Controller」

はじめに こんにちは、技術本部 データサイエンス部 MLOpsブロックの鹿山(@Ash_Kayamin)です。 みなさんは2021年4月にGCPから「GKE Gateway コントローラによる Kubernetes ネットワーキングの進化」という記事が投稿されたのを覚えていますでしょうか。 c…

ZOZOGLASSのクロスプラットフォーム設計

こんにちは、AndroidエンジニアのAndyです。これまでにZOZOSUIT、ZOZOMAT、ZOZOGLASSのアプリ機能開発に取り組んできました。 ZOZOGLASSは肌の色を計測するデバイスで、オンラインでファンデーションを購入する際の手助けをします。ZOZOGLASSのユーザーは下…

INFORMATION_SCHEMAを用いたBigQueryのストレージ無駄遣い調査

本記事では組織内の全てのBigQueryに対してストレージを調査し意図せず高額の費用が発生していたテーブルを見つけ出す方法を紹介します。BigQueryのメタデータが格納されたビューであるINFORMATION_SCHEMAから情報を収集し、DataStudioで可視化するまでを紹…

カテゴリー