2016年2月9日火曜日

nginxのことをよく知りたくて、『「nginx実践入門」出版記念!執筆者らが語る nginx Tech Talks』に参加しました!


nginx には興味津々の なのまるです!
そういや、最近買ったばっかりの『nginx実践入門』のイベントがあるってことで、行ってきました!

裏では「さくらのIoT」イベントがあったんですけどね・・・w

もくじ



「nginx実践入門」出版記念!執筆者らが語る nginx Tech Talks

「nginx実践入門」出版記念!執筆者らが語る nginx Tech Talks - dots. [ドッツ]
  • メインセッション
  • nginx実践入門 メイキング - @cubicdaiya 氏
  • 正誤情報とサンプルコードでみるnginxの使い方 - @harukasan 氏
  • ​Advanced nginx in Mercari​ - @kazeburo 氏
  • ngx_mruby 実践入門 - GMO ペパボ 柴田博志 氏
  • Lightning Talk x 6
実践で使われている話が多く、とっても参考になりました。

しかし、頭が追いついていないです・・・。

メモ書きでもいいから、後々に役立つように残しておこうと思います。

nginx実践入門 メイキング - @cubicdaiya 氏

書籍の構成など、初期の頃と今とで執筆する内容の差異など紹介いただきました!

TLS(HTTPS)の部分を抜き出したり、Openrestyの紹介など
全部は覚えていないので、資料待ち。

あ、なんか「動的に証明書変える」(ssl_certificate_by_lua_file) とか、話ししていましたね!


正誤情報とサンプルコードでみるnginxの使い方 - @harukasan 氏

nginx実践入門の著者 @harukasan 氏

まず、

nginxの表記について、『nginxかNGINX』(全部大文字か小文字)が、正しい表記らしいっす!

nginxの運用で実際に利用するときは、『mainlineの最新版をビルド』を使うそうです!
(無停止バイナリアップデートが出来るんだと!)
「rootディレクティブ」の使い方のハマりどころを紹介いただいたり。とっても実践的なお話でした。
nginxを使うと、ノンブロッキングでアプリ処理のスレッドブロックを回避できるってお話。
全部は飲み込めてないです・・・w(勉強します!)
とっても、良い資料とお話ありがとうございます。

Advanced nginx in Mercari​ - @kazeburo 氏

メルカリの @kazeburo 氏
  • 継続的なnginxのアップデート
  • TLS 最適化
  • SPDY から HTTP/2 へ

継続的なnginxのアップデート

harukasanと同じように、「mainlineの最新版をビルドして、無停止アップデート」を運用しているそうです。
mainlineは、月に1回から2回くらいアップデートが行われているが、そちらにも対応しているとのこと。

ちなみに、stable版は『バグフィックス(緊急度の低いもの)・機能追加』が行われないんだそうです。

その辺りは、こちらにも記載がありました。 どのバージョンのnginxを使うべきか? - 考える人、コードを書く人

TLS 最適化

  • PFS - Perfect Forward Secrecy
この辺は、こちらのwikiも読んで勉強しておきます!
Security/Server Side TLS
  • TTFB - Time To First Byte
TLSで使われるハンドシェイクのキャッシング。
複数サーバー間では、TLSのセッションキャッシュが共有出来ない話とか。

この辺は全部はわからなかったです〜!勉強しておきます!

SPDY から HTTP/2 へ

気がついたら、世間は「HTTP/2」の時代へ
と言いつつも、データを見るとまだ「SPDYには対応しているが、HTTP/2」に対応していない、特にモバイルアプリが未対応が多いとの結果。
SSLLabの資料とかが面白いですよ!って、紹介いただきました! Trustworthy Internet Movement - SSL Pulse
SSLLabは確かにツールとしては、使わせてもらっています。
SSL証明書の適用がうまく行っているかとかのチェックにね!

以下、素晴らしい資料なのでご一読あれー!

ちなみにSSLでいえば、こちらも良記事です。 細かすぎて伝わらないSSL/TLS

ngx_mruby 実践入門 - GMO ペパボ 柴田博志 氏

mruby愛がすごかった。
『nginx実践入門』のluaで拡張している部分を全て、「mruby」で書き換えたと!すごいわ!

あと、Dockerでngx_mrubyのビルドしているの素敵でした!


Lightning Talk x 6

LTはこれが、かなり実践的でしたね。
プロダクションで使えた話とか、諸事情あって使えなかった話とか。
それはそれは、参考になりました!

イベントページにまとまっているので、どーぞ 「nginx実践入門」出版記念!執筆者らが語る nginx Tech Talks - dots. [ドッツ]
  • Practical nginx lua in Kayac - @fujiwara 氏
この図が、細かく写っちゃっていますが分かりやすかった!
  • nginx limit_req_zoneを本番環境にあとちょっとで導入出来た話 - @maaaato 氏
「limit_req」で上限行くと「503」返すんだー!って、ちょっと最近あったトラブルを思い出しちゃった。
  • SSLセッションキャッシュを共有したいだけの人生だった - @nojima 氏
これは、SSLのセッションを共有するパッチを作ったという話。
いろんなアプローチもありますよね!

「H2O」はその辺スパーハックしていると。


どれもこれも、素晴らしかったのですが。
写真を撮り忘れたので、上記の紹介。
  • JSON-RPCも面白かったし
  • nginxとCosul使ったロードバランシングも面白い
  • ngx_http_groonga - 全文検索nginx も興味深かった!

Zenback