サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ブックレビュー
keyamb.hatenablog.com
ここ数日ジョブスケジューラ熱が高まっていますが、少し前に下の記事で知った Rundeck も気になっていました。 Rundeck - cronから移行しやすいジョブスケジューラを使ってみよう - インフラエンジニアway - Powered by HEARTBEATS Rundeck の仕組みと冗長化ポイント Rundeck はある1台のサーバ上で動作し、Web UI からジョブを登録したり実行したりできます。 ジョブは Rundeck が稼働するサーバのローカル上で実行することも、Rundeck が管理するノード(群)に対してリモートで実行させることもできます。 冗長化ポイントは以下2点です。 ジョブ実行ノード Rundeck 稼働サーバ この記事ではまず、前者のジョブ実行ノードの冗長化について考えます。 Rundeck ジョブ実行ノードの冗長化 (1) ジョブ実行ノードをHAクラスタ化
今日は1周年を迎えた Gotanda.pm #5 で Koyomi の LT をしてきました! Koyomi は私が個人で開発している分散ジョブスケジューラです。 v0.1 をリリースした際に、下のエントリで紹介しました。 シンプルな分散ジョブスケジューラを作ってみた #appkoyomi - weblog of key_amb 本日の LT 資料はこちらです: Introduction to koyomi #appkoyomi from IKEDA Kiyoshi たごもりすさんのメソッド*1に倣って、スライドは英語にしてみました。 発表自体はもちろん(?)日本語で喋りましたよ。 内容としては、Koyomiのアーキテクチャの簡単な紹介といったところです。 短いスライドで、さくっと読めると思うので、よかったら見てみてください。 懇親会では「Koyomiが使えそうな案件がある」という方もいた
今年の YAPC::Asia Tokyo は 8月20〜22日に予定されています。 今年は最後の YAPC::Asia Tokyo ということで、トーク応募にも気合いの入ったエントリーが多いような気がします。 〆切は明日までとのことですが、これを書いている 6/14 現時点で 128個 のトーク応募があります。 ゆうべ、たまたま Twitter を見ていたところ、主催者のため息が聞こえてきました。 Seriously I have no clue how/if we can choose 40 or so talks out of 124 talks… and we still have almost 48 hrs till we stop accepting talks.— Daisuke Maki (anovaさん) (@lestrrat) 2015年6月13日 英語が苦手な方でもなん
6/2 に開催された Shibuya Perl Mongers テクニカルトーク #17 に参加してきました。 自分は初参加だったのですが、なんと前回開催から4年ぶりの開催とのこと。 「もうみんな Perl なんて書いてませんよね」というアイロニーな雰囲気が漂いつつも、「やっぱり Perl 書いてる」という人もたぶん 40% 以上ぐらいはいて、LT の盛り上がり具合から見てもみんな Perl が好きなんだなと感じるひとときでした。 以下、セッションの内容になります。 一部資料はネットにアップされているようです。 観測範囲で捕捉したものは、順次本記事にも追加していきます。 例によって愚直にメモを取っていたら、かなりの分量になってしまったのですが、あまり削ったりせずに、ほぼそのまま上げておきます。 開会の挨拶 @takesako さん 前回 - 正規表現祭り 2011/7月 shibuya.p
playbook 上で例えば $HOME のような値を参照する場合、少なくとも2通りのやり方があります。 (1) lookup plugin を使う Frequently Asked Questions — Ansible Documentation playbook に次のように書きます。 vars: local_home: "{{ lookup('env', 'HOME') }}" これで、以降 "{{ local_home }}" で参照できます。 (2) Facts を使う Facts については次の公式ドキュメントに記述があります。 Variables — Ansible Documentation 環境変数は "ansible_env" というハッシュの中に入っており、$HOME は次のようにして取り出せます。 {{ ansible_env.HOME }} 以上です。
掲題の通り、「Code for 青空文庫」アイデアソン #1 というイベントに参加してきました。 イベント全容 午前中の進行は基本的に上記リンク先のタイムテーブルの通りで、青空文庫の運営側の方々から青空文庫の概要紹介や、システム構成などの説明がありました。 その後、昼休みを挟んで午後にアイデアソンが行われました。 アイデアソンでは事前に呼びかけがあった通り「インフラ」「アプリ」「マネジメント・広報」の3つの分科会に分かれて、各分科会はそれぞれモデレータの方が進行を行いました。 その後、分科会内で更に3〜6名程度のチームに分かれ、それぞれアイデアを検討して、最後に発表する、という流れでした。 現地からほぼライブでレポートを書いていた方がいらっしゃったようです。 下記に午前のプレゼン内容や、午後のアイデアソンの発表内容含めて、詳細にまとまっています。 ご興味ある方はぜひご覧ください。 インフラ
github.com 掲題の通り、軽量動作する分散ジョブスケジューラを作ってみました。 名前は Koyomi としました。 Perl で書きました。CPAN にもアップしています。*1 Motivation 出発点となった課題感としては、だいたい cron の冗長化法について調べてみた #cron - weblog of key_amb という記事に書いた通りです: バッチサーバの冗長化は割と見過ごされやすい やろうとするとちょっと面倒 上の記事では cron を冗長化するやり方をいくつか紹介したのですが、NFS は SPOF になりやすいし、keepalived を使ったやり方もなんだかトリッキーで少し複雑な気がしないでもないです。 そこで、もっとシンプルに高可用性を達成するやり方はないかなと考えて、実装してみました。 動作原理 仕掛けは割と単純で、スケジュールのデータストアをスケジュー
今週も秋葉原のクリエーションラインさんのオフィスにお邪魔してきました。*1 今回は「HashiCorp道場〜入門編〜」ということで、HashiCorp 製品ラインナップの Overview と各製品の機能概要、既存の同種のツールとの比較について講演がありました。 HashiCorp 製品はいろいろと記事を読んだりはしていたものの、Vagrant ぐらいしかまともに使ったことがありませんでした。 そんな私にとっては Vagrant も含めて各製品の情報をまとめて得られるという、とてもありがたいセミナーでした。 講師は @zembutsu さんでした。 発表資料は下のスライドです: HashiCode 01 - HashiCorp道と自動化ツール群 from Masahito Zembutsu 以下、講演内容のメモになります。 Tao of HashiCorp (HasihCorp道) ※今日
今夜は、Mackerel Meetup #4 Tokyo に行ってきました。 元々は 5/12 に開催予定でしたが、台風上陸のため延期となりました。 さて、DataDog など監視 SaaS の情報はときどき仕入れていたのですが、実際に使ったことはありませんでした。 ので、こういう Meetup で参考になる情報が得られるといいな、と思い参加しました。 発表ではビズリーチさんのユーザ事例を聞くことができ、懇親会でも何名かユーザの方とお話しができたので、有意義だったなと思います。 5/28、Mackerel のブログで発表資料が公開されました。 本稿でも資料のスライドは共有しますが、上記記事も参考にして頂けるとよいかと。 以下、発表内容のメモになります。 進化するMackerel:最新機能アップデートとロードマップの紹介 はてなCTO @stanaka さんより、最近の Mackerel の
5/20 クリエーションライン社で行われた「CHEF Business Meetup ~CHEF社Dicretor来日イベント~」に行ってきました。 内容は前半が ChefConf 2015(3/31-4/2開催)のレポート、後半が Chef Evangelist の Seth Thomas によるセッションでした。 以下、聴講のメモです。 ChefConf 2015 レポート クリエーションライン社顧問 鈴木さん 15分ぐらい遅刻して、前半部分を聞き損ねました。 こちらの資料は後ほど CL Lab に公開されるとのことでした。 Disney の事例 IT投資してる OSS 組合せて独自にシステム構築 独自 Cookbook 多数 独自 Supermarket 300 台の Hadoop 30 個の Cookbook 20 PB の Hadoop ストレージ BI Chef, Docker
Apache Mesos はすごいプロダクトだと思うのですが、単にジョブスケジューラを冗長化するという用途に対しては、やや牛刀な感があるツールだと言えるでしょう。 一方で、バッチサーバの冗長化というのは、割と見過ごされがちなポイントではあると思います。 そこで、もっとライトな方法でこれを実現できないかと少し調べていました。 そこから派生して、cron の冗長化についていくつか情報を得たので、以下にまとめてみます。 (1) 実は cron 自体にクラスタリングの機能がある http://man7.org/linux/man-pages/man8/cron.8.html#CLUSTERING_SUPPORT 上の Man ページに記載の通りです。 ただし、実は cron 自体の実装には Linux Distribution やバージョンによって差異があります。上は fedora の croni
PaaS 勉強会番外編に行ってきました。 PaaS とそれほど近い立ち位置にいるわけではないのですが、最近ときどき話題に上る Cloud Foundry / Lattice についての深い話題が聞けるということで、興味があって参加しました。 Cloud Foundry は国内で使っている事例をほぼ聞いたことがなかったので、どこか謎に包まれているイメージがありました。 Lattice という、Cloud Foundry が提供する次世代のコンテナベースの PaaS の発表が記憶に新しいのですが、自分の中では下のツイートで注目度が高まりました。 The 'war' on PaaS is almost over, CloudFoundry won, just quite a number of people are denial.— Simon Wardley (@swardley) 2014年
これもだいぶ今更感ありますが、Mac の zsh に peco を入れて設定してみました。 peco について知らない人のために一応かんたんに説明すると、@lestrrat さんが元は Python の percol というツールだったものを Go 言語に移植したもの*1で、テキストをフィルタして、history などの検索を楽にしてくれるものです。 ネット上で話題になって、一部の技術者界隈で流行ったのはたぶん半年以上前で、そのときにも一瞬だけ触ったのだけど、そのときは使い込まずに終わりました。 …で、なくてもなんとかなるかなと思っていたのですが、最近「pecoないと死ぬ」と言っている人が周囲に3人ぐらいいたので、「そんなに便利なのか」と、そろそろもう1回トライしておくことにしました。 今では Qiita などに先人たちの .zshrc や .bashrc の設定がアップされているので、あ
なんとなく自分の中で暗黙知になっていることをまとめる。 職場での経験や、外部で見聞した情報がベースになってると思います。 今のご時世においては、一般ユーザとしてフリーソフトを使うようなケースでも、ある程度当てはまりそう。 前提 OSS なり、自前で開発・保守していない、外部のソフトウェアを利用する場合のこと 初回システム構築時でなく、運用フェーズの話 原則 必要なバージョンアップは実施する 不要なバージョンアップは見送る 旧バージョンと互換性のない変更や、仕様変更によって問題が生じることがあり得る ふつう、バージョン差異が大きいほどこのリスクが高まると言っていいだろう 保守が停止したソフトウェアは捨てるか、自前で保守していくか選択しなければならない バグ・セキュリティが修正されないため 脆弱性が問題になるリスクが低いケースもありそう 例えば内部ネットワーク内でしか利用しないソフトウェア ず
はじめに Atom エディタはリリース頻度が高く、すごい勢いで進化してると思います。 少し前の記事の情報で「このパッケージを入れて〜」のようなものだと、既にコア機能に入っていることもあります。 自分の場合、Atom の主な用途は以下のようなところ: Markdown の編集メイン。 最近デフォルトのテキストエディタとしても使いだした。メモ帳代わり 最近 HTML, CSS などいじる機会があったので Atom で書いてた。 動作環境は Mac OS X です。 用途も限られているし、使い倒しておらず、ほとんどカスタマイズしてない部類だと思います。 初期設定 trailing space の自動削除と、ファイル末尾の空行を1つにするやつを無効化する => (メモ) Atom エディタで trailing space の削除を無効化する方法 - weblog of key_amb 無効化しなく
※2016/4/6 記事更新 こちらです。 Complete List | Hugo Themes にも Pull Request を送って、入れてもらっています。 Motivation 以前に Markdown によるドキュメント管理について、記事を書きました。 Markdown による中規模ドキュメンテーションシステムについて調べた。 - weblog of key_amb その後、Pelican や MkDocs を試したものの、なんだか帯に短しタスキに長しな感じで、必要十分なドキュメンテーション用の機能を満たすものがない感じでした。 Pelican 触ってみたところ、やはりデフォルトはブログ用ですね。ドキュメンテーションに適したレイアウトにするには Hugo などと同様、初期工数が要りそう。— きいあむ → @progrhyme (@key_amb) 2015年4月4日 だったら
最近ブログが勉強会参加レポートばかりになっている感がありますが、今日(4/22)は MyNA (日本MySQLユーザ会) に行ってきました。 ここのところ話題になっていた '🍣' = '🍺' 問題や、パフォーマンス・チューニング Tips, MySQL 5.7 の性能 / 新機能と、盛り沢山の話が聞けて、大変勉強になりました。 当日の Tweet が togetter にまとめられています。 発表内容と照らし合わせて見ると、参考になる情報もあるかもしれません。 以下、発表内容のノートになります。 資料はまだネット上に上がっていないものもあるようですが、捕捉したらこちらの記事も更新します。 (愚直にメモを取っていたので、かなりの分量になりました ^^; ) 🍣=🍺 とみたまさひろさん = from Masahiro Tomita 自己紹介 日本MySQLユーザ会代表 MySQL的
「GCP を検討しているエンジニアのための Compute Engine と AWS の比較」というイベントで、本郷三丁目にあるコワーキングスペースに行ってきました。 仕事などで AWS を使う機会はあったのですが、 GCP は触ったことがありませんでした。 一方で、GCP ではここ最近 Nearline Storage や Cloud Logging のリリースといったニュースもあり、本イベントは気になるテーマでした。 本イベントでは、発表が1つと、GCE でインスタンスを動かしてみるというハンズオンがありました。 イベントに関するツイートは下の togetter でまとめられています。 以下、イベントの内容のメモとなります。 GCPを検討しているエンジニアのための GCE と AWS の比較 ~どんな時に GCE を使うの?~ ハートビーツ @rrreeeyyy さんの発表 20分ぐら
4/9(木) に開催された CoreOS Meetup Tokyo #1 に行ってきました。 3時間の中でイントロ除いて発表が7つあり、かなり内容が濃かったです。 一番面白かったのは @kawamuray さんの Docker に CRIU を実装した発表でした。 CRIU はコンテナ界隈でも注目度が高い技術のようで、近い将来、この時デモで見たような機能が誰でも使えるようになるかと思うととても楽しみです。 また、Wantedly や pixiv で実際にプロダクション環境で運用している話も聞けたのは収穫でした。 コンテナ技術は運用ノウハウがまだ業界的に溜まっておらず、各社手探りでやっている印象を受けました。 一方で、@higebu さんの次のコメントが特に印象に残りました。 バグは何にでも存在するからバグを恐れてたら何もできないんだよな #coreosjp— Yuya Kusakabe (
Atom エディタ最近使い始めたのですが、以前に調べたときにやり方がわからなかったので、メモしておきます。 今は日本語の情報も少ないので、初心者はハマりそうな気がします。 動作環境としては MacOS X Marverics で、Atom 0.189.0 を使っています。 少し前に触った時から設定周りの UI がだいぶ変わったような気がします。 ここで、trailing space というのは行末の空白のことです。 多くのプログラム言語含む文書ファイルでは不要なものなので、デフォルトで自動削除なのはわからなくもないのですが、例えば Markdown だと trailing space で改行を表したりしますので、このデフォルト設定に戸惑う人もいると思います。 この trailing space の削除は core package に含まれる whitespace *1 の機能です。 このパ
JAWS-UG中央線第5回勉強会に行ってきました。 初めて JAWS-UG のイベントに参加しました。 けっこうカジュアルな感じでしたね。 個人的には Aerospike の話が面白かったです。 Aerospikeの話おもしろかったな。レプリカ作れて容易にスケールアウトできて高速なKVS普通に便利。けど最後の「DynamoDB使った方がいいと思います」で力が抜けてしまった(笑) #jawsug— きいあむ → @progrhyme (@key_amb) 2015年4月3日 色んな言語のクライアントライブラリあるみたいだし、オンプレだったらmemdの代わりとかで使えるんじゃないかなと思った。 #jawsug— きいあむ → @progrhyme (@key_amb) 2015年4月3日 キャッシュとしてならオンプレもクラウドもありだと思います RT @key_amb: 色んな言語のクライアン
(追記) タイトルを "【緩募】Markdownによる中規模ドキュメンテーションシステム" から変えました。 (更に追記) 後日談 => Hugo で "bootie-docs" というドキュメンテーション用のテーマを作った #Hugo - weblog of key_amb 下のような疑問を持ったのがきっかけで、Twitter でつぶやきつつ調べたりしていました。 結論としては下の方に書いてある通り、静的サイトジェネレータの Jekyll や MkDocs あたりを使うのがよさそうです。 最初、Sphinx が手堅いだろうと思いましたが、今や Sphinx でなければならない理由はないかな、と。 そこそこの規模のソフトウェアドキュメントをテキストベースで書くのに最適なツールなんですかね? Sphinx はカタいのですが、できればMarkdownで管理したい。— きいあむ → @progr
Sensu Deep Talks #1 に行ってきました。 Sensu Deep Talks #1 - connpass Sensu を使ったことはないのですが、エージェント型で Immutable Infrastructure に適した監視ということで、以前から気になっていました。 今回は現場で Sensu を使っている人の深い話が聴けてよかったです。 以下、発表内容です。 ※資料がアップされたので追加しました。 Sensu with Golang Sensu with golang from Akihiko Horiuchi @hico_horiuchi 大学院修士1年生の方。 ohgi - Go 製の Sensu CLI GitHub - hico-horiuchi/ohgi: 扇: Sensu command-line tool by Golang v0.1.4 APIひと通り叩け
先週の始めに、はてラボで大チェッカーという新サービスがリリースされました。 同日のはてなブックマーク開発ブログのポストによると、この大チェッカーを元に新しいRSSリーダーが作られるそうで、期待大です。 大チェッカーは何が違うか? この大チェッカーですが、従来のRSSリーダーと違って、ソーシャル性があります。 かんたんに書くと、次のような使い方が出来ます。 いくつかのRSSフィードをまとめて「アンテナ」を作る 1人で作ることも「アンテナ」を公開して共同編集することもできる 他人が公開したアンテナを購読することもできる 1人で使うとただのカテゴリ化できるRSSリーダーなのですが、それを共有できるところが違いです。 いわば、ソーシャルブックマークのRSSフィード版と言えるだろうと思います。 大チェッカーに登録されている便利な「アンテナ」 リリースから1週間余りが経ちますが、日々アンテナが増えてい
第1回 Apache Mesos 勉強会に行ってきました。 第1回 Apache Mesos勉強会 - connpass Mesos が何かを一口に言うのは難しいですが、サーバを束ねてクラスタとして扱い、そのクラスタ上で色んなアプリケーションをジョブとして実行させるもの、というような認識をしています。 最初に勉強会の印象ですが、いつも行く勉強会と違って Web 系エンジニアの比率が低く、けっこう色んな業界、分野で注目されている技術なのだなと感じました。 以下、勉強会内容のメモになります。 コンテナ向け軽量OS比較 TIS 森元さん。 コンテナ向けの軽量OSとして CoreOS、Project Atomic、Snappy Ubuntu Core の比較。 各OSの特徴、リソース消費、今後の動向予想など。 下記、森元さんが書かれた記事に本発表と関連する内容がまとまっている。 Dockerをより
だいぶ今更感がありますが、重い腰を上げてようやく Go 言語を触ってみることにしました。 主に下記記事を足がかりに学習を進めています。 私的メモ: golang 学習 - A Tour of Go をなぞる 開発環境は MacOS Mavericks で、エディタは Vim です。 以下、インストールから、初めてのライブラリ作成までのログです。 (1) Go Install / Configure 公式ページからMac用のパッケージをダウンロードしてインストール。 Downloads - The Go Programming Language インストール後、ターミナルを起動し直すと、/usr/local/go/bin に PATH が通っていた。 % which go /usr/local/go/bin/go % go env GOARCH="amd64" GOBIN="" GOCHAR
CONFIG GET ができないとかいう制約があるのは別として、最近ハマって、他の人もハマりかねないだろうと思うことを書いておきます。 Cache Cluster のスペックアップができない RDS のように作成した Cache Cluster のインスタンスタイプを変更することはできません。 AWSサポートに問い合わせても現時点ではできないという回答でした。 また、異なるインスタンスタイプのノードをレプリケーショングループに追加することもできないため、現時点でスペックアップしたい場合、新たな Cache Cluster を作成して手動でデータ移行と、アプリケーション側のエンドポイント切り替えを行う必要があります。 最近 Multi-AZ なクラスタ構成がサポートされたので、近い将来にはスペックアップ(インスタンスタイプ変更)もサポートされると期待したいものです。 Freeable Mem
カーネルの I/O Accounting 機能を利用する Linuxでカーネルのバージョンが 2.6.20 以降であれば、IO Accounting機能を使うとよい。 これが有効になっていれば、プロセス毎のI/O統計情報が /proc/${pid}/io に出力される。 …が、全プロセスについて、これを自前で分析するのは疲れるので、pidstat や dstat のようなツールを使うのが楽。 参考 IO Accounting 機能で I/O 負荷の高いプロセスを特定 :: drk7jp dstatの万能感がハンパない - (ひ)メモ iodump 2.6.19 以前のカーネルではどうすればいいか。 例えば、iodump というツールがある。 これは以前 Maatkit に含まれていた Perl スクリプトである。 使い方としては、以下の通り。 # download iodump wget
foldingのショートカットは使ってないと忘れてしまうが、覚えていると捗るので、まとめておく。 ショートカット 開閉 対象範囲 備考 zo, zO 開く カーソル下 oで一段階, O で全て開く zc, zC 閉じる カーソル下 cで一段階, Cで全て閉じる zr, zR 開く ファイル全体 rで一段階, Rで全て開く zm, zM 閉じる ファイル全体 mで一段階, Mで全て閉じる za, zA 開閉 カーソル下 閉じてたら開く, 開いてたら閉じる。aで一段階, Aで全て 参考 Vim documentation: fold
次のページ
このページを最初にブックマークしてみませんか?
『weblog of key_amb』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く