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

3,197 views

Published on

DevLOVE現場甲子園2014 東日本大会

Published in: Engineering
  • Be the first to comment

機能とコストで考えるAws

  1. 1. Copyright (c) 2014 Junichiro Ueno 機能とコストで考えるAWS ソフトウェアを設計する 2014/08/23 オラクル青山センター Junichiro Ueno / @jun116
  2. 2. Junichiro Ueno 上野 潤一郎 Community :  DevLOVE ! Company :  ギルドワークス株式会社 ! ! twitter : @jun116 facebook : junichiro.ueno
  3. 3. Copyright (c) 2014 Junichiro Ueno
  4. 4. Copyright (c) 2014 Junichiro Ueno 市谷 聡啓 増田 亨 上野 潤一郎 中村 洋 佐々木 将之
  5. 5. Copyright (c) 2014 Junichiro Ueno エンジニアの設計領域の拡大 • 機能設計 • アーキテクチャ設計 • UI/UX設計 • インフラ設計
  6. 6. Copyright (c) 2014 Junichiro Ueno エンジニアの設計領域の拡大 • 機能設計 • アーキテクチャ設計 • UI/UX設計 • インフラ設計 • コスト設計
  7. 7. Copyright (c) 2014 Junichiro Ueno ! AWSを利用した2つのコスト目線 ! • 開発コストの削減 • 運用コストの最適化
  8. 8. Copyright (c) 2014 Junichiro Ueno 開発コストの削減
  9. 9. Copyright (c) 2014 Junichiro Ueno AWSサービスを活用
  10. 10. Copyright (c) 2014 Junichiro Ueno 例えば • S3
 データの堅牢性と信頼性 • SES
 安価、高い信頼性 • SQS
 シンプル、拡張性、信頼性
  11. 11. Copyright (c) 2014 Junichiro Ueno • S3
 データの堅牢性と信頼性 ! ! ! • 同等のものを開発するコスト • 大規模だからできる利用コスト
  12. 12. Copyright (c) 2014 Junichiro Ueno 信頼できるサービス に機能をまかせる (余分な開発を削減)
  13. 13. Copyright (c) 2014 Junichiro Ueno 開発コストの削減 結果 につながる
  14. 14. Copyright (c) 2014 Junichiro Ueno ! AWSを利用した2つのコスト目線 ! • 開発コストの削減 • 運用コストの最適化
  15. 15. Copyright (c) 2014 Junichiro Ueno 運用コストの最適化
  16. 16. Copyright (c) 2014 Junichiro Ueno 開発時の コストを減らす コスト検討パターン1
  17. 17. Copyright (c) 2014 Junichiro Ueno • 本番はRDSを想定 • 開発時はローカルDB 例えば
  18. 18. Copyright (c) 2014 Junichiro Ueno EC2 • 出勤時に起動 • 帰宅時に停止 例えば
  19. 19. Copyright (c) 2014 Junichiro Ueno 小さいところから コツコツとw
  20. 20. Copyright (c) 2014 Junichiro Ueno 運用時の コストを減らす コスト検討パターン2
  21. 21. Copyright (c) 2014 Junichiro Ueno 開発するものを どう公開するか
  22. 22. Copyright (c) 2014 Junichiro Ueno 静的なサイト • コーポレートサイト • ランディングページ
  23. 23. Copyright (c) 2014 Junichiro Ueno Amazon EC2 • WordPress • HTML • JS • CSS
  24. 24. Copyright (c) 2014 Junichiro Ueno 構成 EC2  m1.small 使用量  100%/月 月額 $ 44.66 Amazon EC2
  25. 25. Copyright (c) 2014 Junichiro Ueno 構成 EC2  t1.micro 使用量  100%/月 月額 $ 19.04 無料枠利用 $ 0.00 Amazon EC2
  26. 26. Copyright (c) 2014 Junichiro Ueno 構成 EC2  t1.micro 使用量  100%/ 月額 $ 無料枠利用 Amazon EC2 AWS 無料利用枠には Linux および Windows の毎月 750 時間分の マイクロインスタンスが含まれます (1 年間)。
  27. 27. Copyright (c) 2014 Junichiro Ueno 開発の内容次第で 1年間無料になる
  28. 28. Copyright (c) 2014 Junichiro Ueno • HTML • JS • CSSAmazon S3
  29. 29. Copyright (c) 2014 Junichiro Ueno 構成 S3  ストレージ 1GB ! 月額 $ 0.03 無料枠利用 $ 0.00 Amazon S3
  30. 30. Copyright (c) 2014 Junichiro Ueno 構成 S3  ストレージ 1GB ! 月額 $ 無料枠利用 Amazon S3 • 5 GB 標準ストレージ • 20,000 Get リクエスト • 2,000 Put リクエスト
  31. 31. Copyright (c) 2014 Junichiro Ueno 開発の内容次第で 1年間無料になる
  32. 32. Copyright (c) 2014 Junichiro Ueno 1年以降も 月額 $0.03 で利用可能
  33. 33. Copyright (c) 2014 Junichiro Ueno 参考事例
  34. 34. Copyright (c) 2014 Junichiro Ueno
  35. 35. Copyright (c) 2014 Junichiro Ueno S3で公開 WordPressもいいのだが 更新頻度が低い、もしくは更新が単純なら S3で十分対応できる !  ※ 現在はWordPressで運用中
  36. 36. Copyright (c) 2014 Junichiro Ueno S3での運用 • 独自ドメインで利用可能 • 99.99 % の可用性
  37. 37. Copyright (c) 2014 Junichiro Ueno • 公開しているものは同じ • 利用サービスは異なる 2パターンの相違点
  38. 38. Copyright (c) 2014 Junichiro Ueno • EC2
 静的サイト以外もOK • S3
 静的ウェブサイトに最適 2パターンの相違点
  39. 39. Copyright (c) 2014 Junichiro Ueno 何が違う? !
  40. 40. Copyright (c) 2014 Junichiro Ueno 何が違う? • AWS利用料
  41. 41. Copyright (c) 2014 Junichiro Ueno 何が違う? • AWS利用料 • 運用費(人件費)
  42. 42. Copyright (c) 2014 Junichiro Ueno EC2の場合 • 運用監視 • トラブル対応
  43. 43. Copyright (c) 2014 Junichiro Ueno S3の場合 • 特になし ※ 細かい考慮はせず
  44. 44. Copyright (c) 2014 Junichiro Ueno 運用まで検討すると 何が最適であるか?
  45. 45. Copyright (c) 2014 Junichiro Ueno 開発時に 運用環境を想定して 設計する
  46. 46. Copyright (c) 2014 Junichiro Ueno
  47. 47. Copyright (c) 2014 Junichiro Ueno 開発を意識 ↓ 環境を意識 ↓ コストを意識 ↓ 環境を修正
  48. 48. Copyright (c) 2014 Junichiro Ueno サービスサイト • アクセス数を意識 • データ量の増大を意識
  49. 49. Copyright (c) 2014 Junichiro Ueno 単純に構築
  50. 50. Copyright (c) 2014 Junichiro Ueno Amazon EC2 RDS DB Instance
  51. 51. Copyright (c) 2014 Junichiro Ueno • RDSの負荷対策 • → スケールアップ • → リードレプリカ アクセス数が増加したら? コストも増大
  52. 52. Copyright (c) 2014 Junichiro Ueno 構成を変えてみる
  53. 53. Copyright (c) 2014 Junichiro Ueno Amazon EC2 DynamoDB
  54. 54. Copyright (c) 2014 Junichiro Ueno • DynamoDBの負荷対策 • → IOPSの調整 アクセス数が増加したら?
  55. 55. Copyright (c) 2014 Junichiro Ueno 参照系として利用 • RDSのリードレプリカを並べるより安価
 → リードレプリカは起動も遅い • パフォーマンスの調整も簡単
 → IOPSを調整すれば良い • なにより圧倒的な信頼性
 → 分散型で強い整合性を持つ
  56. 56. Copyright (c) 2014 Junichiro Ueno • アクセス数は? • データ容量は? • データ集計は? 設計から再度検討する
  57. 57. Copyright (c) 2014 Junichiro Ueno DynamoDB • 読込IOPSは比較的安価 • 拡張性、パフォーマンス、信頼性 • 書込IOPSの値段は高い • 検索、集計には強くない
  58. 58. Copyright (c) 2014 Junichiro Ueno 書込負荷を軽減
  59. 59. Copyright (c) 2014 Junichiro Ueno Amazon EC2 DynamoDB Amazon SQS Amazon EC2 RDS DB Instance
  60. 60. Copyright (c) 2014 Junichiro Ueno SQS キューの追加に制限がなく、 データロストがない(冗長構成) 低コストで利用可能 → 急激な負荷に耐えつつ   ある程度パフォーマンス保証 ※ メッセージは重複する
  61. 61. Copyright (c) 2014 Junichiro Ueno Worker SQSからデータを取得し、 DynamoDBとRDSを更新 → データ取得量を調整が可能   瞬間ピークにも焦らなくて済む
  62. 62. Copyright (c) 2014 Junichiro Ueno RDSも併用可能 • 集計させたいデータ • 検索させたいデータ
  63. 63. Copyright (c) 2014 Junichiro Ueno 固定概念で設計しない
  64. 64. Copyright (c) 2014 Junichiro Ueno RDSはデータ量次第では 頭打ちになることも (パフォーマンスを上げるためにはスケールアップ)
  65. 65. Copyright (c) 2014 Junichiro Ueno システムとして 実現可能ではなく 運用コストまで検討 (寿命の長いシステムを構築)
  66. 66. Copyright (c) 2014 Junichiro Ueno まとめ
  67. 67. Copyright (c) 2014 Junichiro Ueno 運用コストも 見据えたシステム開発 (新しい目線で設計)
  68. 68. Copyright (c) 2014 Junichiro Ueno 何が最適か? • 安いことが最適ではない • 拡張性・柔軟性も重要 • 無駄なコストはないか
  69. 69. Copyright (c) 2014 Junichiro Ueno どのようなシステムが必要なのか → これを考えることが重要
  70. 70. Copyright (c) 2014 Junichiro Ueno • システムの見極め • 利用するサービス • 運用コスト 何をつくるかを定めた上で
  71. 71. Copyright (c) 2014 Junichiro Ueno Do the Right Things Right.
  72. 72. Thank you for listening! Lets us make new cloud modeling together!

×