狠狠撸

狠狠撸Share a Scribd company logo
?? UniFa Inc.
ルクミー
午睡チェックでの
DynamoDB と
SQS の活用
ユニファ株式会社
?? UniFa Inc.
AWS Startup Architecture of the Year Japan 2020 優勝
?? UniFa Inc.
事業?サービスについて
?? UniFa Inc.
もっと見たい。
もっと見てほしい。
を、もっと叶えたい。
「保育の質を上げる」保育関係者のパートナー
?? UniFa Inc.
?? UniFa Inc.
?? UniFa Inc.
従来の午睡チェック業務
手書きによる5分間隔でのうつ伏せ寝チェック
?? UniFa Inc.
ルクミー午睡チェック概要
?? UniFa Inc.
ルクミー午睡チェック概要
?? UniFa Inc.
ルクミー午睡チェック概要
Web管理画面
?? UniFa Inc.
利用中の様子
※画像転載禁止
?? UniFa Inc.
利用実績
導入施設数 約 3,200 施設
午睡センサー数 約 35,000 個
タブレット数 約 5,000 台
?? UniFa Inc.
システムアーキテクチャ
?? UniFa Inc.
想定された課題
アクセス特性
? ピークタイム: 11:00 – 15:00
? 5分毎に iPad アプリから集中的にデータが送信される
チェックシートデータ量
? 12レコード/園児/時 x 14時間 x 10園児 = 1,680レコード/日/施設
? 1,680 x 2,000施設 = 3,360,000レコード/日
?? UniFa Inc.
Overview
?? UniFa Inc.
全体構成図
?? UniFa Inc.
全体構成図
オンライン処理
?? UniFa Inc.
全体構成図
バッチ処理
?? UniFa Inc.
全体構成図
?? UniFa Inc.
全体構成図
?? UniFa Inc.
午睡チェックシートデータの処理
?? UniFa Inc.
午睡チェックシートデータの処理
ピークタイムに合わせて
EC2 を Auto Scaling
ピークタイムに合わせて
EC2 を Auto Scaling
(API Server と同一インスタンス)
?? UniFa Inc.
午睡チェックシートデータの処理
Redis を使用して
ステータスフラグを記録し
Create/Update/Delete の
処理順番を保つ
?? UniFa Inc.
午睡チェックシートデータの処理
SQSを介した非同期処理
Worker が DynamoDBに書き込む
?? UniFa Inc.
午睡チェックシートデータの処理
DynamoDBのテーブルは月別で作成し
キャパシティやアクセス方法を調整
過去テーブルへのアクセスは同期処理
?? UniFa Inc.
午睡チェックシートデータの処理
データ送信回数、アラート回数などの
センサー単位での情報は
DynamoDB Stream で
Lambda Function を実行して都度集計し
DynamoDB のテーブルに記録
?? UniFa Inc.
午睡チェックシートデータの処理
?? UniFa Inc.
午睡チェックシートデータの処理
DynamoDB の Write Capacity を
予め登録しておく
Worker は起動時に自身の情報を登録
稼働中の Worker 数と
Write Capacity の情報を取得
WriteCapacity: 120
?? UniFa Inc.
午睡チェックシートデータの処理
DynamoDB の Write Capacity を
予め登録しておく
Worker は起動時に自身の情報を登録
稼働中の Worker 数と
Write Capacity の情報を取得
Write Capacity の情報をもとに
スロットリングが発生しないように
書き込み速度を調整
WriteCapacity: 120 40
40
40
?? UniFa Inc.
午睡チェックシートデータの処理
SQSに格納されてから
処理されるまでの時間。
確認時点で最大167秒。
ビジネス要件は300秒以内。
?? UniFa Inc.
午睡チェックシートデータの処理
SQSに送信されたデータ数。
確認時点で最大1.76万件/分。
?? UniFa Inc.
午睡チェックシートデータの処理
ワーカーによる処理数。
確認時点で最大7,790件/分。
?? UniFa Inc.
Design for Failure
10回処理に失敗したデータは
DLQに格納される。
送信順が不正だった場合は
処理に失敗するため
DLQに格納され通知される。
4日間処理されなかった場合
削除される
?? UniFa Inc.
Design for Failure
CloudWatch Events で
Lambda Function をキックし
DynamoDB のバックアップ対象
テーブルのリストを抽出して
SQSに格納
?? UniFa Inc.
Design for Failure
SQSに格納された
テーブルリストをもとに
対象のテーブルのラベルを更新
?? UniFa Inc.
Design for Failure
DynamoDB のテーブルの
ラベルをもとに対象を特定して
AWS Backup でバックアップ取得
?? UniFa Inc.
Design for Failure
?? UniFa Inc.
Design for Failure
午睡チェック業務実行中の場合は
サーバへ接続できなくなっても
センサーと iPad 間でチェック業務可能
?? UniFa Inc.
Design for Failure
セルラー回線(SORACOM Air Sim)を使うことで
保育園のWi-Fiの安定性の問題を回避
同時に導入時の保育園側のハードルを下げる
?? UniFa Inc.
ビジネスインパクト
?? UniFa Inc.
導入施設数
? サービス開始: 2018年4月(約2年半経過)
? 導入施設数: 約3,200施設(2020/06/30時点)
?? UniFa Inc.
データ量増加推移
0
1
2
3
4
5
6
7
8
9
10
Millions
2年半累計で約1.2億レコード 2020.04緊急事態宣言
コ
ロ
ナ
禍
に
よ
る
稼
働
減
?? UniFa Inc.
アーキテクチャによるビジネス貢献
信頼性
? レスポンスタイムやパフォーマンスの劣化なし
? サーバに接続できなくても稼働継続可能
運用上の優秀性
? セルラー回線を使うことでWi-Fiの問題を回避
? 安定的な稼働と導入時のハードルを下げることに貢献
?? UniFa Inc.
安心を進化させる。
ほほ笑みが増えていく。
命に関わる業務での
安心?安全をサポート
求められる Well-Architected の柱
? 信頼性
? 運用上の優秀性
?? UniFa Inc.
もっと見たい。
もっと見てほしい。
を、もっと叶えたい。
?? UniFa Inc.
We are hiring!!
インフラエンジニア、Rubyエンジニアをはじめとして
開発メンバー募集しています!!
お気軽にご連絡ください!!
?? UniFa Inc.
Ad

Recommended

ルクミー午睡チェックを支えるアーキテクチャ
ルクミー午睡チェックを支えるアーキテクチャ
Hiroaki Akanuma
?
JAWS DAYS 2016 The Next Cloud
JAWS DAYS 2016 The Next Cloud
晋也 古渡
?
AWS VPC Peering & IP in IP tunneling
AWS VPC Peering & IP in IP tunneling
Yutaka HOKARI
?
AMIMOTO ハンズオン JAWS DAYS 2015
AMIMOTO ハンズオン JAWS DAYS 2015
Hiromichi Koga
?
オフライン行動を支えるメール配送管理 at サイタ
オフライン行動を支えるメール配送管理 at サイタ
Yosuke TOMITA
?
プッシュからデータ保存まで。アプリ開発でニフティクラウド mobile backendを使う上での良くある質問、疑問にお答えします
プッシュからデータ保存まで。アプリ開発でニフティクラウド mobile backendを使う上での良くある質問、疑問にお答えします
Atsushi Nakatsugawa
?
Cordova × NCMB
Cordova × NCMB
Atsushi Nakatsugawa
?
ニフティクラウド mobile backendを使う上での良くある質問、疑問にお答えします
ニフティクラウド mobile backendを使う上での良くある質問、疑問にお答えします
Atsushi Nakatsugawa
?
AWS Startup Tech Lightning Talks 2015 Summer at dots.
AWS Startup Tech Lightning Talks 2015 Summer at dots.
Eiji Shinohara
?
スタートアップに箩辞颈苍して安心して眠るためにやった5つのこと
スタートアップに箩辞颈苍して安心して眠るためにやった5つのこと
Masashi Ogawa
?
「リザーブドキングスライム」をやっつけて一撃レベルアップ!
「リザーブドキングスライム」をやっつけて一撃レベルアップ!
Tomoya Ishida
?
Jawsug osaka10 service&regions
Jawsug osaka10 service&regions
Takuro Sasaki
?
JAZUG 4周年総会 「トラブルから学ぶAzure世渡り術」
JAZUG 4周年総会 「トラブルから学ぶAzure世渡り術」
Yui Ashikaga
?
デブサミ2016 | 日本発IoTプラットフォームビジネスへの挑戦 SORACOM 立ち上げ格闘記
デブサミ2016 | 日本発IoTプラットフォームビジネスへの挑戦 SORACOM 立ち上げ格闘記
SORACOM,INC
?
20150523 operation jaws(JAWS-UG OSAKA #13)
20150523 operation jaws(JAWS-UG OSAKA #13)
Daiki Mori
?
Mackerelでワクワク体験 Mackerel Meetup #6 Tokyo #mackerelio LT
Mackerelでワクワク体験 Mackerel Meetup #6 Tokyo #mackerelio LT
Tsubasa Hirota
?
ニフティクラウド mobile backend 北海道ハンス?オン
ニフティクラウド mobile backend 北海道ハンス?オン
ニフクラ mobile backend
?
Winodws azure紹介
Winodws azure紹介
fumios
?
「eureka x mackerel」Mackerel meetup#6
「eureka x mackerel」Mackerel meetup#6
Kento Yamashita
?
Momon ga 5プレゼン
Momon ga 5プレゼン
oku_zawa
?
Manacaあるある(とあるパートナー失敗談) vmt
Manacaあるある(とあるパートナー失敗談) vmt
Daisuke Yamashita
?
20141017 jawsug沖縄へようこそ
20141017 jawsug沖縄へようこそ
Koichiro Nishijima
?
Fukuoka Engineers Day 2021 SORACOM UG紹介
Fukuoka Engineers Day 2021 SORACOM UG紹介
Ken'ichirou Kimura
?
【オンプレミスとの组み合わせに効く】础奥厂のマネージドサービスつまみ食い10品
【オンプレミスとの组み合わせに効く】础奥厂のマネージドサービスつまみ食い10品
Takayuki Niinuma
?
AWS認定クラウドプラクティショナー 書くときに意識してたこととか
AWS認定クラウドプラクティショナー 書くときに意識してたこととか
Mitsuhiro Yamashita
?
Vyatta meeting 2013 spring
Vyatta meeting 2013 spring
Motokatsu Matsui
?

More Related Content

What's hot (18)

AWS Startup Tech Lightning Talks 2015 Summer at dots.
AWS Startup Tech Lightning Talks 2015 Summer at dots.
Eiji Shinohara
?
スタートアップに箩辞颈苍して安心して眠るためにやった5つのこと
スタートアップに箩辞颈苍して安心して眠るためにやった5つのこと
Masashi Ogawa
?
「リザーブドキングスライム」をやっつけて一撃レベルアップ!
「リザーブドキングスライム」をやっつけて一撃レベルアップ!
Tomoya Ishida
?
Jawsug osaka10 service&regions
Jawsug osaka10 service&regions
Takuro Sasaki
?
JAZUG 4周年総会 「トラブルから学ぶAzure世渡り術」
JAZUG 4周年総会 「トラブルから学ぶAzure世渡り術」
Yui Ashikaga
?
デブサミ2016 | 日本発IoTプラットフォームビジネスへの挑戦 SORACOM 立ち上げ格闘記
デブサミ2016 | 日本発IoTプラットフォームビジネスへの挑戦 SORACOM 立ち上げ格闘記
SORACOM,INC
?
20150523 operation jaws(JAWS-UG OSAKA #13)
20150523 operation jaws(JAWS-UG OSAKA #13)
Daiki Mori
?
Mackerelでワクワク体験 Mackerel Meetup #6 Tokyo #mackerelio LT
Mackerelでワクワク体験 Mackerel Meetup #6 Tokyo #mackerelio LT
Tsubasa Hirota
?
ニフティクラウド mobile backend 北海道ハンス?オン
ニフティクラウド mobile backend 北海道ハンス?オン
ニフクラ mobile backend
?
Winodws azure紹介
Winodws azure紹介
fumios
?
「eureka x mackerel」Mackerel meetup#6
「eureka x mackerel」Mackerel meetup#6
Kento Yamashita
?
Momon ga 5プレゼン
Momon ga 5プレゼン
oku_zawa
?
Manacaあるある(とあるパートナー失敗談) vmt
Manacaあるある(とあるパートナー失敗談) vmt
Daisuke Yamashita
?
20141017 jawsug沖縄へようこそ
20141017 jawsug沖縄へようこそ
Koichiro Nishijima
?
Fukuoka Engineers Day 2021 SORACOM UG紹介
Fukuoka Engineers Day 2021 SORACOM UG紹介
Ken'ichirou Kimura
?
【オンプレミスとの组み合わせに効く】础奥厂のマネージドサービスつまみ食い10品
【オンプレミスとの组み合わせに効く】础奥厂のマネージドサービスつまみ食い10品
Takayuki Niinuma
?
AWS認定クラウドプラクティショナー 書くときに意識してたこととか
AWS認定クラウドプラクティショナー 書くときに意識してたこととか
Mitsuhiro Yamashita
?
Vyatta meeting 2013 spring
Vyatta meeting 2013 spring
Motokatsu Matsui
?
AWS Startup Tech Lightning Talks 2015 Summer at dots.
AWS Startup Tech Lightning Talks 2015 Summer at dots.
Eiji Shinohara
?
スタートアップに箩辞颈苍して安心して眠るためにやった5つのこと
スタートアップに箩辞颈苍して安心して眠るためにやった5つのこと
Masashi Ogawa
?
「リザーブドキングスライム」をやっつけて一撃レベルアップ!
「リザーブドキングスライム」をやっつけて一撃レベルアップ!
Tomoya Ishida
?
Jawsug osaka10 service&regions
Jawsug osaka10 service&regions
Takuro Sasaki
?
JAZUG 4周年総会 「トラブルから学ぶAzure世渡り術」
JAZUG 4周年総会 「トラブルから学ぶAzure世渡り術」
Yui Ashikaga
?
デブサミ2016 | 日本発IoTプラットフォームビジネスへの挑戦 SORACOM 立ち上げ格闘記
デブサミ2016 | 日本発IoTプラットフォームビジネスへの挑戦 SORACOM 立ち上げ格闘記
SORACOM,INC
?
20150523 operation jaws(JAWS-UG OSAKA #13)
20150523 operation jaws(JAWS-UG OSAKA #13)
Daiki Mori
?
Mackerelでワクワク体験 Mackerel Meetup #6 Tokyo #mackerelio LT
Mackerelでワクワク体験 Mackerel Meetup #6 Tokyo #mackerelio LT
Tsubasa Hirota
?
ニフティクラウド mobile backend 北海道ハンス?オン
ニフティクラウド mobile backend 北海道ハンス?オン
ニフクラ mobile backend
?
Winodws azure紹介
Winodws azure紹介
fumios
?
「eureka x mackerel」Mackerel meetup#6
「eureka x mackerel」Mackerel meetup#6
Kento Yamashita
?
Momon ga 5プレゼン
Momon ga 5プレゼン
oku_zawa
?
Manacaあるある(とあるパートナー失敗談) vmt
Manacaあるある(とあるパートナー失敗談) vmt
Daisuke Yamashita
?
20141017 jawsug沖縄へようこそ
20141017 jawsug沖縄へようこそ
Koichiro Nishijima
?
Fukuoka Engineers Day 2021 SORACOM UG紹介
Fukuoka Engineers Day 2021 SORACOM UG紹介
Ken'ichirou Kimura
?
【オンプレミスとの组み合わせに効く】础奥厂のマネージドサービスつまみ食い10品
【オンプレミスとの组み合わせに効く】础奥厂のマネージドサービスつまみ食い10品
Takayuki Niinuma
?
AWS認定クラウドプラクティショナー 書くときに意識してたこととか
AWS認定クラウドプラクティショナー 書くときに意識してたこととか
Mitsuhiro Yamashita
?

ルクミー午睡チェックでの顿测苍补尘辞顿叠と厂蚕厂の活用