スベリミナル効果

技術的なことを書こうと思ってたけど何でも書くことにします

技術的なことを書きたいんですけどね… 指摘・質問・罵倒コメントください…
ダジャレ好きの方はこちらにどうぞ→スベリブログ2.0

July Tech Festa 2016 に行ってきました

rebuild.fmの宣伝で聴いたのをきっかけに July Tech Festaに参加してきました。

インフラエンジニアの夏の祭典ということで、自分の業務的にはYAPCなどよりもこちらの方が近く、もっと前から参加してればよかったなあと思う話ばかりでした。ブログを書くまでがJFTということなので、聞かせていただいた話について自分の感想をつらつら書かせていただきます。

 

現実が正解だ!やってみんとわからんことだらけ さくらのIoT企画 開発365日の軌跡 そして次の365日へ

はてなインターネットにて、IoT用のインフラサービス(さくらインターネット、「さくらのIoT Platform」を2016年度中に提供)を提案して実現するまでのお話。色々と気づきがありました。

  • 自分にIoTインフラの視点が無かった

IoT機器が増えるとどうなりますかねー、みたいな話は度々してたんですが、基本的にセキュリティの話ばかりでインフラを提供するという目線の話は全然していませんでした。色々足りてないなあと実感しました。

  • 新しいことを始めるのはどこでも大変

企画を考案し、イメージ化、提案・交渉(予算獲得)、開発人材が入る… に至るまで約3ヶ月を要したと。人によっては長い・短いが違うと思いますが… ということでしたが、個人的には早いんだと思います。会社規模が大きくなるほどここの所要時間が増えていくのだと思いますが… さくらで3ヶ月なら他ではどのくらいかかるんでしょうね… 自分の会社では…考えたくもない…まずそこの流れがどうなってるのかすら分からん

  • 知らないこと沢山

MarathonとかRoLaとか全然知らんかった。天草Xアスロンも知らなった(それはしょうがない)。導入事例の話は興味深かったです。

 

情シス戦線異状アリ!? 自作のパケットレコーダーで海外拠点のLANを自動監視してみた

スライド:http://www.slideshare.net/cloretsblack/lan-64323110

海外拠点を結ぶインフラでのトラブルシュートを自動監視したというお話。インフラではないけど、ネットワークの問題をトラブルシュートしてる身としては非常に共感もあり、勉強になることもあり、すごくためになりました。

  • 海外の事情

海外ならではの問題が印象的でした。国による法律的な問題とか、スイッチ売ってないとか、小数点の区切りがピリオドではないとか、様々なものがあるんだなあと驚きました。国内でもままならないのに、すぐ「海外展開だー」という話が出る昨今、このようなお話はとても貴重でした。

  • 情シスの事情(私は情シスでは無いですが)

Q.最も感謝される場面は? A.困り事を迅速に解決したとき > 障害を未然に防いだとき ←それな

未然に防いでも誰も褒めてくれない…(は言い過ぎかもしれませんが)、これ本当にそうなんですよね、何かが発生してすぐ解決できるほうがポイント高い。海外の従業員相手にはギブアンドテイクが必要という話もありましたが、そうなってくると定期的に問題発生させて自動解決する仕組みでも作った方がいいのではと思ってしまったり…(ダメ、絶対)

迅速な問題解決のために、パケットをキャプチャし続けて異常を検知する仕組みを構築、自身で販売もされているそうです(リンク参照)。確かにこういう仕組みが無いとキツイとようやく気づき始めていた今日このごろなので、見習っていきたいなと思いました。私の所のサービスでは、定常的にキャプチャし続けることは愚か、機器一個追加してもらうのも大変な現状なので、やり方を工夫する必要はあるのですが…

 

人工知能の技術で有名なニューラルネットワークのフレームワークであるChainerを用いた対話Botを使った俺の屍を越えてゆけ

スライド:http://www.slideshare.net/Gushi/chainer-bot-slide-share-64321155

機械学習系は知識さっぱりながら聞いてみました。正直、中盤以降はキツかったです…

  • 対話botについて

対話型botの価値や個性について、分かりやすく説明していただき、ふむふむなるほどと聞いていました。キャラクター性を付けるって難しそうだなあと思ってたらできてなかったw

  • 概念…?距離…?

ゴメンナサイ。

あと、エンティティキリングって強そうなポケモンのわざだなと思いました。

 

CIプロセスにセキュリティ診断を組み込もう!Eclipse CheとOWASP ZAPで実現する、セキュアなシステム開発のすすめ

  • OWASP, OWASP ZAP

名前は聞いたことあったんですが、ちゃんと知らなかった。The Open Web Application Security Projectの略ですね。内容は… 以下のスライドが分かりやすいよ、とのことでしたw

Presentations by OWASP Japan // Speaker Deck

とにかく世の中をセキュアにして、インターネットで余計なものを気にせず謳歌したいと、そういうことみたいです。ZAPはそのためのWebサイト診断ツールです。ローカル環境で使ってみたけど、やはりローカルではイマイチ有用性が分からんですね。借りてるレンタルサーバにぶつけてみたいけど… 怒られそうなので止めておきました。

元々、発表者の方が立ち上げたコミュニティとのこと。勉強会のドタキャンが多くて困っているらしいので、申し込んだら行きましょう(ここで私がいうことか?)。偶然にも話題のDoorkeeperのページだったので今後の動向が気になります(主旨が違う)。

Eclipse Next-Generation IDE!!とのことで、今後ちょっと触ってみようと思いました。本当に思ったよ。

 

サーバ構築をbashスクリプトから自動化ツールに変えてみませんか? 

スライド(公開用):http://www.slideshare.net/deadbeef00/jtf2016

発表用と公開用のノリが違い過ぎてワロタwww それはさておき。

少し状況は違うのですが、スライドと似た課題をどうにか解決すべき立場にいるため、色々考えさせられました。以下の記事は発表者様が書いたもので、スライドの詳細とも言えるものなので合わせて参照すると良いみたいです。

  • ツールを導入すべきかどうかの判断

質問もさせて頂いたのですが、ツールはツールで学習コストがかかります。一方、bashでも少し頑張れば、自動化はある程度可能だと思います。例えば、今回のスライドの「大量のサーバに同一スクリプトを適用してログも残したい」という問題であれば、以下の感じでいけると思います。

servers.txt ここに対象サーバのIPとポートが書かれているとして、

192.168.0.1:2222
10.0.0.1:22

以下のようにssh経由で実行し、スクリプト実行結果をそのまま残すことができます(鍵とか設定済み前提)。

#!/bin/bash
USER=root
SCRIPT=./set_snmpd.sh # yum -y install net-snmp とかやってるシェル
LOG=hoge.log

for server_port in $(cat servers.txt); do
	server=${server_port%%:*}
	port=${server_port##*:}
	echo "#####################################" >> $LOG
	echo "Start install script @ $server_port"   >> $LOG
	echo "#####################################" >> $LOG
	ssh -l $USER -p $port $server 'bash -x ' < $SCRIPT >> $LOG 2>&1
done

まあ、もう少し整形しようはあると思いますが… SCRIPTを変えれば、基本的に使いまわせるはずです。

個人的な話になりますが、自分でできるものは自分で作らないと気がすまないオジサンがいるため、よく分からないツールは基本的にNGを喰らってしまいます。ただ、事実ちょっと頑張れば自動化はできるわけで、使い方を調べる必要のあるツールを使う必要があるのかしら?とも思うわけです。

この辺りを質問というか相談させて頂いたのですが、まずは使ってみてどれだけ楽になるかを示す、証拠を残したり複雑な作業が必要になったときはツールの方が良い、というようなお話をいただきました。

加えて、たまたま見つけた以下のQiita投稿は非常に参考になりました。

「無理をしない」とは

  • chef,ansibleなどのdevopsのツールは、 「開発者がインフラ設定をするためのもの」と解釈されがちだ。

  • しかし、少なくとも自分の周りでは、開発者が、開発者がイキナリ、インフラ設定をすることは想定していない。インフラの知識や構成管理の知識がないためだ。これらのツールを使う人は、通常、インフラ担当者や運用担当者が想定される。

  • 開発を生業をしていない人(インフラ担当者や運用担当者)が、使うツールとして、ゴリゴリとしたコーディングではなく、設定ベースや手順ベースでできる事が重要。

  • 開発している人が忌み嫌うベタ書きを是とした記述で可読性を上げるという考え方です。
    要は「コーディングではなく、手順書の延長としてのツール」が重要です。

多分、それなりの開発者が実施し、かつそれなりに低コストで実現できるのであればツールはそこまで必要でないのかもしれませんね。ただ、一回作った後に、コーディングをしない人に回してもらうなどを考えるならば、このようなツールを検討すべきなのかな、と思いました。

 

なんかエラく話が発展してしまった…このペースだと書き終わらないのでこの辺で… 別記事としてもう少し書くかもしれません。

 

ディープラーニング入門-DQN(Deep Q-Network)の理論解説とTensorFlowを用いたシンプルな実装例

スライド:http://www.slideshare.net/enakai/tensorflowdqn

憧れの?中井さんの発表だったので。DQNが何かはほとんど知らなかったけど… 中井さんのブログにはCentOS7やらDocker絡みの話でお世話になりっぱなしだったので、本人を見たいというミーハー感がありました(なんか気持ち悪いな

  • 分かった気になった

DQNの理論をわりと初心者向けに丁寧に解説して頂いて、なんか分かった気になったぞ!という感覚を得られました。私は、学生の頃に組合せ最適化問題を解く研究をしていたので、基本的な部分(局所解に陥らないよう探索する)は同じだと思うのですが、多段になるとかその辺がまだまだ良くわかってないですね… いいきっかけを貰えたので、学習してみようと思いました。最近になって フェルマーの最終定理 (新潮文庫) を読んでいたのも、数学の話を聞く上で丁度良かったと思いました(笑

  • 学会こわい

質疑応答にて、久々に学会での厳しい質問の感じがあり、少し懐かしさを覚えました… ちょっとハラハラしましたね笑

 

懇親会

今回もぼっちで懇親会に参加しました。人見知り+技術話についていけなさそう、という恐怖で大抵そんなに話せないのですが、今回はDMM.com Laboの方に声をかけて頂いたり、その流れでカッコイイ名刺の株式会社Aimingの方とも話せたり、発表者のSonarmanaさんから色々聞けたり、最後ちょろっと中井さんともお話できて楽しかったです。こんなに話すならちゃんと名刺補充してくればよかった…(4枚しか入ってなかった…)

 

 おわりに

なんか適当に書きすぎた気がしますが… とにかくためになったし、非常に楽しかったです。お弁当や飲み物、お菓子の充実や豪華な景品などもさることながら、運営の方々が凄く親切なのが印象的でした。本当にありがとうございました。

 

しかし、こういう場に行くと完全な受け身状態になってしまって、自分から発信というか、ギブアンドテイクのギブができない人材だなあ、と痛感させられます。なんかこう、もう一段上にいくというか、能動的に発信していく姿勢を持たなければいけないなあとしみじみ思いました(って、2,3年前くらいから言ってる気がするけどね)。