Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Rubykaigi2010 Cloud Management with Ruby

Rubykaigi2010 Cloud Management with Ruby

Rubykaigi2010 のスポンサーセッション。Rubyでクラウドを便利にする方法~ニフティクラウドの事例~

浜中 慶/ HAMANAKA, Kei

August 27, 2010
Tweet

More Decks by 浜中 慶/ HAMANAKA, Kei

Other Decks in Technology

Transcript

  1. Copyright © NIFTY Corporation All Rights Reserved. Rubykaigi 2010 NIFTY

    Corporation Cloud Management with Ruby Rubyでクラウドを便利にする方法 ~ニフティクラウドの事例~
  2. Copyright © NIFTY Corporation All Rights Reserved. - 1 -

    Corporate Profile Founded : Feb. 1986 Capital : ¥3,746,779,000 (as of December 7, 2006) Revenues : ¥100.6 billion (fiscal 2009) Employees : 626 (as of March 31, 2010) •1987年の商用パソコン通信サービス 「NIFTY-Serve」提供開始から24年 •現在は接続サービスに加え、さまざまな Webサービス・コミュニティサービスを提供 •ブロードバンド接続会員は約185万人 •ニフティのサービス利用者はPCと モバイルを合わせて約1015万人 クラウド サービス
  3. Copyright © NIFTY Corporation All Rights Reserved. - 2 -

    Self-Introduction  Kei HAMANAKA (NIFTY Co., Ltd.)  Web application Engineer.  A developer of @nifty TimeLine and @nifty tabiyori.  http://timeline.nifty.com  http://tabi.nifty.com  Yuichi Saotome (NIFTY Co., Ltd.)  Infrastructure Engineer of @nifty.  enjoys Ruby, Puppet and Sinatra.
  4. Copyright © NIFTY Corporation All Rights Reserved. - 3 -

     Ruby / Rails and NIFTY  What is “Cloud Computing”?  Cloud Management Tools written by Ruby  Introduction “NIFTY Cloud”  The Future of NIFTY Cloud Agenda
  5. Copyright © NIFTY Corporation All Rights Reserved. - 5 -

    Service on Rails Cocolog Squares Ruby / Rails and NIFTY http://squares.cocolog-nifty.com/
  6. Copyright © NIFTY Corporation All Rights Reserved. - 6 -

    Service on Rails @nifty aboutme Ruby / Rails and NIFTY http://aboutme.jp/
  7. Copyright © NIFTY Corporation All Rights Reserved. - 7 -

    Service on Rails @nifty TimeLine Ruby / Rails and NIFTY http://timeline.nifty.com
  8. Copyright © NIFTY Corporation All Rights Reserved. - 8 -

     OSS Plugin  ActiveRecord Browser など 寄附講座でRubyを利用  慶応大学、青山学院大学、上智大学 福岡Rubyビジネス拠点推進会議 顧問企業 Ruby kaigi Sponser (2007 ~2010) Ruby / Rails and NIFTY
  9. Copyright © NIFTY Corporation All Rights Reserved. - 10 -

    What is “Cloud Computing”? 利用者が、コンピュータ処理をネットワーク(主にインターネット)を 通じてサービスとして利用する形態のこと 「クラウド」(雲)は、ネットワーク(通常はインターネット)を表す。 従来より「コンピュータシステムのイメージ図」ではネットワークを 雲の図で表す場合が多く、それが由来と言われている。 「所有」から「利用」へ
  10. Copyright © NIFTY Corporation All Rights Reserved. - 11 -

     IaaS (Infrastructure as a Service)  サーバやネットワークなどのインフラを、インターネット経 由のサービスとして提供 Ex) Amazon EC2, Rackspace, ニフティクラウド  PaaS (Platform as a Service)  ソフトウェアを稼動させるプラットフォームを、インターネッ ト経由のサービスとして提供 Ex) Heroku, Google App Engine  SaaS (Software as a Service)  機能を、インターネット経由のサービスとして提供 Ex) GMail, Salesforce Cloud Computing Layers
  11. Copyright © NIFTY Corporation All Rights Reserved. - 12 -

    Today the center of the story  IaaS (Infrastructure as a Service)  サーバやネットワークなどのインフラを、インターネット経 由のサービスとして提供 Ex) Amazon EC2, Rackspace, ニフティクラウド  PaaS (Platform as a Service)  ソフトウェアを稼動させるプラットフォームを、インターネッ ト経由のサービスとして提供 Ex) Heroku, Google App Engine  SaaS (Software as a Service)  機能を、インターネット経由のサービスとして提供 Ex) GMail, Salesforce
  12. Copyright © NIFTY Corporation All Rights Reserved. - 13 -

     IaaSのいいところ!  “プログラマブルなデータセンター”  今まで手動で行っていた作業を自動化できる  同じことを繰り返す簡単なお仕事を自動化できる  HaaS(Human as a Service) IaaS benefits for software engineers http://www.flickr.com/photos/striatic/245603625/
  13. Copyright © NIFTY Corporation All Rights Reserved. - 14 -

    Amazon-ec2:Details #create the instance of the ec2 object @ec2 = AWS::EC2::Base.new( :access_key_id => ACCESS_KEY_ID, :secret_access_key =>SECRET_ACCESS_KEY ) #run the instance ec2.run_instances(:image_id => 'ami-f9907590') 例えばAmazon EC2で新しいサーバを作る時はこんな感じ ステキ! amazon-ec2 (http://github.com/grempe/amazon-ec2)
  14. Copyright © NIFTY Corporation All Rights Reserved. - 15 -

     理想像  設計はエンジニアが行い、作業はすべて自動化  急な対応も自動化で対応  楽をしたい アプリ開発に専念したい Ideal of IaaS after the introduction http://www.flickr.com/photos/striatic/245603625/
  15. Copyright © NIFTY Corporation All Rights Reserved. - 16 -

     インフラ設計  サーバ調達  ネットワーク設定  ルーティング/LB設定など  ミドルウェア設定  Apache, MySQLなどのインストール、設定  ログ保存期間、ディレクトリ構成、権限…  監視、運用ツール導入(munin, puppet, god…) アプリをリリースするために必要なインフラ系作業 やること盛りだくさん!
  16. Copyright © NIFTY Corporation All Rights Reserved. - 17 -

     インフラ設計  サーバ調達  ネットワーク設定  ルーティング/LB設定など  ミドルウェア設定  Apache, MySQLなどのインストール、設定  ログ保存期間、ディレクトリ構成を決める  監視、運用ツール導入(munin, puppet, god…) アプリをリリースするために必要なインフラ系作業 手元に届くまでタイムラグ・・・ 考えたくも無い・・・ 結構大変・・・ 時には何十台・・・
  17. Copyright © NIFTY Corporation All Rights Reserved. - 18 -

     インフラ設計  サーバ調達  ネットワーク設定  ルーティング/LB設定など  ミドルウェア設定  Apache, MySQLなどのインストール、設定  ログ保存期間、ディレクトリ構成を決める  監視、運用ツール導入(munin, puppet, god…) IaaSを導入すると GUIやAPIで数分で完了! IaaSサービスにお任せ! IaaSを導入しただけでは楽にならない 変化なし・・・
  18. Copyright © NIFTY Corporation All Rights Reserved. - 19 -

     インフラ設計  サーバ調達  ネットワーク設定  ルーティング/LB設定など  ミドルウェア設定  Apache, MySQLなどのインストール、設定  ログ保存期間、ディレクトリ構成を決める  監視、運用ツール導入(munin, puppet, god…) IaaSを導入だけでは楽にならない インフラ系”手順”を自動化したい(Rubyで)
  19. Copyright © NIFTY Corporation All Rights Reserved. Cloud Management Tools

    written by Ruby Rubyで手順を自動化する便利なツール
  20. Copyright © NIFTY Corporation All Rights Reserved. - 21 -

     Amazon Web Services  Ruby API SDK  amazon-ec2 (http://github.com/grempe/amazon-ec2)  right-aws (http://rubyforge.org/projects/rightscale)  Utilities (AMI image and management tools)  ec2onrails (http://ec2onrails.rubyforge.org/)  Cloud Controller  Wakame-fuel (http://wakame.axsh.jp/fuel.html) Cloud Management Tools written by Ruby
  21. Copyright © NIFTY Corporation All Rights Reserved. - 22 -

     Amazon Web Services  Ruby API SDK  amazon-ec2 (http://github.com/grempe/amazon-ec2)  right-aws (http://rubyforge.org/projects/rightscale)  Utilities (AMI image and management tools)  ec2onrails (http://ec2onrails.rubyforge.org/)  Cloud Controller  Wakame-fuel (http://wakame.axsh.jp/fuel.html) Cloud Management Tools written by Ruby
  22. Copyright © NIFTY Corporation All Rights Reserved. - 23 -

    Wakame-fuel クラウドを便利に使うためのリモート手順実行エンジン スケールアウト・インなどの手順を作り込めるようになる IaaSとRuby SDK(API)経由で連携する Cloud Contoroller “Wakame-fuel” http://wakame.axsh.jp/fuel.html
  23. Copyright © NIFTY Corporation All Rights Reserved. - 24 -

    例えばこんな事がしたい サーバイメージをコピー、役割(Webサーバ)を指定し、LBに 組み込んでサービスインさせる 基本となるサーバイメージを予め作成しておき、API経由で IaaSを操作 “手順”自動化の方向性
  24. Copyright © NIFTY Corporation All Rights Reserved. - 25 -

    Wakame-fuel de ニフティクラウド だと  マシンの作成  SSH経由でWakameをセットアップ  Webサーバを2個に増やしてLBに組み込め! $ gem install wakame # wakameadm propagete_service ¥ Wakame::Service::Apache_APP 2 こんな感じになる予定
  25. Copyright © NIFTY Corporation All Rights Reserved. Introduction “NIFTY Cloud”

    ニフティクラウドってどんなサービス?
  26. Copyright © NIFTY Corporation All Rights Reserved. - 27 -

    ニフティクラウドとは? http://cloud.nifty.com
  27. Copyright © NIFTY Corporation All Rights Reserved. - 28 -

    ニフティクラウドとは? インターネットを通じて、必要時に必要なだけ、即時 にインフラ環境を提供するインフラ提供サービスです。 サーバリソース群 (VMware vSphere) 広帯域ネットワーク (データセンターBus) ストレージリソース群 (仮想化技術) バック アップ 運用管理 基盤 ご利用イメージ 高信頼な@niftyデータセンター基盤 お客様 サーバー ディスク ネットワーク ロードバランサー 運用監視 他 お客様 データセンター (場所・電気・空調・回線) ハードウェア (サーバー・ストレージ・ネットワーク) 仮想化基盤 (VMware vSphere4) ミドルウェア (お客様にてご準備) アプリケーション (お客様にてご準備) OS (サーバー作成時に種類を選択) ユ ー ザ 管 理 範 囲 ニ フ テ ィ ク ラ ウ ド サ ー ビ ス 範 囲
  28. Copyright © NIFTY Corporation All Rights Reserved. - 29 -

    ニフティクラウドの特徴 ② 従量課金 1時間12円(停止時は5円)から使える 従量課金 ※月額課金の選択可 ① オンデマンド 5分以内にサーバーを準備 ロードバランサーやディスクの追加も5分 ③ 伸縮可能 台数の追加・削除に加え、スペック のアップ、ダウンがWEB経由で簡単 ④ @niftyで培った高い運用実績 約160の@niftyサービスがクラウド上で稼働中 煩わしいインフラ運用はすべてニフティが実施
  29. Copyright © NIFTY Corporation All Rights Reserved. - 30 -

    ニフティクラウドのオンデマンド性 コントロールパネルから5分以内にできること ① サーバーの作成・削除・起動・停止・リブート ② ディスク領域の作成・削除・接続・取り外し ③ サーバー能力の変更 (1CPU 512MB ⇔ 4CPU 16GB) ④ ロードバランサーの作成・削除 ⑤ SSHキーの作成・削除 など
  30. Copyright © NIFTY Corporation All Rights Reserved. - 31 -

    ニフティクラウドのコントロールパネル
  31. Copyright © NIFTY Corporation All Rights Reserved. The Future NIFTY

    Cloud ニフティクラウドの今後について
  32. Copyright © NIFTY Corporation All Rights Reserved. - 33 -

    ニフティクラウドAPI  2010年8月10日β版リリース!  http://cloud.nifty.com/api_beta/  SOAP版を提供中  REST版を今後提供予定  Ruby SDKを今後提供予定! ニフティクラウドの今後について
  33. Copyright © NIFTY Corporation All Rights Reserved. - 34 -

    ニフティクラウドの今後について サーバコピー オートスケール 基本監視 作成・設定済みサーバのコピー 負荷に応じたサーバー自動縮退 稼働状況レポート 基本リソース(CPU・メモリ等)監視 リソース状態のグラフ表示 新機能が続々と登場(10月以降リリース予定)
  34. Copyright © NIFTY Corporation All Rights Reserved. - 35 -

    エンジニアの日々の作業を よりカンタンできるようにがんばります! 煩わしい作業は”手順”にして 自動化しましましょう ニフティクラウドの今後について ニフティクラウドの今後にご期待ください。
  35. Copyright © NIFTY Corporation All Rights Reserved. - 37 -

    ニフティクラウドの特徴 2 1.国内iDCのため、レイテンシーが圧倒的に低い 米国A社 ニフティクラウド 3.サーバーを停止しても、データは保持される 4.プライベート側ネットワークの通信は課金対象外 ⇒A社クラウドはグローバル側通信のみ可能、全通信に課金が発生 ⇒A社クラウドは、サーバーを停止するとデータは揮発 ⇒ニフティクラウドならイメージそのままで他プランへ移行可能 mini large ⇒ネットワークレスポンスは、約10倍(レイテンシ10分の1) 2.高性能なCPU/信頼性の高い仮想ソフト ⇒同一クロックのCPU性能は、約2.8倍 ⇒実績のあるVMwareを利用した仮想化基盤 ニフティ測定結果による( 2010年6月現在) ニフティ測定結果による( 2010年6月現在) 共有プライベート グローバル VM VM VM 有償 無償 レイテンシー 約10分の1 *サーバー間の通信には無償のプライベート 側ネットワークを利用できます