SlideShare a Scribd company logo
AWS × Serverless Framework
×QuickSightで
IoTデータを可視化する
Author: Masaki Suzuki
@makky12
本日お話しすること
• きっかけ~作成アプリ~サーバーレスアプリの問題点(の一例)
• サーバーレスアプリの問題点の解決
• Infrastructure as Code(IaC)
• Serverless Framework
• AWSでの収集データの分析・可視化
• Amazon Athena & Amazon QuickSight(※)
• Amazon Neptune(参考資料) (※)
• 自己紹介&告知
※以後、製品名の「Amazon」は省略して記載します
資料&サンプルアプリ
• 本日の発表資料&作成アプリは、以下の場所で公開してます
• 登壇資料
• https://www.slideshare.net/MasakiSuzuki3/
• 作成アプリ(GitHub)
• https://github.com/smt7174/nature-remo
きっかけ
• 大平さんのツイート(→)
• 大平さんはAzureで実行
• じゃあ、僕はAWSでやってみよう!
• AWSなら、Athena→QuickSightに
流してグラフ表示したら、BIっぽくて
いい感じじゃない?
作ったアプリの構成
LambdaCloudWatch
DynamoDB
Simple Storage Service(S3) Athena
QuickSight
Lambda Lambda
リソースが多い…
API Gateway
※今回は未使用
サーバーレスアプリの問題点(の一例)
• リソース作成が大変
• コンソール上で1つ作るだけでも、結構手間
• コンソールの使い勝手が不十分…などの問題も
• コンソールでは完結できない…という場合も
• 管理はもっと大変
• 作成リソース/作業手順/設定などを覚えなければならない
• 手順書を残すにしても、その作成が手間だったり…
• 作成担当者=作成経験者とは限らない
• 人為的ミスが発生しやすくなる
• 過去リソース作成担当者でも、時間が経てばミスが発生しやすくなる
• (作業者により)品質が変わる/作業の俗人化などの問題
→リソース作成を楽にできる機能が欲しい!
Infrastructure as Code(IaC)とは
• インフラ構成・定義・構築を、コードから行うプロセスのこと
• 「インフラ」とあるが、実際は各種リソースの作成・設定も合わせて実施
• コード(=定義ファイル)を作成し、デプロイするだけでOK
• CloudFormation(AWS)/Azure Resource Manager(Azure) など
• IaCを導入することで、下記のメリットがある
• 安定した品質の保証
• 結果は毎回同じ(=冪等性(※)の確保)
• 作業者の知識・スキル・経験に依存しない(=属人化解消)
• 管理コストの削減
• 定義はすべて定義ファイル内で完結
• 細かい作業も不要(デプロイを行うだけ)
• 開発者が「開発」にのみ注力できる
※冪等性(べきとうせい):「ある作業を何度行っても、毎回必ず同じ結果が得られる」性質のこと
Serverless Frameworkとは
• サーバーレスアプリの構築・開発・運用管理をサポートするOSS
• 公式URL: https://serverless.com/
• IaCによるリソースデプロイにも対応
• AWS/Azure/GCPを始め、数多くのクラウドに対応
• 一番サポートが手厚いのはAWS
• その他、テスト/CI・CD/モニタリングなども対応
• 特に、テストはCloudWatchログを出力出来たりと便利
• 各クラウドでの定義ファイルを共通のフォーマットで書ける
• クラウドごとにフォーマットを覚え直す必要がない(=学習コストが少ない)
• JSON/YAMLに対応
• その他、JavaScriptでの(動的な)値の設定なども可能
IaC(Serverless Framework)を使うと…
Lambda
DynamoDB
Simple Storage Service(S3) Athena
QuickSight
Lambda Lambda
ここまでServerless Frameworkで作成できる!
※Athenaは「保存クエリ」の作成のみ対応
CloudWatch
API Gateway
※今回は未使用
Athenaついて
• S3のファイル内の大量データの分析を簡易化するツール
• S3ファイル内のデータを、RDBのようにテーブル/SQLで扱える
• QuickSightと統合することで、データを簡単に可視化できる
• QuickSightを始め、各種BI(※)ツールとの相性がいい
• BIツール以外にも、ログファイルなどの解析にも便利
• JSON/CSVを始め、多くのファイル形式に対応
• JSONは一手間かかる。手っ取り早く行うならCSVがおすすめ
• 正確には「ネスト」「構造体」などのデータがあると少々面倒
※BI:Business Intelligence(企業が膨大な蓄積データを分析し、その結果を経営意思決定に活用する事)
QuickSightについて
• AWSのクラウド駆動BIツール
• 分析データなどの各種データをグラフなどで可視化できる
• 企業などの迅速な意思決定などをサポートする
• 堅牢なインメモリエンジン(SPICE)を使用
• 容量制限あり。不要なら無理に使わなくてもよい
• 分析データのソースはAthena・RDS・S3など多岐にわたる
• GitHub/Twitterなどにも対応
• BI用途でなくても、収集データの可視化などが容易に行える
• (例)ログ解析/集計データの可視化… etc
• まさに今回がコレ
QuickSightで表示した結果
• 色々あったけど、無事QuickSightでグラフ表示することができた
まとめ
• サーバーレスアプリのリソース管理には、IaCが便利
• リソースの管理コストの削減
• 冪等性による、属人化・スキル依存の解消
• IaCのツールとして、Serverless Frameworkが便利
• 複数のクラウドに対応
• 特にAWSはサポートが手厚い
• Athenaを使うと、収集データをRDBのように扱えて便利
• テーブル/ビュー/SQL etc.
• QuickSightで、収集データをグラフで可視化できる
• BIツールとして、容易に導入しやすい
• BI用途以外にも、ログ解析など
【参考】Neptuneについて
• フルマネージドなグラフ型データベース
• 「ノード・エッジ型」の構造を持つ(右下図)
• 「テーブル型」が弱い「データ間の関係性/依存性」の保持も可能
• Twitterの「フォロー/フォロワー」
• ECサイトの「一緒に買われてる商品(サジェスチョン)」etc.
• 今回は下記の理由で利用せず
• 収集データ間に具体的な「関係性/依存性」がない
• コストの問題(「無料枠」がない)
• AWS公式URL:https://aws.amazon.com/jp/neptune/
本1
作者:A
ジャンル:IT
本2
作者:B
ジャンル:IT
本3
作者:A
ジャンル:ゲーム
作者が同じジャンルが同じ
一緒に
買われてる
自己紹介
• 名前:鈴木 正樹 (Masaki Suzuki)
• 在住:愛知県半田市
• 職業:フリーランスエンジニア(4月に法人化予定)
• 業務:サーバーレスアプリのアーキテクチャ構築/設計/開発 など
• 技術:
• AWS/Azure/Serverless Framework/IaC全般
• 各種イベント・SNS・ブログでのクラウド普及活動(個人的に)
• Power Platform(Power Apps/Power Automate)/MS系全般
• SNS
http://makky12.hatenablog.com/
https://github.com/smt7174
@makky12 (Masaki Suzuki@フリーランスクラウドエンジニア)
名古屋市
豊橋市
中部国際空港
(セントレア)
半田市
【おまけ】愛知県半田市について
• 有名なもの
• 「ごんぎつね」の作者、新美南吉の生誕地
• お酒(日本酒。「國盛」「半田郷」など)
• お酢(「ミツカン」の本社があるのが半田市)
• 山車
• 市内で合計31台の山車がある
• 5年に一度、「はんだ山車まつり」という市内の山車が勢揃いする祭りがある
• 知多半島全体が「知多娘」という萌えキャラで町おこしをしている
• 公式URL: http://www.chita-musume.com/character/
• 半田市にはキャラクターが2人いる
• 半田 酔子(左)
• 広小路 クララ(右)
告知(Serverless Meetup Nagoyaについて)
• Serverless Meetup Nagoyaを開催します!
• 日時:2020/4/11(土) 13:00~ (予定)
• 場所:ワンダープラネット株式会社様 名古屋本社
※オンライン開催になる可能性あり
• 私がオーガナイザーを担当します
• 今のところ、5名のスピーカーが登壇予定です
• 大平 かつみさん/私も登壇します!
• 参加お待ちしてます!
…と言ってもなかなか難しいと思うので、知人やSNSで拡散お願いします
※イベントURL(まだ未公開): https://connpass.com/event/168807/
以上です
ご清聴ありがとうございました

More Related Content

PPTX
使用 ASP.NET Blazor 開發 SPA 網頁應用程式 (.NET Conf 2018)
PDF
NSCoder Swift - UIKit
PPTX
React Native - Introductory Tutorial
PPTX
Koniec CSS? Jest Tailwind!
PDF
Laravel Poznań Meetup #2 - Koniec CSS? Jest Tailwind!
PDF
20190730 softwaredesign design 201908 by kitazaki t0
PPTX
Remote-Containersでnext.js環境を 作った話
PPTX
リモートワークで10kgダイエットした話
使用 ASP.NET Blazor 開發 SPA 網頁應用程式 (.NET Conf 2018)
NSCoder Swift - UIKit
React Native - Introductory Tutorial
Koniec CSS? Jest Tailwind!
Laravel Poznań Meetup #2 - Koniec CSS? Jest Tailwind!
20190730 softwaredesign design 201908 by kitazaki t0
Remote-Containersでnext.js環境を 作った話
リモートワークで10kgダイエットした話

More from Masaki Suzuki (7)

PPTX
Editorlt
PPTX
Node.js version16の新機能
PPTX
AWS Lambdaのテストで役立つ各種ツール
PPTX
Serverless Framework Pluginで行うLambdaテスト
PPTX
アプリ開発&チーム管理で 役立った拡張機能
PPTX
Vscodemeetup6
PPTX
開発チーム管理で役立ったVSCode拡張機能
Editorlt
Node.js version16の新機能
AWS Lambdaのテストで役立つ各種ツール
Serverless Framework Pluginで行うLambdaテスト
アプリ開発&チーム管理で 役立った拡張機能
Vscodemeetup6
開発チーム管理で役立ったVSCode拡張機能
Ad

AWS × Serverless Framework ×QuickSightで IoTデータを可視化する