開発環境としてのAwsを真面目に考える jawsug2013三都物語公開用
Upcoming SlideShare
Loading in...5
×
 

開発環境としてのAwsを真面目に考える jawsug2013三都物語公開用

on

  • 5,247 views

 

Statistics

Views

Total Views
5,247
Views on SlideShare
3,474
Embed Views
1,773

Actions

Likes
14
Downloads
27
Comments
0

8 Embeds 1,773

http://santo.jaws-ug.jp 992
http://d.hatena.ne.jp 695
https://twitter.com 54
http://blog.takuros.net 16
http://hatenatunnel.appspot.com 9
http://santo.jaws-ug.jp.s3-website-ap-northeast-1.amazonaws.com 5
http://webcache.googleusercontent.com 1
http://www.google.co.jp 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

開発環境としてのAwsを真面目に考える jawsug2013三都物語公開用 開発環境としてのAwsを真面目に考える jawsug2013三都物語公開用 Presentation Transcript

  • 春のJAWS-UG 三都物語2013 開発環境としてのAWSを 真面目に考える 2013年3月9日 NRIネットコム株式会社 佐々木拓郎13年3月9日土曜日
  • はじめに ✦ 本日のアジェンダ #jaws ug3to ‣ 自己紹介(5分) ‣ AWSで開発環境(20分) ‣ DevOps × AWS + デモ(20分)13年3月9日土曜日
  • #jaws ug3to 自己紹介: 佐々木拓郎 ✦ プロフィール ‣ NRIネットコム株式会社 インターネット事業部 @katotaku ‣ Twitter: @katotaku(実名)@dkfj(匿名)/ Facebook: takuro.sasaki ‣ blog: http://d.hatena.ne.jp/dkfj/ (匿名) ‣ 好きなAWSサービス: S3 ★ 備考 ‣ 認定スクラム・マスター ‣ 何かありましたら、Facebook・Twitterの方でお気軽にご連絡ください13年3月9日土曜日
  • #jaws ug3to NRIネットコム ✦ NRIグループで唯一関西を本社とする会社 ‣ Webシステムを得意としているシステム会社 ‣ 設計開発から運用まで全て行う為、 アプリケーション・インフラエンジニアが一杯いる ‣ Web系の仕事が多いため、ディレクター・デザイナーも一杯!! ‣ 大阪本社だけど、東京の方が人が多い。でも関西Love13年3月9日土曜日
  • #jaws ug3to NRIネットコムとAWSと私 • 2006年 米国の会社に出向中に、Amazon S3と出会うもEC2はスルー • 2007年 EC2が仮想サーバということを知って使いはじめる • 2008年 匿名ブログでAWSのことを書き始めると、そこそこ人気に ✦ 2009年 会社の一部システムで、EC2を利用し始める ✦ 2010年 iPadを使った「モバイル会議」システムのインフラにAWSを採用 ✦ 2011年 既存のお客様にも、徐々に勧め始める ✦ 2012年 AWSソリューションとして本格的に営業開始 ✦ 2013年 趣味で使っていたものが本職になる。 ← イマココ13年3月9日土曜日
  • #jaws ug3to NRIネットコムのWebサイト 調査結果も随時掲載中 http://www.nri-net.com/products/cloud/aws.html13年3月9日土曜日
  • #jaws ug3to 本日のテーマ 開発環境としてのAWSを 真面目に考える13年3月9日土曜日
  • #jaws ug3to 参加者している皆様への質問 • アプリケーション/インフラエンジニア? • 自社で開発用のPC/サーバの管理をしている? • 突然、開発機が壊れて困ったことがある? • プロジェクト毎に環境が増殖して管理出来ない?13年3月9日土曜日
  • #jaws ug3to 先ほどの質問は、 弊社で実際にあった問題でした。13年3月9日土曜日
  • #jaws ug3to 開発環境の故障 ☓ • 代替機なし • 開発ストップ • 復旧に多大な工数 障害発生 開発機 • 迫る納期13年3月9日土曜日
  • #jaws ug3to 増殖するサーバー プロジェクトA プロジェクトB プロジェクトC プロジェクトX • プロジェクトごとに多様な開発機 • 稼働していないプロジェクトの開発機も無くせない • 増え続ける開発機13年3月9日土曜日
  • #jaws ug3to 貧弱なサーバー 予算上の都合で、開発環境に潤沢な投資を出来る企業は少ない。 一方で、貧弱な開発環境の為に、貴重なリソースである開発者の時間がムダに なっているケースも。 必要なリソース 現実に割り当てられたリソース http://www.flickr.com/photos/jiteshjagadish/5178417174/ http://www.flickr.com/photos/gvtbc/188328021/13年3月9日土曜日
  • #jaws ug3to 本日のテーマ 開発環境としてのAWSを 真面目に考える それって、AWSで解決出来ない?13年3月9日土曜日
  • #jaws ug3to ハードウェアトラブルからの開放 物理サーバを仮想イメージ(AMI)として、テンプレート化 例え使用中のAWSで障害が起きたとしても、別の場所で簡単に起動出来る 物理サーバ 仮想化イメージ(AMI) インスタンス13年3月9日土曜日
  • #jaws ug3to 必要な時に、必要なだけ 一度仮想化すれば、サーバーは必要な時にだけ起動 使っていない古い環境の維持コストは、ストレージ利用料だけ ソースやデータなど可変部分は、S3やEBSで永続化13年3月9日土曜日
  • #jaws ug3to 必要に応じて、リソース増強 スケールアップもスケールアウトも、1クリックで実現可能 使った分だけなので、最小限のコストで実現可能 Large Small Small Small Small13年3月9日土曜日
  • #jaws ug3to AWSの罠 • AWSは安くて便利 • 気がつくと至る所で利用されだす • 積もり積もると、トータルではかなりの金額に 工夫次第で、費用の大幅な削減も可能13年3月9日土曜日
  • #jaws ug3to 対策 使う時だけ手動で立ち上げる • 必要なインスタンスを、手動で立ちあげましょう • 帰宅する前に、インスタンスを停止してね 必ず失敗します • 他の人が、まだ使うと思って停止しなかった • そもそも面倒くさい13年3月9日土曜日
  • #jaws ug3to インスタンスは自動で起動・停止する • 構成管理サーバから、決まった時間に起動・停止 • 停止時間が決まっているので、調整の必要なし平日日中だけの稼働で、コスト1/313年3月9日土曜日
  • #jaws ug3to リザーブド・インスタンスの購入 結構ややこしいです。 前払金の計上の仕方等、 経理の方と密に話し合ってください。13年3月9日土曜日
  • #jaws ug3to セキュリティは?13年3月9日土曜日
  • #jaws ug3to VPCによるプライベート・ネットワークの構築 VPC機能により、サブネットの一部として利用可能13年3月9日土曜日
  • #jaws ug3to 管理部門の壁 • それでも、導入に難色を示す管理部門も多い • 従量課金の恐怖 • 前例がないものを導入することへの恐怖 • そもそもよく解らない 地道に話し合い、説得しましょう13年3月9日土曜日
  • #jaws ug3to 具体的なチップス13年3月9日土曜日
  • #jaws ug3to アカウントの管理 新規プロジェクト開始時に3つのAWSアカウントの作成。 開発用・検証用・本番用を分けて、同じ環境を作る。 プロジェクトの段階ごとに、サポートを切り替える。 開発用アカウント 検証用アカウント 本番用アカウント 開発者 開発者 ビジネ サポー サポー スサポ ト ト ー ト13年3月9日土曜日
  • #jaws ug3to IAMの利用 マスターアカウントは、基本的に使わない。 個人事にIAMアカウントを作成し、細かく権限設定。 システムで使うアカウントは、それぞれで作成。 マスターアカウントを使って良いのは、 ハンズオンだけ!!13年3月9日土曜日
  • #jaws ug3to 一括決済(Consolidated Billing) によるアカウント紐付け 支払い用アカウント プロジェクトA プロジェクトA プロジェクトA プロジェクトB プロジェクトB プロジェクトB開発用アカウント 検証用アカウント 本番用アカウント 開発用アカウント 検証用アカウント 本番用アカウント メリット: デメリット: ・ 請求が一括で出来る ・ リザーブドインスタンスの問題 ・ ボリュームディスカウントの恩恵 ・ 請求書決済等に切り替え易い13年3月9日土曜日
  • #jaws ug3to ネットワークの管理 複数プロジェクトで共通のVPC。 or プロジェクトごとのVPC? VPN Gatewayの接続元IPアドレスの問題もあるので、 利用方法に応じて選択 プロジ ェクト A プロジェクトA プロジェクトB プロジ ェクト B プロジェクトC プロジ ェクト C13年3月9日土曜日
  • #jaws ug3toこれで、ひと通り使えます。でも、 AWSで出来ることは、これだけ?13年3月9日土曜日
  • #jaws ug3to 本日のテーマ 開発環境としてのAWSを 真面目に考える 俺のAWSは、もっと出来るはず13年3月9日土曜日
  • #jaws ug3to まずは、 米国での事例紹介13年3月9日土曜日
  • #jaws ug3to Pinterest • 1,000万人以上の利用者 • 数百台のサーバー • たった12名で開発運用13年3月9日土曜日
  • #jaws ug3to Amazon • 平均11秒に1回のリリ ース • 最大で1時間に1,079回 リリース • 平均で10,000台のサーバ にデプロイ13年3月9日土曜日
  • #jaws ug3to 業態は違うものの、我々が知っている システムの開発運用と違いすぎる!! 何が違うのか?13年3月9日土曜日
  • #jaws ug3to 答えの一つは 自動化13年3月9日土曜日
  • #jaws ug3to 継続的デリバリー いつまで手動でデプロイしているのですか?13年3月9日土曜日
  • #jaws ug3to アジャイルのレフトウィングとライトウィング ヒント? ※株式会社チャンジビジョン 平鍋さんの許可を得ての使用。 http://blogs.itmedia.co.jp/.shared/image.html?/photos/uncategorized/2012/09/09/whereisyouragile.png13年3月9日土曜日
  • #jaws ug3to 継続的デリバリーの5つの原則 • リリースは、繰り返し可能で信頼性が高い仕組み • 全ての工程で自動化されている • 全てをバージョン管理システムで管理されている • 工程内に品質をつくり込む仕組みを内包している • 継続的に改善する13年3月9日土曜日
  • #jaws ug3to 全ての工程における、自動化がキーワード この仕組を作りあげるには、 アプリチームだけでは無理! 基盤チームだけでも無理! もちろん品質管理部門でも無理! 両者の協調が必要13年3月9日土曜日
  • #jaws ug3to DevOpsとは? DevOpsとは、開発部門、運用部門、品質管理部門のあいだの、統 合、コミュニケーション、コラボレーションを行うための一連のメ ソッドとシステムである。これはまた、適切なソフトウェアとサー ビスによってビジネスゴールを実現するためのミーティングにおい て、開発と運用の相互依存として理解されつつある。13年3月9日土曜日
  • #jaws ug3to DevOps http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr もちろん、デザイナー・営業など 関係する全ての人々への愛が大切13年3月9日土曜日
  • #jaws ug3to DevOpsに大切なこと • お互いの尊敬と信頼(企業文化) • ツールとプロセス(ノウハウ)13年3月9日土曜日
  • #jaws ug3to それぞれの役割13年3月9日土曜日
  • #jaws ug3to アプリ開発者の責務 • バージョン管理は当たり前 ⇒出来ればGit等の分散型で • ユニットテストは、もはや必須 ⇒最低でも分岐網羅(C1)まで • 1ビルドで、どこの環境でも動くアーキテクチャ ⇒環境(開発、検証、本番)の依存性を外出し13年3月9日土曜日
  • #jaws ug3to 基盤開発者の責務 • 構成管理・バージョン管理でサーバ管理 ⇒構成情報をバージョン管理 • 運用に関わる全て作業の手作業廃止 ⇒構築・リリース・メトリックス収集 • 環境の再現性の確保 ⇒いつでも、同じ環境を再現出来るようにする13年3月9日土曜日
  • #jaws ug3to 両者の責務 システムを継続的にカイゼンする13年3月9日土曜日
  • #jaws ug3to AWSにピッタリじゃないですか? 再現性のある環境 自動化の為のAPI13年3月9日土曜日
  • #jaws ug3to 構成&フロー例13年3月9日土曜日
  • #jaws ug3to13年3月9日土曜日
  • #jaws ug3to デモ13年3月9日土曜日
  • #jaws ug3to デプロイ SNS通知 SQS登録 Jenkins & App Server Selenium テスト指示 テスト SQSポーリング Windows Server Selenium Client13年3月9日土曜日
  • #jaws ug3to 本日のテーマ 開発環境としてのAWSを た 真面目に考える ありがとうございました。 後日の質問は、@dkfjまで13年3月9日土曜日