【レポート】ダイソーにおけるサーバレスファースト企業の目指し方 #AWSSummit

AWS Summit Tokyo 2019のセッションレポートです。こちらでは「ダイソーにおけるサーバレスファースト企業の目指し方」の内容をレポートします。
2019.06.13

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

コンニチハ、千葉です。

本ブログは、AWS Summit 2019 day2のセッションレポートになります。 本セッションは、100円ショップ ダイソーを展開している大創産業さんでのサーバーレス導入をどう進めるかに関するセッションです。

セッション概要

登壇者

株式会社大創産業 情報システム部 課長

丸本 健二郎様

概要

ダイソーは、世界27カ国、5,270店舗(2018年3月時点)を展開しています。取扱商品は約70,000 種類。毎月約 700 種類の新商品を開発しています。本セッションでは、オンプレ開発をしていたダイソーが、どうやってサーバーレスファーストの組織に変わっていったのか、きっかけ、メンバーのマインド、コストについて、そして、ダイソーのサーバーレスBI(Amazon QuickSight)、とサーバーレスインターフェイス基盤の事例をお話します。

セッション内容

ダイソーのビジネス

  • 店舗数:5270
  • 商品:7万点
  • 大量に安く仕入れて提供している

アジェンダ

  • サーバーレスとの出会い
  • なぜサーバーレス?
  • どうやってサーバーレスを導入したか
  • サーバーレスの事例

サーバーレスとの出会い

  • ビジネス課題を解決するために選んだ
  • 商品数が多く、新商品も毎月800くらいでる、商品ローテーションも多い
  • 欠品しないようにシステムを導入、全店舗展開しようとしたがデータ容量が多く、スケーラビリティが間に合わない。調べたら100億レコードあった。
  • これを新しい技術で解決しようとした
  • クラウドで解決しようとしてサーバーレスに出会った
  • RDBMSとRedshiftと検証した。データ量に対して、Redshifはクエリレスポンスが全然劣化しなかった。結果バッチ処理が間に合うようになった。

なぜサーバーレス?

  • スケーラビリティ
  • 特化したそれぞれの機能を組み合わせて、スケーラビリティを確保できる
  • 3時間で終わらせる処理を、1時間で終わらせたい。ただし、スケールアップ型にはハードウェアの限界があるので、スケールアウト型を選択
  • サーバーレスはスケールアウト型なので、すごく拡張性がある
  • BCP
  • 事業継続性はどうなのか?データセンターがなくなったときに、データが消え、事業が継続できなくなる
  • サーバーレスだと、AWS側で冗長構成組まれてるので、AZレベルでデータ冗長化が可能。サーバーレスに至っては、利用者で意識しなくていい。これがすごく重要。
  • コスト
  • 仮想サーバーの場合は、リソースはスケールアップ、スケールアウト、スケールダウンを行う。ある程度想定して対応が必要。
  • サーバーレスの場合は、イベント駆動

人員配置とキャリア

  • オンプレは土地、データセンターの耐震評価、電源、サーバー、VM、OS、ミドル、アプリまで考慮が必要
  • サーバーレスは、インフラ領域はAWSに任せて、よりアプリエンジニアに人を配置できる。より、ビジネスに注力できる。
  • 今までインフラがクラウドでまかなえる部分が多くなってきてる、ではどインフラやっていた人材はどうすればいい?
  • 時代が変わると、同じ技術も変わっていく。常に新しいことを取り入れていく必要がある。
  • 採用
  • 本社が広島なので、エンジニアが不足している。どうやっているか?
  • サーバーレスをやり始めて、いろいろなメディアに取り上げてもらえることができた。
  • 遠くてもいい、ダイソーさんと仕事したいという人が増えてきた。広島でサーバーレスというのは、稀有な存在

どうやってサーバーレス導入している?

  • まずは強引に使い始めた
  • レガシーなWebシステムをサーバーレスにどうやるか?必要な機能、コアな部分は同じ。WebシステムのコンポーネントがS3やLambdaなど、コンポーネントが置き換わっただけ。考え方は何も変わらない。
  • 一番最初にやったことは、結合度を下げるシステム
  • 密結合とは、一方にメスをいれると、もう一方にもメスにいれないといけない。結合していればいれるほど、波及する。ちょっとした機能変更も、変更に莫大なリソースが必要になる
  • マイクロサービスのように、結合度を下げていくことで、小さな改修を入れられるように考えた。そこで、まずはSQSを導入し、結合度を下げていった
  • 社内勉強会でどんどんやっていった。コスト度外視で、アウトプット重視の組織作りにしていった。業務時間にブログ読むのもOKにした。
  • Well-Architectedまとめを作っている。サーバーレス用の設計、開発、それぞれのフェーズでチェックシートを作っている。
  • 色々触るのではなく、ビジネス視点を持ちつつ、最適になっているかをチェックし、見直しを行っている。技術だけによらないように、バランスを見ている

サーバーレスの事例

  • POSデータ保持システム
  • 受け取り、チェック、ためる、参照、をそれぞれのシステムとして構築。密結合せず、それぞれアップデートできるような仕組みにしている
  • POSデータ分析システム
  • 受け取り、処理(非正規化)、参照というシステムで作っている
  • S3、Glue、QuickSight
  • インターフェイス統合システム
  • レッドポストという仕組みを作った
  • ftpとかsftpとか様々なプロトコルを中継するシステム
  • Goでエージェントを作って、柔軟に連携できるようにした
  • どのデータを、どこに送るかみたいなのを制御する
  • イメージははがきの配達。どんなデータでも、行き先に届けることができる
  • コスト
  • 210万くらいの構成になるところ、サーバーレス化で30万におさえられている、品質についても向上した

まとめ

  • すべて汎用ではなく、サービスの特徴を活かした構成にする
  • どんどん新しいサービスが出てくる、もっといいのが出た時に交換できるように、疎結合に!
  • サーバーレスファーストに!!
  • ダイソーで働きたい人も募集してます!