タグ

ブックマーク / blog.matsumoto-r.jp (15)

  • Gitのコミット単位で動的にDockerイメージをデプロイするプロキシサーバpool

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 Gitのコミット単位で動的にDockerイメージをデプロイするプロキシサーバpoolというソフトウェアがあります。 poolとは poolは、WebアプリとDockerfileをGitで管理している場合に、コミットidをサブドメインとして( http://<commit-id>.pool.dev/ )poolにアクセスするだけで、そのGitレポジトリのコミット時の状態でWebアプリのDockerイメージをデプロイし、Webアプリのポートへとリバースプロキシして、Webアプリのレスポンスを返します。もちろん、コミットidをキーに複数の状態にどんどんアクセスできます。(mod_mrubyのユースケースを調査していてたまたま見つけました)。 このp

    Gitのコミット単位で動的にDockerイメージをデプロイするプロキシサーバpool
  • Dockerとmrubyで迅速かつ容易にnginxとapacheの柔軟なリバースプロキシ構成を構築する

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 Docker Hubがアナウンスされて以来、焦ってDockerを触っている@matsumotoryです。 今日は早速mod_mrubyとngx_mrubydocker buildに対応させました。これによって、Docker環境においてmod_mrubyを組み込んだApache httpdやngx_mrubyを組み込んだnginxを迅速かつ容易に連携させる事ができるようになります。 今日はその一例を紹介したいと思います。 リバースプロキシのnginxの挙動をmrubyで制御する ngx_mrubyGitHubレポジトリにはすでにDockerに対応させています。ですので、ngx_mrubyをcloneするとDockerfileとdocker/

    Dockerとmrubyで迅速かつ容易にnginxとapacheの柔軟なリバースプロキシ構成を構築する
  • Linux系インフラエンジニア3年目のスキルを見抜く50の質問(ホスティングの場合)

    数年前になんとなく面白がって書いてた「Linuxインフラエンジニア3年目のスキルを見抜く50の質問(ホスティングの場合)」というのが、昔の資料をあさってると出てきて、意外と面白かったので少しだけ手を加えて(古い情報とかあったので)公開しようと思います。 意外とリアルなものがあって懐かしい気分になりました。過去に書いた以下の記事もどうぞ参考にして下さい。 「Linuxエンジニアを目指して入社一年目にやって役にたったと思う事」 「Linuxエンジニアを辞めて大学院に入学しました」 追記: 設問1があまりによくないので、@tagomorisさんのアドバイスを頂きつつ変更しました。1を消して3を追加しています。ありがとうございます! 2000台以上のサーバー運用経験はありますか? サーバやネットワーク機器のキッティング経験はありますか? サーバやネットワーク機器の交換を現地のデータセンター職員に

    Linux系インフラエンジニア3年目のスキルを見抜く50の質問(ホスティングの場合)
    kenjiskywalker
    kenjiskywalker 2013/11/12
    年収高そう
  • 大規模共有型Webバーチャルホスティング基盤のセキュリティと運用技術の改善について書いた論文公開

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 @jj1bdxさんに「このような運用論文を誰でも読める形で」「情報処理学会や信学会の論文誌掲載論文は、論文誌に掲載された後であれば、著者がWeb上で公開するのに制限はない」という情報を頂き、別に公開しない理由もないので、大規模共有型Webバーチャルホスティング基盤のセキュリティと運用技術の改善という内容で書いた論文を公開したいと思います。 僕が会社にいた時、ApacheのVirtualHost環境でレンサバを構築するというのは既にセキュリティ・運用性・パフォーマンスにおいて色々と問題がある事は10年以上前から分かっており、別の方法で共有環境を構築していました。 ある時、VirtualHostで共有環境を真面目に組むとどうなるか、という議論を元

    大規模共有型Webバーチャルホスティング基盤のセキュリティと運用技術の改善について書いた論文公開
  • mrubyによるWebサーバの機能拡張支援機構を一緒に開発しませんか?

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 ある人「あなたのやりたいことはなんですか?」 僕「複数あるWebサーバソフトウェアの拡張記述を統一したいです」 ある人「(それはさすがに無理だろ…)」 という感じで始まったmod_mrubyやngx_mrubyの開発ですが、今ではそれも夢では無い所まできています。当時は「mod_mrubyを作ってみようか」という記事からmod_mrubyの開発ははじまりました。 朧げにあったアイデアでは、「どうやって統一するのか?どんな言語にするのか?どうやって組み込むのか?え?そもそもそんな事無理では?」という感じでしたが、1年前に運良くmrubyGitHubで公開されて以来、色々なアイデアのピースがはまっていき、いつの間にかそのアイデアが形になろうとし

    mrubyによるWebサーバの機能拡張支援機構を一緒に開発しませんか?
    kenjiskywalker
    kenjiskywalker 2013/07/01
    良い話
  • mod_mrubyとnode.jsを使ってblogをWebSocketでリアルタイムモニターしてみた

    これを作ったのは、ApacheCon2013に参加したときのハッカソンなのですが、ブログをVPSに移行したので、運用を試しがてら当ブログに実装してみました。 ソースはすでにmod_mrubyのwebif以下に上げているので、簡単に試す事ができます。 やっていることは大体こんな感じです。 これは、東京Rubyプレゼンテーションでも紹介したデモなんですが、 Apacheの内部情報をmod_mrubyで外だししてAPI化 node.jsからAPI経由で情報を取得しグラフ化してWebSocketで表示 ということをやっています。 実際にこのブログをモニターしているページは以下になります。参考までに公開しておきます。ログはかなり色々とっているのでいたずらはやめてくださいね。 https://blog.matsumoto-r.jp:9999/ 一応、上記ページをアクセスできないようにしたときのために、

    mod_mrubyとnode.jsを使ってblogをWebSocketでリアルタイムモニターしてみた
    kenjiskywalker
    kenjiskywalker 2013/04/13
    cool
  • csshXが素晴らしすぎる件

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 複数のホストに対して、同時にコマンドを実行するツールはpssh等いくつかあると思うのですが、もっと自由度高く、viで編集したり、さらにはsshでログインしている状態でやれるような作業を全部同時にやりたいと思っていました。 そんな都合の良いツールはなかなかなくて、会社の人がLinuxでCluster SSHを使っていて、Linux限定かぁと諦めていたところ、なんとMacで使えるcluster SSHのcsshXがあるようだと教えてもらいました。これがあまりに素晴らし過ぎるので簡単に紹介します。 インストール brew環境を入れている人は以下のコマンド一発で使えるようになります。 [program lang=’bash’ escaped=’tru

    kenjiskywalker
    kenjiskywalker 2012/12/22
    capistranoのcap shellでも同じようなことができますね!
  • mruby-zabbixとmruby-growthforecastでデバイスやアプリケーションの監視並びに情報の可視化を実現

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 僕は実はZABBIX-JPのスタッフでもあるので、mrubyでも優先度高めでZabbixのAPIをつつけるClassを作ってみました。 これで、mruby-grothforecastで簡単に組み込みデバイスやアプリケーションの内部情報を簡単に可視化できたり、Zabbixに対してAPI経由で監視の操作ができたり、かなり夢が広がったのではないでしょうか。 ということで、mrbgemsの使い方も兼ねて、mruby-zabbixの使い方を説明します。 インストール まずはmrubyをダウンロードします。 [program lang=’bash’ escaped=’true’ ] git clone git://github.com/mruby/mru

    mruby-zabbixとmruby-growthforecastでデバイスやアプリケーションの監視並びに情報の可視化を実現
    kenjiskywalker
    kenjiskywalker 2012/12/22
    素晴らしい
  • IRCで年末やクリスマスを過ごす人用のツールをRubyで作った

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 Rubyで遊んでいて、ふとこういうの欲しいなと思ったので作ってみました。 TwitterIrcGatewayのようなTwitterIRCでやり取りすのではなく、最低限の簡単な機能で色々なユーザのツイートや気になる検索文字列を含むツイートを、チャンネルにjoinしているみんなで眺めてガヤガヤするといったような使い方を目的にしており、シンプルで簡単にみんなで楽しめる事を第一にしています。 これでIRCのチャンネルに自分しかいなくてもこれで寂しくないですよ!年末もクリスマスもこれできっと楽しく過ごせます。 指定したユーザーリストから最新ツイートをランダムでIRCに書き込む githubに上げていますが、ソースは短いのでそのまま貼り付けます。 [p

    IRCで年末やクリスマスを過ごす人用のツールをRubyで作った
    kenjiskywalker
    kenjiskywalker 2012/11/28
    かっこいい!
  • ホスティングサービスの向かう道を想像してみた

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 ホスティングサービスの向かう道を思うがままに書いてみました。まずは話半分で読む事をおすすめします。 ホスティングサービスの売りは運用? AmazonEC2やクラウドサービスの普及に伴って、簡単に仮想サーバ(VPS)を借りられたり、簡単にWebやMailサービスを使う事が可能になってきています。そういう状況でホスティングサービスがどこで差別化をしていくかと考えた時、よく言われるのが「サーバの運用を代行する」という事です。 これは確かに重要で、これまでホスティングサービスとして培ってきた運用のノウハウを全面に出すことで、セキュリティを担保したり、面倒なバージョン管理やHWの保守、高負荷対応等を売りにするというのは大事な事だと思います。 しかし、

    ホスティングサービスの向かう道を想像してみた
  • mod_mrubyに高速化機能を追加

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 Apacheやnginxで動くLuaやその周辺を見ていると、Luaのコードをhttpd.confに直接書くような設定の方法があります。その結果、高速にLuaが動いて、「やっぱLuaはやいー、最高ー」とかそういう話を目にしたので、それだったらmod_mrubyでもやってやろうじゃないかと思いやってみました。 そもそもconfに直接書くとなぜ速いのか もともとmod_mrubyの売りの一つは、Apacheを起動させている状態で再起動することなく自由にスクリプトを変更して、Apacheの内部処理をリアルタイムに変更できる事です。mod_mrubyの基的な考え方は以下を参考にして下さい。 なぜApacheにmrubyを組み込もうと思ったか しかし、

    mod_mrubyに高速化機能を追加
  • LinuxのCFSを使ってプロセスのCPU消費量を制御するツール作った

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 LinuxのCFSのBandwidth Controlを使って簡単にプロセス単位でのCPU消費量を制御できるツールをPerlで書いてみました。Linux Kernel 3.4.7で動作確認済みです。kernelのコンパイルオプションで「CONFIG_CFS_BANDWIDTH」を有効にしましょう。 CFSのBandwidth ControlはLinux3.2からの新しい機能のようです。エントリではその詳しい話は割愛して、作ったツールの使い方を見て行きましょう。例の如くGithubにソースをあげています。 run-cpu-rate – コマンド実行時からCPU消費量を任意の値で制御しながら実行 run-cpu-rateコマンドは、実行時から任

    LinuxのCFSを使ってプロセスのCPU消費量を制御するツール作った
  • Apacheで.htaccessを無効にすると場合によってはかなり早くなるよというお話

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 Apacheの高速化の手法というのは、多くのサイトで紹介されています。そのうちの一つとして、.htaccessを無効にするという話がありますが、実はこれは場合によっては非常にパフォーマンスが向上します。それが一体どの程度なのかという実験を簡単にしてみました。 まずはApacheの設定 実験で使用するprefork版の設定ファイルはこのようにしています。プロセスの生成破棄が生じないような設定をしているので、パフォーマンス計測等、色々な実験に汎用的に使えておすすめです。 ServerTokens Prod ServerRoot "/etc/httpd" PidFile run/httpd.pid Timeout 100 KeepAlive On

    kenjiskywalker
    kenjiskywalker 2012/07/26
    重い時はまず.htaccessとrewriteを見ろってじっちゃんが言ってたの思い出した
  • Linuxで3万(10万)プロセスを同時に起動させてみた

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 といっても、きちんとした検証をしたわけではないので、あくまで「こういう環境でこういう事をやるとこうなる」という参考程度のものと理解してい頂ければ幸いです。 Linux上でプロセスは同時に何個起動できるのか 数年前にC10K問題が流行りました。これは、簡単に言うと、万のオーダーでプロセスを立ち上げる事になると、現状のOSではそれを想定した設計になっていないためまともに動かなくなる、といった問題でした。 だったら、「10万プロセス位を同時に立ち上げてみて、どうなるか試してみようぜ!」と思い、会社のエンジニアと一緒に試してみました。検証環境は、メモリ48GでCPUはHyperThreading込で24コアです。そこで動いていたOSはDebianでL

    Linuxで3万(10万)プロセスを同時に起動させてみた
  • Linuxエンジニアを目指して入社一年目にやって役にたったと思う事

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 自分がLinuxエンジニアになりたくて、入社一年目にやってよかった事をまとめておこうと思う。一年目にどれだけやるかが、勝負の別れめといっても過言ではない。それは技術を学ぶだけではない。いっぱいあるんだけど、最低限やって良かったなと思う項目を列挙する。 それがぼくには楽しかったからを読む Amazonとかで買う。出来れば原著がいいけど無理しなくて良い。 Just for Fun. Linuxがどうやってできたか、なぜそれをしようと思ったのかが分かり、今後自分がLinuxエンジニアとしてどういう動機で仕事をしていきたいかを考えさせてくれる。このを読めば、自分が仕事でオープンソースを扱っていることに自信を持てると思う。 「なんでその仕事してる

    Linuxエンジニアを目指して入社一年目にやって役にたったと思う事
  • 1