サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
2024年ランキング
mizzy.org
ここ最近のインフラ系技術の流れがおもしろいなー、と思ったので、Puppet が出た辺りぐらいから、振り返って整理してみる。殴り書きなので、後から修正したり書き加えたりするかも。特に後半の方は、あまり考えが整理できてない。 最近のウェブ界隈での「インフラ」という用語の使われ方には、色々異論もあるようだけど、ここではごく最近使われるようになってきた、OS からミドルウェアといったソフトウェアレイヤーを指す言葉としてのインフラについて触れる。(英語圏でも同様の意味で使われているようなので、ある程度市民権を得たと言っても良さそうだし。) プロビジョニングレイヤー まず、前提知識としてプロビジョニングレイヤーと自分が勝手に呼んでるものについて整理。 Chef や Puppet は「プロビジョニングフレームワーク」とも呼ばれているが、以下の議論をより厳密にするために、Lee Thompson 氏による
Infrastructure as Code という言葉が現れてから少なくとも8年ほど経過しており、この言葉もすっかり定着したように見えるが、Martin Fowler 氏が最近自身のブログで Infrastructure as Code について触れており 、また、氏の同僚である Kief Morris 氏が O'Reilly Media から Infrastructure as Code という本を出す(現在 Early Relase 版や Free Chapters が入手できる)ようなので、このタイミングで改めて Infrastructure as Code について、その歴史を振り返るとともに、現在の状況について整理してみようと思い、このエントリを書くことにした。 内容的には、以前書いた インフラ系技術の流れ と若干重複してる部分もある。 そういえば日本でも最近、サーバ/インフラ
追記 はてブでつっこみもらいました が、実行するカレントディレクトリは /var/lib/docker/execdriver/native/$id を使うのが正しいようです。(情報読み違えてた。)こちらには container.json があるので、ソースツリーからコピーしてくる必要ないですね。 また、コンテナ ID 取得は、docker ps -q --no-trunc の方が良い、とも教えていただきました。 つっこみにしたがって、最後の方の説明とシェル関数書き換えました。 つっこみありがとうございます! tl; dr タイトルまま 経緯 Docker でつくったコンテナの中に入って状態を確認するために、コンテナ内で sshd を立ち上げてアクセスする、ってなことを以前やってたんですが、コンテナ内で sshd を立ち上げる、というやり方がいまいちだし、そもそもコンテナの仕組みから考えれば
必殺!Github導入に向けて上司を説得する時に使える資料まとめ - DQNEO起業日記 でペパボも取り上げて頂いたので、ペパボでの GitHub の使い方について、少し詳しく書いてみます。 開発での利用 これは普通の使い方ですね。なので省略。 GitHub Enterprise は利用していない 金額的な面で GitHub Enterprise の利用は厳しいため、GitHub Enterprise ではなく、ノーマル(?)な GitHub を利用しています。(GitHub Enterprise にすると、現在のコストの 8 〜 9 倍ぐらいになってしまう。) ここはセキュリティ面とのバランスが難しいところではありますが… とはいえ、GitHub に何かあってソースコードが流出した場合に影響の大きさが懸念されるサービスについては、GitHub を利用しない、といった判断もしています。(で
株式会社はてなに入社しました。 — Gosuke Miyashita (@gosukenator) March 31, 2016 ↑はちょうど2年前の 4月からクックパッドで仕事してます と同様、エイプリルフールネタです(実際にありえそうなので判断に迷った人いそうだけど)。 フリーランスになって1年が経った というエントリを書いてからちょうど1年経ったので、この1年を振り返ってみる。 仕事について 1年目は、元々正社員になる前提で、様子見ということでクックパッドと業務委託契約を結んでいたので、基本フルタイムコミットで決まった時間にオフィスで仕事、という形だったけど、2年目はオフィスに行く日数を減らしたり、リクルートテクノロジーズの仕事の割合を増やしたりした。 2年目の前半は、クックパッドの仕事が週4日で、そのうち2日はオフィスに行き、リクルートテクノロジーズの仕事は週1日リモートで、という
4月からクックパッドで仕事してます というエントリを書いてからちょうど1年経ったので振り返ってみる。 フリーランスになった経緯 そもそも最初からフリーランスになるぞ、と思ってなったわけではなく、なんとなく流れにしたがってたらフリーランスになってた。 もう少し詳しい経緯。色々あって2014年3月に無職(有給消化中のファッション無職じゃなくガチ無職)になって、普通に正社員として次の会社を探していて、知り合いに声をかけて話を聞いて回っていた。その中でクックパッドに決めたのは、セコンさん や mirakui さん の、これからクックパッドの技術やインフラをこうして行きたい、という思いや考えに共感し、そこに自分が価値を提供できるイメージが具体的に沸いたから。 ただ、事情があって最初から正社員ではなく、お互い様子見ということで、正社員になる前提で半年間業務委託契約という形で仕事してみましょう、というこ
MHA for MySQL の導入を検討していて、まずは社内の技術者向けに、MHA for MySQL の概要を伝えようと、主に オフィシャルなドキュメント からポイントを抜粋して社内向けの Wiki に書いてみた。本当なら、オフィシャルドキュメント全体に目を通してもらうのがいいんだけど、英語なので、はじめの一歩としては敷居が高く感じる人もいるだろう、ということで。 特に外に出してまずい情報があるわけでもないので、このブログでも曝しておきます。 MHA の概要 MySQL エキスパートとして世界的にも著名な松信嘉範氏による、MySQL マスターの HA 化を行うためのツール。Perl 製。 最小限のダウンタイムで、データの不整合を防ぎつつ、マスターのフェイルオーバーを行う、というのが主な機能。 また、既に動作している MySQL に影響を与えることなく導入できる。 機能は大きくわけると以下
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 がサンプルテストコードで、こんな感じになって
初出: Software Design 2009年4月号(2009年3月18日発売) 宮下 剛輔 サーバエンジニアの定義 本特集では、サーバエンジニアが開発力を持つことにより、どのような力を得ることができるのか、日々の業務にどのように役立てることができるのか、具体例とともに紹介します。 本題に入る前にまずはここでのサーバエンジニアの定義を明確にし、特集全体のコンセプトについて説明します。 クライアント/サーバ型のシステムを考える場合、サーバ側は大まかに以下のようなレイヤーに区分できます。 アプリケーションレイヤー ミドルウェアレイヤー OSレイヤー ネットワークレイヤー これらのレイヤーのうち、ミドルウェアレイヤーとOSレイヤーを主担当とするエンジニアを、本特集記事でのサーバエンジニアと定義し、対象読者と想定します。その中でも特に、オープンソースソフトウェア(OSS)をメインで扱うエンジニ
Immutable Infrastructure の有用性 - Togetter の流れの勢いで、インフラ系技術の流れ とか Rebuild: 25: Immutable Infrastructure (Naoya Ito, Gosuke Miyashita) とかで言ってたような、冪等性とか依存関係とかを考慮しないシンプルな Configuratin Management Tool である configspec をつくってみました。rubygems.org にもアップしてます。 この手のツールに自分が望む要件は以下の様な感じ。 冪等性とかどうでもいい まっさらな状態からのセットアップでしか使わない 依存関係とかどうでもいい ファイル名順、上から書いた順で実行してく 対象サーバに余分なものをインストールしたくない 対象サーバに SSH さえできれば OK シェルスクリプトよりは抽象度を高め
ここ半年ほど取り組んでいた Serverspec に関する本が出ます。2015年1月17日発売予定です。 O'Reilly Japan - Serverspec Amazon.co.jp: Serverspec: 宮下 剛輔: 本 どんな内容か、というのは、サイトの紹介文や目次を見ればわかるので、ここでは、なぜこの鳥が表紙に選ばれたのか、といったことでも書こうかな、と思ったんですが、こういうのは明かさない方がおもしろいので、やっぱり書かないことにします。おそらく、何という名前の鳥なのかすらわからない方が大半かと思いますが、あえて伏せておきます。名前や生態は最後のページに載っていますので、知りたい方は買うなり、店頭で確認するなりしてみてください(妻が Facebook に名前を書いちゃってるけど)。 本書は、開発者である自分にしか書けないことをできる限り盛り込み、自分以外の人でも書けるような
追記 ここに書いてあることを実現する 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
この4月に、帝京大学理工学部情報科学科 通信教育課程の第2学年に編入学しました。通信教育課程なんで、仕事は続けたままです。 今日は、なぜこの歳(37歳)で大学に入ろうと思ったのかについて書いてみようと思います。 自分の現在の立ち位置は、ソフトウェアエンジニアだと思っているんですが、出身は経済学部経営学科です。それが悪いとは思ってないですし、そういう人は身近にたくさんいるんですが、情報工学や計算機科学なんかの学位を持ってない、といったことに、ほんの微か、あるかないかぐらいの、引け目なんだかコンプレックスだかなんだかわからないけど、そんなようなものをずっと持ち続けています。 それはあまり意味のないことで、別にそんな感情持つ必要ないじゃん、と思いつつも、ずっとひっかかりはあって、この感情ってこの先ずっと残るのかな、とか思ってたわけですが、だったら学位取っちゃえば、そんなつまらないこと考えずに済む
内容自体は基本的に、第5弾 週末ランサーズ にお邪魔した時に お話した資料 と同じなんですが、この時よりも時間が少し長かったので、多少内容を追加しているのと、当時自分の中でうまく整理できてなかったけど、今は多少クリアになった部分もあって、そういった内容を盛り込んだりしてみました。 Togetter まとめ NAMIKAWA さんによるまとめ 一点お詫びしたいのは、登壇者に質問ができる Ask the Speaker というコーナーがあって、セッションが終わった後はそちらに移動、という段取りだったのですが、裏でやっていた OSS コミッタ大集合 の方でも登壇するために終了後すぐに E 会場に向かったため、Ask the Speaker コーナーに行けませんでした。もし質問するためにいらしてくださった方がいましたら、本当に申し訳ないです。 今回デブサミに登壇させて頂いた経緯については、会場で
Plagger プラグインの実行フェーズ Posted by Gosuke Miyashita Sat, 23 Sep 2006 18:58:42 GMT Plagger プラグインの実行フェーズについて整理してみたので、載せておきます。 追記 はてブで「argsもあるとうれしいとおもた」というコメントがありましたので、追加してみました。 実行フェーズ $args フェーズの役割 実行例
今年から新たにペパボで導入された、技術者向けの評価制度については、こちらのエントリ で書いたのですが、本日、その一次評価が完了しました。 評価のプロセスは、一次はテクニカル・マネージャーによる評価、二次は経営会議メンバーによる評価、と二段階の評価となっています。 自分が担当した一次評価の詳細は、以下のようになっています。 シニア、またはアドバンスドシニアに上がりたい人には、自ら立候補してもらう。 立候補する人は、定められたフォーマットにしたがって、自分がそのポジションにふさわしいと思う理由や実績について Markdown で書き、指定した Git リポジトリに push する。(「定められたフォーマット」と言っても、最初に名前、次に希望のポジションを書いてもらうだけで、それ以外は自由。) 文書に提出後、一人一人と面談を行う。 文書の内容と面談の結果にもとづいて、各人が提出した文書の末尾に、
株式会社はてなに入社しました。 — Gosuke Miyashita (@gosukenator) March 31, 2014 ↑はエイプリルフールネタですが。 色々あって、3月に無職になって、4月からクックパッドで仕事してます。 基本的にはフルタイムコミットなんですが、諸事情により業務委託契約なので、実質フリーランスですね。 この機会に色々な可能性を模索したいので、何か面白そうな仕事があったら Twitter とか Facebook とか メール などでご連絡ください。 特に以下のような仕事は自分の価値を活かせるんじゃないかと思ってます。 Chef, Puppet, Ansible といったサーバ構成管理ツールの導入支援 serverspecをベースとしたテスト駆動インフラやインフラCIの導入支援 要件に合わせた serverspec のカスタマイズ(serverspec 本体や、テス
serverspec に関する論文を、あんちぽ さん 、@matsumotory さんと共著で書きましたので、GitHubリポジトリ ごと公開しておきます。 論文のPDF だけではなく、PDF 生成前の TeX ファイルとかもありますし、Issues を見ると、どんな風に執筆を進めていったのかが垣間見えます。 また、事情により研究会発表は欠席してしまったのですが、発表用スライドは作成したので、せっかくなのでアップしておきます。
タイトルの通り、10月から 株式会社リクルートテクノロジーズ Advanced Technology Lab の技術顧問になりました。 技術顧問といっても、あまり顧問的な仕事ではないのですが、中の人として活動するにあたって肩書きが必要で、他にわかりやすい名称が思いつかなかったので、技術顧問という肩書きになりました(技術フェローの方が近いかな、という感じだけど、事情によりフェローは使えないので)。 ATL の中の人としての活動ですが、世の中に新しい価値観をもたらすような OSS の研究・開発、言い換えると、Serverspec のような OSS を新たに生み出すのがメインのミッションとなります。 クックパッドの方も業務委託は継続させてもらうので、ATL での研究開発と、クックパッドでの現場運用、双方で良いフィードバックサイクルを回し、お互いにメリットがあるような成果を出していければいいな、と
今回は serverspec のテストをホスト間で共有する方法について説明します。 serverspec-init を実行して生成されるひな形ファイルは以下のようになっています。 |-- Rakefile `-- spec |-- spec_helper.rb `-- www.example.jp `-- httpd_spec.rb これを見てわかる通り、テスト対象となるホスト名でディレクトリが掘られ、その下に対象ホストに対する spec が置かれる、という形になっています。 したがって、複数の役割が同じホストに対してテストを実行しようとすると、こんな感じで同じ内容の spec ファイルが重複して置かれることになります。 |-- Rakefile `-- spec |-- app001.example.jp | `-- ruby_spec.rb |-- app002.example.jp
先日のエントリ で書いたとおり、今は基本フルタイムでクックパッドで仕事してるけど、実態はフリーランスなので、税金まわりちゃんとしないとなー、ということで、個人事業の開業届出書と青色申告承認申請書を提出してきた。 で、個人事業主は屋号をつけてもつけなくてもいいんだけど、つけられるんならせっかくだし、ってことで、Serverspec Operations という屋号にしてみた。 勘のいい人なら気づくかもしれないけど、 Heavy Water Operations からのインスパイア。serverspec も絡めた、インフラの構築や運用の自動化、というのをメインのテーマにこの屋号で活動するつもりなんだけど、やってる内容や利用する技術が、この会社ととても近いし、リスペクトもしているので。 「インフラ」といいつつも、その上のアプリケーションレイヤーとは断続しているわけではなく連続したものであり、かつ
今年から新たにペパボで導入された、技術者向けの評価制度については、こちらのエントリ で書いたのですが、本日、その一次評価が完了しました。 評価のプロセスは、一次はテクニカル・マネージャーによる評価、二次は経営会議メンバーによる評価、と二段階の評価となっています。 自分が担当した一次評価の詳細は、以下のようになっています。 シニア、またはアドバンスドシニアに上がりたい人には、自ら立候補してもらう。 立候補する人は、定められたフォーマットにしたがって、自分がそのポジションにふさわしいと思う理由や実績について Markdown で書き、指定した Git リポジトリに push する。(「定められたフォーマット」と言っても、最初に名前、次に希望のポジションを書いてもらうだけで、それ以外は自由。) 文書提出後、一人一人と面談を行う。 文書の内容と面談の結果にもとづいて、各人が提出した文書の末尾に、結
Terraform State Refreshの高速化手法と実装 TerraformのState TerraformのStateとは、Terraformで管理しているリソースの状態をJSONで記述したものであり、ファイルとして永続化されている。 Stateが何のためにあるのか、についてはオフィシャルな解説があるので詳しく説明はしないが、Stateには主に以下の目的がある。 Mapping to the Real World Metadata Performance Syncing このエントリでは、Performanceに着目する。 State Refresh Terraformは、plan/applyを実行する際に、どのような変更を行う必要があるのかを決定するために、リソースの最新の状態を知る必要がある。 デフォルトの動作では、plan/applyを実行するたびに、すべてのリソースの最新
tokuhirom さんにより開発されている Ukigumo を利用して、Puppet の CI 環境を構築してみた。やってることは以下の通り。 Puppet マニフェストを Git リポジトリで管理 Ukigumo Server を立てる puppet-lxc-test-box で Puppet マニフェストを流し込むシステムコンテナを必要なロールの分だけ用意 自前の Ukigumo クライアントスクリプト を cron で定期的に走らせ以下を実行 Puppet マニフェストリポジトリの master ブランチが更新されていたら、git pull して Puppet マニフェストをシステムコンテナに適用し、適用結果を Ukigumo サーバに投げる serverspec によるテストをシステムコンテナに対して実行し、結果を Ukigumo サーバに投げる Ukigumo のトップ画面はこ
ブログを書くまでが YAPC、ってことなので書きます。 YAPC 懇親会で @hirose31 さんと「日本人の作ったプロダクトでとても優れていて日本では知名度抜群なのに、海外では全然知られてない、みたいの割とあるけど、どうやったら serverspec みたいに海外でも認知されるようになるんですかね」みたいな話をしました。 serverspec の海外での知名度、といっても、日本での知名度と比較すればまだまだ全然、という感じですが、たまに海外の方の tweet を見かけたり、Serverspec the New Best Way to Learn and Audit Your Infrastructure というブログエントリを書いてくださった方がいたり、Food Fight という Podcast で取り上げられたり、O'Reilly の Test-Driven Infrastruct
Catalystでajax (HTML::Prototypeモジュールの使い方) 3 Posted by Gosuke Miyashita Sat, 10 Sep 2005 08:52:00 GMT changelog typoを修正。positionの説明で「4通り」を「44通り」と書いていたので。そんなにあるわけない。(2005/05/13) $prototype->form_remote_tagのオプションpostitionの説明を追加。(2005/04/30) 概要 Catalyst で作る簡単 Web アプリケーション: Feed2JS 解説を参考にしながら、Catalystをいじっていたのですが、ajaxな部分を司るCatalyst::Plugin::Prototypeについて調べたことを、ここにメモしておきます。 まず、「prototype」という名が示すのは、「原
フリーランスとして食っていけなくなったのでアルバイト始めました pic.twitter.com/AG92ed5xsI — Gosuke Miyashita (mizzy) (@gosukenator) March 23, 2018 このツイートは、たまたまセブンイレブンの制服を着る機会があったので着てみたついでに撮影して冗談でツイートしただけ。ツイートした後に、あ、これエイプリルフールネタにとっておけば良かった、と思った。 仕事について 昨年も一昨年と同様、リクルートテクノロジーズ ATL での仕事がメインで、それ以外には golang でミドルウェアを実装する仕事や技術顧問的な仕事が少し、という感じだった。 ATL の仕事としては、libspecinfra の開発をしていたけど、昨年いっぱいで契約が終了した。libspecinfra の開発は続けたいと思いつつも、仕事として時間が割けなく
監訳者なので5冊もらった。帯で名前が隠れているので、左下2冊は帯を外した状態。右下2冊は原著。なぜ2冊あるかというと、自分で買ったものと、監訳作業用にもらったものがあるから。 発売日は3/18ですが、既に先行販売してる書店とかあるかも。あと、電書版はまだないですが、オライリーさんのいつものパターンだと、間もなく電書版も出るはず。 O'Reilly Japan の紹介ページ Amazon の商品ページ 翻訳は数々の技術書、例えば最近だと、入門 Python 3 とか SOFT SKILLS とか 詳解 システム・パフォーマンス などを翻訳されている、長尾 高弘 さんです。 どんな本かというと、オライリージャパンのサイトにある紹介文を引用すると、こんな感じです。 Infrastructure as Codeは自動化、バージョン管理、テスト、継続的インテグレーションといった、ソフトウェア開発のプ
大学卒業が確定した pic.twitter.com/wEEXoUpCcY — Gosuke Miyashita (mizzy) (@gosukenator) March 13, 2019 以前 37歳で大学生になりました というエントリを書きましたが、7年かかってようやく卒業しました。在籍できる期間は最長8年間だけど、2年次から編入という形で入学したので、卒業できてもできなくても、今年度が最後でした。 仕事しながらの大学生活がどんな感じだったのか、振り返ってみたいと思います。 授業や単位について 授業は以下の3つの形態になっています。 スクーリング 実際にキャンパスに行って、2日あるいは3日間丸々授業を受ける形態。最終日は科目修得試験を受け、試験に合格できれば単位認定。 テキスト LMS(学習管理サイト)にあるサブテキストと、指定された教科書を読みながら学習を進めていく形態の授業。サブテキ
次のページ
このページを最初にブックマークしてみませんか?
『Gosuke Miyashita』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く