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.

CTO Night & Day Morning Session "スタートアップCTOならおさえておきたいAWS基本構成"

2,665 views

Published on

IVS CTO Night & Day 2015冬@京都にて、モーニングセッションでスタートアップ向けAWS基本構成についてお話しました。

Published in: Technology

CTO Night & Day Morning Session "スタートアップCTOならおさえておきたいAWS基本構成"

  1. 1. スタートアップCTOなら おさえておきたいAWS基本構成 (Morning  Session) Amazon  Web  Service  Japan  K.K. Solutions  Architect Akihiro  Tsukada(@akitsukada)
  2. 2. 塚⽥田 朗弘 @akitsukada AWSでの担当 スタートアップのお客様 モバイル系ソリューション サーバレスアーキテクチャ 低コストアーキテクチャ エンジニア的な属性 SI→Web→Startup(CTO)→AWS Ruby,  iOS OOP,  SOLID,  KISS 好き ⼆二郎郎(桜台ホーム) ジャッキーチェン 妻と娘
  3. 3. スタートアップがシステム⾯面で満たしたいこと ビジネスと開発にフォーカスさせてくれる 余計なことはクラウドのサービスに任せる ⼈人間は⼈人間にしかできない仕事を 開発サイクルと事業成⻑⾧長を加速してくれる クラウドを加速器として使い、⾜足かせにしない リーンスタートアップなど、事業/開発のベストプラクティスとの好相性 初めが肝⼼心、後から作り直す暇はまずない エンジニアのキャリアとして優れていること 優秀なエンジニアは⾃自分にふさわしい場所に⾏行行く エンジニア⼈人材市場規模の⼤大きさ 採⽤用はいつだって最⼤大の悩み 低コスト
  4. 4. 初期の技術選定や設計が後に影響を及ぼすイメージ 年年 MAU 0 1 2 3 4 10,000 50,000 100,000 1,000,000 年年 リ リ ス / 年年 0 1 2 3 4 50 100 200 1,000 事業本来のポテンシャル スタートダッシュに失敗 年年 選 考 数 / ⽉月 0 1 2 3 4 3 20 30 100 ※あくまでもイメージではありますが、決して⼤大げさなものではないと考えています
  5. 5. みんなのウェディング様 みんなのウェディングエンジニアブログ -­ http://blog.mwed.info/posts/we-­are-­on-­aws.html
  6. 6. スタートアップにとって不不可⽋欠なシステム設計ポイント 必要最⼩小限でシンプルである Keep  It  Simple,  Stupid!  Small  Startは正義 ⾃自動的でスケーラブルである サービス急成⻑⾧長に耐えうるポテンシャル(=より適切切な設計)が必要 運⽤用コストをかけている暇などなく⾃自動化が不不可⽋欠 機能の追加/削除が容易易であり、リカバリ可能である ビジネス観点の仮説検証サイクルのスピードを阻害してはならない 低コストである ⼈人的なコスト、⾦金金銭的なコスト、どちらもクラウド活⽤用で解決できる もちろん、時には資⾦金金で時間を買うこともある 例例:アプリケーションのパフォーマンスをチューニングするのではなく、 サーバーをよりよいものにスペックアップして負荷に対応する
  7. 7. MVP  -‐‑‒Minimum  Viable  Product-‐‑‒ ならこれでも⼗十分 全てを1台の低ス ペックサーバで ホストする Web/App  Server Database EC2 静的なファイルの み(HTML/JS/CSS)で よいなら S3  の静的 ウェブサイトホス ティング機能で S3 ちょっとだけ動的 なことがやりたけ ればAPI  GWと Lambdaを使って API   Gateway Lambda
  8. 8. スケール可能で⼀一般的なアーキテクチャ例例 ELB EC2 S3 RDS Standby EC2Auto   Scaling CloudFront AZ-‐‑‒1 AZ-‐‑‒2 EC2でWebサーバ を⽴立立てる ELBを使って複数 のAZに分散させる Auto  Scalingも使⽤用 RDSのMulti-‐‑‒AZで 可⽤用性向上 静的コンテンツは S3から配信 CloudFrontで キャッシュ
  9. 9. ELB S3 Auto   Scaling CloudFront AZ-‐‑‒1 AZ-‐‑‒2 EC2でWebサーバ を⽴立立てる ELBを使って複数 のAZに分散させる Auto  Scalingも使⽤用 RDSのMulti-‐‑‒AZで 可⽤用性向上 静的コンテンツは S3から配信 CloudFrontで キャッシュ EC2 RDS Standby EC2 スケール可能で⼀一般的なアーキテクチャ例例 最初にこの構成を作ってしまえば、 EC2とRDSのスケールアップ/アウト で超⼤大規模でも捌いていける ただしアプリケーションがボトル ネックになっている場合を除く そこもある程度度ご相談にのれます スケールアップ/アウトは容易易に 設定可能 海外展開も容易易
  10. 10. ELB EC2 RDS Standby EC2Auto   Scaling AZ-‐‑‒1 AZ-‐‑‒2 例例えば… S3 CloudFront ⼀一般的なアーキテクチャに必要要素を追加
  11. 11. ELB EC2 RDS Standby EC2Auto   Scaling AZ-‐‑‒1 AZ-‐‑‒2 SESを使って メール送信 SES S3 CloudFront ⼀一般的なアーキテクチャに必要要素を追加 例例えば…
  12. 12. ELB EC2 RDS Standby EC2Auto   Scaling AZ-‐‑‒1 AZ-‐‑‒2 SESを使って メール送信 SES S3 CloudFront ⼀一般的なアーキテクチャに必要要素を追加 SNSを使って モバイルプッシュSNS 例例えば…
  13. 13. ELB EC2 RDS Standby EC2Auto   Scaling AZ-‐‑‒1 AZ-‐‑‒2 SESを使って メール送信 SES S3 CloudFront ⼀一般的なアーキテクチャに必要要素を追加 SNSを使って モバイルプッシュSNS RedshiftでBI Redshift 例例えば…
  14. 14. クラウドファーストから クラウドネイティブへ
  15. 15. 最新のサーバレスアーキテクチャ例例 S3 アプリはS3から配 信されるHTML/JS、 またはネイティブ 実装 ELB/EC2を使わず API  Gatewayと Lambdaで応答 スケーリング、 サーバ運⽤用は AWSに⼀一任 運⽤用からの解放 Lambda Other   Services API  Gateway Cognito CloudFront
  16. 16. How  Do  I  Use  Properly  ?? メジャーな技術である 情報が多い 使える⼈人が多い 即戦⼒力力な⼈人をより採⽤用しやすい 事例例・実績が多く安定している アップデートは今なお多い! カスタマイズしやすい よくも悪くも細かい制御ができる 場合によってはよりスケーラ ブルになりうる 超⼤大規模な場合、マネージドサービ スよりスピーディにスケールできる 可能性がある General  Architecture Serverless Architecture 新規性、注⽬目度度が⾼高い 事例例として⾼高価値で露露出機会が多い Tech  Companyとしてのプレゼン ス向上、ブランディングになる ベストプラクティスやエコシステム が成熟していない 運⽤用管理理/開発⼯工数が激減 性能⾒見見積もりや監視、低レイヤーの 実装から解放される よりビジネスにフォーカスできる 多くの場合コスト減になる コスト効率率率が⾮非常に⾼高い
  17. 17. メジャーな技術である 情報が多い 使える⼈人が多い 即戦⼒力力な⼈人をより採⽤用しやすい 事例例・実績が多く安定している アップデートは今なお多い! カスタマイズしやすい よくも悪くも細かい制御ができる 場合によってはよりスケーラ ブルになりうる 超⼤大規模な場合、マネージドサービ スよりスピーディにスケールできる 可能性がある General  Architecture Serverless Architecture 新規性、注⽬目度度が⾼高い 事例例として⾼高価値で露露出機会が多い Tech  Companyとしてのプレゼン ス向上、ブランディングになる ベストプラクティスやエコシステム が成熟していない 運⽤用管理理/開発⼯工数が激減 性能⾒見見積もりや監視、低レイヤーの 実装から解放される よりビジネスにフォーカスできる 多くの場合コスト減になる コスト効率率率が⾮非常に⾼高い How  Do  I  Use  Properly  ?? ⼆二者択⼀一を 迫るもの ではない
  18. 18. https://aws.amazon.com/jp/solutions/case-­studies/start-­ups/
  19. 19. ベストプラクティス に則って 負荷分散 BASE株式会社様
  20. 20. https://thebase.in/
  21. 21. EC2 EC2 RDS (Active ) DB ELB AZ① AZ② RDS (Standby) ElastiCache S3 CloudFront https://thebase.in/
  22. 22. EC2 EC2 DB ELB AZ① AZ② RDS (Standby) ElastiCache S3 CloudFront RDS (Active) https://thebase.in/
  23. 23. EC2 EC2 RDS (Active) DB ELB AZ① AZ② RDS (Standby) ElastiCache S3 CloudFront EC2をMultiAZ構成 https://thebase.in/
  24. 24. Web RDS ELB AZ RDS Web Web Web RDS ELB RDS Web Web Web Web Webサーバーが重くなったら 台 数 を 増 や し て 負 荷 を 分 散 AZ AZ AZ https://thebase.in/
  25. 25. S3  +  CloudFront で ⼤大量量画像を配信 株式会社VASILY様
  26. 26. http://www.iqon.jp/
  27. 27. Web/AppWeb/App S3 CloudFront Solr Memcache d Redis MySQL MongoDB クローラ Zabbix VarnishELB PC/Mobile⽤用 API⽤用 GW http://www.iqon.jp/
  28. 28. Web/AppWeb/App S3 CloudFront Solr Memcache d Redis MySQL MongoDB クローラ Zabbix VarnishELB PC/Mobile⽤用 API⽤用 GW 容量量無制限なので容量量を気にする必要なし また⾼高い堅牢牢性で個別のバックアップも不不要 画像をS3に保存 http://www.iqon.jp/
  29. 29. Web/AppWeb/App S3 CloudFront Solr Memcache d Redis MySQL MongoDB クローラ Zabbix VarnishELB PC/Mobile⽤用 API⽤用 GW CloudFrontからの画像配信により レイテンシ短縮・EC2の負荷軽減も 画像など静的なコンテンツ はS3+CloudFrontで配信 http://www.iqon.jp/
  30. 30. ELBプレウォーム でテレビ放映を 問題なく乗り切切る 株式会社ジモティー様
  31. 31. より突発的な スパイクアクセス に⽴立立ち向かい 機会損失を避ける
  32. 32. AutoScalingや ELBは 突発的なピーク向き ではない
  33. 33. ELB Auto Scaling こういうのが 得意
  34. 34. 頻繁にテレビ放映 http://jmty.jp/
  35. 35. Replica  Sets Images CloudFront MongoDB (Secondary ) MongoDB (Primary) MongoDB (Hidden) Web/App Mail(postfix) Multi AZ RDS Redis(Resque) Batch Memcached http://jmty.jp/
  36. 36. Replica  Sets MongoDB (Secondary ) MongoDB (Primary) MongoDB (Hidden) Web/App Mail(postfix) Multi AZ RDS Redis(Resque) Batch Memcached http://jmty.jp/ Images CloudFront
  37. 37. Replica  Sets MongoDB (Secondary ) MongoDB (Primary) MongoDB (Hidden) Web/App Mail(postfix) Multi AZ RDS Redis(Resque) Batch Memcached Scale  Up Scale  Out Pre   Warming Images CloudFront http://jmty.jp/
  38. 38. ビジネスサポート加⼊入でELBのプレウォーム申請が可能 RDS ELB AZ① AZ② EC2 EC2EC2 Web App Web App Web App EC2 EC2 Web App Web App… EC2 EC2EC2 Web App Web App Web App EC2 EC2 Web App Web App… RDS
  39. 39. API  Gateway +  Lambda のモダン構成事例例 株式会社リブセンス様
  40. 40. インターフェースを設けて疎結合化
  41. 41. 最後に、お願いしたいこと 「⾼高い」「難しい」「アレができたらいいのに」… そういうときはハマりすぎる前にご連絡ください 今⽇日ご紹介できていないサービス・機能も⼭山ほどあります 例例えばデプロイや構成管理理といったDevOps、⾃自動化のサポートなど 設計、実装のご相談はぜひ構想/検討段階からお願いします そのときのAWS最新情報と、お客様の状況に照らして 最も適切切と思われる⽅方針でレビューさせていただきます (前述のとおり)設計失敗は事業の成⻑⾧長全体に影響を与え、 後から作りなおすことは困難になりがちです もっと詳しく聴きたいという⽅方はぜひお声がけください 公式ドキュメントやWebinarなど、適切切な情報を提供します または検討中のサービスなどがあれば対⾯面で詳しくご案内します

×