SlideShare une entreprise Scribd logo
1  sur  20
Rubyによるお手軽CDN作成のすすめLet’s make CDN withRuby 荒木靖宏 ARAKI Yasuhiro  <ar@debian.org> DebianProject First of all, thanks ruby!  http://wiki.debian.org/DebianGeoMirror
Self introduction Name: 荒木靖宏ARAKI, Yasuhiro Debian Project Member Ph.D student of Univ. of Tokyo Researcher of Hewlett-Packard Labs  現在求職中です。 I am seeking a JOB. CV is available http://wiki.debian.org/DebianGeoMirror
Why CDN? ftp.jp.debian.org stopped frequently Storage Trouble 結局ここ二ヶ月くらいで ftp.jp.debian.orgには下記のトラブルが起き,ハードウェア,OS 共に丸ごと入れ替わってしまいました.これ以上トラブルが起きないことを切に願っております・・・.1, サーバのハードウェアが壊れた    -> 代替サーバに交換2, ストレージ(1)のディスクが壊れた    -> ストレージ(1)を切り離して残りのストレージでやりくり3, ストレージ(2)のディスク x 3 が壊れた    -> 予備のディスクに交換4, ストレージ(2)本体が壊れた    -> 新ストレージを手配,ストレージ(2) からデータを移行  Electricity Shutdown [debian-users:45154] ftp.jp.debian.org 障害 現在発生している ftp.jp.debian.orgの障害のため,みなさまにご迷惑をおかけしており申し訳ありません.現状としては,サーバを何度再起動してもすぐに落ちてしまうため,代替機を準備中です.すみませんが,もうしばらくお待ちください. fscking!!!!!
cdn.debian.net http://wiki.debian.org/DebianGeoMirror ,[object Object]
42 countries, more than 120 hosts
Keep alive every 2 min
Geo routing w/ GeoIP
Weighted DNS Round-Robin,[object Object]
Pros http://wiki.debian.org/DebianGeoMirror Run without server modify You can use any server without modify. Run for simple client cf. No need“REDIRCT” ◎ gem use redirect × apt
gem use redirect http://wiki.debian.org/DebianGeoMirror cfardm-2:~/Downloads$ gem source -l *** CURRENT SOURCES *** http://gems.rubyforge.org/ cfardm-2:~/Downloads$ curl http://gems.rubyforge.org/ <html> <body> <h1>Welcome to the RubyGems distribution website</h1> To download the yaml index select <a href="yaml">yaml</a><br><br> To view the available gems via your browser select <a href="http://gems.rubyforge.org/gems/">gems</a><br><br> To download and install RubyGems please visit <a href="http://rubygems.rubyforge.org">rubygems</a> </html>
Cons Smart Client does not need this CDN! In some case, server rejects HTTP ping. http://wiki.debian.org/DebianGeoMirror
Programs DNS type CDN based on DNS-Balance Original Author: Yokota-san! Modify points Check HTTP response code Temporally ignore slow response server use rsynctracefile /debian/project/trace/#{tracefile} Country and Continent detection by GeoIP. http://wiki.debian.org/DebianGeoMirror
Gather surrogate candidates Same directory structure (Mandatory) Good: ftp.XX.debian.org/debian Bad: ftp.jaist.jp/pub/Linux/Debian now changed to “/debian” http://wiki.debian.org/DebianGeoMirror
 LETS MAKE YOUR CDN http://wiki.debian.org/DebianGeoMirror
Prepare script ,[object Object],http://wiki.debian.org/DebianGeoMirror
Prepare configuration vi JPN_hoge_cdn_araki_net.rb $tracefile = 'hanzubon.jp' # hanzubon 2007apr5 $first_surrogate = '61.115.118.67' $surrogates = {   '203.178.137.175' => '9000', # naist   '150.65.7.130' => '9', # jaist } http://wiki.debian.org/DebianGeoMirror
Let’s work cdkeepd && ruby ./keepd.rb set cron */2 * * * * ruby check-surrogates.rb ruby ./dns_balance.rb or /etc/init.d/dns_balance_keepd start /etc/init.d/dns_balance start http://wiki.debian.org/DebianGeoMirror
Future work Now testing.. SSLDRbfor information sharing and remote control Tweet Apply others and Code clean Available on REQUEST! http://wiki.debian.org/DebianGeoMirror
cdn.debian.or.jpの信頼性 更新頻度 2分に一度 DNS cacheは60秒 1997年2月8日の動作開始以来ノンストップです cdn.debian.or.jpはのDNSは3箇所 ファイルの信頼性は他のdebianミラーと同じ md5/sha1 sumを見てaptが選別
Country – Access in 3 month

Contenu connexe

Tendances

誰にでもできるパフォーマンスチューニング
誰にでもできるパフォーマンスチューニング誰にでもできるパフォーマンスチューニング
誰にでもできるパフォーマンスチューニングKiyokazu Kaba
 
【PHPカンファレンス福岡】PHP 5.3 + CakePHP 1.3 → PHP 7 + CakePHP 3 移行を決めた話
【PHPカンファレンス福岡】PHP 5.3 + CakePHP 1.3 → PHP 7 + CakePHP 3 移行を決めた話【PHPカンファレンス福岡】PHP 5.3 + CakePHP 1.3 → PHP 7 + CakePHP 3 移行を決めた話
【PHPカンファレンス福岡】PHP 5.3 + CakePHP 1.3 → PHP 7 + CakePHP 3 移行を決めた話Yuki Kanazawa
 
恋に落ちるデプロイツール
恋に落ちるデプロイツール恋に落ちるデプロイツール
恋に落ちるデプロイツールtotty jp
 
【アシアル塾】Linux超入門編・第二回 仮想サーバー上にLAMP環境を構築してみよう
【アシアル塾】Linux超入門編・第二回 仮想サーバー上にLAMP環境を構築してみよう【アシアル塾】Linux超入門編・第二回 仮想サーバー上にLAMP環境を構築してみよう
【アシアル塾】Linux超入門編・第二回 仮想サーバー上にLAMP環境を構築してみようアシアル株式会社
 
Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!Daisuke Hiraoka
 
Chromebook 「だけ」で WebRTCを動かそう
Chromebook 「だけ」で WebRTCを動かそうChromebook 「だけ」で WebRTCを動かそう
Chromebook 「だけ」で WebRTCを動かそうmganeko
 
サーバPUSHざっくりまとめ
サーバPUSHざっくりまとめサーバPUSHざっくりまとめ
サーバPUSHざっくりまとめYasuhiro Mawarimichi
 
[社内勉強会]ELBとALBと数万スパイク負荷テスト
[社内勉強会]ELBとALBと数万スパイク負荷テスト[社内勉強会]ELBとALBと数万スパイク負荷テスト
[社内勉強会]ELBとALBと数万スパイク負荷テストTakahiro Moteki
 
Re: WebServer BenchMarking
Re: WebServer BenchMarkingRe: WebServer BenchMarking
Re: WebServer BenchMarkingRyo Tomidokoro
 
Web Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LT
Web Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LTWeb Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LT
Web Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LTMasahiro Nagano
 
WebRTC getStats - WebRTC Meetup Tokyo 5 LT
WebRTC getStats - WebRTC Meetup Tokyo 5 LTWebRTC getStats - WebRTC Meetup Tokyo 5 LT
WebRTC getStats - WebRTC Meetup Tokyo 5 LTmganeko
 
ウェブアプリケーションのパフォーマンスチューニング
ウェブアプリケーションのパフォーマンスチューニングウェブアプリケーションのパフォーマンスチューニング
ウェブアプリケーションのパフォーマンスチューニングYasuhiro Onishi
 
Capistrano in practice - WebCareer
Capistrano in practice - WebCareerCapistrano in practice - WebCareer
Capistrano in practice - WebCareerKyosuke MOROHASHI
 
HTML5 + JavaScriptでDRMつきMPEG-DASHを再生させる
HTML5 + JavaScriptでDRMつきMPEG-DASHを再生させるHTML5 + JavaScriptでDRMつきMPEG-DASHを再生させる
HTML5 + JavaScriptでDRMつきMPEG-DASHを再生させるGaprot
 
LAMP環境にDocker環境を追加してみた
LAMP環境にDocker環境を追加してみたLAMP環境にDocker環境を追加してみた
LAMP環境にDocker環境を追加してみたHiroshi Hatta
 
第9回rest勉強会 ダウンロード・アップロード編
第9回rest勉強会 ダウンロード・アップロード編第9回rest勉強会 ダウンロード・アップロード編
第9回rest勉強会 ダウンロード・アップロード編ksimoji
 
2012/6/10 Webのパフォーマンスを考える @ 【第三回】初心者向けホームページ勉強会
2012/6/10 Webのパフォーマンスを考える @ 【第三回】初心者向けホームページ勉強会2012/6/10 Webのパフォーマンスを考える @ 【第三回】初心者向けホームページ勉強会
2012/6/10 Webのパフォーマンスを考える @ 【第三回】初心者向けホームページ勉強会tama200x Kobayashi
 
(´・ω・`)としたーは衰退しました (Gunma.web #11 2012/11/23)
(´・ω・`)としたーは衰退しました  (Gunma.web #11 2012/11/23) (´・ω・`)としたーは衰退しました  (Gunma.web #11 2012/11/23)
(´・ω・`)としたーは衰退しました (Gunma.web #11 2012/11/23) parrotstudio
 
第1回Webサーバ勉強会 - 212-223 ブラウザマッチ処理
第1回Webサーバ勉強会 - 212-223 ブラウザマッチ処理第1回Webサーバ勉強会 - 212-223 ブラウザマッチ処理
第1回Webサーバ勉強会 - 212-223 ブラウザマッチ処理Seiichiro Ishida
 

Tendances (20)

誰にでもできるパフォーマンスチューニング
誰にでもできるパフォーマンスチューニング誰にでもできるパフォーマンスチューニング
誰にでもできるパフォーマンスチューニング
 
【PHPカンファレンス福岡】PHP 5.3 + CakePHP 1.3 → PHP 7 + CakePHP 3 移行を決めた話
【PHPカンファレンス福岡】PHP 5.3 + CakePHP 1.3 → PHP 7 + CakePHP 3 移行を決めた話【PHPカンファレンス福岡】PHP 5.3 + CakePHP 1.3 → PHP 7 + CakePHP 3 移行を決めた話
【PHPカンファレンス福岡】PHP 5.3 + CakePHP 1.3 → PHP 7 + CakePHP 3 移行を決めた話
 
恋に落ちるデプロイツール
恋に落ちるデプロイツール恋に落ちるデプロイツール
恋に落ちるデプロイツール
 
【アシアル塾】Linux超入門編・第二回 仮想サーバー上にLAMP環境を構築してみよう
【アシアル塾】Linux超入門編・第二回 仮想サーバー上にLAMP環境を構築してみよう【アシアル塾】Linux超入門編・第二回 仮想サーバー上にLAMP環境を構築してみよう
【アシアル塾】Linux超入門編・第二回 仮想サーバー上にLAMP環境を構築してみよう
 
Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!
 
Chromebook 「だけ」で WebRTCを動かそう
Chromebook 「だけ」で WebRTCを動かそうChromebook 「だけ」で WebRTCを動かそう
Chromebook 「だけ」で WebRTCを動かそう
 
サーバPUSHざっくりまとめ
サーバPUSHざっくりまとめサーバPUSHざっくりまとめ
サーバPUSHざっくりまとめ
 
[社内勉強会]ELBとALBと数万スパイク負荷テスト
[社内勉強会]ELBとALBと数万スパイク負荷テスト[社内勉強会]ELBとALBと数万スパイク負荷テスト
[社内勉強会]ELBとALBと数万スパイク負荷テスト
 
Re: WebServer BenchMarking
Re: WebServer BenchMarkingRe: WebServer BenchMarking
Re: WebServer BenchMarking
 
Web Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LT
Web Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LTWeb Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LT
Web Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LT
 
WebRTC getStats - WebRTC Meetup Tokyo 5 LT
WebRTC getStats - WebRTC Meetup Tokyo 5 LTWebRTC getStats - WebRTC Meetup Tokyo 5 LT
WebRTC getStats - WebRTC Meetup Tokyo 5 LT
 
ウェブアプリケーションのパフォーマンスチューニング
ウェブアプリケーションのパフォーマンスチューニングウェブアプリケーションのパフォーマンスチューニング
ウェブアプリケーションのパフォーマンスチューニング
 
Capistrano in practice - WebCareer
Capistrano in practice - WebCareerCapistrano in practice - WebCareer
Capistrano in practice - WebCareer
 
Niigata.pm #1
Niigata.pm #1Niigata.pm #1
Niigata.pm #1
 
HTML5 + JavaScriptでDRMつきMPEG-DASHを再生させる
HTML5 + JavaScriptでDRMつきMPEG-DASHを再生させるHTML5 + JavaScriptでDRMつきMPEG-DASHを再生させる
HTML5 + JavaScriptでDRMつきMPEG-DASHを再生させる
 
LAMP環境にDocker環境を追加してみた
LAMP環境にDocker環境を追加してみたLAMP環境にDocker環境を追加してみた
LAMP環境にDocker環境を追加してみた
 
第9回rest勉強会 ダウンロード・アップロード編
第9回rest勉強会 ダウンロード・アップロード編第9回rest勉強会 ダウンロード・アップロード編
第9回rest勉強会 ダウンロード・アップロード編
 
2012/6/10 Webのパフォーマンスを考える @ 【第三回】初心者向けホームページ勉強会
2012/6/10 Webのパフォーマンスを考える @ 【第三回】初心者向けホームページ勉強会2012/6/10 Webのパフォーマンスを考える @ 【第三回】初心者向けホームページ勉強会
2012/6/10 Webのパフォーマンスを考える @ 【第三回】初心者向けホームページ勉強会
 
(´・ω・`)としたーは衰退しました (Gunma.web #11 2012/11/23)
(´・ω・`)としたーは衰退しました  (Gunma.web #11 2012/11/23) (´・ω・`)としたーは衰退しました  (Gunma.web #11 2012/11/23)
(´・ω・`)としたーは衰退しました (Gunma.web #11 2012/11/23)
 
第1回Webサーバ勉強会 - 212-223 ブラウザマッチ処理
第1回Webサーバ勉強会 - 212-223 ブラウザマッチ処理第1回Webサーバ勉強会 - 212-223 ブラウザマッチ処理
第1回Webサーバ勉強会 - 212-223 ブラウザマッチ処理
 

Similaire à Let's make your CDN with RUBY

はてなのサービスの開発環境
はてなのサービスの開発環境はてなのサービスの開発環境
はてなのサービスの開発環境ast_j
 
Rails と Rack と HTTP と通信の話
Rails と Rack と HTTP と通信の話Rails と Rack と HTTP と通信の話
Rails と Rack と HTTP と通信の話Progate, Inc.
 
runC概要と使い方
runC概要と使い方runC概要と使い方
runC概要と使い方Yuji Oshima
 
EchoyaGinhanazeSu_inoka.pptx
EchoyaGinhanazeSu_inoka.pptxEchoyaGinhanazeSu_inoka.pptx
EchoyaGinhanazeSu_inoka.pptxkeink
 
数千人が利用する楽天Redmineの過去と未来
数千人が利用する楽天Redmineの過去と未来数千人が利用する楽天Redmineの過去と未来
数千人が利用する楽天Redmineの過去と未来Rakuten Group, Inc.
 
数千人が利用する楽天Redmineの過去と未来 - The past and future of Rakuten Redmine that is the...
数千人が利用する楽天Redmineの過去と未来 - The past and future of  Rakuten Redmine that is the...数千人が利用する楽天Redmineの過去と未来 - The past and future of  Rakuten Redmine that is the...
数千人が利用する楽天Redmineの過去と未来 - The past and future of Rakuten Redmine that is the...Dai FUJIHARA
 
ゆるふわLinux-HA 〜PostgreSQL編〜
ゆるふわLinux-HA 〜PostgreSQL編〜ゆるふわLinux-HA 〜PostgreSQL編〜
ゆるふわLinux-HA 〜PostgreSQL編〜Taro Matsuzawa
 
Apacheの展望とmod_perlの超絶技巧 #yapcasia
Apacheの展望とmod_perlの超絶技巧 #yapcasiaApacheの展望とmod_perlの超絶技巧 #yapcasia
Apacheの展望とmod_perlの超絶技巧 #yapcasia鉄次 尾形
 
LL言語でもHudsonを使おう!
LL言語でもHudsonを使おう!LL言語でもHudsonを使おう!
LL言語でもHudsonを使おう!KLab株式会社
 
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) 泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) Akihiro Kuwano
 
Ruby on Rails3 Tutorial Chapter3
Ruby on Rails3 Tutorial Chapter3Ruby on Rails3 Tutorial Chapter3
Ruby on Rails3 Tutorial Chapter3Sea Mountain
 
Cloudera impala
Cloudera impalaCloudera impala
Cloudera impala外道 父
 
HTTP/2時代のウェブサイト設計
HTTP/2時代のウェブサイト設計HTTP/2時代のウェブサイト設計
HTTP/2時代のウェブサイト設計Kazuho Oku
 
AOSPをミラーしてみた
AOSPをミラーしてみたAOSPをミラーしてみた
AOSPをミラーしてみたkinneko
 
自宅ラック勉強会 4.0/2014 LT資料
自宅ラック勉強会 4.0/2014 LT資料自宅ラック勉強会 4.0/2014 LT資料
自宅ラック勉強会 4.0/2014 LT資料mempad
 
コンテナの基本 ~Docker実践~
コンテナの基本 ~Docker実践~コンテナの基本 ~Docker実践~
コンテナの基本 ~Docker実践~Ryosuke Uchiyama
 
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門Masahito Zembutsu
 

Similaire à Let's make your CDN with RUBY (20)

web server
web serverweb server
web server
 
ドリコムJenkins勉強会資料
ドリコムJenkins勉強会資料ドリコムJenkins勉強会資料
ドリコムJenkins勉強会資料
 
はてなのサービスの開発環境
はてなのサービスの開発環境はてなのサービスの開発環境
はてなのサービスの開発環境
 
Rails と Rack と HTTP と通信の話
Rails と Rack と HTTP と通信の話Rails と Rack と HTTP と通信の話
Rails と Rack と HTTP と通信の話
 
runC概要と使い方
runC概要と使い方runC概要と使い方
runC概要と使い方
 
EchoyaGinhanazeSu_inoka.pptx
EchoyaGinhanazeSu_inoka.pptxEchoyaGinhanazeSu_inoka.pptx
EchoyaGinhanazeSu_inoka.pptx
 
数千人が利用する楽天Redmineの過去と未来
数千人が利用する楽天Redmineの過去と未来数千人が利用する楽天Redmineの過去と未来
数千人が利用する楽天Redmineの過去と未来
 
数千人が利用する楽天Redmineの過去と未来 - The past and future of Rakuten Redmine that is the...
数千人が利用する楽天Redmineの過去と未来 - The past and future of  Rakuten Redmine that is the...数千人が利用する楽天Redmineの過去と未来 - The past and future of  Rakuten Redmine that is the...
数千人が利用する楽天Redmineの過去と未来 - The past and future of Rakuten Redmine that is the...
 
ゆるふわLinux-HA 〜PostgreSQL編〜
ゆるふわLinux-HA 〜PostgreSQL編〜ゆるふわLinux-HA 〜PostgreSQL編〜
ゆるふわLinux-HA 〜PostgreSQL編〜
 
Apacheの展望とmod_perlの超絶技巧 #yapcasia
Apacheの展望とmod_perlの超絶技巧 #yapcasiaApacheの展望とmod_perlの超絶技巧 #yapcasia
Apacheの展望とmod_perlの超絶技巧 #yapcasia
 
LL言語でもHudsonを使おう!
LL言語でもHudsonを使おう!LL言語でもHudsonを使おう!
LL言語でもHudsonを使おう!
 
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) 泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
 
ドリコムのインフラCI
ドリコムのインフラCIドリコムのインフラCI
ドリコムのインフラCI
 
Ruby on Rails3 Tutorial Chapter3
Ruby on Rails3 Tutorial Chapter3Ruby on Rails3 Tutorial Chapter3
Ruby on Rails3 Tutorial Chapter3
 
Cloudera impala
Cloudera impalaCloudera impala
Cloudera impala
 
HTTP/2時代のウェブサイト設計
HTTP/2時代のウェブサイト設計HTTP/2時代のウェブサイト設計
HTTP/2時代のウェブサイト設計
 
AOSPをミラーしてみた
AOSPをミラーしてみたAOSPをミラーしてみた
AOSPをミラーしてみた
 
自宅ラック勉強会 4.0/2014 LT資料
自宅ラック勉強会 4.0/2014 LT資料自宅ラック勉強会 4.0/2014 LT資料
自宅ラック勉強会 4.0/2014 LT資料
 
コンテナの基本 ~Docker実践~
コンテナの基本 ~Docker実践~コンテナの基本 ~Docker実践~
コンテナの基本 ~Docker実践~
 
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門
 

Plus de Yasuhiro Araki, Ph.D

1999年JUSメールサーバワークショップ@伊勢志摩
1999年JUSメールサーバワークショップ@伊勢志摩1999年JUSメールサーバワークショップ@伊勢志摩
1999年JUSメールサーバワークショップ@伊勢志摩Yasuhiro Araki, Ph.D
 
サービスをスケールさせるために AWSと利用者の技術
サービスをスケールさせるために AWSと利用者の技術サービスをスケールさせるために AWSと利用者の技術
サービスをスケールさせるために AWSと利用者の技術Yasuhiro Araki, Ph.D
 
AWSのIPv6対応状況@JAWS-UG大阪
AWSのIPv6対応状況@JAWS-UG大阪AWSのIPv6対応状況@JAWS-UG大阪
AWSのIPv6対応状況@JAWS-UG大阪Yasuhiro Araki, Ph.D
 
今だから!Amazon CloudFront 徹底活用
今だから!Amazon CloudFront 徹底活用今だから!Amazon CloudFront 徹底活用
今だから!Amazon CloudFront 徹底活用Yasuhiro Araki, Ph.D
 
Webサービス向け、クラウドデザインパターン:アンチパターン紹介
Webサービス向け、クラウドデザインパターン:アンチパターン紹介Webサービス向け、クラウドデザインパターン:アンチパターン紹介
Webサービス向け、クラウドデザインパターン:アンチパターン紹介Yasuhiro Araki, Ph.D
 
AWSにみる日本のクラウドのトレンド予測 20150321 jaws-tohoku
AWSにみる日本のクラウドのトレンド予測 20150321 jaws-tohokuAWSにみる日本のクラウドのトレンド予測 20150321 jaws-tohoku
AWSにみる日本のクラウドのトレンド予測 20150321 jaws-tohokuYasuhiro Araki, Ph.D
 
クラウドによる運用の計測と運用価値の表現、その未来
クラウドによる運用の計測と運用価値の表現、その未来クラウドによる運用の計測と運用価値の表現、その未来
クラウドによる運用の計測と運用価値の表現、その未来Yasuhiro Araki, Ph.D
 
AWS 専用線アクセス体験ラボ紹介と 開催地立候補のお願い
AWS 専用線アクセス体験ラボ紹介と開催地立候補のお願いAWS 専用線アクセス体験ラボ紹介と開催地立候補のお願い
AWS 専用線アクセス体験ラボ紹介と 開催地立候補のお願いYasuhiro Araki, Ph.D
 
AWSつもり違い10箇条 at 201408 jaws高尾山ビアマウント
AWSつもり違い10箇条 at 201408 jaws高尾山ビアマウント AWSつもり違い10箇条 at 201408 jaws高尾山ビアマウント
AWSつもり違い10箇条 at 201408 jaws高尾山ビアマウント Yasuhiro Araki, Ph.D
 
20140717 awssummit2014-cloud-operation
20140717 awssummit2014-cloud-operation20140717 awssummit2014-cloud-operation
20140717 awssummit2014-cloud-operationYasuhiro Araki, Ph.D
 
20140628 AWSの2014前半のアップデートまとめ
20140628 AWSの2014前半のアップデートまとめ20140628 AWSの2014前半のアップデートまとめ
20140628 AWSの2014前半のアップデートまとめYasuhiro Araki, Ph.D
 
20140621 july techfesta (JTF2014) 突発**むけAWS
20140621 july techfesta (JTF2014) 突発**むけAWS20140621 july techfesta (JTF2014) 突発**むけAWS
20140621 july techfesta (JTF2014) 突発**むけAWSYasuhiro Araki, Ph.D
 
MTのスケールアップパターン with AWS
MTのスケールアップパターン with AWSMTのスケールアップパターン with AWS
MTのスケールアップパターン with AWSYasuhiro Araki, Ph.D
 
S3をてなづけてオレオレバックエンドにしてみた話
S3をてなづけてオレオレバックエンドにしてみた話S3をてなづけてオレオレバックエンドにしてみた話
S3をてなづけてオレオレバックエンドにしてみた話Yasuhiro Araki, Ph.D
 

Plus de Yasuhiro Araki, Ph.D (20)

1999年JUSメールサーバワークショップ@伊勢志摩
1999年JUSメールサーバワークショップ@伊勢志摩1999年JUSメールサーバワークショップ@伊勢志摩
1999年JUSメールサーバワークショップ@伊勢志摩
 
サービスをスケールさせるために AWSと利用者の技術
サービスをスケールさせるために AWSと利用者の技術サービスをスケールさせるために AWSと利用者の技術
サービスをスケールさせるために AWSと利用者の技術
 
AWSのIPv6対応状況@JAWS-UG大阪
AWSのIPv6対応状況@JAWS-UG大阪AWSのIPv6対応状況@JAWS-UG大阪
AWSのIPv6対応状況@JAWS-UG大阪
 
今だから!Amazon CloudFront 徹底活用
今だから!Amazon CloudFront 徹底活用今だから!Amazon CloudFront 徹底活用
今だから!Amazon CloudFront 徹底活用
 
20151016 soracom-araki-02
20151016 soracom-araki-0220151016 soracom-araki-02
20151016 soracom-araki-02
 
Webサービス向け、クラウドデザインパターン:アンチパターン紹介
Webサービス向け、クラウドデザインパターン:アンチパターン紹介Webサービス向け、クラウドデザインパターン:アンチパターン紹介
Webサービス向け、クラウドデザインパターン:アンチパターン紹介
 
AWSにみる日本のクラウドのトレンド予測 20150321 jaws-tohoku
AWSにみる日本のクラウドのトレンド予測 20150321 jaws-tohokuAWSにみる日本のクラウドのトレンド予測 20150321 jaws-tohoku
AWSにみる日本のクラウドのトレンド予測 20150321 jaws-tohoku
 
20141202 jaws-osaka-hangeki
20141202 jaws-osaka-hangeki20141202 jaws-osaka-hangeki
20141202 jaws-osaka-hangeki
 
20141126 jaws-antipattern
20141126 jaws-antipattern20141126 jaws-antipattern
20141126 jaws-antipattern
 
クラウドによる運用の計測と運用価値の表現、その未来
クラウドによる運用の計測と運用価値の表現、その未来クラウドによる運用の計測と運用価値の表現、その未来
クラウドによる運用の計測と運用価値の表現、その未来
 
AWS 専用線アクセス体験ラボ紹介と 開催地立候補のお願い
AWS 専用線アクセス体験ラボ紹介と開催地立候補のお願いAWS 専用線アクセス体験ラボ紹介と開催地立候補のお願い
AWS 専用線アクセス体験ラボ紹介と 開催地立候補のお願い
 
20140906 jawsfesta-araki-lt
20140906 jawsfesta-araki-lt20140906 jawsfesta-araki-lt
20140906 jawsfesta-araki-lt
 
20140906 jawsfesta-araki-public
20140906 jawsfesta-araki-public20140906 jawsfesta-araki-public
20140906 jawsfesta-araki-public
 
AWSつもり違い10箇条 at 201408 jaws高尾山ビアマウント
AWSつもり違い10箇条 at 201408 jaws高尾山ビアマウント AWSつもり違い10箇条 at 201408 jaws高尾山ビアマウント
AWSつもり違い10箇条 at 201408 jaws高尾山ビアマウント
 
20140717 awssummit2014-cloud-operation
20140717 awssummit2014-cloud-operation20140717 awssummit2014-cloud-operation
20140717 awssummit2014-cloud-operation
 
20140628 AWSの2014前半のアップデートまとめ
20140628 AWSの2014前半のアップデートまとめ20140628 AWSの2014前半のアップデートまとめ
20140628 AWSの2014前半のアップデートまとめ
 
20140621 july techfesta (JTF2014) 突発**むけAWS
20140621 july techfesta (JTF2014) 突発**むけAWS20140621 july techfesta (JTF2014) 突発**むけAWS
20140621 july techfesta (JTF2014) 突発**むけAWS
 
MTのスケールアップパターン with AWS
MTのスケールアップパターン with AWSMTのスケールアップパターン with AWS
MTのスケールアップパターン with AWS
 
S3をてなづけてオレオレバックエンドにしてみた話
S3をてなづけてオレオレバックエンドにしてみた話S3をてなづけてオレオレバックエンドにしてみた話
S3をてなづけてオレオレバックエンドにしてみた話
 
20140418 aws-casual-network
20140418 aws-casual-network20140418 aws-casual-network
20140418 aws-casual-network
 

Dernier

Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)keikoitakurag
 
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計atsushi061452
 
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑Akihiro Kadohata
 
20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdfAyachika Kitazaki
 
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose EstimationToru Tamaki
 
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521Satoshi Makita
 
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptxssuserbefd24
 
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員Sadaomi Nishi
 
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一瑛一 西口
 
Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )iwashiira2ctf
 
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayersToru Tamaki
 

Dernier (11)

Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
 
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
 
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
 
20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf
 
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
 
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
 
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
 
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
 
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
 
Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )
 
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
 

Let's make your CDN with RUBY

  • 1. Rubyによるお手軽CDN作成のすすめLet’s make CDN withRuby 荒木靖宏 ARAKI Yasuhiro <ar@debian.org> DebianProject First of all, thanks ruby! http://wiki.debian.org/DebianGeoMirror
  • 2. Self introduction Name: 荒木靖宏ARAKI, Yasuhiro Debian Project Member Ph.D student of Univ. of Tokyo Researcher of Hewlett-Packard Labs 現在求職中です。 I am seeking a JOB. CV is available http://wiki.debian.org/DebianGeoMirror
  • 3. Why CDN? ftp.jp.debian.org stopped frequently Storage Trouble 結局ここ二ヶ月くらいで ftp.jp.debian.orgには下記のトラブルが起き,ハードウェア,OS 共に丸ごと入れ替わってしまいました.これ以上トラブルが起きないことを切に願っております・・・.1, サーバのハードウェアが壊れた    -> 代替サーバに交換2, ストレージ(1)のディスクが壊れた    -> ストレージ(1)を切り離して残りのストレージでやりくり3, ストレージ(2)のディスク x 3 が壊れた    -> 予備のディスクに交換4, ストレージ(2)本体が壊れた    -> 新ストレージを手配,ストレージ(2) からデータを移行 Electricity Shutdown [debian-users:45154] ftp.jp.debian.org 障害 現在発生している ftp.jp.debian.orgの障害のため,みなさまにご迷惑をおかけしており申し訳ありません.現状としては,サーバを何度再起動してもすぐに落ちてしまうため,代替機を準備中です.すみませんが,もうしばらくお待ちください. fscking!!!!!
  • 4.
  • 5. 42 countries, more than 120 hosts
  • 8.
  • 9. Pros http://wiki.debian.org/DebianGeoMirror Run without server modify You can use any server without modify. Run for simple client cf. No need“REDIRCT” ◎ gem use redirect × apt
  • 10. gem use redirect http://wiki.debian.org/DebianGeoMirror cfardm-2:~/Downloads$ gem source -l *** CURRENT SOURCES *** http://gems.rubyforge.org/ cfardm-2:~/Downloads$ curl http://gems.rubyforge.org/ <html> <body> <h1>Welcome to the RubyGems distribution website</h1> To download the yaml index select <a href="yaml">yaml</a><br><br> To view the available gems via your browser select <a href="http://gems.rubyforge.org/gems/">gems</a><br><br> To download and install RubyGems please visit <a href="http://rubygems.rubyforge.org">rubygems</a> </html>
  • 11. Cons Smart Client does not need this CDN! In some case, server rejects HTTP ping. http://wiki.debian.org/DebianGeoMirror
  • 12. Programs DNS type CDN based on DNS-Balance Original Author: Yokota-san! Modify points Check HTTP response code Temporally ignore slow response server use rsynctracefile /debian/project/trace/#{tracefile} Country and Continent detection by GeoIP. http://wiki.debian.org/DebianGeoMirror
  • 13. Gather surrogate candidates Same directory structure (Mandatory) Good: ftp.XX.debian.org/debian Bad: ftp.jaist.jp/pub/Linux/Debian now changed to “/debian” http://wiki.debian.org/DebianGeoMirror
  • 14. LETS MAKE YOUR CDN http://wiki.debian.org/DebianGeoMirror
  • 15.
  • 16. Prepare configuration vi JPN_hoge_cdn_araki_net.rb $tracefile = 'hanzubon.jp' # hanzubon 2007apr5 $first_surrogate = '61.115.118.67' $surrogates = { '203.178.137.175' => '9000', # naist '150.65.7.130' => '9', # jaist } http://wiki.debian.org/DebianGeoMirror
  • 17. Let’s work cdkeepd && ruby ./keepd.rb set cron */2 * * * * ruby check-surrogates.rb ruby ./dns_balance.rb or /etc/init.d/dns_balance_keepd start /etc/init.d/dns_balance start http://wiki.debian.org/DebianGeoMirror
  • 18. Future work Now testing.. SSLDRbfor information sharing and remote control Tweet Apply others and Code clean Available on REQUEST! http://wiki.debian.org/DebianGeoMirror
  • 19. cdn.debian.or.jpの信頼性 更新頻度 2分に一度 DNS cacheは60秒 1997年2月8日の動作開始以来ノンストップです cdn.debian.or.jpはのDNSは3箇所 ファイルの信頼性は他のdebianミラーと同じ md5/sha1 sumを見てaptが選別
  • 20. Country – Access in 3 month
  • 21.
  • 22. http://wiki.debian.org/DebianGeoMirror fin Reference& code http://wiki.debian.org/DebianGeoMirror
  • 24. cdn.debian.or.jpの実装 動作部分は以下 サロゲートへのrsync ネットワークの情報収集 ネットワークがボトルネックじゃどうしょうもない サロゲートのステータスを管理 眠ってるサロゲートにはサービスさせない クライアントをサロゲートに誘導する DNSでcdn.debian.or.jpを解決すると cdn.debian.or.jpのリストを返す
  • 25. approach Load balance by DNS+cache Why DNS? Client Protocol: DNS,HTTPand FTP Almost all mirrors provide HTTP only apt (Debian client) can not use REDIRECT よってDNSに頼ることに キャッシュはミラーサーバがあるじゃん ミラーサーバには手を入れないことにした 今あるものに乗っかりたい