これが aws ネイティブアーキテクチャだ! 2017年・春
TRANSCRIPT
これが AWS ネイティブアーキテクチャだ!- 2017年 春 -
JAWS DAYS 20172017-03-11
Takahiro Ikeuchieurie Inc.
アーキテクチャをスクラッチで設計するなら
こんな感じでやるといいんじゃない
という話をします
2
自己紹介
Takahiro Ikeuchi @iktakahiro
Company / Community
eurie Inc. Founder & CEO
SQUEEZE Inc. 技術顧問
PyData.Tokyo Organizer
得意 (あるいは下手の横好き
Go lang, Python, React
Cloud Infrastructure, UI Design etc...
3
最近 のマイブーム
Virginia Region
4
※ 今朝四時
5
eurie Inc.B2B 向け SaaS 事業 (https://eurie.io/ja/)
Launched : カスタマーサポート支援クラウド "eurie Desk"
6
採用技術やサービスGo 言語 / RESTFul API
React with TypeScript / SPA
Python
AWS
Aurora, Lambda, Elastic Beanstalk, SNS, SES
Elasticsearch
SendGrid
Code Ship など
8
Architecture
9
Client-Side の話
10
11
Client-Side の話Single Page Application かつ
RESTful API のクライアントとして実装すれば、静的ファイルのみで構成される (はず
S3 + CloudFront で Application を配布 => Serverless !!
SSL証明書 も無料でついてくる
サイズが大きくなりがちな JavaScript を CDN 経由で配布するメリットはある
12
余談: Cache どうしてるの ?Deployment プロセスの中に Invalidation を組み込む
更新頻度が高いなら TTL 極小でも OK
REST API からフロントエンドアプリのバージョン情報を動的にfetch して古ければユーザーにリロードを促す とかやってます
13
Server-Side の話
14
Server-Side の話RESTful API を前提に設計するとして
Application/Classic Load Balancer の前に CloudFront を置くのが鉄板
Latency 改善が見込める (Slack 社の資料参照:http://www.slideshare.net/AmazonWebServices/secured-api-acceleration-with-engineers-from-amazon-cloudfront-and-slack
WAF を Attach できちゃう
SSL証明書 も無料でついてくる (2回目)
15
Container 使わないの?Go 言語の場合、1バイナリをデプロイすれば動くので依存関係に苦労することが (比較的) ない
ので、Container 管理するメリットがそこまで大きくない
もちろん使ってもいいです
16
Virginia Region がいま (さら) アツイ 理由新サービスが最速で投入される
料金が安い (思いのほか安い)
Latency 問題は 実装と CloudFront で緩和できる(※ もちろん Tokyo よりは遅延でます)
障害率 No.1 ??
AWS でいままで起きた大規模障害を振り返る - Qiitahttp://qiita.com/saitotak/items/07931343bcb703b101f8
17
RDB の話
18
Aurora 使いましょう- おわり -
19
RDB の話Aurora はいいぞ
Multi-AZ 構成にしておけばダウンタイム短し
Maintenance Window も (そんなに) 怖くない
PostgreSQL 互換 (preview) も追加されて選択の幅も広がりましたし
MySQL 5.7 Compatible / Multi Master 構成待ってます!!
20
非同期処理の話
21
非同期処理の話
"非同期処理でよい処理系" の Hub として AWS Lambda を利用
Elasticsearch への登録
Amazon SES, SendGrid への SMTP 処理
Slack など外部システムへの通知
22
23
アーキテクチャをスクラッチで設計するなら
こんな感じでやるといいんじゃない
という話でした
24