ラベル 行ってきた の投稿を表示しています。 すべての投稿を表示
ラベル 行ってきた の投稿を表示しています。 すべての投稿を表示

2013年8月19日月曜日

PyCon mini JPに行ってきた。



1/29(土)に楽天タワーで開催されたPyCon mini JPに行ってきました。


https://sites.google.com/site/pyconminijp/


http://togetter.com/li/94475


水曜の夜に39℃超の熱が出た時はインフルエンザだと思い欠席連絡しようかと思ったけれど、普通(?)の風邪で熱も下がったので参加してきた。


聞いたお話の中で一番印象に残ったのは


「テンプレートエンジンの高速化と失敗談について」


https://sites.google.com/site/pyconminijp/talks#TOC-1


今までほぼ関係することがなく、興味が湧いたお話は


・Sphinx(ちゃんと使ったことない)


・翻訳プロジェクト


・ハードウェア制御


翻訳に関しては、Python関連だけでなくOSS系のプロダクトだとどうしても日本語の情報が少ないので何らかの形で貢献できればと最近強く思う。


僕は論文を読まなきゃならない環境にいたことがあるので英語にはそんなに抵抗ないけど、同僚を見てると本当に英語が嫌で嫌で仕方ないって人もいるし。


講演、LTされた皆さん、そして運営の皆さんお疲れ様でした。


次回は夏頃に開催したいということでしたが、何かお手伝い出来る事があれば積極的に関わりたいなと思います。


あと先日の帰ってきたPython Workshopに参加した時も思ったが、インフラ系の人がほとんどいないような気が。


最近だとPerlは入ってなくてもPythonは標準で入ってたりするし、色々とインフラ系なツールもPython製が多いし…という事でその辺の話を自分が出来るようになりたいなと思った。


ちなみにUbuntu 10.10(の標準インストール状態からちょろっと変更してる)のコマンドでPython製と思われるものをテキトーに調べた結果は以下。













aptd


computer-janitor


computer-janitor-gtk


gconf-schemas


hpssd


ufw


update-apt-xapian-index


update-python-modules


update-software-center


2to3


2to3-2.6


X11


add-apt-repository


alacarte


apport-cli


apport-unpack


apt-add-repository


apt-mark


aptdcon


apturl-gtk


axi-cache


byobu-config


byobu-select-session


check-language-support


couchdb-dump


couchdb-load


couchpy


dh_python2


do-release-upgrade


dviasm


fontconfig-voodoo


gmenu-simple-editor


gnome-about


gnome-codec-install


gnome-language-selector


gsettings-schema-convert


gst-install


gstreamer-codec-install


gwibber


gwibber-accounts


gwibber-error


gwibber-poster


gwibber-preferences


gwibber-service


hp-align


hp-check


hp-clean


hp-colorcal


hp-firmware


hp-hpdio


hp-info


hp-levels


hp-makeuri


hp-pkservice


hp-plugin


hp-probe


hp-query


hp-scan


hp-setup


hp-testpage


hp-timedate


hp-unload


invest-chart


jockey-gtk


jockey-text


lsb_release


mako-render


manhole


mktap


nvidia-detector


ods-server


onboard


onboard-settings


pdb


pdb2.6


pitivi


protoc


purple-remote


purple-url-handler


py3_compilefiles


py_compilefiles


pycentral


pyclean


pycompile


pydoc


pydoc2.6


pygettext


pygettext2.6


pyhtmlizer


pyversions


rdfpipe


session-installer


software-center


software-properties-gtk


spd-conf


tap2deb


tap2rpm


tapconvert


trial


twistd


u1sdtool


ubuntu-support-status


ubuntuone-launch


ubuntuone-preferences


unattended-upgrade


unattended-upgrades


update-gconf-defaults


update-manager


usb-creator-gtk


xml2po


RedHatかCentOSで調べないとなんか微妙な気が…。


明日結果を載せるかも。


ちなみに同OSでPerlだと以下。


aa-audit


aa-autodep


aa-complain


aa-enforce


aa-genprof


aa-logprof


aa-status


aa-unconfined


addgroup


adduser


apparmor_status


aspell-autobuildhash


audit


autodep


complain


cups-genppdupdate


delgroup


deluser


dpkg-preconfigure


dpkg-reconfigure


enforce


foomatic-addpjloptions


foomatic-cleanupdrivers


foomatic-extract-text


foomatic-fix-xml


foomatic-kitload


foomatic-nonumericalids


foomatic-preferred-driver


foomatic-printermap-to-gutenprint-xml


foomatic-replaceoldprinterids


genprof


install-docs


install-sgmlcatalog


ispell-autobuildhash


logprof


pam-auth-update


pam_getenv


popularity-contest


pppconfig


pptpsetup


remove-default-ispell


remove-default-wordlist


select-default-ispell


select-default-wordlist


sensors-detect


unconfined


update-binfmts


update-catalog


update-default-aspell


update-default-ispell


update-default-wordlist


update-dictcommon-aspell


update-dictcommon-hunspell


update-inetd


update-locale


update-mime


update-openoffice-dicts


update-pangox-aliases


update-rc.d


update-rc.d-insserv


update-xmlcatalog


validlocale


GET


HEAD


POST


X11


a2ping


aspell-import


bogoupgrade


bogoupgrade-bdb


c2ph


c_rehash


chkdupexe


ckbcomp


compose


config_data


corelist


cpan


cpan2dist


cpanp


cpanp-run-perl


debconf


debconf-apt-progress


debconf-communicate


debconf-copydb


debconf-escape


debconf-set-selections


debconf-show


defoma


defoma-app


defoma-font


defoma-hints


defoma-id


defoma-subst


defoma-user


dh_bash-completion


dh_installdefoma


dh_installtex


dh_installxmlcatalogs


dh_pycentral


dh_pysupport


dirsplit


dprofpp


e2pall


edit


enc2xs


find2perl


findhyph


findsmb


foomatic-compiledb


foomatic-configure


foomatic-datafile


foomatic-ppd-options


foomatic-ppd-to-xml


foomatic-ppdfile


foomatic-printjob


foomatic-searchprinter


gdialog


geteltorito


getnonfreefonts


getnonfreefonts-sys


gnome-terminal.wrapper


grog


gst-visualise-0.10


h2ph


h2xs


helpztags


instmodsh


isohybrid.pl


ispell-wrapper


latex2man


libnetcfg


lss16toppm


lwp-download


lwp-dump


lwp-mirror


lwp-request


lwp-rget


make_method


md5pass


mkdiskimage


mkjobtexmf


mtrace


pdfcrop


perlbug


perldoc


perlivp


perlthanks


piconv


pkfix


pkfix-helper


pl2pm


pod2html


pod2latex


pod2man


pod2text


pod2usage


podchecker


podselect


ppmtolss16


prename


print


prove


psed


pstruct


ptar


ptardiff


pxelinux-options


rename


rpdfcrop


run-mailcap


s2p


see


select-default-iwrap


sensors-conf-convert


sha1pass


shasum


splain


syslinux2ansi


texcount


texdiff


texdirflatten


texdoctk


texloganalyser


ucfq


w3mman


x-terminal-emulator


xpath


xscreensaver-getimage-file


xscreensaver-getimage-video


xscreensaver-text


xsubpp


chkconfig


ま、まぁ現状だとね…。





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



行ってきました。


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


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







内容


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は今まであまり気にしたことがありませんでしたが、永続性を必要としないところには使ってみるのもいいかなと思いました。


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





PyCon JP 2011



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


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


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


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


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


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


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




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


良かったこと



  1. Ustreamを業者さんに頼んだこと(Twitter上でも評判よかったような)

  2. (サブトラックには)机の上にモニタがあったこと

  3. サンドイッチの提供、コーヒーブレイクが好評だったような


課題?改善点?



  1. 司会とタイムキーパーはやはり必要に感じた

  2. 誘導に関して(何時まで配置するか、看板設置有無とか)

  3. ぼっち回避策


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


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





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の中の皆々様お疲れ様でした!と共にありがとうございました!