タグ

ブックマーク / mizzy.org (14)

  • Infrastructure as Code 再考 - Gosuke Miyashita

    Infrastructure as Code という言葉が現れてから少なくとも8年ほど経過しており、この言葉もすっかり定着したように見えるが、Martin Fowler 氏が最近自身のブログで Infrastructure as Code について触れており 、また、氏の同僚である Kief Morris 氏が O'Reilly Media から Infrastructure as Code というを出す(現在 Early Relase 版や Free Chapters が入手できる)ようなので、このタイミングで改めて Infrastructure as Code について、その歴史を振り返るとともに、現在の状況について整理してみようと思い、このエントリを書くことにした。 内容的には、以前書いた インフラ系技術の流れ と若干重複してる部分もある。 そういえば日でも最近、サーバ/インフラ

  • フリーランスになって1年が経った - Gosuke Miyashita

    4月からクックパッド仕事してます というエントリを書いてからちょうど1年経ったので振り返ってみる。 フリーランスになった経緯 そもそも最初からフリーランスになるぞ、と思ってなったわけではなく、なんとなく流れにしたがってたらフリーランスになってた。 もう少し詳しい経緯。色々あって2014年3月に無職(有給消化中のファッション無職じゃなくガチ無職)になって、普通に正社員として次の会社を探していて、知り合いに声をかけて話を聞いて回っていた。その中でクックパッドに決めたのは、セコンさん や mirakui さん の、これからクックパッド技術やインフラをこうして行きたい、という思いや考えに共感し、そこに自分が価値を提供できるイメージが具体的に沸いたから。 ただ、事情があって最初から正社員ではなく、お互い様子見ということで、正社員になる前提で半年間業務委託契約という形で仕事してみましょう、というこ

    ikosin
    ikosin 2015/04/01
    おお、Walter 期待してるのでテンション上がった
  • Dockerコンテナに入るなら SSH より nsinit が良さそう - Gosuke Miyashita

    追記 はてブでつっこみもらいました が、実行するカレントディレクトリは /var/lib/docker/execdriver/native/$id を使うのが正しいようです。(情報読み違えてた。)こちらには container.json があるので、ソースツリーからコピーしてくる必要ないですね。 また、コンテナ ID 取得は、docker ps -q --no-trunc の方が良い、とも教えていただきました。 つっこみにしたがって、最後の方の説明とシェル関数書き換えました。 つっこみありがとうございます! tl; dr タイトルまま 経緯 Docker でつくったコンテナの中に入って状態を確認するために、コンテナ内で sshd を立ち上げてアクセスする、ってなことを以前やってたんですが、コンテナ内で sshd を立ち上げる、というやり方がいまいちだし、そもそもコンテナの仕組みから考えれば

  • ChefConf 2014 に来てます - Gosuke Miyashita

    今日は最終日で、昨日は Serverspec: The Simplest Server Testing Tool Ever というタイトルでプレゼンしてきました。海外でははじめての serverspec プレゼンなので、もっと基的な、具体的な使い方とかデモといった内容にした方がいいのかなー、と思いつつも、そういうのはオフィシャルサイトとか見れば割と十分だし、自分以外の人でも話せる内容なので、開発者ならではの、開発をはじめたきっかけとか、開発する上での哲学とか、今後どうしていきたいのか、みたいな話をしました。(大体いい感じになるKeynoteテンプレート「Azusa」 を使わせてもらいました。ありがとうございます。あと、mirakui さんの真似して entypo や fontawesome も使ってみました。) 英語棒読みだし、Splunk の方から質問された内容が、なんかテストカバ

  • フリーになったので開業してみた - Gosuke Miyashita

    先日のエントリ で書いたとおり、今は基フルタイムでクックパッド仕事してるけど、実態はフリーランスなので、税金まわりちゃんとしないとなー、ということで、個人事業の開業届出書と青色申告承認申請書を提出してきた。 で、個人事業主は屋号をつけてもつけなくてもいいんだけど、つけられるんならせっかくだし、ってことで、Serverspec Operations という屋号にしてみた。 勘のいい人なら気づくかもしれないけど、 Heavy Water Operations からのインスパイア。serverspec も絡めた、インフラの構築や運用の自動化、というのをメインのテーマにこの屋号で活動するつもりなんだけど、やってる内容や利用する技術が、この会社ととても近いし、リスペクトもしているので。 「インフラ」といいつつも、その上のアプリケーションレイヤーとは断続しているわけではなく連続したものであり、かつ

    ikosin
    ikosin 2014/04/18
  • 4月からクックパッドで仕事してます - Gosuke Miyashita

    株式会社はてなに入社しました。 — Gosuke Miyashita (@gosukenator) March 31, 2014 ↑はエイプリルフールネタですが。 色々あって、3月に無職になって、4月からクックパッド仕事してます。 基的にはフルタイムコミットなんですが、諸事情により業務委託契約なので、実質フリーランスですね。 この機会に色々な可能性を模索したいので、何か面白そうな仕事があったら Twitter とか Facebook とか メール などでご連絡ください。 特に以下のような仕事は自分の価値を活かせるんじゃないかと思ってます。 Chef, Puppet, Ansible といったサーバ構成管理ツールの導入支援 serverspecをベースとしたテスト駆動インフラやインフラCIの導入支援 要件に合わせた serverspec のカスタマイズ(serverspec 体や、テス

    ikosin
    ikosin 2014/04/01
    これの無所属はフラグだったのか http://jawsdays2014.jaws-ug.jp/speaker/g_miyashita/
  • configspec で Dockerfile を生成できるようにした - Gosuke Miyashita

    configspec とか Immutable Infrastructure について、@kazuho さんから色々とありがたいツッコミをいただきまして、その中で 個人的にはSCMあるいはLVMの管理下において、record-cmd yum -y install httpd とかすると、コマンドがSCMのコメントに残りつつ、ファイルシステムに発生した差分が変更履歴として保存されるくらいでいいんじゃないかと思う — Kazuho Oku (@kazuho) November 26, 2013 といった tweet があり、それは Docker でやれるけど、configspec でやることではないなー、と思っていたところ、ふと configspec から Dockerfile を生成する、というアプローチもありな気がしてきた。 — Gosuke Miyashita (@gosukenator

  • configspec という Immutable Infrastructure 用 Configuration Management Tool をつくってみた - Gosuke Miyashita

    Immutable Infrastructure の有用性 - Togetter の流れの勢いで、インフラ系技術の流れ とか Rebuild: 25: Immutable Infrastructure (Naoya Ito, Gosuke Miyashita) とかで言ってたような、冪等性とか依存関係とかを考慮しないシンプルな Configuratin Management Tool である configspec をつくってみました。rubygems.org にもアップしてます。 この手のツールに自分が望む要件は以下の様な感じ。 冪等性とかどうでもいい まっさらな状態からのセットアップでしか使わない 依存関係とかどうでもいい ファイル名順、上から書いた順で実行してく 対象サーバに余分なものをインストールしたくない 対象サーバに SSH さえできれば OK シェルスクリプトよりは抽象度を高め

  • ペパボでの GitHub の使い方 - Gosuke Miyashita

    必殺!Github導入に向けて上司を説得する時に使える資料まとめ - DQNEO起業日記 でペパボも取り上げて頂いたので、ペパボでの GitHub の使い方について、少し詳しく書いてみます。 開発での利用 これは普通の使い方ですね。なので省略。 GitHub Enterprise は利用していない 金額的な面で GitHub Enterprise の利用は厳しいため、GitHub Enterprise ではなく、ノーマル(?)な GitHub を利用しています。(GitHub Enterprise にすると、現在のコストの 8 〜 9 倍ぐらいになってしまう。) ここはセキュリティ面とのバランスが難しいところではありますが… とはいえ、GitHub に何かあってソースコードが流出した場合に影響の大きさが懸念されるサービスについては、GitHub を利用しない、といった判断もしています。(で

  • すぐにハッブル宇宙望遠鏡撮影画像を見れるGoogle Chromeの拡張作った。 - Gosuke Miyashita

    生きていればつらいことがある。 しかし、つらいからと言って簡単に投げ出す事は出来ないということも多い。 みなさんもつらまってる時、よくハッブル宇宙望遠鏡が撮影した画像を見ると思う。 当然のごとく僕もそうである。 最近つらい事がよくある。 そんな時のために、ハッブル宇宙望遠鏡撮影画像を素早く表示する必要があった。 なので、ハッブル宇宙望遠鏡撮影画像をすぐ見れるGoogle Chromeの拡張を作った。 mizzy/chrome-hst-images - GitHub 「だめだ。もうやってらねー」って時は、空の tab を表示すればすぐハッブル宇宙望遠鏡撮影画像に会える。最高。結婚したい。 合わせて読みたい すぐに吉高由里子を見れるGoogle Chromeの拡張作った。 - パルカワ2 すぐに宮崎あおいを見れるGoogle Chromeの拡張作った。- soh335 memo

  • Ukigumo と serverspec で Puppet の継続的インテグレーション - Gosuke Miyashita

    tokuhirom さんにより開発されている Ukigumo を利用して、Puppet の CI 環境を構築してみた。やってることは以下の通り。 Puppet マニフェストを Git リポジトリで管理 Ukigumo Server を立てる puppet-lxc-test-box で Puppet マニフェストを流し込むシステムコンテナを必要なロールの分だけ用意 自前の Ukigumo クライアントスクリプト を cron で定期的に走らせ以下を実行 Puppet マニフェストリポジトリの master ブランチが更新されていたら、git pull して Puppet マニフェストをシステムコンテナに適用し、適用結果を Ukigumo サーバに投げる serverspec によるテストをシステムコンテナに対して実行し、結果を Ukigumo サーバに投げる Ukigumo のトップ画面はこ

  • インフラ系技術の流れ - Gosuke Miyashita

    ここ最近のインフラ系技術の流れがおもしろいなー、と思ったので、Puppet が出た辺りぐらいから、振り返って整理してみる。殴り書きなので、後から修正したり書き加えたりするかも。特に後半の方は、あまり考えが整理できてない。 最近のウェブ界隈での「インフラ」という用語の使われ方には、色々異論もあるようだけど、ここではごく最近使われるようになってきた、OS からミドルウェアといったソフトウェアレイヤーを指す言葉としてのインフラについて触れる。(英語圏でも同様の意味で使われているようなので、ある程度市民権を得たと言っても良さそうだし。) プロビジョニングレイヤー まず、前提知識としてプロビジョニングレイヤーと自分が勝手に呼んでるものについて整理。 Chef や Puppet は「プロビジョニングフレームワーク」とも呼ばれているが、以下の議論をより厳密にするために、Lee Thompson 氏による

  • 構築済みサーバを RSpec でテストする serverspec という gem をつくった - Gosuke Miyashita

    Puppet や Chef で構築したサーバを RSpec でテストする で書いた仕組みを使いやすくするために serverspec という名前で gem 化してみた。 rubygems.org にも登録してあるので、gem install でインストールできる。 $ gem install serverspec インストールしたら、適当なディレクトリで serverspec-init を実行。すると、雛形となるディレクトリやファイルを生成する。 $ serverspec-init + spec/ + spec/www.example.jp/ + spec/www.example.jp/httpd_spec.rb + spec/spec_helper.rb + Rakefile spec/www.example.jp/httpd_spec.rb がサンプルテストコードで、こんな感じになって

  • Puppet や Chef で構築したサーバを RSpec でテストする - Gosuke Miyashita

    追記 ここに書いてあることを実現する serverspec という gem をつくりました。詳しくはこちらのエントリで。 Puppet マニフェストをリファクタリングするからテスト書くぞ、ってことで、 puppet-lxc-test-box に書いたように、テストするためのシステムコンテナを簡単に作る仕組みをつくったので、今度は実際にテストコードを書くためのベースをつくってみた。 rspec-lxc-test-box こんな感じでテストが書ける。 require 'container_spec_helper' describe 'nrpe' do it { should be_installed } it { should be_enabled } it { should be_running } end describe 'nagios-plugins-all' do it { shou

  • 1