SlideShare una empresa de Scribd logo
1 de 96
Descargar para leer sin conexión
DevがAWSと
出会って
DevOpsを目指した話
えびスタ!#1
2014/12/18
Retty, Inc
梅田昌太 @ebisusurf
1
本日のお品書き
• 前菜 ご挨拶
• メイン サービスの成長とインフラの成長
• デザート AWSを使ってDevOpsを目指す
2
サービスの成長とインフラの成長
AWSを使ってDevOpsを目指す
ご挨拶
3
4
近所から来ました
Rettyって?
• 食を通じて世界中の人々をHappyに
• グルメサービスです!
• AppStore Google PlayへGo!
5
About me
@ebisusurf
梅田昌太
AWS
&
プリンタ
6
About me
担当
炒飯
7
About me
8
9
将来の夢
本題
10
サービスの成長と
インフラの成長
AWSを使ってDevOpsを目指す
ご挨拶
11
まずは今の構成をご紹介
• retty.me(メインサービス)
• owner.retty.me(店舗様向けサービス)
12
CloudFront
RDS
EC2
ELB
EB
S3
retty.me
RDS
EC2
ELB
RDS
EC2
ELB
Nginx Nginx
EMR
MongoDB
ELC

memcached
ELC

Redis
Route 53
13
Route 53CloudFront
RDS
EC2
ELB
EB
S3
owner.retty.me
RDS
EC2
ELB
EMR
ELC

Redis
EC2

development
14
いきなりこうなった訳
ではありません
15
サービス総明記
16
UU
∼10万
17
retty.me
信頼と安定の某VPS
MySQL
Apache
Linux
PHP
18
サブドメイン
信頼と安定のレンタルサーバ
Wordpress
19
10万∼
20
AWS移行
構成は変わらず(EC2)
MySQL
Apache
Linux
PHP
21
50万∼
AWSアーキテクチャに
乗ってみる
22
retty.me
AWSアーキテクチャに少し
乗ってみる
23
100万∼
24
何かよく解らんけど
様子がおかしいぞ?
25
スケールアウトしてみた
retty.me
26
監視もしてみた
SotfwareDesign 6月号
Nagios Monit
cloud watch
オプションでディスクも監視retty.me
27
なんとかなった
28
200万∼400万
29
  奇跡のカーニバル
  開  幕  だ
 n  ___  n
 ¦¦ /___\ ¦¦
 ¦¦ |(゚) (゚)| ¦¦
「「「¦ \ ̄ ̄ ̄/ 「「「¦
「 ̄¦   ̄冂 ̄  「 ̄¦
`ヽ ¦/ ̄¦ ̄¦ ̄\¦ ノ
ここら辺で
一気に火を吹きだした
30
起こった事
31
起こった事
• RDSに書き込んでたロギングが限界
• スケールアウト対応が追いつかない&コスパの良
いインスタンスが使えない(EC2が32bitPV、
PHP5.3)
• RDSのSlave上限にひっかかる(MySQL5.5)
32
起こった事
• 繰り返される緊急デプロイ
• 信頼と安定のrsync
• 鳴り止まないアラート
• 秘伝のタレが継ぎ足されていくami
33
やった事
34
やった事
35
ElasticBeasntalk
でインフラの透明化
(後で話します)
やった事
• retty.meのPHP5.3->PHP5.5
• EBで色々選べる(5.3はサポート切れる)
• MySQL5.5->MySQL5.6
• 多段レプリケーション
• ログをfluentd + S3 + MongoDB運用
36
Route 53CloudFront
RDS
EC2
ELB
S3
結果こうなった
RDS
EC2
ELB
RDS
EC2
ELB
EMR
MongoDB
ELC

memcached
最初の図に少し
近づいてますね
EB
37
∼500万
38
外部サービス連携
39
Route 53CloudFront
RDS
EC2
ELB
EB
S3
retty.me
RDS
EC2
ELB
RDS
EC2
ELB
Nginx Nginx
EMR
MongoDB
ELC

memcached
ELC

Redis
40
Route 53CloudFront
RDS
EC2
ELB
EB
S3
ログを
TRESUREDATAへ
RDS
EC2
ELB
RDS
EC2
ELB
中継
MongoDB
41
Route 53CloudFront
RDS
EC2
ELB
EB
S3
CIはCircleで
RDS
EC2
ELB
RDS
EC2
ELB
42
Route 53CloudFront
RDS
EC2
ELB
EB
S3
RDS
EC2
ELB
RDS
EC2
ELB
43
Jenkinsを
ホストするのは嫌です
サービスの成長とインフラの成長
AWSを使って
DevOpsを目指す
ご挨拶
44
Devの時間を作るために
るサービスを使って
Opsの仕事を減らす
45
オレオレBest3
46
Best3
• Elastic Beanstalk(オートスケール&自動デ
プロイ)
• RDS(自前でレプリケーション, フェイルオーバ
とか泣ける)
• S3(EBSを拡張するの避ける)
47
ElasticBeanstalk
48
AWS上のHeroku
(そもそもHerokuはry)
49
ElasticBeanstalk
• 一般的な Web アプリケーションに必要 な設定
を組んで、Public DNS 名を割り振って URL
でアクセスできるようにしてくれます。
50
ElasticBeanstalk
• 作るアプリは Web アプリか? Worker か?
• RDS は必要か? Multi-AZ にする?
• ELBを 使 う か? 1インスタンスで動かすか?
51
ElasticBeanstalk
のスタック
Application
Enviroment Enviroment Enviroment
production staging development
52
デプロイは?
53
Application
Enviroment Enviroment Enviroment
git
production staging development
git aws.push
54
git aws.push
• gitのリポジトリをそのままデプロイ
• Enviromentとコミットを指定出来る
• 同一Application内であればブラウザで
Environment間でデプロイ出来る
55
Elastic Beanstalk
Command Line Interface (EB CLI)
3.0
56
eb deploy
EBが無いと私の仕事は
回らないくらい便利です
57
大事な事
• オートスケールを自在に使いこなす
• レガシーアプリケーションの問題は環境変数に
押し込む
• インスタンスを使い捨てにする
• .ebextensionでインスタンスを自在に操る
58
使い捨てにするため
ログ系はリアルタイムで送る
59
fluentd
Elastic
Beanstalk
Mongo&中継
S3
60
.ebextensionsで自由自在
• デプロイ時のタスクをyml
で記述(chefみたいに抽
象化はされてない)
• fluentdのインストール,
apacheの設定, local
memcached,
postfix(やめた
い)...etc
commands:
01-install-memcached:
command: yum install -y memcached
61
RDS
62
ぶっちゃけ高い
63
それを上回るメリット
• 一度でもMySQLの運用をやった事があれば
Multi-AZの素晴らしさはすぐわかる
• ほぼメンテフリー
• 気軽にスケールアップ
64
S3
65
EBSででかいインスタンスを
用意するのは面倒
• Mongoのdiskが れてメンテナンス不可能に
なった
• 因にs3fsはあまりおすすめしないってamazon
の人も言ってた
• S3の運用にちゃんと乗った方が楽
66
最近やったこと
(直前追記)
67
1.chat ops
68
chat ops@deploy
69
EB
Worker
SQS
please
deploy
json
post
eb
deploy
chat opsの
重要性とは?
70
なぜchat ops?
71
臨時デプロイしてください
OK!
なぜchat ops?
72
臨時デプロイしてください
……
臨時デプロイしてください
臨時デプロイしてください
臨時デプロイしてください
臨時デプロイしてください
臨時デプロイしてください
臨時デプロイしてください
……
臨時デプロイしてください
臨時デプロイしてください
臨時デプロイしてください
臨時デプロイしてください
臨時デプロイしてください
73
イラっ!
オペレーションのせい
で人間関係悪化は
良くない
74
75
botちゃんに
やってもらいましょう
2.スポットインスタンス
を使ってお得に
スケールする
76
スポットインスタンス
• 基本的にはコストに対しては理解してもらいま
しょう(技術関係なし)
• それでも考える時はRIとスポットインスタンス
の組み合わせが効果的
• 但し費用対効果考えると微妙
77
78
r3.largeを例にとると
オンデマンドだと$0.175
スポットだと$0.0215
79
r3.largeを例に取ると
オンデマンドだと$0.175
スポットだと$0.0215
誰かが釣り上げると落とされます
まとめ
80
Q.AWSを使ってDevOps
を目指す上で
最も重要な事は?
81
immutable
infrastructure?
82
infrastructure
as
code?
83
A.金
84
金で解決する事
• 特にRDSとかRDSとかRDSとか
• 負荷がきつかったらパラメータ一生懸命いじっ
ても余りパフォーマンス上がらない、思い切っ
てスケールアップ
85
金で解決する事
• アプリケーションサーバはEBとかでほったらか
すようにする
• AWSはそれぞれのサービスを有機的に結合させ
ることがとても大事
• S3とかSQSとかIAMとか
86
EC2を立てたら
負けだと思ってる
87
言いたかったこと
88
インフラはAWSを
使い倒して(お任せして)
サービスをガンガン開発しよう!
時間があればおまけ
89
90
Rettyでは
仲間を募集してます
91
Rettyでは
仲間を募集してます
92
Rettyでは
仲間を募集してます
93
Rettyでは
仲間を募集してます
ステッカー持ってます
94
95
二次会のお店は
Rettyで!
ありがとうございました
96

Más contenido relacionado

La actualidad más candente

AWSのcloudpack流フルマネージメント
AWSのcloudpack流フルマネージメントAWSのcloudpack流フルマネージメント
AWSのcloudpack流フルマネージメント
Hiroyasu Suzuki
 
AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪
AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪
AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪
崇之 清水
 
ECSの大型アップデートが来たよ!
ECSの大型アップデートが来たよ!ECSの大型アップデートが来たよ!
ECSの大型アップデートが来たよ!
淳 千葉
 
AWS Elastic Beanstalk のススメ
AWS Elastic Beanstalk のススメAWS Elastic Beanstalk のススメ
AWS Elastic Beanstalk のススメ
Taiji INOUE
 
最近やったAWS案件
最近やったAWS案件最近やったAWS案件
最近やったAWS案件
Naoto Ishizawa
 
AWS+でスケールアウト&スケールアップ
AWS+でスケールアウト&スケールアップAWS+でスケールアウト&スケールアップ
AWS+でスケールアウト&スケールアップ
Hiroyasu Suzuki
 
[AWSマイスターシリーズ] AWS OpsWorks
[AWSマイスターシリーズ] AWS OpsWorks[AWSマイスターシリーズ] AWS OpsWorks
[AWSマイスターシリーズ] AWS OpsWorks
Amazon Web Services Japan
 
AWSクラウドデザインパターン(CDP) - コンテンツ配信編 -
AWSクラウドデザインパターン(CDP) - コンテンツ配信編 -AWSクラウドデザインパターン(CDP) - コンテンツ配信編 -
AWSクラウドデザインパターン(CDP) - コンテンツ配信編 -
Akio Katayama
 

La actualidad más candente (20)

CEDEC2015_OpenStack で運用する Private Cloud の泥臭い(リアル)な話
CEDEC2015_OpenStack で運用する Private Cloud の泥臭い(リアル)な話CEDEC2015_OpenStack で運用する Private Cloud の泥臭い(リアル)な話
CEDEC2015_OpenStack で運用する Private Cloud の泥臭い(リアル)な話
 
AWSのcloudpack流フルマネージメント
AWSのcloudpack流フルマネージメントAWSのcloudpack流フルマネージメント
AWSのcloudpack流フルマネージメント
 
グリーにおけるAWS移行の必然性
グリーにおけるAWS移行の必然性グリーにおけるAWS移行の必然性
グリーにおけるAWS移行の必然性
 
ついに解禁!Amazon Aurora徹底検証!
ついに解禁!Amazon Aurora徹底検証!ついに解禁!Amazon Aurora徹底検証!
ついに解禁!Amazon Aurora徹底検証!
 
よくわかるAWS OpsWorks: AWS OpsWorksの概要&アップデート紹介
よくわかるAWS OpsWorks: AWS OpsWorksの概要&アップデート紹介よくわかるAWS OpsWorks: AWS OpsWorksの概要&アップデート紹介
よくわかるAWS OpsWorks: AWS OpsWorksの概要&アップデート紹介
 
[AKIBA.AWS] re:invent 2017アップデート:ついてこられるか?AWSネットワークの進化
[AKIBA.AWS] re:invent 2017アップデート:ついてこられるか?AWSネットワークの進化[AKIBA.AWS] re:invent 2017アップデート:ついてこられるか?AWSネットワークの進化
[AKIBA.AWS] re:invent 2017アップデート:ついてこられるか?AWSネットワークの進化
 
JenkinsのAWS連携
JenkinsのAWS連携JenkinsのAWS連携
JenkinsのAWS連携
 
EC2 Deep Dive at CTO Night&Day 2016
EC2 Deep Dive at CTO Night&Day 2016 EC2 Deep Dive at CTO Night&Day 2016
EC2 Deep Dive at CTO Night&Day 2016
 
AWSによるWebサイト構築と運用 - concrete5 編 -
AWSによるWebサイト構築と運用 - concrete5 編 -AWSによるWebサイト構築と運用 - concrete5 編 -
AWSによるWebサイト構築と運用 - concrete5 編 -
 
PHP on Cloud
PHP on CloudPHP on Cloud
PHP on Cloud
 
AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪
AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪
AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪
 
ECSの大型アップデートが来たよ!
ECSの大型アップデートが来たよ!ECSの大型アップデートが来たよ!
ECSの大型アップデートが来たよ!
 
AWS Elastic Beanstalk のススメ
AWS Elastic Beanstalk のススメAWS Elastic Beanstalk のススメ
AWS Elastic Beanstalk のススメ
 
最近やったAWS案件
最近やったAWS案件最近やったAWS案件
最近やったAWS案件
 
AWS+でスケールアウト&スケールアップ
AWS+でスケールアウト&スケールアップAWS+でスケールアウト&スケールアップ
AWS+でスケールアウト&スケールアップ
 
負荷分散だけじゃないELBのメリット
負荷分散だけじゃないELBのメリット負荷分散だけじゃないELBのメリット
負荷分散だけじゃないELBのメリット
 
[AKIBA.AWS] EC2の基礎 - パフォーマンスを100%引き出すオプション設定 -
[AKIBA.AWS] EC2の基礎 - パフォーマンスを100%引き出すオプション設定 -[AKIBA.AWS] EC2の基礎 - パフォーマンスを100%引き出すオプション設定 -
[AKIBA.AWS] EC2の基礎 - パフォーマンスを100%引き出すオプション設定 -
 
[AWSマイスターシリーズ] AWS OpsWorks
[AWSマイスターシリーズ] AWS OpsWorks[AWSマイスターシリーズ] AWS OpsWorks
[AWSマイスターシリーズ] AWS OpsWorks
 
AWSクラウドデザインパターン(CDP) - コンテンツ配信編 -
AWSクラウドデザインパターン(CDP) - コンテンツ配信編 -AWSクラウドデザインパターン(CDP) - コンテンツ配信編 -
AWSクラウドデザインパターン(CDP) - コンテンツ配信編 -
 
Amazon EKS によるスマホゲームのバックエンド運用事例
Amazon EKS によるスマホゲームのバックエンド運用事例Amazon EKS によるスマホゲームのバックエンド運用事例
Amazon EKS によるスマホゲームのバックエンド運用事例
 

Similar a Devがawsと出会ってdev opsを目指した話

Ossを使ったazureでのdev ops
Ossを使ったazureでのdev opsOssを使ったazureでのdev ops
Ossを使ったazureでのdev ops
裕貴 荒井
 
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
AWS における Microservices Architecture と DevOps を推進する組織と人とツールAWS における Microservices Architecture と DevOps を推進する組織と人とツール
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
Amazon Web Services Japan
 

Similar a Devがawsと出会ってdev opsを目指した話 (20)

Ph perがawsと出会ってdev opsを目指した話
Ph perがawsと出会ってdev opsを目指した話Ph perがawsと出会ってdev opsを目指した話
Ph perがawsと出会ってdev opsを目指した話
 
Ossを使ったazureでのdev ops
Ossを使ったazureでのdev opsOssを使ったazureでのdev ops
Ossを使ったazureでのdev ops
 
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
 
DevOpsを支える技術勉強会(CI編)
DevOpsを支える技術勉強会(CI編)DevOpsを支える技術勉強会(CI編)
DevOpsを支える技術勉強会(CI編)
 
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
 
Retty techcafe7 rettydevops
Retty techcafe7 rettydevopsRetty techcafe7 rettydevops
Retty techcafe7 rettydevops
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
Windowsシステムの AWS移行とMulti-AZ化 - JAWS DAYS 2015
WindowsシステムのAWS移行とMulti-AZ化 - JAWS DAYS 2015 WindowsシステムのAWS移行とMulti-AZ化 - JAWS DAYS 2015
Windowsシステムの AWS移行とMulti-AZ化 - JAWS DAYS 2015
 
ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版
 
2013/12/05 Serverworks Seminar 小室分
2013/12/05 Serverworks Seminar 小室分2013/12/05 Serverworks Seminar 小室分
2013/12/05 Serverworks Seminar 小室分
 
DevOpsを実現する為のChef活用テクニック
DevOpsを実現する為のChef活用テクニックDevOpsを実現する為のChef活用テクニック
DevOpsを実現する為のChef活用テクニック
 
[AWS Summit 2012] ソリューションセッション#2 リーンクラウドでいこう! クラウドで実現するリーンスタートアップ
[AWS Summit 2012] ソリューションセッション#2 リーンクラウドでいこう! クラウドで実現するリーンスタートアップ[AWS Summit 2012] ソリューションセッション#2 リーンクラウドでいこう! クラウドで実現するリーンスタートアップ
[AWS Summit 2012] ソリューションセッション#2 リーンクラウドでいこう! クラウドで実現するリーンスタートアップ
 
サーバーレスの話
サーバーレスの話サーバーレスの話
サーバーレスの話
 
作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく
 
20120927 findjob4 dev_ops
20120927 findjob4 dev_ops20120927 findjob4 dev_ops
20120927 findjob4 dev_ops
 
DevOpsにおけるAnsibleの立ち位置と使い所
DevOpsにおけるAnsibleの立ち位置と使い所DevOpsにおけるAnsibleの立ち位置と使い所
DevOpsにおけるAnsibleの立ち位置と使い所
 
PaaS / Cloud Foundry makes you happy
PaaS / Cloud Foundry makes you happyPaaS / Cloud Foundry makes you happy
PaaS / Cloud Foundry makes you happy
 
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
AWS における Microservices Architecture と DevOps を推進する組織と人とツールAWS における Microservices Architecture と DevOps を推進する組織と人とツール
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
 
【BS9】モダン & クラウドネイティブなソフトウエア開発はじめよう ~ Azure DevOps & GitHub を使ったアプリ開発 DevOps 101
【BS9】モダン & クラウドネイティブなソフトウエア開発はじめよう ~ Azure DevOps & GitHub を使ったアプリ開発 DevOps 101 【BS9】モダン & クラウドネイティブなソフトウエア開発はじめよう ~ Azure DevOps & GitHub を使ったアプリ開発 DevOps 101
【BS9】モダン & クラウドネイティブなソフトウエア開発はじめよう ~ Azure DevOps & GitHub を使ったアプリ開発 DevOps 101
 
JPC2018[H4]マイクロソフトの Azure オープン ソース戦略とパートナー エコシステム
JPC2018[H4]マイクロソフトの Azure オープン ソース戦略とパートナー エコシステムJPC2018[H4]マイクロソフトの Azure オープン ソース戦略とパートナー エコシステム
JPC2018[H4]マイクロソフトの Azure オープン ソース戦略とパートナー エコシステム
 

Devがawsと出会ってdev opsを目指した話