AWS を活用して小さなチームで 世界で使われるサービスを運用する方法 - JAWS Days 2013

2,459
-1

Published on

http://jaws-ug.jp/jawsdays2013/speaker.html#OPS-04

Published in: Technology

AWS を活用して小さなチームで 世界で使われるサービスを運用する方法 - JAWS Days 2013

  1. 1. AWS を活用して小さなチームで世界で使われるサービスを運用する方法 2013.03.16(sat) Takashi SOMEDA
  2. 2. About me 染田貴志 (SOMEDA Takashi) http://d.hatena.ne.jp/tksmd JAWS UG 京都支部長 株式会社ヌーラボ所属 Backlog の開発・インフラ・サポート Cacoo のインフラ 好きな… EBS・CloudFront Cache Distribution Pattern JAWS Days 2013
  3. 3. Job history 2010年 Nulab Inc. エンジニア 2008年 チョイスタジオ CTO 2006年 四次元データ (現シナジーマーケティング) 技術研究部員 2005年 未踏ソフトウェア フリーランス 2002年 Sun Microsystems (現Oracle) ベンチマークエンジニア JAWS Days 2013
  4. 4. 国内を中心に 約13万ユーザ が利用するプロジェクト管理ツールタスク管理機能に加え、• WebDAVによるファイル共有• GitやSubversionのリポジトリホスティングなどを提供。一昨年前にお値段据え置きで容量30倍のプラン変更も。2011年秋から海外版の提供を開始、今春中国向けの機能強化を予定 JAWS Days 2013
  5. 5. 全世界 約77万ユーザ (日本2割)が利用するオンラインのドローツール基本的なドローツールの機能に加え• 複数のユーザで同時に編集出来るリアルタイムコラボレーション• Google+ Hangouts と連携して、ビデオチャットとあわせて利用可能といった、コラボレーション機能が充実。正式版ローンチから2年でユーザ数は約12倍、容量は20倍以上に
  6. 6. 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
  7. 7. OpsBacklog :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
  8. 8. Team JAWS Days 2013
  9. 9. Developer‟s role DevOpsSupportSalesMarketing?? Dev MS-DOS?! Ops ???? Support Sales Marketing JAWS Days 2013
  10. 10. Agenda AWS何使ってる? アクション・ファースト オートメーション モニタリング 障害の想定 まとめ JAWS Days 2013
  11. 11. AWS何使ってる? JAWS Days 2013 http://www.flickr.com/photos/83633410@N07/7658034524/in/photostream/
  12. 12. We use EC2 S3 ELB CloudFront Route53 RDS JAWS Days 2013
  13. 13. 実容量で 1〜2TBのデータストアの運用経験のある方 JAWS Days 2013
  14. 14. We love RDBMS JAWS Days 2013
  15. 15. Running on LVM RAID0で ストライピング JAWS Days 2013
  16. 16. Working with partition JAWS Days 2013
  17. 17. Why you use it ? データストアは Dev/Ops 両方を左右する AWS 依存の設計にするかどうかはよく検討 クラウドだから NoSQL 、その前に JAWS Days 2013
  18. 18. アクション・ファースト JAWS Days 2013 http://www.flickr.com/photos/83633410@N07/7658268052/in/photostream/
  19. 19. JAWS Days 2013
  20. 20. JAWS Days 2013
  21. 21. Value first 価値提供最重要 ( 安定性も価値 ) 不確実な未来に対してコミットしすぎない インフラは後からどうにかする(出来る) JAWS Days 2013
  22. 22. オートメーション JAWS Days 2013 http://www.flickr.com/photos/nicmcphee/2558167768/
  23. 23. 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
  24. 24. cuisine https://github.com/sebastien/cuisinedef 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
  25. 25. fabric/cuisine シンプル!シンプル!シンプル! boto と組み合わせて使うことで多様な操作が可能 cuisine で chef-like な環境構築も JAWS Days 2013
  26. 26. Staging & Deploy JAWS Days 2013
  27. 27. Automation! Automation! 自動化そのものを目的にしない 誰でも同じ作業が出来るように JAWS Days 2013
  28. 28. モニタリング JAWS Days 2013 http://www.flickr.com/photos/83633410@N07/7658034524/in/photostream/
  29. 29. Monitoring JAWS Days 2013
  30. 30. Monitoring JAWS Days 2013
  31. 31. fluentd JAWS Days 2013
  32. 32. 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
  33. 33. Monitoring 異常があったらツールに呼んでもらう 障害を再発しないために検知項目を増やす 監視のクオリティを保つ JAWS Days 2013
  34. 34. 障害を想定する JAWS Days 2013 http://www.flickr.com/photos/83633410@N07/7658236076/sizes/l/in/photostream/
  35. 35. Multiple AZ JAWS Days 2013
  36. 36. Multiple AZ ネットワーク遅延が問題になったことはない AZ間での通信障害に対する監視はしておく まだゾーン障害を経験してない.. JAWS Days 2013
  37. 37. Multi tenancy JAWS Days 2013
  38. 38. Multi tenancy ビジネス向き or 一個人向き 影響範囲が限定される安心感は(かなり)大きい 外部サービスとの連携に工夫が要る場合も JAWS Days 2013
  39. 39. Instance Role JAWS Days 2013
  40. 40. If service failure happen サイトは別リージョン or 別サービスで管理 JAWS Days 2013
  41. 41. まとめJAWS Days 2013 http://www.flickr.com/photos/nauright/2662160957/
  42. 42. DevOps for a small team Dev = Ops JAWS Days 2013
  43. 43. What AWS brings to us ?! サービスを運用しはじめてから、 次にとる舵を選ぶことが出来る柔軟さ JAWS Days 2013
  44. 44. What AWS brings to us ?! 小さなチームでも 世界で戦えるサービスを提供できる 力を与えたということ JAWS Days 2013
  45. 45. Thanks!! ありがとうございました ご質問あればどうぞ! JAWS Days 2013

×