Your SlideShare is downloading. ×
東急ハンズのクラウドデザインパターン アーキテクチャー編
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

東急ハンズのクラウドデザインパターン アーキテクチャー編

232
views

Published on

JAWS DAYS 2015 …

JAWS DAYS 2015
Big Track 「東急ハンズのクラウドデザインパターン」
アーキテクチャー部分の資料です。

Published in: Technology

0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
232
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
8
Comments
0
Likes
7
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • その分止まってはいけない感が強い
    レガシーな仕組みがまだまだ多い
    オンプレミス、閉域網、Win2003・・・

    弊社で、内製でクラウド化
  • これからは、これらにAWSのサービスを組み合わせて行きたい
  • フルマネージドを使い倒す!

    →さらに具体的な3つの目標があった
  • 間に構成要素がたくさんあるのに、リアルタイム?
  • 確定データの話

    一日のデータをためてから確定処理→夜中にエラー
    →確定処理が遅延、開店できない。もしくはプランB
  • データの構造とかわかりにくい?
    詳しくはWEBで!
  • データの構造とかわかりにくい?
    詳しくはWEBで!
  • Transcript

    • 1. @ Copyright HANDSLAB INC All Rights Reserved. 2015年3月22日 東急ハンズのクラウドデザインパターン アーキテクチャー編 ハンズラボ株式会社 チーフエンジニア 田部井 一成
    • 2. TW:@HandsLabInc #jawsug #jawsdays #handslab 1 自己紹介  名前:田部井 一成  所属:ハンズラボ株式会社  担当:外販案件、特にポイントシステム  特技:シェル芸、電子工作  趣味:ビールクラフト、燻製、歩く、寝る  好きなAWSサービス:
    • 3. TW:@HandsLabInc #jawsug #jawsdays #handslab 2 今日お話したいこと 新基幹システムのアーキテクチャーについて
    • 4. TW:@HandsLabInc #jawsug #jawsdays #handslab 3 東急ハンズの基幹システム?  本資料では、MDシステムのこと  MD:マーチャンダイジング  商品管理、在庫管理、売上管理・・・ 小売業にとっての根幹業務を担うシステム!
    • 5. TW:@HandsLabInc #jawsug #jawsdays #handslab 4 開発チーム 東急ハンズの内製化を担当してきた  元店舗従業員も開発  RDB?オブジェクト指向?  ネイティブなエンジニアと協業  ユニケージ開発手法  バックエンドの言語はbash  データはテキストファイルで保持  ミドルウェアやパッケージを極力排除  フロントエンドはHTML5  レガシーなバックエンドに、フロントは極力最新の WEB技術を組み合わせる
    • 6. TW:@HandsLabInc #jawsug #jawsdays #handslab 5 ミッション ① リアルタイム 大原則:フルマネージドサービスを使い倒す! ② 夜間バッチレス ③ スケールアウト
    • 7. TW:@HandsLabInc #jawsug #jawsdays #handslab 6 ミッション ① リアルタイム 大原則:フルマネージドサービスを使い倒す!  即時のリアルデータによる、接客向上  将来のEC連携・統合への布石  即時性の必要なデータをDynamoDBに
    • 8. TW:@HandsLabInc #jawsug #jawsdays #handslab 7 ①リアルタイム FTPd S3Bucket SQS Worker SNS SQS Worker SQS Worker POSレジ 新POS 売上テーブル 在庫テーブル 新PDA/店舗PC店舗 WEB/APP サーバ レジ売上から在庫・売上データ更新フローの例
    • 9. TW:@HandsLabInc #jawsug #jawsdays #handslab 8 ①リアルタイム レジ売上から在庫・売上データ更新フローの例 既存POSからの売上受信 は、POSから直接FTPサー バへ保存。 S3 Event Notifications を 利用し、トランザクションの 書き込みをSQSへキューイ ング。 FTPd S3Bucket SQS Worker SNS SQS Worker SQS Worker POSレジ 新POS 売上テーブル 在庫テーブル 新PDA/店舗PC店舗 WEB/APP サーバ
    • 10. TW:@HandsLabInc #jawsug #jawsdays #handslab 9 ①リアルタイム Workerはキューをクロール し、処理区分に応じたSNSト ピックを発行。 SNSは更新対象のSQSへ キューイング。 今回は売上なので、売上と 在庫それぞれのSQSへ。 FTPd S3Bucket SQS Worker SNS SQS Worker SQS Worker POSレジ 新POS 売上テーブル 在庫テーブル 新PDA/店舗PC店舗 WEB/APP サーバ レジ売上から在庫・売上データ更新フローの例
    • 11. TW:@HandsLabInc #jawsug #jawsdays #handslab 10 ①リアルタイム Workerは自分の担当の キューをクロールし、 DynamoDBの在庫/売上を 更新する。 店舗従業員は、各自の PDA/店舗PCからアクセス する。 AppサーバはDynamoDB から在庫/売上を取得すると、 現時点の数量がリアルタイ ムに表示される FTPd S3Bucket SQS Worker SNS SQS Worker SQS Worker POSレジ 新POS 売上テーブル 在庫テーブル 新PDA/店舗PC店舗 WEB/APP サーバ レジ売上から在庫・売上データ更新フローの例
    • 12. TW:@HandsLabInc #jawsug #jawsdays #handslab 11 ①リアルタイム  ポイント  更新処理のトリガーをS3に  S3に1ファイル置くだけで、後続処理はよしなに  複数SQSへのキューイングはSNSで  例外処理の省力化  SNSがバッファになる
    • 13. TW:@HandsLabInc #jawsug #jawsdays #handslab 12 ミッション 大原則:フルマネージドサービスを使い倒す! ② 夜間バッチレス  夜中に電話で起こされるのはもう嫌・・・  確定データ作成処理のお守りをする毎日  完了遅延で開店ができない・・・  日中も常に確定データを作り続け、店舗業務終了と 同時に日次データが完成
    • 14. TW:@HandsLabInc #jawsug #jawsdays #handslab 13 ②夜間バッチレス FTPd S3Bucket POSレジ 新POS レジ売上から日次データ更新までの流れ Worker 日次データ 集計データ 新PDA/店舗PC店舗 WEB/APP サーバ 既存POSからの売上受信 は、POSから直接FTPサー バへ保存。 1トランザクション1ファイル で、リアルタイム用とは別の Bucketに保存する
    • 15. TW:@HandsLabInc #jawsug #jawsdays #handslab 14 ②夜間バッチレス FTPd S3Bucket POSレジ 新POS レジ売上から日次データ更新までの流れ Worker 日次データ 集計データ 新PDA/店舗PC店舗 WEB/APP サーバ WorkerはS3上の取引ファイル を集めて日次・集計処理。 一日分の取引を、日中常に洗い 替え処理するイメージ。 日次データは当日発生した トランザクションのまとめファ イル。 集計データは、過去データ も含めた、計算済みファイル。
    • 16. TW:@HandsLabInc #jawsug #jawsdays #handslab 15 ②夜間バッチレス FTPd S3Bucket POSレジ 新POS レジ売上から日次データ更新までの流れ Worker 日次データ 集計データ 新PDA/店舗PC店舗 WEB/APP サーバ 店舗Appサーバは、過去 データの参照や、リアルタイ ム性が不要な情報は、S3か らファイルを取得する。 店舗業務終了後、サーバを 停止する。 店舗の業務が終わり、デー タが発生しなくなったら、 Workerを止める。 最後の日次処理データ=確 定データ。
    • 17. TW:@HandsLabInc #jawsug #jawsdays #handslab 16 ②夜間バッチレス FTPd S3Bucket POSレジ 新POS レジ売上から日次データ更新までの流れ Worker 日次データ 集計データ 新PDA/店舗PC店舗 WEB/APP サーバ 店舗Appサーバは、過去 データの参照や、リアルタイ ム性が不要な情報は、S3か らファイルを取得する。 店舗業務終了後、サーバを 停止する。 店舗の業務が終わり、デー タが発生しなくなったら、 Workerを止める。 最後の日次処理データ=確 定データ。 詳しくはWEBで!
    • 18. TW:@HandsLabInc #jawsug #jawsdays #handslab 17 ②夜間バッチレス  ポイント  DynamoDBを使わない  集計処理や洗い替えには向かない  RDSを使わない  大規模にスケールできない  そもそもテキストファイル文化  S3にデータを保存する謎の安心感
    • 19. TW:@HandsLabInc #jawsug #jawsdays #handslab 18 ミッション 大原則:フルマネージドサービスを使い倒す! ③ スケールアウト  今後の新システムの全店導入をスムーズに  新店オープンでも処理能力の心配を無しに  EC連動/統合を視野にいれる
    • 20. TW:@HandsLabInc #jawsug #jawsdays #handslab 19 ③スケールアウト SQS/SNSの活用で、各部が疎結合/ステートレス! AutoScaling、DynamoDB、S3でデータ/処理能力がオートスケール! S3Bucket Worker 日次データ 集計データ FTPd S3Bucket SQS Worker SNS SQS Worker SQS Worker POSレジ 新POS 売上テーブル 在庫テーブル 新PDA/店舗PC店舗 WEB/APP サーバ ASG ASG ASG ASG ASG キュー数で オートスケール! 負荷で オートスケール!
    • 21. TW:@HandsLabInc #jawsug #jawsdays #handslab 20 ③スケールアウト SQS/SNSの活用で、各部が疎結合/ステートレス! AutoScaling、DynamoDB、S3でデータ/処理能力がオートスケール! S3Bucket Worker 日次データ 集計データ FTPd S3Bucket SQS Worker SNS SQS Worker SQS Worker POSレジ 新POS 売上テーブル 在庫テーブル 新PDA/店舗PC店舗 WEB/APP サーバ ASG ASG ASG ASG ASG キュー数で オートスケール! 負荷で オートスケール! 売上高1兆円規模でも対応可能!! ※2013年3月期 売上高 828億万円(Wikipediaより)
    • 22. TW:@HandsLabInc #jawsug #jawsdays #handslab 21 ③スケールアウト 1兆円システムへの懸念点・・・ S3Bucket Worker 日次データ 集計データ FTPd S3Bucket SQS Worker SNS SQS Worker SQS Worker POSレジ 新POS 売上テーブル 在庫テーブル 新PDA/店舗PC店舗 WEB/APP サーバ ASG ASG ASG ASG ASG 1Bucketが受けられる書き 込みリクエストは、100件/秒 まで SNSは毎秒3000件を超え るとAWSの中の人に怒られ る SQSも毎秒3000件を超える とAWSの中の人に怒られる
    • 23. TW:@HandsLabInc #jawsug #jawsdays #handslab 22 まとめ ハンズラボでは、こういう、ちゃんとした、基幹システムもつく れるということや
    • 24. TW:@HandsLabInc #jawsug #jawsdays #handslab 23 まとめ ハンズラボでは、こういう、ちゃんとした、基幹システムもつく れるということや しかも、既存の考え方にとらわれず、常に 新しいソリューションを追い求めます!
    • 25. TW:@HandsLabInc #jawsug #jawsdays #handslab 24 今後の予定  新MDシステムの全店舗展開  新POSの開発  ECとの連動、統合  そして、外販へ・・・ 今後も目玉開発が目白押し! ハンズラボでは、一緒に新アーキテクチャーを構築し てくれるメンバーを募集してます!