退職します。

4月中旬で退職して次の日から新しい職場となります。

現職は中小のSIerでしたが、これからはWebサービスの企画から運用までをインフラエンジニアという立場で支える仕事になります。

今の会社は初めて社会人となったので(学生が長かったので)色々と良い勉強をさせてもらいました。

最初はPHPJavaを書いてましたがその後はOracle、ZABBIX等に基本的にインフラエンジニアとして関係しながらPythonでちょっとしたアプリを書いたりもして割と自由に裁量も与えられていたと思います。

ただ仕事を続けていく中で、SIではなく自社でサービスをしていてかつOSSをフル活用!みたいな会社で楽しそうに働く方達を勉強会等でお見かけする姿をとても羨ましく思っていました。

また、景気やエンドユーザの考え方に非常に依存した形でのビジネスのやり方に対して何かしら変えたいなと思って実際に動いたりもしましたががが…といった感じで当然ながら時間も掛かるなぁ、と。

それなら自分のやりたいような事をやってる会社に行こうと思って転職活動を始めました。

もう30だし。そんなに時間も無いと思ったし。自分が伸ばしたいと思ってるスキルを伸ばしやすい環境に身を置いてみたかったし。

というわけで今後とも宜しくどうぞ。

ZABBIX-JP勉強会に行ってきた。

ブログを更新するまでが勉強会ィィィ!

というわけで一ヶ月前の勉強会ですが感想とかを。

発表資料とかはこちら


一つ一つのセッション毎に感想を書こうかなと思っていましたが、まとめて…。

既に記憶が薄れてきているのですが…Zabbix2.0での機能拡張のお話を非常に興味深く聞きました。

2.0でジョブ管理が入るって聞いていたのでその辺のお話が聞ければな~と思っていたのですけど、どうやら入らない?みたい。

SVNから引っ張ってきて1.9系のソースを軽く見てると

  • インベントリの機能拡張
  • 1ホストに複数IPアドレス(DNS名も?) (「マルチホームホスト」と言うみたいです。)

とかのおかげでhostsテーブルの構造が少し変わってますね。

IPアドレスが1つのhostに複数紐付けられたことにより、hostsテーブルのhostidを外部キーにするテーブルが出来てたり、hostsテーブルのプロファイル、拡張プロファイルのカラムがごそっと別テーブルになってたり。

ちなみに1.8系だと公式ドキュメントにはZabbixAPIからプロファイルの設定は出来ると書かれていませんが一箇所PHPのソースを直せば既にhost.createとかの中では処理することになってるのでZabbixAPIからプロファイルも拡張プロファイルも作成・更新できます。

まぁ2.0になるとまた色々変わりそうですが。

あと注目したのはマップでホストグループ単位で1枚のマップにアイコンを羅列してくれる機能ですかね。

これは僕もお客さんと喋ってて結構よく聞く「欲しい機能」みたいなので。

てかこれと同等(?)の機能を独自に計算してAPI叩いてマップを作る、、みたいなのを目下実装中で複雑な気持ちになったりしてました。

マップの大きさの制限とか一枚に並べられるアイコンの個数の計算とかは1.9のソースをまだ見てないので今度見ておこうかなーと。

あとは他の発表(「エージェントとSNMPだけじゃないZabbix」)とも関係しますが現在ホストはIPアドレス(DNS名)のどちらも入力なしで作成出来ますがそれが2.0でも出来るのかな…?ってところが気になるところ。

これもソース読めって話なのでそのうち自己レスするかもしれません。

今回はAPIのお話が多かったように思います。

APIは確かに便利なんですが公式ドキュメントが…ちょっと…という感じはみんな思ってるのではないかと。

例えば公式ドキュメントのマップの作成のところ、例の通りに叩いても作れなかったりします。

それは、マップのエレメント作成時に指定するidが、ホストだったらそのホストのhostid、トリガーやマップも同様だったりするのですがその辺の事とかドキュメントだけではよく分からなかったりします。

今のところまとまったサンプル集は無いようなので、もしどなたかのご要望があれば作って公開しようかなーと思います。

最後に、発表者、並びに関係者や会場ご提供、ZABBIX-JPの中の皆々様お疲れ様でした!と共にありがとうございました!

PyCon JP 2011

(一番何もしてない自覚はありますが)スタッフとして参加しました。

当日は会場係ということでサブトラックにずっといました。

世界のKさんの発表の時にディスプレイのトラブルがあった以外は特に大きな問題もなく良かったかな、と。

次回以降はスピーカーとか発表する側でも関われたらなぁと秘かに…。

スピーカー、参加者、スポンサー、その他関係者の皆々様方ありがとうございました!

そしてお疲れさまでした!

(一番何もしてない自覚はありますが)スタッフとして見ていた感じだと、大成功だったと思います。


既に挙げられていることが多いですが、以下自分の関係したとこら辺でのメモ:

良かったこと
  1. Ustreamを業者さんに頼んだこと(Twitter上でも評判よかったような)
  2. (サブトラックには)机の上にモニタがあったこと
  3. サンドイッチの提供、コーヒーブレイクが好評だったような
課題?改善点?
  1. 司会とタイムキーパーはやはり必要に感じた
  2. 誘導に関して(何時まで配置するか、看板設置有無とか)
  3. ぼっち回避策

今後も何かあれば参加したりお手伝いしたいと思います!

本業のインフラ系のお仕事でも何かしたいですね…。

PyConJP 2011

Pythonistaの夏の祭典PyCon JP 2011が開催されますよっ。

ということで現在CFP募集中です。

詳しくはこちらからどうぞ。



ちなみに…前回のPyCon mini JPに参加して楽しい話をいっぱい聞けたし、なんか出来ないかなーと思い今回はスタッフとして参加してます。

クックパッド×サイバーエージェント合同勉強会

行ってきました。

入るとまずはキッチンどーん!

後ろから始終調理音が聞こえてくる勉強会は初めてでした。


内容

OpenStack

無知だったので勉強になりました。

AWSとの差異や利点はあまり分からなかったけれど、AWSが最大公約数的な形で機能拡張していくとのことなので、色々面白そうな機能を独自路線で作っていってくれれば面白いかも?

あとPython触ってる端くれとしてはGUIがDjangoで出来てるってのもいい感じ。

以下、メモ。

プライベートクラウドをやってみたかった。

Cactusが現行バージョン

AWSとの機能比較

ロードバランシングはない

Cloud ControllerによってNovaプロセスを動かす。

デフォルトのハイパーバイザーはKVM

NW構成

FlatManaget

FlatDHCPManager

VLANManeger

novaコマンド

インスタンス起動・停止

スナップショットの作成

とか

euca2oolコマンド

Pythonで出来てる

novaコマンドとほとんど々ことができる

CloundControllerが停止してもComputeNOでとインスタンスに影響はない

ComputeNodeが停止すると稼働状況が伝わらない

デフォルトではvirtioを有効にして起動される

DjangoベースのGUIが付属している

ElasticFoxでも管理できる

WebAPIはある

CloudControllerは冗長化できる?

→出来るはず

スケールアウトする?

→多分。Eucalyptusがスケールしないから作ったという話なので

AmebaPicoとAWSについて

AmebaPiggの海外版?のAmebaPicoでのAWS運用のお話。

ZooKeeperを触ったことがないのでちょっと調べたところ、以下のページが勉強になりました。(日本語

Hadoop本読書会 - 13章 ZooKeeper

MongoDB、ちゃんと勉強しないとな…と思いました。

以下、メモ。

サーバ構成(全部AWS

キャッシュが効く静的データはCloudFront(CDN

細かい大量のコマンド独自のバイナリプロトコル(Socketサーバで受ける

分散Lockサーバ(ZooKeeper

キャッシュサーバ(memcached

DB(MongoDB

ログ集計サーバ(ElasticMapReduce

とかとか

EBSにバックアップ

Socketサーバ

ノンブロッキングIO

ID管理サーバ

ユーザIDの発行

UIDと認証機関でのIDの対を管理

Point管理サーバ

ユーザIDにひもづくポイント(サービス内通貨)を管理

ID管理サーバが発行したトークン付きのリクエストで処理

DB

エンティティはバイナリ形式でKeyValueストア可能なインターフェイスを持たせて定義

3台構成のレプリカセットを6シャード

プライマリ・セカンダリ・セカンダリ(on EBS)

Flashについて

クライアントで最初にメインモジュールを読み込み

→必要におうじてサブモジュールをロード

サーバとのイベント部分にはデリゲートインターフェイスを用意

Flashとサーバ側との分業体制をきちんと整備

EC2について

60個ぐらい運用していて、2、3ヶ月に一回くらいで落ちる(バージニアだから?

落ちたり特定ポートが死んだらリブート

落ちやすいので、冗長性をきちんと確保する

MongoDB

コネクションプールが枯渇する

シャードを増やした

スペックの高いインスタンスを利用

オートバランシングの挙動

そもそもバランシングのされ方が微妙

レプリカセットのコンフィグ情報未反映問題

コンフィグ反映には全台再起動が必要

画像配信システム

ここからはクックパッドの方の発表。

画像変換あたりの技術とかはやったこともなければ聞いたこともないという感じなので知らない単語が多かったす。

発表途中のアンケートでは、Apacheモジュールを書いている人が結構多かったのかな?一番前に座っていたので分かりませんでしたが。

今だとmod_wsgiだし開発止まっちゃったけど、mod_pythonの勉強でもしようかな…と思ったり。

以下、メモ

以前

ユーザの画像をAPサーバでコピー・リサイズしてストレージにぶっこむ

そしてそれを配信

どの画像サイズ、形が適切か?

→新サイズを試すたびに画像を800万枚リサイズ

iPhoneアプリとかに対応するためにまたリサイズ?

リリースも遅くなる

画像800万枚

秒間7000枚のリクエスト

クラウド移行を検討中(EC2へ

NFSをやめたい

現行(TOFUシステム

ストレージには1枚だけ溜め込む

リクエストのたびにリサイズする

URLにサイズと画質をぶっこむ

実装

Apache Module(mod_tofu.so

画像変換

ImageMagick

ストレージ

S3

AKAMAI(CDN)の後ろにELBでバランスしてApache

S3での苦労

APIが変になった

Akamai OR CloudFront?

EC2をオリジンに使用できるようになった(CloudFrontが)けど、

Akamaiの方が速い。

Akamaiのキャッシュ率はそんなに良くない。

昔はVarnishをELBの後ろに置いていたけど、値段が高い。

tofuを増やした方が安いので、今はそうしていて、Varnishは使っていない。

AWS移行にむけて(分散DNS

非常に色々と網羅された内容で素晴らしいお話が聞けました。

あまり深い内容ではなかったけれど、全体像を伝え、そして現行の問題点とそれを改善するために分散DNSを作ったという話の流れは非常によくわかった。

メモを取らずに聴き入っちゃってました。

クックパッドのインフラは今回発表された方がリーダとしてまとめてるのかなぁと思った。

Heartbeatのバージョンが古かったので、そこは上げた方が…とは思いました。

まとめ

今回も色々なお話が聴けて非常に勉強になりました。

僕は仕事的にはこんな大規模Webサービスに関わっていないので、負荷分散やDB周り以外のキャッシュシステム導入みたいなことをやったことがなかった。

で、Squidはやったんですが、Varnishはやったことないのでnginxと組み合わせたWebサイト構築をやってみたいと思います。

あと、LTで聞いたtmpfsは今まであまり気にしたことがありませんでしたが、永続性を必要としないところには使ってみるのもいいかなと思いました。

最後に、クックパッドさん、サイバーエージェントさんありがとうございました!

今後

募金、節電以外に何かないかと思い東北地方の宿泊施設や通販を探してみた。

当然、時期は今じゃなく、半年、一年後にでもお金を使えれば。


ササニシキ・ひとめぼれ通販サイト

http://www.miyagimai.net/

食材の宅配・通販「みんなの産直」

http://watagonia.com/food/index.html

愛情倶楽部

http://www.aijyouclub.com/index.html

e-お米通販

http://e-okome.jp/

通販一番

http://www.emono1.jp/

通販.ne.jp

http://tuhan.ne.jp/

株式会社中野グループ

http://www.nakano-group.jp/index.htm

プライフーズ株式会社

http://www.prifoods.jp/

(株)マエダ

http://www.i-maeda.co.jp/

株式会社ユニバース

http://www.universe.co.jp/

紅屋商事株式会社

http://www.beny.co.jp/

マルヨ水産株式会社

http://www.e-maruyo.com/

八戸缶詰企業グループ

http://www.hachikan.co.jp/index.htm

さくら野百貨店

http://www.sakurano.info/

イオンスーパーセンター株式会社

http://www.aeonsupercenter.co.jp/index.html

株式会社マイヤ

http://www.maiya.co.jp/index.html

志戸平温泉 株式会社

http://www.shidotaira.co.jp/index.html

新鉛温泉 結びの宿 愛隣館

http://www.airinkan.com/index.html

株式会社やまや

http://www.yamaya.jp/index.html

株式会社ジー・テイスト

http://www.g-taste.co.jp/

株式会社一の坊

http://www.ichinobo.com/

株式会社一ノ蔵

http://www.ichinokura.co.jp/

服部コーヒーフーズ株式会社

http://www.hattori-cf.co.jp/index.html

株式会社ジクト(株式会社アトム)

http://www.atom-corp.co.jp/index.php

株式会社ウジエスーパー

http://www.ujiesuper.com/index.html

株式会社わらび座

http://www.warabi.gr.jp/

株式会社ナイス

http://www.nices.co.jp/index.html

株式会社ソユー

http://www.soyu-am.jp/

株式会社タカヤナギ

http://www.e-takayanagi.com/index.php

河北町商工会

http://www.kahoku-shokokai.jp/index.html

うめや

http://www.umeya-m.jp/index.html

日東ベスト株式会社

http://www.nittobest.co.jp/

株式会社マルハチ

http://maruhachi.n-da.jp/

佐藤株式会社

http://www.boki.co.jp

郡山シティホテル

http://www.niraku.co.jp/hotel/

スーパーマルト

http://www.maruto-gp.co.jp/