Upgrade to Pro — share decks privately, control downloads, hide ads and more …

「北欧、暮らしの道具店」を支えるインフラ技術

Nagisa Yata
November 12, 2023

 「北欧、暮らしの道具店」を支えるインフラ技術

2023年11月7日(火)に開催されたWomen Developers Summit2023で登壇させていただいた発表資料になります。

Nagisa Yata

November 12, 2023
Tweet

Other Decks in Technology

Transcript

  1. 矢田和沙(ヤタナギサ) 自己紹介 株式会社クラシコム システムプラットフォーム部 テクノロジーグループ エンジニア 2017年 ヤフー株式会社(現LINEヤフー株式会社)に 新卒で入社 2020年7月

    株式会社クラシコムに中途入社 フロントエンド・バックエンド・インフラと「北欧、 暮らしの道具店」まわりの開発をしています ほぼ毎日猫に邪魔をされながら仕事中です 02 © Kurashicom Inc.
  2. 03 サービス展開 「フィットする暮らし、つくろう。」をミッションに、 D2C 世界中のセレクト商品とオリジナル開発商品を販売 • 定価販売率95%超える ブランドソリューション ナショナルブランドのマーケティングを支援 •

    お取り組みは200ブランド以上 コンテンツパブリッシャー 多様なコンテンツでお客さまとの繋がりを強める • YouTube動画再生数は1億回を突破 • 商品開発からプロモーションまで、ブランディ ングの全フェーズをサポートするメニュー提供 • ポッドキャストやドラマ、プレイリストなど  様々なコンテンツを配信 • オリジナルアパレルが5年で8.5倍売上 EC運営に加え、BtoBサービス展開や多岐に渡るコンテンツ配信など、 ユニークな事業展開を行っています。 © Kurashicom Inc. 北欧、暮らしの道具店を運営しています。
  3. 04 事業の特徴 独自の世界観(ライフカルチャー)を強みに お客さまとつながるプラットフォームを目指しています。 北欧、暮らしの道具店のエンゲージメントチャネルのアカウント数は680万を 超えます。※2023年7月現在 ポッドキャスト 再生 累計 1500

    万 LINE 登録 88 万 YouTube 登録 57 万 YouTube 再生回数 再生 累計 1 億 Instagram フォロワー 140 万 公式アプリ DL 300 万 事業展開の土台にあるのは、独自のライフカルチャーです。 世界観を軸にしたお客さまとの信頼構築のユニークさが評価され、2021年度 ポーター賞を受賞。 © Kurashicom Inc.
  4. 6 テクノロジーGの紹介 働き方の特徴 • 残業を当たり前にしない働き方 全社員の平均残業時間は月に合計3.7H(2023年7月現在) • リモートメイン、月2回のオフィスデー • 年2回

    リアル全社会議(オンラインは月2回) チームメンバー 開発合宿 2チーム体制 • ストアチーム:アプリ・Webでのお買い物やコンテンツ体験など 主にお客さまが利用するサービスの開発・運営を担当 • ロジチーム:受発注や物流・経理など、主にスタッフの業務を可 能にするサービスの開発・運用を担当 • SRE:2チーム横断で、インフラ・SRE領域を担当 © Kurashicom Inc.
  5. 07 会社概要 社員数 2023年7月に実施した全体会議 2022年8月上場 87名 沿革 2006年9月 2007年9月 2010年11月

    2013年6月 2015年6月 2016年4月 2019年11月 2020年4月 2022年8月 2023年6月  クラシコム創業 北欧、暮らしの道具店 創業 独自のバイイングシステム稼働開始 初のエンジニア入社。システム開発自社内製化へ オリジナルブランド「KURASHI&Trips PUBLISHING」誕生 ECシステムをASPから自社開発へ切り替え 初スマホアプリ・iOSアプリ公開 Androidアプリ公開 東京証券取引所グロース市場へ新規上場(証券コード:7110) オリジナルスマホアプリ300万DL突破  (2023年7月末) エンジニア:7名 © Kurashicom Inc.
  6. AWSアカウントについて • クラシコムでは現在右記のAWSアカウントを利用 しています • 習熟度が上がったり開発に必要になったりすると 権限が払い出される方式です • マスター •

    ユーザー管理 • 監査 • バックアップ • ログアーカイブ • 社内ツール • 分析環境 • サンドボックス • ステージング • 本番 17 © Kurashicom Inc.
  7. 初心者が入っても安心して開発できる環境 • 適切な権限設定 ◦ AWSアカウントの分割 ◦ GitHubのCODEOWNERS設定 • コードベースでの管理 ◦

    ドキュメントの作成・探すことの手間の軽減 ◦ 複数の目での確認 • CIでのミスを防ぐ体制 ◦ Trivyでのsecurity的に問題のある設定がないかの確認 ◦ Terraform plan内容の確認 ▪ tfcmtを利用してPRにコメントをつけています ◦ Lintを通す 18 © Kurashicom Inc.
  8. TV放映が決まったときに気になること • リクエストにロードバランサーやサーバーが耐えられるか ◦ 機会損失 ◦ お客様にがっかりされる ◦ エンジニアとして悔しい ◦

    サーバーの台数は? ◦ データベースは耐えられる? • 注文の増加? ◦ リクエストは来るがすぐに注文が入るわけではない ◦ トランザクションは大丈夫? 23 © Kurashicom Inc.
  9. 準備したこと • やったこと ◦ ECSのタスク数を増やす • やっていないこと ◦ Aurora, OpenSearchなどのDBのインスタン

    スタイプ変更 ◦ ALBの暖気申請 resource "aws_appautoscaling_target" “app" { service_namespace = "ecs" max_capacity = x min_capacity = y resource_id = "xxx" scalable_dimension = "ecs:service:DesiredCount" lifecycle { ignore_changes = [min_capacity] } } 24 © Kurashicom Inc.
  10. Amazon Relational Database Service (Amazon RDS) リクエストが増えるときに考えること 北欧、暮らしの道具店 コーポレートサイト ロードバランサーは

    耐えられるかな タスクは リクエストを 捌き切れるかな DBは処理できるかな 26 © Kurashicom Inc.
  11. Amazon Relational Database Service (Amazon RDS) 対応内容 北欧、暮らしの道具店 コーポレートサイト 別の機会に

    ALBは問題に ならなかったので 暖気しない 負荷試験で確認済み ・xxx rpsまでは現在のタスク数で悪化せず処理可能な こと ・タスク数を増やせばその分比例してリクエストを処理 可能なこと -> 想定されるリクエスト数に耐えられるようECSのタス クを増やすようにする CloudFrontで キャッシュしているので 問題にならないはず ・テレビ放映中に一度に注文が殺到するわ けではない ・今回想定していたリクエストまでは負荷 試験で今のインスタンスタイプで処理可能 とわかっている 27 © Kurashicom Inc.