運用エンジニアから開発エンジニアになるためにやったこと

Webの会社でエンジニアを始めて4年、ずっと運用エンジニアをやってました。運用とは端的に言うと、社内外の他人が作ったソフトウェアを期待通りに動作させるためのエンジニアリングだと思ってます。アプリケーションはもちろん開発者が作ったものですし、MySQLやApacheやLinuxも全部他人が作り上げたソフトウェアであり、それらの設定を変更したりパッチを当てたり運用ツールを駆使することで、協調動作させることに磨きをかけてきました。

ただ、いつまでたっても他人の作ったものの面倒を見てることには変わりないし、運用ツールを開発したところでそれはあくまで誰かが生み出す価値のサポートにすぎないのが自分的には満足できなくて、ずっとアプリケーション(ビジネスロジック)が作りたいと思ってました。

»

Author image riywo

proctaskというタスク実行ツールをGoで書いてみました

最近Goを書きたくなったので挑戦してみました。お題は、stdinを受け取ってstdoutに結果を出すタスクを、全部ファイルベースで行いたい、というもの。stdinとなるものをファイルに書き込んでおくと、それを読み込んで実行プロセスのstdinに渡してくれて、stdoutを受け取ったらそれをまたファイルに書き込むようなイメージです。実行時にはenv varを設定したりできたり、stderrも別に書き出したりしたいですね。

というわけで作りました。README参照。ついでだったので、bash -l的な感じで実行ユーザのprofileも読み込んで実行してみたので、PATHとかがログインした時と同じ感じで使えると思います、多分。

»

Author image riywo

AWSのRoute53で簡単Dynamic DNS with Heroku

ふと家のネットワークにVPNしたくなった→VPN Activatorで超簡単にできた→せっかくだからDynamic DNSで家のIPアドレスに名前付けたい→Route53触ってみたかったの思い出した→スクリプトでRoute53更新するのはなんか嫌→Herokuにアプリ作ってcurlで叩いたらRoute53更新するようにしたらいいのでは!!!という長いyackを経て、簡単なアプリを作ってみました。皆さんやってそうですが。。。

なんてことはないアプリで、HerokuにデプロイしておいてLAN内のサーバからGETリクエストするだけで、自分のAWSのアカウントのRoute53のAレコードを、REMOTE_ADDRなIPアドレスに更新してくれるだけのものです。READMEの通りに自分のHerokuにデプロイして設定だけすれば、叩く側はcurlがあれば(wgetもいける?)簡単にDynamic DNSの完成です。

»

Author image riywo

JenkinsでCronジョブを定義するjenkins_cronを作ってみた

何年前の話題だよという感じですが、ふとJenkinsをCron代わりに使ってみようかなと思ったのですが、ブラウザの画面でポチポチするのはなんだかなーと思ったので、DSLを書いてそれを元にJenkinsのAPIを叩いて更新するというだけのモジュールを作ってみました。

使い方

こんなイメージ。config/jenkins.ymlにJenkinsサーバへの接続情報を書いておきます。

»

Author image riywo

DBA的な視点から見たgit

gitは現在分散バージョン管理システムの中では最も使われているものだと思いますが、サーバ管理やネットワークだけやってるエンジニアからすると、gitは開発者が使うもので、なんか難しそう、と思って敬遠しがちです。実際僕も昔はgitなんてコマンド打ちたくありませんでした。しかし、分散バージョン管理システムというのは、複数人でシステムを運用(not開発)する際にもとても役に立ちます。このエントリでは、いわゆる一般的なgitの解説とは違った視点から、gitの良さを書いてみたいと思います。

ちなみに、gitの基本的なアイデアについてはこちらのエントリが分かりやすいと思います。

»

Author image riywo

「これからのWeb(バックエンド)」を自分の頭で考えてみた

ふと今更、年初のCROSS 2013の「次世代webセッション」の動画を見て、うんうん唸ってしまった。プロトコル編の方は知識不足であんまり分からなかったですが、アーキテクチャ編の方はグサグサくるものがあった。「自分の頭でこれからのwebを考えてブログに書くまでがこのセッション」という宿題が出ていたので、せっかくなので最近考えてることをつらつらと書いておこうと思った次第。特にまとまりはないですし、戯言です。

前提

僕はコード書いてない&サーバサイドしか見たことない&WEBサーバはあんまり見たこと無くて、それより後ろ側ばっかり見てた人なので、ユーザ側とかアプリ開発者がどうなっていくかについて特に尖った意見はありませんorz SPDYとかもまだ手を出してなくて眺めてるだけ。

»

Author image riywo