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.
[AWS Start-up ゼミ]
〜御社の技術レベルがアップする 2017 夏期講習〜
よくある課題を一気に解説!
2017.07.26
Amazon Web Services Japan K.K.
Akihiro Tsukada, Solu...
#awsstartup
[AWS Start-up ゼミ] よくある課題シリーズについて
AWSスタートアップチームでは
日々多くの技術相談を実施
このシリーズは2017年夏時点
での「あるある」まとめ
詳細な解説を全てこの資料で行うのでなく、...
#awsstartup
アジェンダ
よくある課題編
1. ユーザ動向を分析したい
2. CI/CDをちゃんとしたい
3. コンテナを使いたい
4. 運用監視ちゃんとしたい
5. システム負荷下げたい
6. (モバイルアプリの)
Growth H...
#awsstartup
ユーザ動向を分析したい
@see also Growth Hackしたい
[AWS Start-up ゼミ] よくある課題を一気に解説! 2017 夏期講習
#awsstartup
ユーザ動向を分析したい
よくいただく課題😂
「そろそろちゃんと傾向分析しないとと思ってるんだけど…」
「そもそもログってどうすればいいの?」
本当にしたいことは何?😳
傾向を可視化してサービスの状況を把握したい
仮説検証...
#awsstartup
ユーザ動向を分析したい
1. とりあえず生ログは S3 に貯めておこう
Amazon
CloudWatch
CloudWatch
Logs
Agent 入り EC2
Application
Load
Balancer
A...
#awsstartup
ユーザ動向を分析したい
2. アナリティクス系サービスを有効活用しよう
アプリ
ブラウザ
Amazon
Mobile Analytics
Amazon
Pinpoint
運営者 ユーザ
実際のところだいぶこれで事足りるはず
#awsstartup
ユーザ動向を分析したい
3. それで要件が満たせなくなったらログに手を出そう
Amazon
S3
Amazon
Athena
Amazon
Redshift
Amazon
EMR
Amazon
EMR
Amazon
Qu...
#awsstartup
ユーザ動向を分析したい
3. それで要件が満たせなくなったらログに手を出そう
Amazon
S3
Amazon
Athena
Amazon
Redshift
Amazon
EMR
Amazon
EMR
Amazon
Qu...
#awsstartup
ユーザ動向を分析したい - 実装時の参考資料
AWS Black Belt Online Seminar資料&動画
AWS上のログ管理(資料 | 動画)
AWS上でのリアルタイムデータ分析入門(資料 | 動画)
その他関...
#awsstartup
ユーザ動向を分析したい - 参考になる事例
AWS BigData Blog
How SmartNews Built a Lambda Architecture on
AWS to Analyze Customer Be...
#awsstartup
CI/CDをちゃんとしたい
[AWS Start-up ゼミ] よくある課題を一気に解説! 2017 夏期講習
#awsstartup
CI/CDをちゃんとしたい
よくいただく課題😂
「今はSSHで入ってgit pullでデプロイしてるんですが」
「AWSのベストプラクティス知りたい」
本当にしたいことは何?😳
自動化されたリリースプロセスを構築して楽し...
#awsstartup
CI/CDをちゃんとしたい
1. サーバをステートレスにしよう(超重要)
☓
Scale Out
新インスタンス起動
Scale In
インスタンス停止
そのときどきの
各インスタンス
に依存しない!
例えばAutoSc...
#awsstartup
CI/CDをちゃんとしたい
1. サーバをステートレスにしよう(超重要)
☓
Scale Out
新インスタンス起動
Scale In
インスタンス停止
そのときどきの
各インスタンス
に依存しない!
ステートレス実現の...
#awsstartup
CI/CDをちゃんとしたい
2. Pull型のデプロイ手段を使おう
✕ Push型
?
◯ Pull型
Deploy
Deploy
指示
各インスタンスが
必要な変更をPull
Deploy先サーバを
知っている必要があ...
#awsstartup
CI/CDをちゃんとしたい
2. Pull型のデプロイ手段を使おう
○ Pull型
Pull型のアプリケーション
デプロイソリューションの例
AWS OpsWorks
AWS Elastic Beanstalk
AWS ...
#awsstartup
CI/CDをちゃんとしたい
2. Pull型のデプロイ手段を使おう
Elastic Beanstalk
推奨構成のお手軽管理ならこれ
AWS Elastic
Beanstalk
CodeDeploy
Pull型デプロイだ...
#awsstartup
CI/CDをちゃんとしたい
3. CI/CDパイプラインを構築したくなったら?
ソースコードの
バージョン管理
ビルド
自動化
ワークフロー
管理
デプロイ
自動化
AWS CodeCommit
AWS CodeBuil...
#awsstartup
Code Pipelineを使ったCI/CDパイプラインの例
MyApp
CodeCommit
Source
Build
CodeBuild
Build
DeployToInteg
CodeDeploy
Integrat...
#awsstartup
CI/CDをちゃんとしたい - 実装時の参考資料
AWS Black Belt Online Seminar資料&動画
クラウドのためのアーキテクチャ設計-ベストプラクティス-(資料|動画)
AWS Code Servi...
#awsstartup
コンテナを使いたい
[AWS Start-up ゼミ] よくある課題を一気に解説! 2017 夏期講習
#awsstartup
コンテナを使いたい
よくいただく課題😂
「コンテナを使いたい」
本当にしたいことは何?😳
環境の差異をなくして効率化したい
デプロイを早くしたい
コンテナを使いたい
思考フロー😌
1. 12-factor Appを読もう...
#awsstartup
#awsstartup
コンテナを使いたい
1. 12-factor App を読もう
Heroku のエンジニアが2011年に提唱
当時からコンテナを使いこなしているPaaS
(Docker登場は2013年)
サービスを開発する上で、従うべき...
#awsstartup
コンテナを使いたい
1. 12-factor App を読もう
I. コードベース
バージョン管理される1つのコードベースと複数デプロイ
II. 依存関係
依存関係を明示的に宣言し分離する
III.設定
設定を環境変数に...
#awsstartup
コンテナを使いたい
2. Amazon EC2 Container Service(ECS )を知ろう
複数の EC2 インスタンス上で、複数の種類のコン
テナをよしなに稼働させ続けてくれるサービス
「この Task を...
2. Amazon EC2 Container Service(ECS )を知ろう
t2.large m4.large …m4.xlarge
Cluster
• Image=Nginx:v1,
• Memory=1024,
• …
どのDock...
#awsstartup
コンテナを使いたい
3. アプリケーションをECSで動かそう
手順はシンプル
1. 手元の Docker イメージ (myapp:1) を ECR に Push
2. クラスタ作成、Task Definition 作成、...
#awsstartup
コンテナを使いたい - 実装時の参考資料
AWS Black Belt Online Seminar資料&動画
Docker on AWS(資料)
Amazon ECS(資料 | 動画)
AWS Elastic Bean...
#awsstartup
コンテナを使いたい - 参考になる事例
インティメート・マージャー様 AWS Summit 2017 講演資料
Amazon ECS と SpotFleet を活用した低コストでスケーラブルなジョ
ブワーカーシステム(資...
#awsstartup
運用監視ちゃんとしたい
[AWS Start-up ゼミ] よくある課題を一気に解説! 2017 夏期講習
#awsstartup
運用監視ちゃんとしたい
よくいただく課題😂
「監視ってどうやってすれば…?」
「夜は寝たい」
本当にしたいことはなに?😳
異常や障害を(自動的に)検知する
検知したら(自動的に)リカバリする
思考フロー😌
1. 各サービ...
#awsstartup
運用監視ちゃんとしたい
1. 各サービスのモニタリング項目を把握しよう
Elastic
Load Balancing
Average Latency
Sum HTTP 5XXs
Healthy Hosts
Target ...
#awsstartup
運用監視ちゃんとしたい
2. アラームを設定しよう
「MasterDBの最大CPU利用率が
80%を超えたら」
「ELBのレイテンシが500msecを
超えたら」
「ログに特定文字列
(例えば"FATAL")が2回現れた...
#awsstartup
運用監視ちゃんとしたい
3. 通知、リカバリアクションを設定しよう
Amazon
CloudWatch
AutoScaling
Notification
AWS
Lambda
user
AWS
Lambda
HTTP P...
#awsstartup
運用監視ちゃんとしたい
3.1. 例えば、Webサービスのレスポンスが悪化
→自動的に管理者にメール通知しつつScale Outする
Amazon
CloudWatch
AutoScaling
Notification
...
#awsstartup
AWS
Config
運用監視ちゃんとしたい
Notification
user
AWS
Lambda
3.2. 例えば、セキュリティグループに22番ポートが空いた
→自動的に管理者にメール通知しつつLambdaで閉じる...
#awsstartup
運用監視ちゃんとしたい - 実装時の参考資料
AWS Black Belt Online Seminar資料&動画
Monitoring on AWS - AWS 運用監視 -(資料 | 動画)
Amazon Cloud...
#awsstartup
システム負荷下げたい
[AWS Start-up ゼミ] よくある課題を一気に解説! 2017 夏期講習
#awsstartup
システム負荷下げたい
よくいただく課題😂
「最近ピークタイムの負荷が高くて落ちちゃった」
「こんどテレビに取り上げられるんだけど」
本当にしたいことはなに?😳
事業の急成長を支えるスケーラビリティが欲しい
突発的な負荷に...
#awsstartup
システム負荷下げたい
前提として、この構成が基本形であり完成形
Availability Zone Availability Zone
AutoScaling
Multi-AZ
Web
Security
Group
EL...
#awsstartup
システム負荷下げたい
1. Web/AppサーバにELBとAutoScalingを導入しよう
t2.micro
c4.large
Scale Up
(垂直スケール)
スペック上限に限界あり
スペック変更時にダウンタイムあ...
#awsstartup
システム負荷下げたい
1. Web/AppサーバにELBとAutoScalingを導入しよう
……
min: 2台〜 max: n台
Scale Out
(水平スケール)
台数を増やせば基本的にどこまでも
スケールイン/...
#awsstartup
システム負荷下げたい
2. DBサーバの負荷対策
Master DBは一般的に冗長化し
にくい(Shardingしようと思え
ばできるが…)
基本はスケールアップで対応
+ 3. キャッシュ活用の項を参照
db.r3.l...
#awsstartup
システム負荷下げたい
3. Amazon S3, CDN, キャッシュを活用しよう
S3CDN キャッシュストレージ
client
Amazon
CloudFront
Amazon
S3
Upload/Download
...
#awsstartup
システム負荷下げたい - 実装時の参考資料
AWS Black Belt Online Seminar資料&動画
クラウドのためのアーキテクチャ設計-ベストプラクティス-(資料|動画)
Auto Scaling (資料 ...
#awsstartup
(モバイルアプリの)
Growth Hackしたい
@see also ユーザ動向分析したい
[AWS Start-up ゼミ] よくある課題を一気に解説! 2017 夏期講習
#awsstartup
(モバイルアプリの)Growth Hackしたい
よくいただく課題😂
「どうやってKPI測ればいい?」
「ログをガッツリ見るのはちょっとヘビーで…」
本当にしたいことはなに?😳
仮説検証サイクルを早く回したい
簡単な手段...
#awsstartup
(モバイルアプリの)Growth Hackしたい
1. AWS の Analytics ツール (SDK) を組み込む
For Android, iOS
統合マーケティングツール
Amazon Pinpoint
が使えま...
#awsstartup
(モバイルアプリの)Growth Hackしたい
SDK を組み込むだけで基本的なメトリクスが取れる
#awsstartup
(モバイルアプリの)Growth Hackしたい
SDK を組み込むだけで基本的なメトリクスが取れる
#awsstartup
(モバイルアプリの)Growth Hackしたい
カスタムイベント、カスタム属性をアプリから送信
#awsstartup
(モバイルアプリの)Growth Hackしたい
別途抽出したセグメントをインポートすることも可能
{"ChannelType":"APNS","Address":"1
a2b3c4d5e6f7g8h9i0j1a2b3c...
#awsstartup
(モバイルアプリの)Growth Hackしたい
2. KPI を決めて施策を打つ
KPI例:
プッシュ通知開封から
「AWSの最新のお知らせを受け取る」
ボタン押下までのコンバージョン率
施策:
直近7日間でアプリを起...
#awsstartup
(モバイルアプリの)Growth Hackしたい
2. KPI を決めて施策を打つ
#awsstartup
(モバイルアプリの)Growth Hackしたい
3. 計測して改善する
キャンペーン
分析で送信数、
配信数、開封率
などを確認
#awsstartup
(モバイルアプリの)Growth Hackしたい
3. 計測して改善する
ファンネル分析
でステップごと
の離脱率を
チェック
# アプリ側でカスタム
# イベントの送信が
# 必要です
#awsstartup
(モバイルアプリの)Growth Hackしたい
AWS Black Belt Online Seminar資料&動画
Amazon Pinpoint(資料)
#awsstartup
コスト下げたい
[AWS Start-up ゼミ] よくある課題を一気に解説! 2017 夏期講習
#awsstartup
コスト下げたい
よくいただく課題😂
「コスト下げたい!」
でもちょっと待って😳
そのコスト、本当にいま下げてる暇あるのでしたっけ
優先度はよく考えた上で、下げるべきならガツンと下げよう
思考フロー😌
1. 構成をクラウド...
コスト下げたい
1. 構成をクラウドに最適化して無駄を省こう
CPU、メモリ、IOPS、たくさん余ってないですか?
S3、CloudFront 等を上手く使って負荷を逃してますか?
Auto Scalingしてますか?
# アプリ側のチューニン...
#awsstartup
コスト下げたい
1. 構成をクラウドに最適化して無駄を省こう
CPU、メモリ、IOPS、たくさん余ってないですか?
S3、CloudFront 等を上手く使って負荷を逃してますか?
Auto Scalingしてますか?
...
コスト下げたい
2. 購入オプションを活用しよう
On
Demand
Reserved Instances for 1 year
Spot
Instances
Spot Block
All
Upfront
Partial
Upfront
No
...
#awsstartup
コスト下げたい
2. 購入オプションを活用しよう
Q: スポットインスタンスなんて本当に使えるの?
A: 使えます、簡単です。大事なのはステートレスである
ことです
Q: リザーブドインスタンスとの使い分けは?
A1: ...
#awsstartup
コスト下げたい
2. 購入オプションを活用しよう
EC2 以外にも割引オプションを用意しているサービス
Amazon DynamoDB – Reserved Capacity
Amazon RDS – Reserved ...
#awsstartup
コスト下げたい
3. 違う視点のアーキテクチャを考えてみよう
例えばサーバレスアーキテクチャ
時間課金ではなく
呼ばれた分だけの
課金になるため
多くの場合
コスト効率が高い
#awsstartup
コスト下げたい - 実装時の参考資料
AWS Black Belt Online Seminar資料&動画
クラウドのためのアーキテクチャ設計-ベストプラクティス-(資料|動画)
Auto Scaling (資料 | 動...
#awsstartup
アジェンダ
よくある課題編
1. ユーザ動向を分析したい
2. CI/CDをちゃんとしたい
3. コンテナを使いたい
4. 運用監視ちゃんとしたい
5. システム負荷下げたい
6. (モバイルアプリの)
Growth H...
#awsstartup
VPS でスモールスタート & メディアホスト
IoT も AWS で
AI, Deep Learning, ボットもサポート
モバイルアプリを簡単開発
動画、ライブのストリーミング
サーバレスアーキテクチャ
マイクロサ...
#awsstartup
VPS でスモールスタート &
メディアホスト
自社サイト・
ブログ・メディア等
コアサービス
メインバックエンド
本格
構成
移行
Scalable
Stack
MVP on
Lightsail
スピード開発
P/S Fit, P/M Fit
• WordPress などを秒速起動
• テ...
#awsstartup
IoT も AWS で
AWS IoT 数十億デバイス、数兆メッセージを支える IoT バックエンド
サービス
運営
ユースケース1 - ウェアラブルデバイス ユースケース2 - スマートホーム
できること 価格ボリューム
• 個々のデバイス管理を一元遠隔管理
• 様...
#awsstartup
AI, Deep Learning,
ボットもサポート
Deep Learning Amazon AI, GPU インスタンス, MXNet へのコミット
Amazon AI Services Apache MXNet
GPU インスタンス
Amazon
Polly
Amazon
Lex
Amazo...
不適切画像
自動判定
Amazon Rekognition AWSによるチューニング済の画像認識API
「部屋全体の画像か」の判定を自動化 アウトソーシングによる人力監視
迷惑
ユーザ
💖
できること 価格ボリューム
• 何が写っている画像か判...
#awsstartup
モバイルアプリを簡単開発
Mobile Backend アプリ開発を簡単にするmBaaSとしてのAWS
認証・認可
データの同期
高パフォーマンス
データベースAWS
Mobile SDK
各種ファイル
ストレージ
データストリーミング
サーバーレス
ファンクションプッ...
#awsstartup
動画、ライブのストリーミング
←Adaptive Bit Rate→
視聴者の回線状況、
解像度によって
自動的に適切な品質で配信
動画・メディア配信
できること 価格ボリューム
• オンデマンド配信の全自動化
• アダプティブビットレート
• ライブ配信のホスティング
•...
#awsstartup
サーバレスアーキテクチャ
サーバレスアーキテクチャ サーバの管理が不要なシステムモデル
サーバーレスとは
• シンプルで使いやすいコンポーネント
• Usageに従ってスケール
• 使わなければ課金されない
• 可用性とフォールトトレランスが
織り込み済み
サーバレスな...
サーバレスアーキテクチャ サーバの管理が不要なシステムモデル
サーバーレスとは
• シンプルで使いやすいコンポーネント
• Usageに従ってスケール
• 使わなければ課金されない
• 可用性とフォールトトレランスが
織り込み済み
AWSのサー...
サーバレスアーキテクチャ サーバの管理が不要なシステムモデル
AWS Summit Tokyo 2017でのサーバレス関連セッションまとめ
http://keisuke69.hatenablog.jp/entry/2017/06/16/1916...
#awsstartup
マイクロサービス on AWS
マイクロサービス on AWS
サーバレスなコンポーネントで実現
マイクロサービス on AWS
ECSで実現
Target Group1:
Service A
Target Group2:
Service B
/srvA* /srvB*
GET /srvA
ALBのRule
(PathPattern)ごとに...
#awsstartup
金融機関との連携がアツい
FinTech
【Keynote】 株式会社三菱東京UFJ銀行専務取締役
村林 聡 氏
既に5つのシステムをAWS上で本番稼
働している。開発中や検討中の案件を
含めると、現時点で100以上のシステ
ムが移行対象であり、さらに拡大する
Fin Tech スタートアップからメガバンクまでを支える実績とセキュリティ$$
Fin Tech スタートアップを待ち受ける壁
FISC対応 PCI-DSS
セキュリティ
監査
金融機関
システム連携
GOALGOAL
• AWS は
「金融機関におけるクラウド利用
に関する有識者検討会」の一員と
して FISC 自体の内容策定に参加
• 各項目に対する対応方法を公開
Fin Tech スタートアップからメガバンクまでを支える実績とセキュリティ$$
セキュリテ...
Fin Tech スタートアップからメガバンクまでを支える実績とセキュリティ$$
AWSが一番良いソリューションだと思った理由は、
スタートアップでさえも
金融機関同等のセキュリティを実現できるから
freee株式会社 代表取締役 佐々木 大輔 様
#awsstartup
金融業界で通用するAWSセキュリティ
→金融だけでなく、BtoB など
高いセキュリティが求められがちな事業
の展開もバッチリOK
#awsstartup
アジェンダ
よくある課題編
1. ユーザ動向を分析したい
2. CI/CDをちゃんとしたい
3. コンテナを使いたい
4. 運用監視ちゃんとしたい
5. システム負荷下げたい
6. (モバイルアプリの)
Growth H...
#awsstartup
要るの?要らないの?セキュリティ
#awsstartup
IPOとBuy Out、デューデリジェンス
"どこまでやれば?キリがない" 問題
AWSでのソリューション
どう要るの?要らないの?セキュリティ
#awsstartup
IPOとBuy Out、デューデリジェンス
2016/09 開催
IPO、Buy Out
経験者、有識者
によるディス
カッション
#awsstartup
IPOとBuy Out、デューデリジェンス
弁護士ドットコム 市橋 立 CTO
「AWSのセキュリティベストプラクティスを
守っていればIPOも問題ない」
ホワイトペーパー
「AWSセキュリティのベストプラクティス」
#awsstartup
IPOとBuy Out、デューデリジェンス
ナビプラス株式会社 梅染 充男 CTO
「Buy Outでは買収する側によって見られ方が
大きく異なる」
#awsstartup
IPOとBuy Out、デューデリジェンス
KDDI株式会社 理事 経営戦略本部 副本部長 兼
グループマネジメント推進室長 松野 茂樹 氏
「今の時代、セキュリティ意識の低いスタート
アップはあり得ない。そのような会社...
#awsstartup
セキュリティ "どこまでやれば?キリがない" 問題
1. 何か業種業態的に必要なガイドライン、
関連法規等がある場合はそれを具体的な要件に
金融系: PCI-DSS, FISC 等
医療系: HIPAA, 三省四ガイドラ...
#awsstartup
資金(円)
人数
投資家
目標
ステージ シード アーリー ミドル レイター
~3000万 3000万~3億 3億~10億 10億~50億
~5人 5人~20人 20人~50人 50人~
エンジェル VC VC・事業会社...
#awsstartup
シード
アイディアを試す場
すぐ始められ、すぐ捨てられる
作りこまない、出来合い利用
スモールスタートのセキュリティ
クイックスタート、パッケージ、マネージドサービス
要件
価値
方針
#awsstartup
アーリー スケールするセキュリティ
自動化、サービス継続性、回復力
売り上げ拡大
迅速かつ止まらないインフラ
変化適応性の高いセキュリティ
要件
価値
方針
#awsstartup
ミドル コスト最適なセキュリティ
予測と計画、セキュリティ評価
オペレーション最適化
無駄のない投資
リソース管理、インフラ可視化
要件
価値
方針
#awsstartup
レイター リスクベースのセキュリティ
ビジネスリスク統制、コンプライアンス
バリュエ―ション時の高い評価
信頼性、可視性
リスクコントロール
要件
価値
方針
#awsstartup
AWSでのソリューション
AWS Black Belt Online Seminar 資料
AWS 利用者が実施する AWS 上でのセキュリティ対策(資料)
AWS におけるセキュリティとコンプライアンス(資料 | 動画...
#awsstartup
アジェンダ
よくある課題編
1. ユーザ動向を分析したい
2. CI/CDをちゃんとしたい
3. コンテナを使いたい
4. 運用監視ちゃんとしたい
5. システム負荷下げたい
6. (モバイルアプリの)
Growth H...
#awsstartup
まとめ😌
この資料は2017年夏時点での
「あるある」まとめであり逆引き辞典
何かやりたいことがあったらこの資料を見て
ぜひ解決の糸口を
各ソリューションやプロダクトの詳細は
ぜひリンク先の資料や動画を見ていただき
技術...
[AWS Start-up ゼミ] よくある課題を一気に解説!〜御社の技術レベルがアップする 2017 夏期講習〜
[AWS Start-up ゼミ] よくある課題を一気に解説!〜御社の技術レベルがアップする 2017 夏期講習〜
Upcoming SlideShare
Loading in …5
×

[AWS Start-up ゼミ] よくある課題を一気に解説!〜御社の技術レベルがアップする 2017 夏期講習〜

8,235 views

Published on

[AWS Start-up ゼミ] よくある課題を一気に解説!〜御社の技術レベルがアップする 2017 夏期講習〜

Amazon Web Services Japan
Akihiro Tsukada, Solutions Architect

Published in: Technology
  • Hello! Get Your Professional Job-Winning Resume Here - Check our website! https://vk.cc/818RFv
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

[AWS Start-up ゼミ] よくある課題を一気に解説!〜御社の技術レベルがアップする 2017 夏期講習〜

  1. 1. [AWS Start-up ゼミ] 〜御社の技術レベルがアップする 2017 夏期講習〜 よくある課題を一気に解説! 2017.07.26 Amazon Web Services Japan K.K. Akihiro Tsukada, Solutions Architect
  2. 2. #awsstartup [AWS Start-up ゼミ] よくある課題シリーズについて AWSスタートアップチームでは 日々多くの技術相談を実施 このシリーズは2017年夏時点 での「あるある」まとめ 詳細な解説を全てこの資料で行うのでなく、 「こうしたい」に対して「どう考えてどの資料を 見ればよいか」を示す逆引き辞典
  3. 3. #awsstartup アジェンダ よくある課題編 1. ユーザ動向を分析したい 2. CI/CDをちゃんとしたい 3. コンテナを使いたい 4. 運用監視ちゃんとしたい 5. システム負荷下げたい 6. (モバイルアプリの) Growth Hackしたい 7. コスト下げたい お役立ち情報編 1. おさえておきたい 技術トレンド 2. 要るの?要らないの? セキュリティ
  4. 4. #awsstartup ユーザ動向を分析したい @see also Growth Hackしたい [AWS Start-up ゼミ] よくある課題を一気に解説! 2017 夏期講習
  5. 5. #awsstartup ユーザ動向を分析したい よくいただく課題😂 「そろそろちゃんと傾向分析しないとと思ってるんだけど…」 「そもそもログってどうすればいいの?」 本当にしたいことは何?😳 傾向を可視化してサービスの状況を把握したい 仮説検証サイクルを回すための KPI を取得したい 思考フロー😌 1. とりあえず生ログは Amazon S3 に貯めておこう 2. アナリティクス系サービスを有効活用しよう 3. それで要件が満たせなくなったらログに手を出そう
  6. 6. #awsstartup ユーザ動向を分析したい 1. とりあえず生ログは S3 に貯めておこう Amazon CloudWatch CloudWatch Logs Agent 入り EC2 Application Load Balancer AWS Lambda function Amazon S3 Amazon Kinesis Firehose アプリ ブラウザAmazon Kinesis Firehose ELBのログ取得をOnにすることで 自動取得 Lambda は標準で CloudWatchにログを出力する 任意のアプリケーションログ、 サーバログなど SDKを使い直接Kinesisに ログを Put Kinesis Agent で ログを Put Kinesis Agent入り EC2 # データレイク で検索
  7. 7. #awsstartup ユーザ動向を分析したい 2. アナリティクス系サービスを有効活用しよう アプリ ブラウザ Amazon Mobile Analytics Amazon Pinpoint 運営者 ユーザ 実際のところだいぶこれで事足りるはず
  8. 8. #awsstartup ユーザ動向を分析したい 3. それで要件が満たせなくなったらログに手を出そう Amazon S3 Amazon Athena Amazon Redshift Amazon EMR Amazon EMR Amazon QuickSight ETL QUERY VISUALIZE Amazon Kinesis Firehose Amazon Kinesis Analytics Amazon S3 Amazon ES (Kibana) BigData分析 リアルタイムダッシュボード AWS Glue
  9. 9. #awsstartup ユーザ動向を分析したい 3. それで要件が満たせなくなったらログに手を出そう Amazon S3 Amazon Athena Amazon Redshift Amazon EMR Amazon EMR Amazon QuickSight ETL QUERY VISUALIZE Amazon Kinesis Firehose Amazon Kinesis Analytics Amazon S3 Amazon ES (Kibana) BigData分析 リアルタイムダッシュボード AWS Glue やりたいことには どれが向いていて どう使えばいい?
  10. 10. #awsstartup ユーザ動向を分析したい - 実装時の参考資料 AWS Black Belt Online Seminar資料&動画 AWS上のログ管理(資料 | 動画) AWS上でのリアルタイムデータ分析入門(資料 | 動画) その他関連する各プロダクトのBlackBelt資料 AWS Summit/Dev Day講演資料 (2016 | 2017) ビッグデータ 101 〜 AWS で始めるビッグデータパイプラインの設計と 実装〜 (2016)(資料 | 動画) クラウド上に効率的なビッグデータ処理基盤を構築するには? 〜データ特性に応じたシステム設計〜 (2016)(資料 | 動画) アジャイルデータサイエンス on AWS (2017)(資料 | 動画) AWS のデータ分析入門 (2017)(資料 | 動画)
  11. 11. #awsstartup ユーザ動向を分析したい - 参考になる事例 AWS BigData Blog How SmartNews Built a Lambda Architecture on AWS to Analyze Customer Behavior and Recommend Content Gunosy様 データ分析ブログ Amazon Kinesis AnalyticsとES/Kibana4でリアルタイ ムダッシュボード構築 クックパッドのログをいい感じにしているアーキテク チャ / Logging architecture at Cookpad
  12. 12. #awsstartup CI/CDをちゃんとしたい [AWS Start-up ゼミ] よくある課題を一気に解説! 2017 夏期講習
  13. 13. #awsstartup CI/CDをちゃんとしたい よくいただく課題😂 「今はSSHで入ってgit pullでデプロイしてるんですが」 「AWSのベストプラクティス知りたい」 本当にしたいことは何?😳 自動化されたリリースプロセスを構築して楽したい まず何をすればいいのか分からないので知りたい! 思考フロー😌 1. サーバをステートレスにしよう 2. Pull型のデプロイ手段を使おう 3. CI/CDパイプラインを構築したくなったら?
  14. 14. #awsstartup CI/CDをちゃんとしたい 1. サーバをステートレスにしよう(超重要) ☓ Scale Out 新インスタンス起動 Scale In インスタンス停止 そのときどきの 各インスタンス に依存しない! 例えばAutoScaling環境で は常にサーバが入れ替わ り続ける いつ新サーバが起動して 既存サーバが落ちても関 係なく全体が動くように どのサーバにアクセスが 来ても同じレスポンスが 返せるように
  15. 15. #awsstartup CI/CDをちゃんとしたい 1. サーバをステートレスにしよう(超重要) ☓ Scale Out 新インスタンス起動 Scale In インスタンス停止 そのときどきの 各インスタンス に依存しない! ステートレス実現の ために考慮すべき ポイント 1. ログ 2. セッション、 その他共有データ 3. プロビジョニング 4. アプリケーション デプロイ
  16. 16. #awsstartup CI/CDをちゃんとしたい 2. Pull型のデプロイ手段を使おう ✕ Push型 ? ◯ Pull型 Deploy Deploy 指示 各インスタンスが 必要な変更をPull Deploy先サーバを 知っている必要がある どんなサーバが立っているか 意識する必要はない
  17. 17. #awsstartup CI/CDをちゃんとしたい 2. Pull型のデプロイ手段を使おう ○ Pull型 Pull型のアプリケーション デプロイソリューションの例 AWS OpsWorks AWS Elastic Beanstalk AWS CodeDeploy Amazon ECS
  18. 18. #awsstartup CI/CDをちゃんとしたい 2. Pull型のデプロイ手段を使おう Elastic Beanstalk 推奨構成のお手軽管理ならこれ AWS Elastic Beanstalk CodeDeploy Pull型デプロイだけ シュッとやりたければこれ AWS CodeDeploy
  19. 19. #awsstartup CI/CDをちゃんとしたい 3. CI/CDパイプラインを構築したくなったら? ソースコードの バージョン管理 ビルド 自動化 ワークフロー 管理 デプロイ 自動化 AWS CodeCommit AWS CodeBuild AWS CodeDeploy AWS CodePipeline AWS CloudFormation AWS Elastic Beanstalk AWS CodeStar
  20. 20. #awsstartup Code Pipelineを使ったCI/CDパイプラインの例 MyApp CodeCommit Source Build CodeBuild Build DeployToInteg CodeDeploy Integration IntegTest End2EndTester DeployToProd CodeDeploy Production ソースのコミット アプリケーション のビルド 結合テスト環境へ のデプロイ 結合テスト 本番環境への デプロイ アクション ステージ パイプライン トランジション
  21. 21. #awsstartup CI/CDをちゃんとしたい - 実装時の参考資料 AWS Black Belt Online Seminar資料&動画 クラウドのためのアーキテクチャ設計-ベストプラクティス-(資料|動画) AWS Code Services Part 1(資料 | 動画), Part 2(資料 | 動画) AWS Elastic Beanstalk(資料 | 動画) Amazon ECS(資料 | 動画) AWS Summit/Dev Day講演資料 (2016 | 2017) AWS マネージドサービスで実現する CI/CD パイプライン (2017) (資料 | 動画) DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools (2016)(資料 | 動画)
  22. 22. #awsstartup コンテナを使いたい [AWS Start-up ゼミ] よくある課題を一気に解説! 2017 夏期講習
  23. 23. #awsstartup コンテナを使いたい よくいただく課題😂 「コンテナを使いたい」 本当にしたいことは何?😳 環境の差異をなくして効率化したい デプロイを早くしたい コンテナを使いたい 思考フロー😌 1. 12-factor Appを読もう 2. ECSを知ろう 3. アプリケーションをECSで動かそう
  24. 24. #awsstartup
  25. 25. #awsstartup コンテナを使いたい 1. 12-factor App を読もう Heroku のエンジニアが2011年に提唱 当時からコンテナを使いこなしているPaaS (Docker登場は2013年) サービスを開発する上で、従うべき12の要素 Dockerが使いにくいと感じたら 12-factor App になっていないことがほとんど https://12factor.net/ja/
  26. 26. #awsstartup コンテナを使いたい 1. 12-factor App を読もう I. コードベース バージョン管理される1つのコードベースと複数デプロイ II. 依存関係 依存関係を明示的に宣言し分離する III.設定 設定を環境変数に格納する IV.バックエンドサービス バックエンドサービスをアタッチされたリソースとして扱う V. ビルド、リリース、実行 ビルド、リリース、実行の3つのステージを厳密に分離する VI.プロセス アプリを1つ又は複数のステートレスなプロセスとして実行 VII.ポートバインディング ポートバインディングを通してサービスを公開する VIII.並行性 プロセスモデルによってスケールアウトする IX. 廃棄容易性 高速な起動とグレースフル停止で堅牢性を最大化する X. 開発/本番一致 開発、ステージング、本番環境をできるだけ一致させた状態を保つ XI. ログ ログをイベントストリームとして扱う XII.管理プロセス 管理タスクを1回限りのプロセスとして実行する https://12factor.net/ja/
  27. 27. #awsstartup コンテナを使いたい 2. Amazon EC2 Container Service(ECS )を知ろう 複数の EC2 インスタンス上で、複数の種類のコン テナをよしなに稼働させ続けてくれるサービス 「この Task を、この Cluster の空いているところで、計10個」 AWS の各種機能(CloudFormation デプロイ、 CloudWatch Logs、ALB etc)と連携しており、 AWS 上で Docker を稼働させたいなら最も楽 新しくサービスを構築するなら Docker + ECS を 使わない理由があるだろうか(いやない)
  28. 28. 2. Amazon EC2 Container Service(ECS )を知ろう t2.large m4.large …m4.xlarge Cluster • Image=Nginx:v1, • Memory=1024, • … どのDockerイメージのどのバー ジョンを、どのくらいのリソー スで…Taskの定義 • Task Definition=…, • Cluster=…, どんなTaskを、どのClusterで、いくつ起動して…、サービスの定義 Definitionに従って コンテナ起動 :ECS Agent Task (≒Containers) • Desired Count=…, • Load Blancer=…, Service Task Definition Load Balancer (ALB) 参照 参照 参照
  29. 29. #awsstartup コンテナを使いたい 3. アプリケーションをECSで動かそう 手順はシンプル 1. 手元の Docker イメージ (myapp:1) を ECR に Push 2. クラスタ作成、Task Definition 作成、Service作成 アップデートの例 1. 新しいバージョン (myapp:2) を ECR に Push 2. 新しいバージョンを指す Task Definition を作成 3. Service を新 Task Definition にアップデート # 初めての人は ECS コンソールのサンプル PHP アプリを試してみよう
  30. 30. #awsstartup コンテナを使いたい - 実装時の参考資料 AWS Black Belt Online Seminar資料&動画 Docker on AWS(資料) Amazon ECS(資料 | 動画) AWS Elastic Beanstalk(資料 | 動画) AWS Summit/Dev Day講演資料 (2016 | 2017) AWS のコンテナ管理入門(Amazon EC2 Conatainer Service) (2017)(資料 | 動画) Docker と Amazon ECS で DevOps を進化させる (2016) (資料 | 動画)
  31. 31. #awsstartup コンテナを使いたい - 参考になる事例 インティメート・マージャー様 AWS Summit 2017 講演資料 Amazon ECS と SpotFleet を活用した低コストでスケーラブルなジョ ブワーカーシステム(資料 | 動画) NAVITIME 様 AWS Summit 2017 講演資料 ナビタイムサービスにおける、Amazon ECS を活用したシステム移行 〜『乗換NAVITIME』での移行事例 〜 (資料) Amazon Web Services ブログ AWS Summit Tokyo 2017でのAmazon EC2 Container Service (ECS) 関連セッションまとめ
  32. 32. #awsstartup 運用監視ちゃんとしたい [AWS Start-up ゼミ] よくある課題を一気に解説! 2017 夏期講習
  33. 33. #awsstartup 運用監視ちゃんとしたい よくいただく課題😂 「監視ってどうやってすれば…?」 「夜は寝たい」 本当にしたいことはなに?😳 異常や障害を(自動的に)検知する 検知したら(自動的に)リカバリする 思考フロー😌 1. 各サービスのモニタリング項目を把握しよう 2. アラームを設定しよう 3. 通知、リカバリアクションを設定しよう
  34. 34. #awsstartup 運用監視ちゃんとしたい 1. 各サービスのモニタリング項目を把握しよう Elastic Load Balancing Average Latency Sum HTTP 5XXs Healthy Hosts Target Connection Erros …etc Amazon RDS CPU Utilization Free Storage Space Freeable Memory Replica Lag …etc 考えよう!
  35. 35. #awsstartup 運用監視ちゃんとしたい 2. アラームを設定しよう 「MasterDBの最大CPU利用率が 80%を超えたら」 「ELBのレイテンシが500msecを 超えたら」 「ログに特定文字列 (例えば"FATAL")が2回現れたら」 「セキュリティグループの設定が 勝手に変更されたら」 Amazon RDS Elastic Load Balancing Amazon CloudWatch AWS Config
  36. 36. #awsstartup 運用監視ちゃんとしたい 3. 通知、リカバリアクションを設定しよう Amazon CloudWatch AutoScaling Notification AWS Lambda user AWS Lambda HTTP Post
  37. 37. #awsstartup 運用監視ちゃんとしたい 3.1. 例えば、Webサービスのレスポンスが悪化 →自動的に管理者にメール通知しつつScale Outする Amazon CloudWatch AutoScaling Notification AWS Lambda user AWS Lambda HTTP Post (1)ELB Average Latency >= 500 msec (3) +2 Instances (2) mail to admin@example.com
  38. 38. #awsstartup AWS Config 運用監視ちゃんとしたい Notification user AWS Lambda 3.2. 例えば、セキュリティグループに22番ポートが空いた →自動的に管理者にメール通知しつつLambdaで閉じる Security Group Attacker (1) 22番ポートを 不正開放 (2) 自動検知 (3)自動通知 (4)アラートメール (5)Lambda呼び出し (6) 22番ポートを閉じる
  39. 39. #awsstartup 運用監視ちゃんとしたい - 実装時の参考資料 AWS Black Belt Online Seminar資料&動画 Monitoring on AWS - AWS 運用監視 -(資料 | 動画) Amazon CloudWatch(資料 | 動画) AWS CloudTrail & AWS Config(資料 | 動画) その他関連する各プロダクト・ソリューションのBlackBelt資料 AWS Summit/Dev Day講演資料 (2016 | 2017) AWS の運用監視入門 (2017)(資料 | 動画) DevSecOps on AWS - Policy in Code (2017)(資料 | 動画) 【ソニー株式会社様登壇】AWS System Management 〜 AWS 上シス テムの運用監視〜 (2016) (資料 | 動画)
  40. 40. #awsstartup システム負荷下げたい [AWS Start-up ゼミ] よくある課題を一気に解説! 2017 夏期講習
  41. 41. #awsstartup システム負荷下げたい よくいただく課題😂 「最近ピークタイムの負荷が高くて落ちちゃった」 「こんどテレビに取り上げられるんだけど」 本当にしたいことはなに?😳 事業の急成長を支えるスケーラビリティが欲しい 突発的な負荷にも耐えたい 思考フロー😌 1. Web/AppサーバにELBとAutoScalingを導入しよう(水平分散) 2. DBサーバの負荷対策(水平+垂直) 3. Amazon S3, CDN, キャッシュを活用しよう
  42. 42. #awsstartup システム負荷下げたい 前提として、この構成が基本形であり完成形 Availability Zone Availability Zone AutoScaling Multi-AZ Web Security Group ELB Security Group RDS Security Group ELBで負荷分散 EC2は複数AZを使って Auto Scaling RDSはMulti-AZを利用 大事なことは 「いかにこれを実現するか」
  43. 43. #awsstartup システム負荷下げたい 1. Web/AppサーバにELBとAutoScalingを導入しよう t2.micro c4.large Scale Up (垂直スケール) スペック上限に限界あり スペック変更時にダウンタイムあり 冗長性なし …… min: 2台〜 max: n台 Scale Out (水平スケール) 台数を増やせば基本的にどこまでも スケールイン/アウト時にダウンなし 冗長性・可用性を確保
  44. 44. #awsstartup システム負荷下げたい 1. Web/AppサーバにELBとAutoScalingを導入しよう …… min: 2台〜 max: n台 Scale Out (水平スケール) 台数を増やせば基本的にどこまでも スケールイン/アウト時にダウンなし 冗長性・可用性を確保 複数台のAutoScaling 環境下では各サーバが ステートレスであるこ とが超重要 @see also CI/CDをちゃんとしたい
  45. 45. #awsstartup システム負荷下げたい 2. DBサーバの負荷対策 Master DBは一般的に冗長化し にくい(Shardingしようと思え ばできるが…) 基本はスケールアップで対応 + 3. キャッシュ活用の項を参照 db.r3.large db.r3.xlarge 書き込み負荷 読み込みはRead Replica、 キャッシュの活用により 負荷分散が可能 読み込み負荷 Read Replicas Master … cache node App (1)Read from Cache (2)Read from Slaves (3)Read from Master
  46. 46. #awsstartup システム負荷下げたい 3. Amazon S3, CDN, キャッシュを活用しよう S3CDN キャッシュストレージ client Amazon CloudFront Amazon S3 Upload/Download Static Assets Browse Static Website ELB Web Amazon ElastiCache Memcached Redis Amazon Dynamo DB RDB コンテンツキャッシュ、 DDoS対策、通信の最適化等 Staticなファイルや WebサイトはS3から直接配信 ファイルのアップロードも WebサーバでなくS3へ RDBには重すぎるRead/Write、 これらのKVSに向くデータは 積極的に各DBを活用
  47. 47. #awsstartup システム負荷下げたい - 実装時の参考資料 AWS Black Belt Online Seminar資料&動画 クラウドのためのアーキテクチャ設計-ベストプラクティス-(資料|動画) Auto Scaling (資料 | 動画) AWS Elastic Beanstalk (資料 | 動画) Amazon CloudFront(資料) Elastic Load Balancing (資料 | 動画) # ELBは暖気申請も忘れずに AWS Summit/Dev Day講演資料 (2016 | 2017) Amazon RDS 入門 (2017)(資料 | 動画) Amazon Aurora (MySQL edition) Deep Dive (2017)(資料 | 動画) AWS の NoSQL 入門 〜Amazon ElastiCache, Amazon DynamoDB〜 (2017) (資料 | 動画)
  48. 48. #awsstartup (モバイルアプリの) Growth Hackしたい @see also ユーザ動向分析したい [AWS Start-up ゼミ] よくある課題を一気に解説! 2017 夏期講習
  49. 49. #awsstartup (モバイルアプリの)Growth Hackしたい よくいただく課題😂 「どうやってKPI測ればいい?」 「ログをガッツリ見るのはちょっとヘビーで…」 本当にしたいことはなに?😳 仮説検証サイクルを早く回したい 簡単な手段で大きな効果を上げたい 思考フロー😌 1. AWS の Analytics ツール (SDK)を組み込む 2. KPI を決めて施策を打つ 3. 計測して改善する
  50. 50. #awsstartup (モバイルアプリの)Growth Hackしたい 1. AWS の Analytics ツール (SDK) を組み込む For Android, iOS 統合マーケティングツール Amazon Pinpoint が使えます(強い) (For JavaScript) AWS Mobile Analytics が使えます AWS SDK for Android AWS SDK for iOS AWS SDK for JavaScript
  51. 51. #awsstartup (モバイルアプリの)Growth Hackしたい SDK を組み込むだけで基本的なメトリクスが取れる
  52. 52. #awsstartup (モバイルアプリの)Growth Hackしたい SDK を組み込むだけで基本的なメトリクスが取れる
  53. 53. #awsstartup (モバイルアプリの)Growth Hackしたい カスタムイベント、カスタム属性をアプリから送信
  54. 54. #awsstartup (モバイルアプリの)Growth Hackしたい 別途抽出したセグメントをインポートすることも可能 {"ChannelType":"APNS","Address":"1 a2b3c4d5e6f7g8h9i0j1a2b3c4d5e6f" ,"Demographic":{"Make":"apple"}} {"ChannelType":"GCM","Address":"4d 5e6f1a2b3c4d5e6f7g8h9i0j1a2b3c", "Demographic":{"Make":"android"}} … CSVファイルの場合
  55. 55. #awsstartup (モバイルアプリの)Growth Hackしたい 2. KPI を決めて施策を打つ KPI例: プッシュ通知開封から 「AWSの最新のお知らせを受け取る」 ボタン押下までのコンバージョン率 施策: 直近7日間でアプリを起動していない ユーザに一斉プッシュ通知
  56. 56. #awsstartup (モバイルアプリの)Growth Hackしたい 2. KPI を決めて施策を打つ
  57. 57. #awsstartup (モバイルアプリの)Growth Hackしたい 3. 計測して改善する キャンペーン 分析で送信数、 配信数、開封率 などを確認
  58. 58. #awsstartup (モバイルアプリの)Growth Hackしたい 3. 計測して改善する ファンネル分析 でステップごと の離脱率を チェック # アプリ側でカスタム # イベントの送信が # 必要です
  59. 59. #awsstartup (モバイルアプリの)Growth Hackしたい AWS Black Belt Online Seminar資料&動画 Amazon Pinpoint(資料)
  60. 60. #awsstartup コスト下げたい [AWS Start-up ゼミ] よくある課題を一気に解説! 2017 夏期講習
  61. 61. #awsstartup コスト下げたい よくいただく課題😂 「コスト下げたい!」 でもちょっと待って😳 そのコスト、本当にいま下げてる暇あるのでしたっけ 優先度はよく考えた上で、下げるべきならガツンと下げよう 思考フロー😌 1. 構成をクラウドに最適化して無駄を省こう 2. 購入オプションを活用しよう 3. 違う視点のアーキテクチャを考えてみよう
  62. 62. コスト下げたい 1. 構成をクラウドに最適化して無駄を省こう CPU、メモリ、IOPS、たくさん余ってないですか? S3、CloudFront 等を上手く使って負荷を逃してますか? Auto Scalingしてますか? # アプリ側のチューニングはここでは度外視します オンとオフ 予測可能なピーク 余剰キャパシティ 立ちっぱなしのEC2
  63. 63. #awsstartup コスト下げたい 1. 構成をクラウドに最適化して無駄を省こう CPU、メモリ、IOPS、たくさん余ってないですか? S3、CloudFront 等を上手く使って負荷を逃してますか? Auto Scalingしてますか? # アプリ側のチューニングはここでは度外視します 予測可能なピークオンとオフ すっきり!
  64. 64. コスト下げたい 2. 購入オプションを活用しよう On Demand Reserved Instances for 1 year Spot Instances Spot Block All Upfront Partial Upfront No Upfront 1h 6h c4.large $0.126 $0.084 (33%) $0.086 (32%) $0.090 (29%) $0.029 (77%) $0.077 (39%) $0.098 (22%) m4.large $0.129 $0.081 (37%) $0.083 (36%) $0.087 (32%) $0.027 (79%) $0.101 (21%) $0.128 (0.7%) r3.large $0.20 $0.127 (36%) $0.130 (35%) $0.149 (26%) $0.031 (84%) $0.116 (42%) $0.147 (26%) EC2の購入オプション(一部)比較(2017年7月26日6時現在, 東京リージョン, Linuxインスタンス) # ()内はオンデマンドからの削減率
  65. 65. #awsstartup コスト下げたい 2. 購入オプションを活用しよう Q: スポットインスタンスなんて本当に使えるの? A: 使えます、簡単です。大事なのはステートレスである ことです Q: リザーブドインスタンスとの使い分けは? A1: AutoScalingも設定して、スポットインスタンスも活 用して、それでも常時起動しているインスタンスはリザー ブドインスタンスにする でいかがでしょう A2: ただし、AutoScaling等の適用に工数をかけていられ ない場合は最初から全部リザーブドインスタンスにしてし まうのも手です
  66. 66. #awsstartup コスト下げたい 2. 購入オプションを活用しよう EC2 以外にも割引オプションを用意しているサービス Amazon DynamoDB – Reserved Capacity Amazon RDS – Reserved Instance Amazon Redshift – Reserved Node Amazon ElastiCache – Reserved Cache Node Amazon CloudFront – Reserved Capacity
  67. 67. #awsstartup コスト下げたい 3. 違う視点のアーキテクチャを考えてみよう 例えばサーバレスアーキテクチャ 時間課金ではなく 呼ばれた分だけの 課金になるため 多くの場合 コスト効率が高い
  68. 68. #awsstartup コスト下げたい - 実装時の参考資料 AWS Black Belt Online Seminar資料&動画 クラウドのためのアーキテクチャ設計-ベストプラクティス-(資料|動画) Auto Scaling (資料 | 動画) Amazon EC2 Spot Instances (資料 | 動画) サーバーレスによるアーキテクチャパターンのご紹介 (資料 | 動画) AWS Summit/Dev Day講演資料 (2016 | 2017) AWS のコスト最適化入門 (2017)(資料 | 動画) [インティメート・マージャー様] Amazon ECS と SpotFleet を活用し た低コストでスケーラブルなジョブワーカーシステム (2017) (資料 | 動画) AWS Well-Architected フレームワークによるクラウド ベスト プラク ティス (2017) (資料 | 動画)
  69. 69. #awsstartup アジェンダ よくある課題編 1. ユーザ動向を分析したい 2. CI/CDをちゃんとしたい 3. コンテナを使いたい 4. 運用監視ちゃんとしたい 5. システム負荷下げたい 6. (モバイルアプリの) Growth Hackしたい 7. コスト下げたい お役立ち情報編 1. おさえておきたい 技術トレンド 2. 要るの?要らないの? セキュリティ
  70. 70. #awsstartup VPS でスモールスタート & メディアホスト IoT も AWS で AI, Deep Learning, ボットもサポート モバイルアプリを簡単開発 動画、ライブのストリーミング サーバレスアーキテクチャ マイクロサービス on AWS 金融機関との連携がアツい FinTech おさえておきたい技術トレンド
  71. 71. #awsstartup VPS でスモールスタート & メディアホスト
  72. 72. 自社サイト・ ブログ・メディア等 コアサービス メインバックエンド 本格 構成 移行 Scalable Stack MVP on Lightsail スピード開発 P/S Fit, P/M Fit • WordPress などを秒速起動 • テスト、メディアサイトに最適 • グロース前の本格構成移行も簡単 ユースケース - サイトホスティング スモールスタート〜成長期への移行 Amazon Lightsail 数十秒で起動。スモールスタートに最適な低額VPS できること 価格ボリューム 開発初期 メンバ 開発 チーム AWS Startup Team 各種支援 • $5から$80プランまでの月額プラン • 大容量通信料やSSD料金を含む低額 開発、運用 サイクル
  73. 73. #awsstartup IoT も AWS で
  74. 74. AWS IoT 数十億デバイス、数兆メッセージを支える IoT バックエンド サービス 運営 ユースケース1 - ウェアラブルデバイス ユースケース2 - スマートホーム できること 価格ボリューム • 個々のデバイス管理を一元遠隔管理 • 様々な要件にマッチする拡張性 • 最先端のエッジコンピューティング • 100万メッセージで月800円程度 • 例: 1000個のセンサーからメッセー ジを毎分2通送信 → 約8600円/月 エンド ユーザ デバイス管理 写真閲覧 サービス エンドユーザ 外出先から自宅の施錠を確認&管理
  75. 75. #awsstartup AI, Deep Learning, ボットもサポート
  76. 76. Deep Learning Amazon AI, GPU インスタンス, MXNet へのコミット Amazon AI Services Apache MXNet GPU インスタンス Amazon Polly Amazon Lex Amazon Rekognition テキスト to スピーチ API チャットボット 開発用 API 画像認識 API Deep Learning AMI Amazon Machine Learning 教師データによる 学習と予測 API 畳み込みニューラルネットワーク(CNN)や 長短期メモリネットワーク(LSTM)といった モデルをサポートする DL フレームワーク。 Amazon もコミットし利用している。 • G2インスタンス: グラフィックス処理用 NVIDIA Kepler GK104 GPU を最大4基搭載 • P2インスタンス: 高速並列計算用 NVIDIA K80 を最大16GPU搭載 Apache MXNet、TensorFlow、Caffe2 (および Caffe)、Theano、Torch、CNTK、 Keras がプリインストールされた EC2 の マシンイメージ
  77. 77. 不適切画像 自動判定 Amazon Rekognition AWSによるチューニング済の画像認識API 「部屋全体の画像か」の判定を自動化 アウトソーシングによる人力監視 迷惑 ユーザ 💖 できること 価格ボリューム • 何が写っている画像か判別 • 顔の検出、照合、年齢や表情の分析 • 不適切(エッチな)画像の検出 • 月に1,000枚の画像を処理しても 40〜100円前後の低価格 • 無料利用枠あり ユースケース1 - RoomClip ユースケース2 - 大手CGMメディア
  78. 78. #awsstartup モバイルアプリを簡単開発
  79. 79. Mobile Backend アプリ開発を簡単にするmBaaSとしてのAWS 認証・認可 データの同期 高パフォーマンス データベースAWS Mobile SDK 各種ファイル ストレージ データストリーミング サーバーレス ファンクションプッシュ通知 実機テスト実行 チャットボット ユーザ行動分析 iOS Android Unity Xamarin React Native(β) モバイルアプリ開発に必要な様々な機能を提供 対応プラットフォーム メディア・ コンテンツ配信
  80. 80. #awsstartup 動画、ライブのストリーミング
  81. 81. ←Adaptive Bit Rate→ 視聴者の回線状況、 解像度によって 自動的に適切な品質で配信 動画・メディア配信 できること 価格ボリューム • オンデマンド配信の全自動化 • アダプティブビットレート • ライブ配信のホスティング • 30分動画を標準画質で月60本変換&配 信:2万円以下 • ライブを5,000人が高画質(1 Mbps)で 2時間視聴:6万円前後 ライブ、オンデマンドのストリーミング配信 ユースケース1 - 動画共有CGM ユースケース2 - ライブ配信CGM 動画 投稿者 4G回線 モバイル Wi-Fi PC端末動画が投稿 されたら 自動的に 変換開始 ライブ 配信者 4G回線 モバイル Wi-Fi PC端末
  82. 82. #awsstartup サーバレスアーキテクチャ
  83. 83. サーバレスアーキテクチャ サーバの管理が不要なシステムモデル サーバーレスとは • シンプルで使いやすいコンポーネント • Usageに従ってスケール • 使わなければ課金されない • 可用性とフォールトトレランスが 織り込み済み サーバレスなアプリケーションモデル イベントドリブン 無意味なポーリングや 定期起動の必要性が なくなり、コスト効率 は上がり、実装は本質 的な部分に集中できる
  84. 84. サーバレスアーキテクチャ サーバの管理が不要なシステムモデル サーバーレスとは • シンプルで使いやすいコンポーネント • Usageに従ってスケール • 使わなければ課金されない • 可用性とフォールトトレランスが 織り込み済み AWSのサーバレスオファリング サーバレス≠ API Gateway + Lambda サーバレス≠FaaS 様々なサーバレス サービスが存在
  85. 85. サーバレスアーキテクチャ サーバの管理が不要なシステムモデル AWS Summit Tokyo 2017でのサーバレス関連セッションまとめ http://keisuke69.hatenablog.jp/entry/2017/06/16/191659
  86. 86. #awsstartup マイクロサービス on AWS
  87. 87. マイクロサービス on AWS サーバレスなコンポーネントで実現
  88. 88. マイクロサービス on AWS ECSで実現 Target Group1: Service A Target Group2: Service B /srvA* /srvB* GET /srvA ALBのRule (PathPattern)ごとに ECSのサービスを分け、 サービスディスカバリを 実現するパターン 足回りの管理がほぼ不要 になる、オススメパター ンの一つ
  89. 89. #awsstartup 金融機関との連携がアツい FinTech
  90. 90. 【Keynote】 株式会社三菱東京UFJ銀行専務取締役 村林 聡 氏 既に5つのシステムをAWS上で本番稼 働している。開発中や検討中の案件を 含めると、現時点で100以上のシステ ムが移行対象であり、さらに拡大する
  91. 91. Fin Tech スタートアップからメガバンクまでを支える実績とセキュリティ$$ Fin Tech スタートアップを待ち受ける壁 FISC対応 PCI-DSS セキュリティ 監査 金融機関 システム連携 GOALGOAL
  92. 92. • AWS は 「金融機関におけるクラウド利用 に関する有識者検討会」の一員と して FISC 自体の内容策定に参加 • 各項目に対する対応方法を公開 Fin Tech スタートアップからメガバンクまでを支える実績とセキュリティ$$ セキュリティ監査 金融機関システム連携FISC対応、コンプライアンス • 大手金融機関側の業務・技術知識、 スタートアップ側の各種知見を 併せ持つ AWS エンジニアチーム • AWS は FinTech 協会会員として、 API 連携時の推奨システム構成を 提唱、構築支援 • 豊富な金融システム経験を持つ AWS スタッフが監査対応を支援 • ときには監査人と直接会議も Fin Tech担当SA ブロックチェーンも いけます。
  93. 93. Fin Tech スタートアップからメガバンクまでを支える実績とセキュリティ$$
  94. 94. AWSが一番良いソリューションだと思った理由は、 スタートアップでさえも 金融機関同等のセキュリティを実現できるから freee株式会社 代表取締役 佐々木 大輔 様
  95. 95. #awsstartup 金融業界で通用するAWSセキュリティ →金融だけでなく、BtoB など 高いセキュリティが求められがちな事業 の展開もバッチリOK
  96. 96. #awsstartup アジェンダ よくある課題編 1. ユーザ動向を分析したい 2. CI/CDをちゃんとしたい 3. コンテナを使いたい 4. 運用監視ちゃんとしたい 5. システム負荷下げたい 6. (モバイルアプリの) Growth Hackしたい 7. コスト下げたい お役立ち情報編 1. おさえておきたい 技術トレンド 2. 要るの?要らないの? セキュリティ
  97. 97. #awsstartup 要るの?要らないの?セキュリティ
  98. 98. #awsstartup IPOとBuy Out、デューデリジェンス "どこまでやれば?キリがない" 問題 AWSでのソリューション どう要るの?要らないの?セキュリティ
  99. 99. #awsstartup IPOとBuy Out、デューデリジェンス 2016/09 開催 IPO、Buy Out 経験者、有識者 によるディス カッション
  100. 100. #awsstartup IPOとBuy Out、デューデリジェンス 弁護士ドットコム 市橋 立 CTO 「AWSのセキュリティベストプラクティスを 守っていればIPOも問題ない」 ホワイトペーパー 「AWSセキュリティのベストプラクティス」
  101. 101. #awsstartup IPOとBuy Out、デューデリジェンス ナビプラス株式会社 梅染 充男 CTO 「Buy Outでは買収する側によって見られ方が 大きく異なる」
  102. 102. #awsstartup IPOとBuy Out、デューデリジェンス KDDI株式会社 理事 経営戦略本部 副本部長 兼 グループマネジメント推進室長 松野 茂樹 氏 「今の時代、セキュリティ意識の低いスタート アップはあり得ない。そのような会社は、IPO (新規株式公開)してはいけない。目先の業績だ けでなく、セキュリティにも投資するように、ベ ンチャー・キャピタリストをはじめ周囲が教育す べきだ」
  103. 103. #awsstartup セキュリティ "どこまでやれば?キリがない" 問題 1. 何か業種業態的に必要なガイドライン、 関連法規等がある場合はそれを具体的な要件に 金融系: PCI-DSS, FISC 等 医療系: HIPAA, 三省四ガイドライン 等 2. 特になければこんな観点で目安を作っては いかがでしょう
  104. 104. #awsstartup 資金(円) 人数 投資家 目標 ステージ シード アーリー ミドル レイター ~3000万 3000万~3億 3億~10億 10億~50億 ~5人 5人~20人 20人~50人 50人~ エンジェル VC VC・事業会社 VC・事業会社 製品開発 ユーザー増加 単月黒字 年次黒字 ビジネス スケール仮説検証 サイクル 事業価値 最大化堅牢な 財務体質 イシュー
  105. 105. #awsstartup シード アイディアを試す場 すぐ始められ、すぐ捨てられる 作りこまない、出来合い利用 スモールスタートのセキュリティ クイックスタート、パッケージ、マネージドサービス 要件 価値 方針
  106. 106. #awsstartup アーリー スケールするセキュリティ 自動化、サービス継続性、回復力 売り上げ拡大 迅速かつ止まらないインフラ 変化適応性の高いセキュリティ 要件 価値 方針
  107. 107. #awsstartup ミドル コスト最適なセキュリティ 予測と計画、セキュリティ評価 オペレーション最適化 無駄のない投資 リソース管理、インフラ可視化 要件 価値 方針
  108. 108. #awsstartup レイター リスクベースのセキュリティ ビジネスリスク統制、コンプライアンス バリュエ―ション時の高い評価 信頼性、可視性 リスクコントロール 要件 価値 方針
  109. 109. #awsstartup AWSでのソリューション AWS Black Belt Online Seminar 資料 AWS 利用者が実施する AWS 上でのセキュリティ対策(資料) AWS におけるセキュリティとコンプライアンス(資料 | 動画) AWS Identity and Access Management (AWS IAM) (資料 | 動画) 事業価値を最大化するAWSセキュリティ(資料) AWS Summit/Dev Day講演資料 (2016 | 2017) DevSecOps on AWS - Policy in Code (2017)(資料 | 動画) AWS セキュリティ入門 (2017)(資料 | 動画)
  110. 110. #awsstartup アジェンダ よくある課題編 1. ユーザ動向を分析したい 2. CI/CDをちゃんとしたい 3. コンテナを使いたい 4. 運用監視ちゃんとしたい 5. システム負荷下げたい 6. (モバイルアプリの) Growth Hackしたい 7. コスト下げたい お役立ち情報編 1. おさえておきたい 技術トレンド 2. 要るの?要らないの? セキュリティ
  111. 111. #awsstartup まとめ😌 この資料は2017年夏時点での 「あるある」まとめであり逆引き辞典 何かやりたいことがあったらこの資料を見て ぜひ解決の糸口を 各ソリューションやプロダクトの詳細は ぜひリンク先の資料や動画を見ていただき 技術力アップを

×