Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
古地図関連技術をサーバレスアーキ
テクチャのみでなんとかし隊 (1)
大塚恒平 (Kohei Otsuka)
1
Self-introduction
2
• 大塚恒平 (Kohei Otsuka)
• エンターテイメント分野で位置情報業界14年
• Mapion社 - 位置情報ゲーム「ケータイ国盗り合戦」立ち上げに参加
企画開発双方のディレクション、シナリオ作成、プログラム実装
• ATR-Pr...
Q: なぜサーバレス?
4
A: 管理メンドイから
5
• サーバの面倒に人張り付けられる余裕あるなら、サーバの面倒見てあ
げるのも悪くないが…
• ずっと起動しっぱなしでずっと課金
• ずっと状態監視、不調起こしたら即座に対応
• 片手間でしかサーバお守りに人割けない状況ではコスパが悪すぎる
• ...
Stroly時代
7
データ配信は静的、編集はサー
バ利用 8
Amazon EC2
Amazon S3
地図コンテンツ
提供者
対応点編集、
地図画像アップロード
対応点KML化、
地図タイル化、
S3アップロード
地図KML、
地図タイル配信
地図の検索は
アプ...
編集もサーバレスにしたい!
9
対応点編集は普通にできそう 10
Azure BLOB
Storage
地図コンテンツ
提供者
対応点編集 (REST API)
KML発行
Azure CosmosDB
対応点蓄積
Azure Functions
なぜ突然にAzure?
11
CosmosDBが(・∀・)イイ!!
(DynamoDB比)
• 当然、データストアもサーバレス目指すので、RDS等ではな
くDynamoDB的なものを使うわけですが…
• AzureはCosmosDBがとても良すぎる
• まだ十分試せてません...
地図タイル化どうするよ?
13
タイル化も再帰的呼出でできそう 14
Azure BLOB Storage
(処理用バケット)
地図コンテンツ
提供者
地図画像
アップロード
関数
起動
元画像を256ピクセ
ル四方以下に縮小
Azure BLOB
Storage
(配信用
...
編集はサーバレス化できそう!
15
Webアプリ化で検索はどうする?
16
スマホアプリの時代 17
Amazon S3
地図KML、
地図タイル配信
地図一覧の保持、
地図の検索は
アプリ上
© Stroly
Webアプリの時代? 18
Amazon S3
地図アプリ、
地図KML、
地図タイル配信
© Stroly
Amazon EC2
地図検索結果
(REST API)
ここ何とかしたい…
• お守り大変だし
• 障害でアプリ止まるし
• お財布...
単純にサーバレス化もいいけど… 19
Azure BLOB
Storage
地図アプリ、
地図KML、
地図タイル配信
© Stroly
Azure Functions
地図検索結果
(REST API)
Azure CosmosDB
地図検索
もっと静的に!
20
ところで古地図の検索って?
21
ユーザの今の注視点を含む古地
図の検索 22
• 地図UIの中心経緯度が検索対象地図範囲に含まれ
るかで検索
• 検索結果のソート方法にはいくつかの考え方
• 小さい地図順に並べる
• 検索UI地図側の表示スケールに近い順に並べる
• 参考記事...
注視点を含むデータの静的検索?
23
UTFGridが使えるじゃないか! 24
• UTFGrid
• タイルベースでピクセル毎にデータ検索結果を配信する技術
• 参考記事:
• 『タッチデバイスでのhover的簡易高速検索UIの可能性とUTFGridの優位性について』
https...
UTFGridが使えるじゃないか! 25
• UTFGrid
• タイルベースでピクセル毎にデータ検索結果を配信する技術
• 参考記事:
• 『タッチデバイスでのhover的簡易高速検索UIの可能性とUTFGridの優位性について』
https...
応用
26
バイナリベクトルタイルを
用いた分散型古地図リポジトリ 27
地図コンテンツ
提供者
自サイトから
古地図発信
地図の
存在をping
地図リポジトリ
登録API
地図リポジトリ
登録をトリガに
バイナリベクトル
タイル更新
バイナリベクトル
...
今回の発表はアイデアレベルなの
で、次回以降Maplatでの実施結果
をレポートします!
28
29
しまったFOSS4G関連の内容がな
かった => MaplatをFOSS4Gと考え
てくだしあ
30
Upcoming SlideShare
Loading in …5
×

古地図関連技術をサーバレスアーキテクチャのみでなんとかし隊 (1)

894 views

Published on

FOSS4G 2017 TOKYO / KANSAIでの懇親会ライトニングトーク発表資料

Published in: Technology
  • Login to see the comments

  • Be the first to like this

古地図関連技術をサーバレスアーキテクチャのみでなんとかし隊 (1)

  1. 1. 古地図関連技術をサーバレスアーキ テクチャのみでなんとかし隊 (1) 大塚恒平 (Kohei Otsuka) 1
  2. 2. Self-introduction 2
  3. 3. • 大塚恒平 (Kohei Otsuka) • エンターテイメント分野で位置情報業界14年 • Mapion社 - 位置情報ゲーム「ケータイ国盗り合戦」立ち上げに参加 企画開発双方のディレクション、シナリオ作成、プログラム実装 • ATR-Promotions (現Stroly社) - 古地図アプリ「ちずぶらり」シリーズ立ち上げ に参加 企画開発双方のディレクション、プログラム実装、特許開発 • 現在は本業はHERE Technologies社で地図コンテンツ/プラットフォーム双方 の技術サポート業務 • Code for NARA横浜支部所属の元、Maplatを始めとしてCode4XMap、地蔵プ ロジェクトなどを私的に運営 3
  4. 4. Q: なぜサーバレス? 4
  5. 5. A: 管理メンドイから 5
  6. 6. • サーバの面倒に人張り付けられる余裕あるなら、サーバの面倒見てあ げるのも悪くないが… • ずっと起動しっぱなしでずっと課金 • ずっと状態監視、不調起こしたら即座に対応 • 片手間でしかサーバお守りに人割けない状況ではコスパが悪すぎる • Stroly時代からサーバレス志向でシステム設計 • 少ない人手でインフラに人割いていられない • 地図データ、地図タイルの配信は全て静的配信、URLベースのデータ検索 でAWSのS3をフル活用 • 個人の余暇開発に移ってからさらに拍車 • 1人でそのうえ本業の時間割けないのに、インフラ管理までやってられる か • 静的配信だけでなく、動的処理も全部サーバレス化じゃ 6
  7. 7. Stroly時代 7
  8. 8. データ配信は静的、編集はサー バ利用 8 Amazon EC2 Amazon S3 地図コンテンツ 提供者 対応点編集、 地図画像アップロード 対応点KML化、 地図タイル化、 S3アップロード 地図KML、 地図タイル配信 地図の検索は アプリ上 © Stroly
  9. 9. 編集もサーバレスにしたい! 9
  10. 10. 対応点編集は普通にできそう 10 Azure BLOB Storage 地図コンテンツ 提供者 対応点編集 (REST API) KML発行 Azure CosmosDB 対応点蓄積 Azure Functions
  11. 11. なぜ突然にAzure? 11
  12. 12. CosmosDBが(・∀・)イイ!! (DynamoDB比) • 当然、データストアもサーバレス目指すので、RDS等ではな くDynamoDB的なものを使うわけですが… • AzureはCosmosDBがとても良すぎる • まだ十分試せてませんが、確認した限りでは • スキーマレスでドキュメントオブジェクトぶっこめる • それに対しSQLライクな自由度の高い検索かけられる • 空間検索に普通に対応 • EC2/S3日本上陸直後から10年このかたAWS一筋な私ですが、 これはAzureに浮気したくなる 12
  13. 13. 地図タイル化どうするよ? 13
  14. 14. タイル化も再帰的呼出でできそう 14 Azure BLOB Storage (処理用バケット) 地図コンテンツ 提供者 地図画像 アップロード 関数 起動 元画像を256ピクセ ル四方以下に縮小 Azure BLOB Storage (配信用 バケット) タイルとして蓄積元画像 256px以下? END 元画像を4分割 4分割画像を バケット登録 元画像を削除 Azure Functions
  15. 15. 編集はサーバレス化できそう! 15
  16. 16. Webアプリ化で検索はどうする? 16
  17. 17. スマホアプリの時代 17 Amazon S3 地図KML、 地図タイル配信 地図一覧の保持、 地図の検索は アプリ上 © Stroly
  18. 18. Webアプリの時代? 18 Amazon S3 地図アプリ、 地図KML、 地図タイル配信 © Stroly Amazon EC2 地図検索結果 (REST API) ここ何とかしたい… • お守り大変だし • 障害でアプリ止まるし • お財布に厳しいし • ダサいし Amazon RDS 地図検索
  19. 19. 単純にサーバレス化もいいけど… 19 Azure BLOB Storage 地図アプリ、 地図KML、 地図タイル配信 © Stroly Azure Functions 地図検索結果 (REST API) Azure CosmosDB 地図検索
  20. 20. もっと静的に! 20
  21. 21. ところで古地図の検索って? 21
  22. 22. ユーザの今の注視点を含む古地 図の検索 22 • 地図UIの中心経緯度が検索対象地図範囲に含まれ るかで検索 • 検索結果のソート方法にはいくつかの考え方 • 小さい地図順に並べる • 検索UI地図側の表示スケールに近い順に並べる • 参考記事: • ちずぶらりHackers『来るべき?MapStoreの時代、最適 な地図のリコメンデーションを提供する技術案』 http://blog.chizuburari.jp/entry/20121118/1353201401 © Stroly
  23. 23. 注視点を含むデータの静的検索? 23
  24. 24. UTFGridが使えるじゃないか! 24 • UTFGrid • タイルベースでピクセル毎にデータ検索結果を配信する技術 • 参考記事: • 『タッチデバイスでのhover的簡易高速検索UIの可能性とUTFGridの優位性について』 https://togetter.com/li/406536 • 古地図範囲の変換結果をUTFGridに変換して保存すれば静的検索可能 この変換結果ポリゴンを UTFGrid化すれば、静的に この地図の検索可能
  25. 25. UTFGridが使えるじゃないか! 25 • UTFGrid • タイルベースでピクセル毎にデータ検索結果を配信する技術 • 参考記事: • 『タッチデバイスでのhover的簡易高速検索UIの可能性とUTFGridの優位性について』 https://togetter.com/li/406536 • 古地図範囲の変換結果をUTFGridに変換して保存すれば静的検索可能 この変換結果ポリゴンを UTFGrid化すれば、静的に この地図の検索可能バイナリベクトルファイルの方がよ さそうだ! (FOSS4G TOKYO 2017による洗脳)
  26. 26. 応用 26
  27. 27. バイナリベクトルタイルを 用いた分散型古地図リポジトリ 27 地図コンテンツ 提供者 自サイトから 古地図発信 地図の 存在をping 地図リポジトリ 登録API 地図リポジトリ 登録をトリガに バイナリベクトル タイル更新 バイナリベクトル タイル配信 © Stroly アプリユーザ: バイナリベクトル タイルから近隣の 古地図を探し、 配信先にアクセス 分散型古地図リポジトリ
  28. 28. 今回の発表はアイデアレベルなの で、次回以降Maplatでの実施結果 をレポートします! 28
  29. 29. 29
  30. 30. しまったFOSS4G関連の内容がな かった => MaplatをFOSS4Gと考え てくだしあ 30

×