SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Women Developers Summit 2023 セッションレポート(AD)

テレビ放映のスパイクに耐えた「北欧、暮らしの道具店」を支えるインフラ技術のつくりかた

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

  • このエントリーをはてなブックマークに追加

 株式会社クラシコムが提供する「北欧、暮らしの道具店」は、世界中のセレクト商品やオリジナル商品を取り扱うECショップであり、動画や読み物、ドラマまでの多様なコンテンツを配信している。2022年にはグロース市場に上場し、スマートフォンアプリは開発から3年で300万ダウンロードを突破し、事業の成長を示している。同社のエンジニアである矢田和沙氏は、2023年11月に「Women Developers Summit 2023」に登壇し、これまでに行ったインフラ整備のプロセスや、テレビ番組で紹介された際の自社サイトのアクセス対策などを紹介した。

  • このエントリーをはてなブックマークに追加

物販とコンテンツを組み合わせた事業で成長するクラシコム

 クラシコムは「フィットするくらし、つくろう。」をミッションに掲げ、「北欧、暮らしの道具店」というサービスを運営している。このサービスは3つの側面を持つ。1つ目は、BtoC向けのECという側面。北欧のヴィンテージ食器から始まり、現在は世界中からセレクトした商品に加え、オリジナル商品の開発にも力を入れている。2つ目は法人向けのマーケティング支援「ブランドソリューション」である。「北欧、暮らしの道具店」の世界観に共感するクライアントに向けて、プロモーションや商品開発などのさまざまなメニューを提供している。3つ目はコンテンツパブリッシャーとしての側面。読み物、ポッドキャスト、ドラマ、映画など多岐にわたるコンテンツを配信している。

ECサイトであり、メディアでもある独自のビジネスモデルで成長
ECサイトであり、メディアでもある独自のビジネスモデルで成長

 クラシコムでは、顧客との接点となるチャネルが多岐に渡っており、公式アプリやインスタグラム、YouTubeなどのチャンネルの登録アカウント数は680万を超えている。同社は独自の世界観を「ライフカルチャー」とし、これを活かして顧客の理想的な暮らし作りをサポートするプラットフォームを目指している。現在、クラシコムは18期に入っており、17期連続で成長を遂げてきた。特に、オリジナルのスマートフォンアプリは開発から3年で300万のダウンロードを記録し、アプリ経由の売上は全体の65%に成長している。2022年にグロース市場に新規上場したクラシコムの社員は現在87名、うちエンジニアは7名。

 矢田氏自身は2017年にヤフー株式会社に新卒入社し、2020年にクラシコムへ転職。クラシコムでは「北欧、暮らしの道具店」を中心としたフロントエンドやバックエンド、インフラの開発業務に従事している。矢田氏は「自社開発に力を入れ、顧客がより世界観を楽しめるプラットフォームを目指しています」と話した。

株式会社クラシコム システムプラットフォーム部 テクノロジーグループ 矢田和沙氏
株式会社クラシコム システムプラットフォーム部 テクノロジーグループ 矢田和沙氏

 クラシコムのテクノロジーグループにはデザイナーとエンジニアが所属し、ストアチームとロジチームという2つのチームで構成されている。ストアチームはアプリやWebを通じた買い物やコンテンツ体験の開発運営を担当し、ロジチームは受発注、物流、経理など、主に社内業務を支えるサービスの開発運用を行っている。また、SREとしてのインフラ領域の業務も、これら両チームから興味を持つメンバーが担当している。

 働き方の面では、クラシコムは残業を当たり前としない文化を持っており、全社員の平均残業時間は月に3.7時間(2023年7月時点)で、多くの社員が18時過ぎには退勤する。テクノロジーグループは基本的にはテレワークで、月に2回のオフィスデイを設け、チームでのミーティングや仕事を行っている。また、オンラインでは月2回全社会が開催され、年に2回はリアルで開催される。

インフラ環境の管理をコード化し、効率化

 クラシコムのインフラには、「北欧、暮らしの道具店」のサービス、社内用システム、コーポレートサイトという3つの主要なアプリケーションがある。矢田氏が2020年に入社した時、インフラは変更の過渡期にあり、AWSのアカウントが本番とステージングに分割され、ECSはまだサービスが搭載されていない状態だった。当時、ショップとカートシステムはAWS OpsWorksで管理されていたため、AWSのマネジメントコンソールから操作していた。

 矢田氏がクラシコムに転職したばかりの頃、AWS環境でのインフラ開発、構築、運用の経験はなかった。入社初期は、アプリケーションが分割されており、多数のAWSリソースを管理する必要があった。ペアで作業をしながら先輩の業務を観察し、学ぶ必要があり、作業を覚えることに自信がなく、初めは困難を感じていたという。

 現在は、主なアプリケーションが統合され、Amazon ECS上で動くようになっている。AWSリソースTerraformによってコード化され、GitHubで管理されている。変更が必要な場合は、プルリクエストを作成し、チームメンバーでレビュー後、反映作業を行うことでオペレーションミスを減らしている。

「北欧、暮らしの道具店」サイト構成の変化【以前】
「北欧、暮らしの道具店」サイト構成の変化【以前】
「北欧、暮らしの道具店」サイト構成の変化【現在】
「北欧、暮らしの道具店」サイト構成の変化【現在】

 コーポレートサイトは2022年の上場に伴いリニューアルし、インフラも刷新した。以前はElastic Beanstalkで作業していたが、こちらもECS上で動作し、Terraformによる管理ができるようになった。静的コンテンツが多いため、Amazon CloudFrontを利用してキャッシュし、リクエストが集中しても応答できるようになっている。

 「ECSへの集約により、AWSリソースの管理が簡素化され、対応が楽になりました。Terraformでのコードベース管理により、属人化が減少し、プルリクエストを通じてのやり取りが可能になり、引き継ぎも容易になりました」(矢田氏)

 矢田氏が入社した当初、AWSアカウントは本番とステージングに分割されており、本番環境を誤って破壊するリスクは低減されていた。現在はアカウントがさらに細分化され、適切な権限設定と管理が行われている。インフラの変更を行いたい場合、サンドボックスやステージングでテストし、本番環境に誤って影響を与えるリスクを低減している。ソースコードで設定管理しているため、復元も比較的容易になっている。適切な権限管理も行われているため、初心者が誤って承認やマージを行うリスクが減少した。コードベースでの管理により、ドキュメントの作成や探索の手間も軽減された。

 さらに、プルリクエストは複数のメンバーによる確認を経て変更されるため、変更時の安心感が増している。CIの設定やセキュリティ診断ツールであるTrivyの導入により、誤った設定の導入が防止されている。レビュー時には、Terraform Planの内容がコメントに記載されるため、レビュアーが変更内容を確認しやすくなっている。

Terraform利用と適切な設定で初心者も安心な環境に
Terraform利用と適切な設定で初心者も安心な環境に

 エンジニア7名のうちおよそ半数がSREの役割ができるようになっているという。矢田氏は「Terraformを使用したインフラの構築は非常に楽しく、ソフトウェアエンジニアの方々もインフラ業務に興味があれば参加してみると良いと思います。Terraformはチームでの開発に非常に適しており、取り組むハードルも高くないので、気軽に試してみてください」と語った。

インシデントを発生させないことが、ブランドの価値向上につながる

 クラシコムは2023年4月にテレビ番組「カンブリア宮殿」、10月には朝のニュース番組「THE TIME,」で取り上げられ、会社や「北欧、暮らしの道具店」の知名度が向上し、多くの顧客を獲得した。地上波テレビ放映によって自社サイトへは多くのトラフィックが予想される。顧客が増えることは嬉しいがエンジニアとしては、サイトがリクエストに耐えられるかが最も気になる点である。

 「カンブリア宮殿」放映時には、矢田氏とチームメンバーはテレビを見ながらメトリクスを開き、リクエスト数やサーバーの状況を確認していた。そして、通常の約15倍のトラフィックが発生した。番組開始から終了まで、リクエストが緩やかに増え続ける状態が続いた。しかし、ECサイトもコーポレートサイトも問題なく運営を続けることができた。放映から1時間で、8600を超えるアプリのダウンロードがあった。

 矢田氏は、事前の準備について「テレビ放映が決まった際、サーバーが落ちることでの機会損失やお客様の失望を防ぐための対応策をチームで話し合いました。結果として、ECSのタスクを増やすことで対応しました」と話した。

 「北欧、暮らしの道具店」のサイトでは、ロードバランサーを経てAmazon ECSそして各種データベースなどが配備されている。対策としてロードバランサーを増やしておく「暖気」やデータベースの増強があるが、以前の経験からECSのタスクを増やす対応のみで耐えられた。ECSにはCPU使用率ベースでオートスケーリングが設定されていたが、急な対応が難しいため事前にタスクを増やした。なお、コーポレートサイトはAmazon CloudFrontでキャッシュしているため特に対策の必要はなかった。

「カンブリア宮殿」放映準備の意思決定
「カンブリア宮殿」放映準備の意思決定

 最後に矢田氏は、エンジニアとして事業や会社を支えることについて次のようにコメントした。

 「『北欧、暮らしの道具店』はたくさんのお客様に支えられて大きくなったサービスです。私たちエンジニアとして、このサービスの世界観をつくることは難しいですが、インシデントを予防することが世界観を支えることやクラシコムの信頼につながると思っています。少人数でも管理できるよう作業を分担できる環境の構築が大切です」

エンジニア募集中です

 現在、クラシコムのテクノロジーグループでは、エンジニア採用を実施中です。本記事で興味を持たれた方は、Wantedlyから詳しい募集内容をご覧ください。

 またTech Blogでは、在籍するエンジニア・デザイナーが日々の開発内容やイベント情報を発信しています。

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加

提供:株式会社クラシコム

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/18714 2024/01/15 12:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング