Docker + Mesos + Marathon + Graphite + Fluentd + Sensuを組み合わせたデプロイ管理ツールの話

開発合宿でDevOps界隈やモニタリング界隈で流行りのツールを組み合わせてBlue Green Deploymentできる何かを作りました。 同じチームで開発したid:shiba_yu36 先生やid:wtatsuru 先生が既にブログを書いてますが、自分の視点で書いてみます。(13/12/24追記:…

モニカジ京都に参加して、SensuとGraphiteの話をしました #monitoringcasual

Monitoring Casual Talk in Kyoto on Zusaar 先週のことだけど、モニカジ京都に参加した。 というか、主催者のid:shoichimasuharaさんとかいう人に雑に主催者に入れられた。 といってもなにもしてなくて、ただインターネットで暇そうな人間を勧誘しただけだ…

大学院の修了に失敗し、新卒入社にも失敗しました

※本エントリは中退を煽るものでは決してありません。 先月、大学院を中退しました。 コンテンツになりたいがために中退したととってもらってもよいですし、何か深遠な理由があって中退したととってもらってもよいです。 中退するにあたり、相談に乗ってくだ…

robustnessと何か

学部3回生くらいのときに授業か何かで英語の論文を読んでた時に、Robustnessとその類義語である何かの意味と違いについて学びを得た。 robustnessは頑強性、つまりシステムの一部が壊れても、システム全体の動作を損なわない能力を意味する。 何かは堅牢性、…

YAPC::Asia 2013ではてなのサーバ管理ツールの話のはなしをしました

YAPC::Asia 2013で"はてなのサーバ管理ツールの話"というはなしをします - ゆううきブログ YAPC::Asia Tokyo 2013で、アルバイトで開発してたサーバ管理ツールのはなしをしました。 前半がサーバ管理ツールの開発思想で、後半がサーバメトリクス可視化の実装…

Chefがつらい人のためのAnsibleのはなし

Chef使おうとしてるけどChefいろいろつらい. 具体的には以下がつらい. 独自概念多い chefのクライアントを対象ホストに入れなければならない knifeとか覚えないといけない外部ツールがある 最初からディレクトリ構成がわいわい (rails newしたときのあのき…

超高速なパケットI/Oフレームワーク netmap について

GPUを用いたSSLリバースプロキシの実装について - ゆううきブログ 100Gbpsソフトウェアルータの実現可能性に関する論文 - ゆううきブログ の続きで,最近論文読んだやつのプロジェクトの紹介です. 概要 今の汎用OSは高速なパケットI/Oを考慮してない. 20年…

YAPC::Asia 2013で"はてなのサーバ管理ツールの話"というはなしをします

"YAPC ASIA 2013"に応募してたトークが採択されました。 はてなのサーバ管理ツールの話 - YAPC::Asia Tokyo 2013 はてなの自社製サーバ管理ツールの思想と設計を紹介します。 はてなでは数千台のホストを運用しており、運用を効率化するためにサーバ管理ツー…

TCP 3-way handshakeのレイテンシ軽減のためのTCP_DEFER_ACCEPTソケットオプション

2013/10/22 追記した. Starletのコード読んでてlistening socketにTCP_DEFER_ACCEPTとかいうオプション渡してたので、これ何だって思って調べた. TCPに特に詳しいわけではないので理解に誤りがあるかもしれない. package Starlet::Server; ... # set defe…

Test::Classのテストメソッド内でsubtestを使うときに起こる問題の原因と対策

id:nobuokaさんがこういう感じの問題に直面していたので調査してみた。 Test::Class と subtest を組み合わせた場合に、とあるテストメソッドの subtest 内で例外が発生してしまうと、それ以降の別のテストメソッドの subtest も全部失敗してしまうっぽい? -…

Kyoto.pm 05で自作のサーバリソース可視化ツールのはなしをしました

nekokakさんを呼んで、7/13(土)にKyoto.pm 05 Tech Talkを開催します!!!!! - $shibayu36->blog; Kyoto.pm 05で自作のサーバリソース可視化ツールについて20分くらいしゃべりました。 簡単にいうと、既存のサーバリソース可視化ツールのサブシステムとし…

100Gbpsソフトウェアルータの実現可能性に関する論文

前回のGPUを用いたSSLリバースプロキシの実装について - ゆううきブログ に続いて,同じ研究グループが出している100Gbpsのソフトウェアルータの実現可能性に関する論文を読みました. Sangjin Han ; KAIST, Daejeon, South Korea ; Keon >Jang ; KyoungSoo …

GrowthForecastでサーバルームの室温監視

研究室のサーバールームの空調が弱くて,40コアくらいある計算サーバにフルで仕事させると室温が上がって,全サーバが落ちるみたいな事例が去年あったらしいので,室温のグラフ化とアラートメール送信をやれみたいなタスクが降ってきた. そこで,サーバルー…

CentOS 5.9でNICを2枚挿したときのネットワーク設定

10GbpsNIC環境でOSのネットワークスタックのパフォーマンスを測定しようとしたら意外と面倒だった.厳密には,面倒だったのはCentOS 6系での設定で結局あきらめた. 仕方がないからCentOS 5.9でやるとそれほどハマらずに設定できた. 2台のマシンがあり,オ…

GPUを用いたSSLリバースプロキシの実装について

近年,汎用計算の高速化のためのアクセラレータとして注目されているGPUを,ネットワーク処理に適用する一環として,サーバサイドのSSL処理に注目した論文を読んだので,内容を軽く紹介します. SSLShader - GPU-accelerated SSL Proxy SSLShader SSLShader:…

Kyoto.pm 04 Hackathonに参加しました

"Kyoto.pm 04 Hackathon"に参加しました. 畳部屋でかつ,人間をだめにするクッションの上で開発してました. とても快適でした. 作ったのはぼくの研究活動を快適にするための Net::Signaletというモジュールです. y-uuki/Net-Signalet · GitHub サーバク…

RRDtool 2.x

フルスクラッチ案件です. RRDtool 2.x - Re-Engineering RRDtool for the next 15 Years Vision clear internal APIs: 内部のコンポーネントを疎結合化する.RRDtool 1.xでもある程度は疎結合化されてはいるが,特にデータストレージ層の構造はそれほど機能…

OSS案件

元陸自で現はてなの人の話だ #monitoringcasual— kenjiskywalkerさん (@kenjiskywalker) 2013年3月8日 サーバ管理ツールはほしい #monitoringcasual— fujiwaraさん (@fujiwara) 2013年3月8日 うちにもあるけど結局サーバー管理ツールは自作になっちゃうんだ…

どのレイヤーの人

どのレイヤーの人と聞かれることがある. 最近はこんな感じのものを思い浮かべる. 赤い部分が興味がある感じの部分で,コード書けるところとパフォーマンスみれるところが好きな感じ. プロセッサは研究が終わったら飽きそうな気がする. UI/UXみたいなのは…

SPDYで複数のTCPコネクションをひとつにまとめるとはどういうことか

SPDYが流行っていて,複数のTCPコネクションを1つにまとめて高速化を図るらしいということは知っていた. しかし,単にTCPのコネクション数を抑えるだけならHTTP 1.1のKeep Aliveやpipeliningを使えばよいし,既存技術のどこが問題でSPDYはどう解決している…

Kansai.pmでORMのパフォーマンスチェッカの構想についてLTしてきた

Kansai.pm #15に参加してきた. JPA派遣講師として来ていただいた@yusukebeさんの話が今回の目玉だった. BoketeのValidationの話聞いて,そういえばPerlのValidationを真面目に考えたことなかったなと思って,FormのValidationにはForm::Validator::Lite,M…

研究室のサーバに流行りのGrowthForecastを導入してみた

GrowthForecast - Lightning fast Graphing / Visualization 研究室で各サーバと部屋の温度をグラフ化して,値が異常ならメールで通知しろみたいなタスクが降ってきた. もともと各サーバの統計値をMuninでグラフ化していたけれど,VMware VSphereが入ってる…

小さなモジュールの話

Webアプリケーションのコードとか初めて書いたとき,コピペコードを羅列してとにかく動かすということだけを考えてた. だんだんWebアプリケーションの仕組みとかわかってくると,ライブラリの仕様がよくわからなくてハマったときに,なんとか動かすためにラ…

Plack::Middlewareの書き方

前回,Plack::Middleware書いたので,Plack::Middlewareの書き方をメモしておく. Plack::Middlewareモジュールに最低限必要なのは基本的に2つしかない. Plack::Middlewareを継承することcallメソッドを実装しておくだけ. callメソッドの返り値はPSGI形式…

Plack::Middleware::OAuth::Lite的なものを書いてる

TwitterとかGitHubユーザに対して自前のWebアプリケーションでOAuth認証するためのPlack::Middlewareを書いてる. 同様の動作をするモジュールとしてすでに Plack::Middleware::OAuth があったけど,Session周りでよくわからないエラーがでてよくわからなか…

プロセッサのFLOPSにおける理論性能と実効性能に関する考察

1年くらい前に卒論で学んだことをほとんどアウトプットしてなかったので,研究テーマにクリティカルでない内容をちょいちょいアウトプットしていきたい. あくまで自分の理解を書いているだけなので内容に間違いがあるかもしれない. 今回はFLOPSの話. FLOP…

HubFlow使ってみた

HubFlowとは HubFlow: GitFlow For GitHub HubFlowはGitHubリポジトリでGitFlowを便利に使うためのGitコマンド拡張です. gitflowをforkして開発されています.datasift/gitflow · GitHub 今の時点では,大幅に便利になるというものではない感じです. git h…

忘年した2012年の記憶を掘り起こして忘年意味ないみたいな感じになった

忘年したけど,2012年振り返らないといけないみたいな気分になったので振り返る. 1,2月 だいたい卒論を書いていた. この辺はほとんど卒論しかやってなかったのは反省したい. 卒論で,SSEとかGPUとかSHA-1とかやってたので,その辺の簡単な知識はついたよ…

Linuxカーネルにおけるネットワークスタック周りのChangeLog勉強メモ (2.6.0 ~ 2.6.20)

最近,OSのネットワークスタックに興味があって,Linuxカーネルのネットワークスタック実装の変遷について調べてみた. 変更内容の粒度は割りと適当. TCPとかFireWallとかNIC周りは興味があるのでだいたい書いてる. Wireless系は興味ないので全部削ってる…

"CUBIC: A new TCP-friendly high-speed TCP variant"を読んだ

Linux2.6.19以降でデフォルトのTCP輻輳制御アルゴリズムとなった*1CUBIC-TCPの提案論文*2の前半部分についてまとめてみた. 文中に出現する「ウィンドウ」は特に断りがない限り,TCP輻輳ウィンドウを指すものとする. CUBIC-TCPの概要 CUBIC-TCPは高速ネット…