寿司パワポを共有したくてオープンソースアプリを作ってる話

2015/9/17にリクルートジョブズ様でおこなわれたイベントでの資料です

1. 寿司パワポを共有したくて オープンソースアプリを作ってる話 @ryuzee 2015/9/17  🍣ルート
2. ⾃自⼰己紹介 •  吉⽻羽⿓龍龍太郎郎 –  アマゾン  データ  サービス  ジャパン株式会社 –  プロフェッショナルサービス本部  部⻑⾧長 –  エンタープライズ企業のクラウド導⼊入やアーキテク ティングに関する⽀支援を提供 –  @ryuzee    http://www.ryuzee.com
3. せっかく美味い寿司を⾷食べたら スライドにして共有したい!!
4. つくってみた!!
6. Open  Sourceのスライド共有アプリ
7. 概要 •  PDFやPPTをアップロードすると変換してFlashなしでブラウ ザでスライドが⾒見見える •  データは全部Amazon  S3にあるので安⼼心 •  SQSを使って変換プロセスを疎結合化 •  クラウドネイティブアーキテクチャ •  APIを⽤用意 •  その他、レスポンシブ/i18n/検索索/管理理者ダッシュボードなど •  CakePHPで実装、GitHubでコード管理理、CircleCIでテスト⾃自 動化、Scrutinizerで静的解析
9. Scrutinizer  =  静的解析  as  a  service
10. 処理理の流流れとアーキテクチャ
11. アップロードの流流れ VPC - 172.24.0.0/16 Web  +   DB  +   Worker   Public subnet 172.24.2.0/24 ①アップロードフォーム要求 ②POST先がS3のフォームを返す ④リダイレクト Public subnet 172.24.0.0/24 ③S3にファイルをアップロード オリジナル⽤用 ⑤SQSの変換キューに登録した 後クライアントへ応答返す Private subnet 172.24.3.0/24 ap-northeast-1c Private subnet 172.24.1.0/24 ap-northeast-1a 変換ファイル
12. 変換の流流れ VPC - 172.24.0.0/16 Web  +   DB  +   Worker   Public subnet 172.24.2.0/24 ②変換対象ファイルを取得 Public subnet 172.24.0.0/24 オリジナル⽤用 ①SQSのキューに変換要求があ るかを確認 Private subnet 172.24.3.0/24 ap-northeast-1c Private subnet 172.24.1.0/24 ap-northeast-1a ③変換後ファイルを保存     (低冗⻑⾧長化ストレージ) 変換ファイル
13. スライド表⽰示 VPC - 172.24.0.0/16 ①HTML Web  +   DB  +   Worker   Public subnet 172.24.2.0/24 Public subnet 172.24.0.0/24 オリジナル⽤用 Private subnet 172.24.3.0/24 ap-northeast-1c Private subnet 172.24.1.0/24 ap-northeast-1a 変換ファイル ①スライド⽤用データ
14. 可⽤用性向上 VPC - 172.24.0.0/16 Web  +   Worker   Public subnet 172.24.2.0/24 Web  +   Worker   Public subnet 172.24.0.0/24 オリジナル⽤用 Private subnet 172.24.3.0/24 ap-northeast-1c Private subnet 172.24.1.0/24 ap-northeast-1a 変換ファイル
15. さらに可⽤用性向上 VPC - 172.24.0.0/16 Web     Web     Web     Web     Web     Web     Auto  Scaling  group   Wor ker     Wor Wor Auto   S caling   g roup   ker   ker   Public subnet 172.24.2.0/24 Private subnet 172.24.3.0/24 ap-northeast-1c Wor ker     Public subnet 172.24.0.0/24 オリジナル⽤用 Private subnet 172.24.1.0/24 ap-northeast-1a 変換ファイル CDNから配信
16. 専⽤用クライアントも作ってみた
17. アーキテクチャ •  必要なデータは基本的にAPIで取得 –  http://slide.meguro.ryuzee.com/api/v1/slides/tags:寿司 •  (実際はURLはエンコード) –  APIにはバージョニング必須。アプリ側のRouting機能を使って 最初から複数バージョン維持できるようにする •  クライアント側はElectronで実装 –  HTML5とNode.js。既存資産を活かせる –  Mac/Windows/Ubuntuなどクロスプラットフォーム対応
18. 個⼈人的な気付き •  ⼿手を動かしていないとどんどん勘が鈍る危機感 に対抗するにはとにかく何か作る •  題材選びは重要。 •  好きなものをネタにすると進めやすい
No comments...
Attractor Inc. Founder / CTO / Agile Coach / Certified Team Coach / Certified Scrum Professional / Certified ScrumMaster / Certified Scrum Product Owner Twitter : @ryuzee Web : https://www.attractor.co.jp/ Web : http://www.ryuzee.com/

Related Slides