ブックマーク / techblog.zozo.com (17)

  • ZOZOのSREが行くAWS Summit Japan 2024参加レポート - ZOZO TECH BLOG

    こんにちは。SRE部プラットフォームSREブロックの高塚です。 6月20日、21日の2日間に渡って幕張メッセで開催されたAWS Summit Japanに、SRE部から10名以上のエンジニアが参加しました。この記事では熱気あふれる会場の様子と面白かったセッションについてご紹介します! AWS Summit Japanとは 会場の様子 セッションレポート おわりに AWS Summit Japanとは www.youtube.com AWS Summit Japanは延べ3万人以上が参加する日最大の「AWSを学ぶイベント」です。今年は昨年に引き続き幕張メッセで2日間にわたり開催されました。ライブ配信も行われたほか、2024年7月5日まではオンデマンド配信を視聴できます。 aws.amazon.com ちなみに2023年と2019年以前はAWS Summit Tokyo、2020年から202

    ZOZOのSREが行くAWS Summit Japan 2024参加レポート - ZOZO TECH BLOG
    Foorier
    Foorier 2024/06/27
  • SQSを用いたクレジットカード決済の非同期化 - ZOZO TECH BLOG

    こんにちは、カート決済部カート決済サービスブロックの林です。普段はZOZOTOWN内のカートや決済の機能開発、保守運用、リプレイスを担当しています。 弊社ではカートや決済機能のリプレイスを進めており、これまでにカート投入のキャパシティコントロールや在庫データのクラウドリフトを実現しています。 techblog.zozo.com techblog.zozo.com 記事では新たにクレジットカード決済処理を非同期化したリプレイス事例を紹介します。 はじめに 背景・課題 非同期化のシステム構成 パターン1 - 完全非同期化パターン パターン2 - 非同期・同期切り替えパターン パターン3 - ポーリングパターン システム構成の決定 メッセージングサービスの選定 効果 今後の展望 まとめ さいごに はじめに 章では、非同期化前のZOZOTOWNのクレジットカード決済を用いた注文処理の流れを説明

    SQSを用いたクレジットカード決済の非同期化 - ZOZO TECH BLOG
    Foorier
    Foorier 2024/03/27
  • ZOZOTOWNのネットワークをDirect Connect 10Gから100Gに移行した話 - ZOZO TECH BLOG

    はじめに こんにちは、技術部SRE部フロントSREブロックの柳田です。オンプレミスとクラウドの構築・運用に携わっています。 ZOZOTOWNでは、既存システムのリプレイスプロジェクトを進行中です。リプレイス過渡期の現在、オンプレミスのネットワークとAWSのデータセンターを直接専用線で接続し、安定した高速通信を実現するDirect Connect(以降、DX)を利用しています。各サービスのマイクロサービス化に伴い、オンプレミスとクラウド間の通信量が増えた為、DX10Gの回線が逼迫する問題に直面しました。 記事では、この回線逼迫の課題をどのように解決したかについて紹介します。 目次 はじめに 目次 回線逼迫の課題 ZOZOTOWNへのアクセスが困難 今後のリプレイスプロジェクトが遅延する可能性 DX10GからDX100Gへの移行 ステップ1:DX100Gの利用申請(クラウド) ステップ2:

    ZOZOTOWNのネットワークをDirect Connect 10Gから100Gに移行した話 - ZOZO TECH BLOG
    Foorier
    Foorier 2024/03/19
  • AWSで実践するカオスエンジニアリング 〜ZOZOMOでの取り組み〜 - ZOZO TECH BLOG

    はじめに こんにちは、ZOZOMO部OMOバックエンドブロックの長野です。普段はZOZOMOのサービスであるブランド実店舗の在庫確認・在庫取り置き(以下、店舗在庫連携)の開発・保守を担当しています。 店舗在庫連携はAWS上にシステムを構築しており、システムにはAWSの各サービスを利用しています。AWS上で構築するシステムは、マルチAZなどの冗長構成をとることで可用性を高めることができます。しかし、実際に障害が起こった際に、意図していなかった箇所でシステムが停止してしまう可能性は否定しきれません。 OMOバックエンドブロックでは、このような未知の障害を防ぐためのアプローチとしてカオスエンジニアリングを実施しました。記事ではカオスエンジニアリングの説明とチームで行った結果を紹介します。 目次 はじめに 目次 カオスエンジニアリングとは 1. 定常状態を定義する 2. 仮説を立てる 3. 実験

    AWSで実践するカオスエンジニアリング 〜ZOZOMOでの取り組み〜 - ZOZO TECH BLOG
    Foorier
    Foorier 2024/03/08
  • ZOZOTOWNの基幹データベースをリプレースした話 - ZOZO TECH BLOG

    はじめに こんにちは、技術部SRE部ZOZOSREチームの堀口です。普段はZOZOTOWNのオンプレミスとクラウドの構築・運用に携わっています。またDBREとしてZOZOTOWNのデータベース全般の運用・保守も兼務しております。 ZOZOTOWNではSQL Serverを中心とした各種DBMSが稼働しています。その中でZOZOTOWNサービスの根幹となるいわゆる基幹データベース(以下、基幹DBと呼ぶ)を5年ぶりにリプレースしました。 基幹DB群は、商品情報、在庫情報、注文情報、会員様情報、ブランド様情報、配送管理、キャンペーン情報、分析系情報などZOZOTOWNサービスにおけるほぼ全ての情報を管理しているものとなります。 リプレースのモチベーションは5年のハードウェア(以下、HWと呼ぶ)保守期限終了およびSQL ServerのEnd Of Life(以下、EOLと呼ぶ)を迎えるため、HW

    ZOZOTOWNの基幹データベースをリプレースした話 - ZOZO TECH BLOG
    Foorier
    Foorier 2023/03/30
  • Argo CD Resource Hookを活用したKubernetes環境での負荷試験自動化の取り組み - ZOZO TECH BLOG

    はじめに こんにちは、計測プラットフォーム開発部SREブロックの渡辺です。普段はZOZOMATやZOZOGLASSなどの計測技術に関わるシステムの開発、運用に携わっています。 先日私達のチームでは、リリースフローにステージング環境での負荷試験を自動化する取り組みを行いました。今回説明する「負荷試験の自動化」が何を表すのかを定義すると、ここではステージング環境のアプリケーションバージョンを変更した際に、人の手を介さずに負荷試験が行われることを指します。 Kubernetes環境における負荷試験の自動化を検討している方は是非参考にしてください。 目次 はじめに 目次 負荷試験を自動化する前の課題 負荷試験のシナリオ設計 目的設定 現状調査 目標値設定 シナリオ設計 負荷試験を自動化する取り組み 構成 処理の流れ シナリオに沿ったリクエストを送る 実行結果をS3に保存してSlackに通知する

    Argo CD Resource Hookを活用したKubernetes環境での負荷試験自動化の取り組み - ZOZO TECH BLOG
    Foorier
    Foorier 2022/12/15
  • AWSで構築するSelenium自動テスト環境とその運用 - ZOZO TECH BLOG

    はじめに こんにちは、Selenium 4の正式版がなかなかリリースされなく、ソワソワしている品質管理部・自動化推進ブロックの木村です。 私が所属する品質管理部は、ZOZOTOWNやWEARなどの開発プロジェクトに対してテスト・検証を行い、完成品がユーザーの手に届いても問題ないかを確認する部署です。その品質管理部では、先日、部署で開発運用しているSeleniumによる自動テストのシステムをオンプレからAWSに移行しました。自動テストの書き方や、個々のAWSサービスの使い方の記事は多く存在するので、記事では自動テスト全体の概要を紹介します。単純な移行だけでなく、サーバレスやマネージドサービスを活用しているので、部分的にでも参考になる点があれば幸いです。 背景 品質管理部が行っていたリグレッションテストやシステムテストを部分的に自動化するために、Seleniumによる自動テストのシステムを開

    AWSで構築するSelenium自動テスト環境とその運用 - ZOZO TECH BLOG
    Foorier
    Foorier 2021/10/21
  • ZOZOTOWNのWebサーバを、EC2 Windows Serverで自動構築する - ZOZO TECH BLOG

    こんにちは、EC基盤部SRE部ZOZOSREチームの石川です。 普段はZOZOTOWNのオンプレミスとクラウドの構築・運用に携わっています。 ZOZOTOWNには長い歴史がありますが、その中核を成すWebアプリケーションのアーキテクチャは、サービス開始当初から現在に至るまで大きく変わらず稼働しています。 一方で、インフラは少しずつ変わっています。高負荷となるセールやイベント時のスケールアウトするために、またハードウェアのライフサイクルに合わせる形で、物理サーバ → 仮想基盤 → クラウドと徐々に技術が変遷しています。 記事では、クラウドへのスケールアウトを加速させるために、オンプレミスで稼働中のWebサーバをAmazon EC2(以下、EC2という)で動作させるまでの取り組みを紹介します。 スケールアウトに向けたZOZOTOWNの課題 ZOZOTOWNのWebサーバは、Windows

    ZOZOTOWNのWebサーバを、EC2 Windows Serverで自動構築する - ZOZO TECH BLOG
    Foorier
    Foorier 2021/09/03
  • ITCSSを採用して共同開発しやすいCSS設計をZOZOTOWNに導入した話 - ZOZO TECH BLOG

    こんにちは。ZOZOTOWN部フロントエンドチームの菊地(@hiro0218)です。 2021年3月、ZOZOTOWNは10年ぶりのリニューアルをしました。この記事では、そのリニューアルで再考したCSS設計について紹介します。 背景 今回のリニューアルでは、ウェブとアプリが部分的に共通のデザインになりました。 アプリ ウェブ このデザイン刷新には、CSSの大規模変更が必要です。チーム内で検討を重ね、最終的に、大きく書き換えるのであればコンポーネント駆動開発1ができるようにCSS設計を見直すべきという結論に至りました。 CSS設計で特別に考慮する点 現在、ZOZOTOWNのフロントエンドは、「Classic ASP」から「React」へのリプレイスを進めています。新規開発や変更のタイミングで、Classic ASPに依存した実装をReactへ改修します。 ただ、今回のリニューアルではClas

    ITCSSを採用して共同開発しやすいCSS設計をZOZOTOWNに導入した話 - ZOZO TECH BLOG
    Foorier
    Foorier 2021/08/14
  • Fastlyのパスベースルーティングで実現するWEARのゆるやかなクラウド移行 - ZOZO TECH BLOG

    はじめに こんにちは。メディアプラットフォーム部 WEAR部 WEAR-SREの長尾です。 WEARは2013年にリリースされ、現在8年目のサービスです。そして、2004年にリリースされた当時のZOZOTOWNと同じアーキテクチャを採用しているため、比較的古いシステム構成で稼働しています。記事では、そのWEARのWebアプリケーション刷新とクラウド移行で実践している、Fastlyを活用したパスベースルーティングによる段階移行の取り組みを紹介します。 WEARをリプレイスする理由 WEARのWebアプリケーションは、データセンターでオンプレミス(以下、オンプレ)上で稼働しています。また、DBSQL Serverを利用しています。長年このアーキテクチャで成長を続けてきましたが、今後さらに成長を加速させていくためには以下の3点を実現する必要があります。その実現に向け、2年前からリプレイスに

    Fastlyのパスベースルーティングで実現するWEARのゆるやかなクラウド移行 - ZOZO TECH BLOG
    Foorier
    Foorier 2021/05/31
  • ZOZOTOWNマイクロサービスの段階的移行を支えるカナリアリリースとサービス間通信における信頼性向上の取り組み - ZOZO TECH BLOG

    はじめに SRE部プラットフォームSREチームの川崎 @yokawasa です。 ZOZOTOWNではモノリシックなアーキテクチャーから、優先度と効果が高い機能から段階的にマイクロサービス化を進めています。記事では、そのZOZOTOWNの段階的なマイクロサービス移行で実践しているカナリアリリースとサービス間通信の信頼性向上の取り組みについてご紹介します。 なお、ZOZOTOWNのリプレイス戦略ついてはこちらのスライドが参考になります。 speakerdeck.com さて、ZOZOTOWNマイクロサービスプラットフォーム(以下、プラットフォーム)はAWS上に構築しており、コンテナーアプリ基盤にマネージドKubernetesサービスであるEKSを採用しています。また、複数サービスを単一Kubernetesクラスターで稼働させる、いわゆるマルチテナントクラスター方式を採用しています。 下記イ

    ZOZOTOWNマイクロサービスの段階的移行を支えるカナリアリリースとサービス間通信における信頼性向上の取り組み - ZOZO TECH BLOG
    Foorier
    Foorier 2021/04/04
  • 【ZOZOTOWNマイクロサービス化】API Gatewayの可用性を高めるノウハウを惜しみなく大公開 - ZOZO TECH BLOG

    はじめに こんにちは。ECプラットフォーム部のAPI基盤チームに所属している籏野 @gold_kou と申します。普段は、GoAPI GatewayやID基盤(認証マイクロサービス)の開発をしています。 先日、【ZOZOTOWNマイクロサービス化】API Gatewayを自社開発したノウハウ大公開! を公開したところ、多くの方からご好評いただきました。ありがとうございます。まだ読まれていない方はぜひご覧ください。 techblog.zozo.com 今回はその記事の続きです。API Gatewayは単にリバースプロキシの役割を担うだけでなく、ZOZOTOWN全体の可用性を高める仕組みを用意しています。記事では、それらの中でカナリアリリース機能・リトライ機能・タイムアウト機能に関して実装レベルの紹介をします。 マイクロサービスに興味ある方や、API Gatewayを自社開発する方の参考に

    【ZOZOTOWNマイクロサービス化】API Gatewayの可用性を高めるノウハウを惜しみなく大公開 - ZOZO TECH BLOG
    Foorier
    Foorier 2021/03/06
  • 「挑戦させすぎ?」マネジメント勉強会で分かった組織課題とその解決策 - ZOZO TECH BLOG

    こんにちは、ZOZOテクノロジーズSREチームリーダー兼組織開発チーム所属の指原(@sashihara_jp)です。 この記事では2019年12月から全11回開催してきた「マネジメント勉強会」を通じて分かってきたZOZOテクノロジーズの組織課題と、これから取り組もうとしているその解決方法を紹介します。 ZOZOテクノロジーズの社員構成 マネジメント勉強会とは 立ち上げまでの道のり 運営メンバーの勧誘 経営層への企画提案 勉強会の命名 1年間で実施したテーマ 第1回 各チームで実施しているチームビルディング施策の共有 第2回 書籍「1on1マネジメント」を読んだ上で内容について議論 第9回 採用面接で質問している内容について意図と効果共有 マネジメント勉強会を通じて分かってきたZOZOテクノロジーズの現状 1.組織の急拡大による弊害 2.現場のコンフリクト 3.マネジメントと人材育成 組織開

    「挑戦させすぎ?」マネジメント勉強会で分かった組織課題とその解決策 - ZOZO TECH BLOG
    Foorier
    Foorier 2021/02/04
  • 【ZOZOTOWNマイクロサービス化】API Gatewayを自社開発したノウハウ大公開! - ZOZO TECH BLOG

    はじめに こんにちは。ECプラットフォーム部のAPI基盤チームに所属している籏野 @gold_kou と申します。普段は、GoAPI GatewayやID基盤(認証マイクロサービス)の開発をしています。 ZOZOテクノロジーズでは、2020年11月5日にZOZO Technologies Meetup〜ZOZOTOWNシステムリプレイスの裏側〜を開催しました。その中で発表されたAPI Gatewayによるマイクロサービスへのアクセス制御に関して、当日話せなかった内容も含めて、API Gatewayについてこの記事で網羅的にまとめました。 API Gatewayやマイクロサービスに興味ある方、「API Gateway」という言葉は知っているけど中身はよく分からないという方向けの記事なので、読んでいただけると幸いです。 はじめに ZOZOTOWNのリプレイス マイクロサービス化の目的 ストラ

    【ZOZOTOWNマイクロサービス化】API Gatewayを自社開発したノウハウ大公開! - ZOZO TECH BLOG
    Foorier
    Foorier 2020/12/23
  • 10TB超えのBigQuery巨大データを高速にS3に同期する - ZOZO TECH BLOG

    こんにちは。SRE部MA基盤チームの川津です。 私たちのチームでは今年サービスを終了した「IQON」の10TBを超える大規模データをBigQueryからS3へ移行しました。記事ではデータ移行を行った際に検討したこと、実際にどのようにデータ移行を行ったかを紹介します。 データ移行の経緯 IQONは2020年4月6日をもってサービスを終了しました。そのIQONではデータ分析にBigQueryを利用していましたが、Amazon Web Services(AWS)上にもIQONに関するリソースが存在します。そのため、IQONはGCPAWSの2つのクラウドで運用していました。 しかし、サービス終了に伴いGCPAWSどちらかにリソースを統一する必要が出てきました。統一する意図としては、終了したサービスが利用する取引先を減らし、請求対応などの事務的なコストを減らしたい意図がありました。そのためGC

    10TB超えのBigQuery巨大データを高速にS3に同期する - ZOZO TECH BLOG
    Foorier
    Foorier 2020/10/23
  • ZOZOSUITからZOZOMATへ - CQRSによる解決アプローチ - ZOZO TECH BLOG

    はじめに こんにちは、計測プラットフォーム部バックエンドチーム、テックリードの児島(@cozima0210)です。この記事では、ZOZOSUITとZOZOMATの違いにより生じたバックエンド開発における課題と、その解決のためにCQRSアーキテクチャを採用した経緯、そしてその実践について紹介します。 ZOZOSUITとは ZOZOSUITは、2017年に発表した全身の計測を目的としたツールです。現在も計測機能は提供されていますが、新規の販売は終了しています。現在、ZOZOSUITの計測データは、マルチサイズ商品の開発に活かされています。 ZOZOMATとは ZOZOMATは、2019年に発表した足の計測を目的としたツールです。足の計測データから、足型診断や推奨サイズの提案に活用されています。今年の2月にリリースし、ZOZOSUITに続く計測技術として、とても注目をいただきました。 計測プラッ

    ZOZOSUITからZOZOMATへ - CQRSによる解決アプローチ - ZOZO TECH BLOG
    Foorier
    Foorier 2020/06/05
  • 形態素解析とNgramを併用したハイブリッド検索をSolrで実現する方法 - ZOZO TECH BLOG

    こんにちは、バックエンドエンジニアの塩崎です。 今まではiQONの全文検索用のインデックスには形態素解析だけを用いていましたが、先日Ngramも併用することで検索を改善しました。 その結果、検索結果のヒット数が向上し、なおかつ検索ノイズの増加を軽微なものに抑えることができました。 この記事では、Ngramを併用することのメリット、およびそれをApache Solrで利用する方法について紹介します。 欲しい情報が見つからないとは そもそも、「検索したけど欲しい情報が見つからない状態」とはどのような状態でしょうか? ここではその状態を以下の2つの状態に分解して考えてみます。 欲しい情報の数が少ない 1つ目の状態は「欲しい情報が検索結果中に少ない」状態です。 例えば、旅行情報サイトで「東京」と検索した時にDBの中には数千件のデータがあるのに検索結果数がわずか数件しかないような状態です。 欲しくな

    形態素解析とNgramを併用したハイブリッド検索をSolrで実現する方法 - ZOZO TECH BLOG
    Foorier
    Foorier 2017/02/17
  • 1