タグ

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

  • 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
  • Rubyで設定が書けるTrusterd HTTP/2 WebサーバのDockerイメージ公開

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 mrubyを組み込む事によりRubyで設定を書く事ができるTrusterd HTTP/2 Web ServerのDockerイメージを作成・公開しました。 Docker環境のある方は、以下のコマンドで簡単にHTTP/2を喋るWebサーバTrusterdを動かす事ができます。 [program lang=”bash” escaped=”true”] sudo docker run -d -p 8080:8080 matsumotory/trusterd [/program] その後、HTTP/2クライアントであるnghttp(これはnghttp2をビルドして準備してください)コマンドで以下のようにアクセスすると、 [program lang=”

    Rubyで設定が書けるTrusterd HTTP/2 WebサーバのDockerイメージ公開
  • chmodやchownのreferenceオプションを知った時は目から鱗だった話

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 元々ホスティング会社で働いていたので、その特性上ownerやpermissionを色々と弄る事が多く、数年前の社会人時代にchmodやchownをもっと楽に使えないかなぁと調べた時に目から鱗だったのがchmodやchownのreferenceオプションでした。 今回は単にreferenceオプション楽ですよね、という記事なのでご存知の方は退屈な記事だと思いますが、まわりに聞いてみた所意外と知られていなかったりしたので、ブログエントリにしておこうと思います。 referenceオプションを使うと、任意のファイルを指定することで、変更対象のownerやpermissionを指定したファイルと同じ設定にすることができます。 例えば、/bin/pin

    chmodやchownのreferenceオプションを知った時は目から鱗だった話
    yk5656
    yk5656 2014/06/23
  • 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の柔軟なリバースプロキシ構成を構築する
  • Docker HubとGitHubを連携させてmod_mruby実行環境をDockerで簡単にデプロイ

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 Docker Hub公開のアナウンスがあったので、早速Docker HubとGitHubを連携させてmod_mrubyの実行環境をDockerイメージとして作った上で、それをMac上のVagrantで動くCoreOS内のDocker環境にデプロイしてみました。 エントリではmod_mrubyとしていますがここは重要ではなく、自身が開発しているGitHubのアプリケーションに置き換えて読んで頂けると、便利さが見えてくるかと思います。 試してみると、非常に簡単にDockerイメージを作成できた上に、迅速にmod_mrubyの軽量な実行環境をデプロイできたので、その流れを簡単に紹介したいと思います。 Docker Hubにアカウントを作ってGit

    Docker HubとGitHubを連携させてmod_mruby実行環境をDockerで簡単にデプロイ
  • インフラエンジニアの僕がキーボードのすぐ隣に置いておきたい本 | 人間とウェブの未来

    棚は自分の机のすぐ隣にあるのですが、なんとなく安心感とか勉強してる感とかを含め、思い立った時に手元ですぐ開いて調べたり暇つぶしにふと読みたいってありますよね。自分はインターネット、特にWebやインターネット基盤技術に関わる研究・技術者をやっているわけですが、自分の手元に置いておきたいがやはりあります。 もちろん、手元に置くためのスペースは約20から30センチ程度なので、分厚いを置くと数冊程度になってしまいますが、今日は「自分が現段階で持っているのうち、キーボードのすぐ隣に置いておきたい」8冊をなんとなく紹介したいと思います。 自分が手元に置いておきたい8冊 1. Linuxプログラミングインタフェース(6.5センチ) 分厚さ6.5センチと最強に分厚いですが、Linuxに関わるプログラミングをする際の辞書として手元においておく安心感は半端ないです。自分はミドルウェアの実装やそれに

    インフラエンジニアの僕がキーボードのすぐ隣に置いておきたい本 | 人間とウェブの未来
  • 人間とウェブの未来 - 軽量な静的コンテンツ配信におけるHTTP/2とSPDYのWebサーバの性能を見てみよう

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 既存のHTTPやWebサーバの技術を見ているものとして、新しい技術も調査しておかないといけないなということで、今日はHTTP/2とSPDYでおしゃべり可能なWebサーバの性能を見てみたいと思います。 HTTP/2の実装としては、tatsuhiro-tさんのC言語実装ライブラリであるnghttp2に注目しており、今日はそのライブラリを使って実装されているWebサーバnghttpdを動かし、SPDY/3.1で動作しているnginxとの性能比較をしました。HTTP/2やSPDY/3.1はもちろんクライアント側も既存のベンチマークツールではおしゃべりできないので、nghttp2で実装されているh2loadを使用しました。weighttpと使い方が似て

    人間とウェブの未来 - 軽量な静的コンテンツ配信におけるHTTP/2とSPDYのWebサーバの性能を見てみよう
    yk5656
    yk5656 2014/03/16
  • Linuxで3万(10万)プロセスを同時に起動させてみた

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

    Linuxで3万(10万)プロセスを同時に起動させてみた
  • 言語の性能の差がApacheモジュールの決定的な差でないことを教えてやる

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 mod_mrubyにはぜひluajit版に勝って、言語の性能の差がシステム全体の決定的な差でないことを教えてやる と言ってほしい。すっかり他力願モード — Miura Hidekiさん (@miura1729) 1月 23, 2013 というツイートに触発されて、mod_luaのLuaJIT版の速度がどの程度早く、mod_mrubyと比較してどれほどの性能差があるのかを試してみました。 mod_luaのLuaJIT版の設定 ここが結構はまってしまって、最新のApache2.4.3ソースで–enable-luajitとしても、LuaJIT版でmod_luaが動作するようにはなっていません。バグかな? というわけで、Apacheのソースを追って

    言語の性能の差がApacheモジュールの決定的な差でないことを教えてやる
  • Apacheの内部データをGrowthForecastにmod_mruby経由で送ってグラフ化

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 mod_mrubyからAPIつついてなんか面白い事できないかなぁと考えていたら、GrowthForecastというURLにデータをPOSTするだけでグラフが作れるという素晴らしい管理ツールがあったので、Apacheの内部データをGrowthForecastにmod_mruby経由で送ってグラフ化してみました。 GrowthForecastをインストール このインストールページを参考にインストールすればいいだけでした。ソースダウンロード後はGrowthForecast/ディレクトリでcpanmコマンドを叩くだけで、何よりcpanmコマンドが便利過ぎて感動しました。 cpanm --installdeps . そして、以下のコマンドでGrowth

    Apacheの内部データをGrowthForecastにmod_mruby経由で送ってグラフ化
  • GNU GLOBALとvimで巨大なコードでも快適にコードリーディング

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 これまでも、多くの記事にされていて、恐らくKernelや巨大なコードを読んでいる人にとっては当たり前なのかもしれませんが、あまりに快適だったのとこれをきちんとやれてなかった事に自戒をこめて記事にしようと思います。grepとかscreenを駆使していた時間を返してほしい! 対象者 僕がLinux大好きなので、Linux上での動作を前提にしています。対象者はLinux KernelやApache HTTP Server等、数万から数十万、さらには数百万行のコードをじっくり読んでいきたいと考えている人におすすめしたいと思います。巨大なコードを何のツールも使わずに読むのはかなりきついはずです。しかし、今回はGNU GLOBALと呼ばれるソースコードタ

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

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

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