Contenu connexe Similaire à AWS を活用して小さなチームで 世界で使われるサービスを運用する方法 - JAWS Days 2013 (20) Plus de Takashi Someda (13) AWS を活用して小さなチームで 世界で使われるサービスを運用する方法 - JAWS Days 20132. About me
染田貴志 (SOMEDA Takashi)
http://d.hatena.ne.jp/tksmd
JAWS UG 京都支部長
株式会社ヌーラボ所属
Backlog の開発・インフラ・サポート
Cacoo のインフラ
好きな…
EBS・CloudFront
Cache Distribution Pattern
JAWS Days 2013
3. Job history
2010年
Nulab Inc.
エンジニア 2008年
チョイスタジオ
CTO
2006年
四次元データ
(現シナジーマーケティング)
技術研究部員 2005年
未踏ソフトウェア
フリーランス
2002年
Sun Microsystems
(現Oracle)
ベンチマークエンジニア
JAWS Days 2013
8. Nulab & AWS
2012年4月
Cacoo for Google+ Hangouts
2011年11月
Backlog 海外版開始
2011年3月、4月
Backlog新プラン開始
2010年9月
Cacoo 商用版サービス開始 2010年9月
Backlog 一部を AWS 上へ
JAWS Days 2013
11. Ops
Backlog :38,000ユーザ Backlog :62,000ユーザ Backlog :110,000ユーザ Backlog :130,000ユーザ
Cacoo:62,000ユーザ Cacoo:200,000ユーザ Cacoo:600,000ユーザ Cacoo:770,000ユーザ
2010/10 2011/10 2012/10 2013/03
JAWS Days 2013
13. Developer‟s role
DevOpsSupportSalesMarketing??
Dev
MS-DOS?!
Ops
????
Support Sales Marketing
JAWS Days 2013
14. Agenda
AWS何使ってる?
アクション・ファースト
オートメーション
モニタリング
障害の想定
まとめ
JAWS Days 2013
15. AWS何使ってる?
JAWS Days 2013
http://www.flickr.com/photos/83633410@N07/7658034524/in/photostream/
16. We use
EC2 S3 ELB
CloudFront Route53 RDS
JAWS Days 2013
21. Why you use it ?
データストアは Dev/Ops 両方を左右する
AWS 依存の設計にするかどうかはよく検討
クラウドだから NoSQL 、その前に
JAWS Days 2013
22. アクション・ファースト
JAWS Days 2013
http://www.flickr.com/photos/83633410@N07/7658268052/in/photostream/
25. Value first
価値提供最重要 ( 安定性も価値 )
不確実な未来に対してコミットしすぎない
インフラは後からどうにかする(出来る)
JAWS Days 2013
26. オートメーション
JAWS Days 2013 http://www.flickr.com/photos/nicmcphee/2558167768/
27. fabric
@task http://fabfile.org/
@roles(„app‟)
def all_release():
sudo(“service tomcat stop”)
put(“new.war”,”/tmp/new.war”)
run(“cp –p /tmp/new.war /webapps/ROOT.war”)
sudo(“service tomcat start”)
@task
@hosts(„web01‟,‟web02‟,‟mail01‟,‟mail02‟)
def fluent_agent_reload():
sudo("/etc/init.d/fluent-agent-lite reload")
# pip でインストール
$ pip install Fabric
# 実行
$ fab app.all_release
JAWS Days 2013
28. cuisine
https://github.com/sebastien/cuisine
def install():
if file_exists('/usr/local/fluent-agent-lite/bin/fluent-agent-lite'):
return
with mode_sudo():
with cd('/usr/local/src'):
run('wget https://github.com/downloads/tagomoris/fluent-agent-lite/fluent-
agent-lite.v0.6.tar.gz')
run('tar zxvf fluent-agent-lite.v0.6.tar.gz')
with cd ('fluent-agent-lite'):
run('./bin/install.sh‟)
JAWS Days 2013
29. fabric/cuisine
シンプル!シンプル!シンプル!
boto と組み合わせて使うことで多様な操作が可能
cuisine で chef-like な環境構築も
JAWS Days 2013
32. モニタリング
JAWS Days 2013
http://www.flickr.com/photos/83633410@N07/7658034524/in/photostream/
36. Cloudwatch BK?!
mon-put-metric-alarm
--alarm-name ”${InstanceName}"
--metric-name CPUUtilization
--namespace AWS/EC2
--statistic Average
--period 300
--evaluation-periods 2
--threshold 100
--unit Percent
--comparison-operator GreaterThanThreshold
--dimensions InstanceId=“${InstanceId}”
--insufficient-data-actions arn:aws:sns:${SNS_TOPIC}
--ok-actions arn:aws:sns:${SNS_TOPIC}
InsufficientData で障害の予兆を検知
JAWS Days 2013
37. Monitoring
異常があったらツールに呼んでもらう
障害を再発しないために検知項目を増やす
監視のクオリティを保つ
JAWS Days 2013
38. 障害を想定する
JAWS Days 2013
http://www.flickr.com/photos/83633410@N07/7658236076/sizes/l/in/photostream/
40. Multiple AZ
ネットワーク遅延が問題になったことはない
AZ間での通信障害に対する監視はしておく
まだゾーン障害を経験してない..
JAWS Days 2013
42. Multi tenancy
ビジネス向き or 一個人向き
影響範囲が限定される安心感は(かなり)大きい
外部サービスとの連携に工夫が要る場合も
JAWS Days 2013
47. What AWS brings to us ?!
サービスを運用しはじめてから、
次にとる舵を選ぶことが出来る柔軟さ
JAWS Days 2013
48. What AWS brings to us ?!
小さなチームでも
世界で戦えるサービスを提供できる
力を与えたということ
JAWS Days 2013
49. Thanks!!
ありがとうございました
ご質問あればどうぞ!
JAWS Days 2013