#技術書典 で入手した本: WANTEDLY TECH BOOK 2

4/9(日)に開催された技術書典2で買ってきた本を読んでいくシリーズ。一覧は技術書典2で入手した本リスト #技術書典

もう買ってから3ヶ月経っていてだいぶアレだけど読み終わるまで読みます。

今回はWantedly執筆部 著のWANTEDLY TECH BOOK 2です。

全体的に

開発者にとってのユーザビリティも重視する姿勢、良いと思います。

以下、各章のメモです。

第1章 変化に強いインフラと事例

Kubernetesの利用を絡めつつ、コンテナを使って開発/QA/Prod環境をせっせと回していくためのベース思想の話と小粒ながら筋良いツールで日々の仕事を楽にする話でした。よいです。

(Kubernetesに関して)

運用は間違いなく難しくなりますが

好感を持てる表現。

typo類

第2章 未来に繋ぐGitHubの使い方

WHYとWHAT、よい文化ですね。

2.2.2(IssueやPRの間でのリンク)あたりを読んでいると、スタイルが完全に道を切り開いていく戦士の戦い方 on GitHubです。これに加えてコミュニケーションミスでいろいろなものが失われるのを避けようという柱があり、これらのための工夫を凝らした仕事体制、というふうに読めました。

typo類

第3章 Wantedly People で動いている機械学習

第1章で書かれていたツール設計思想と同じく"Make each program do one thing well."で通しているのは🆒ですね。

3.2.2での例示はスパム判定の話と文字列正規化の話が微妙に混ざってしまっているので惜しい感じでした。執筆の途中でテーマを切り替えた雰囲気でしょうか。

「3.4 動き続けるシステムで精度を保証したい」からが実運用中ならではという特に良い内容でした。

typo類

第4章 Wantedly における開発環境のDocker化

章の冒頭、一番最初の文が

ハッキリ言わせてもらいますが、世の中に出ている「開発環境Docker化」に関する記事はまるで役立たずです。

で、「オッ、活きが良いな」という感触からのスタートでした。

文体は少々クセがありますが、普通に納得のいくプラクティス、およびWantedly社の環境(要求)で正しそうと納得いくもの、が多かったです。

なかでも、Dockerイメージ内にアプリケーションコードを含まないようにすることで、社内用開発イメージですらもパブリックにできるという視点は🆒ですね。

4.1.3 中途半端なbootstrap script

地味に見どころ。

本項では

本質的にこのようなscript はメンテナンスが難しくout-of-dateになりがちで、一発でセットアップが完了することはありません。

という記載があるんですが、実は本書を読み進めると第5章(5.3.5)にて新規参加するアプリケーション開発者向けに一発インストール手順を用意するという話が出てきて、「あ~ ここでつながってるのかー。」という気持ちになります。

難しいですね。

第5章の著者である@koudaiiiさんもhttps://www.wantedly.com/companies/wantedly/post_articles/27548で言及しているように、環境の動態保存策としてのDocker(+なにかしらのDocker Registry)はなかなかパワあるので、個人的にはアプリケーション開発者向けの環境セットを構築スクリプトよりDockerで提供しておきたい族です(それでもDockerfileからのビルドや同ファイル自体のメンテは別問題ですが)。

4.4.4 Vendor directory はvolume mount しない

vendorディレクトリに大量のファイルが存在する場合、これをvolume mountすると特にmacOS上でめちゃくちゃファイルアクセスが遅いという話題です。

それらのツールを含む10通りのアプローチでこの問題に取り組みましたがvolumeで同期させることは不可能だと分かりました。

とあったのですが、試した10通りの中に「macOS環境ではDocker for MacやVBoxバックエンドではなくVMware Fusionバックエンドを利用する」方法が含まれているのか否かが気になりました。Railsほどではないにせよvendor分が巨大なSymfony 2系のプロダクトをmacOS+Dockerで触っていた際、バックエンド切り替えのみで十分なパフォーマンスを出せて他の検討を止めた記憶があるので…*1

[*1] もちろん、企業としての採否はライセンス費用や導入・運用コストとの兼ね合いでの判断かと思います

typo類

第5章 実践Kubernetes

Kubernetesマニフェストの解説が大変勉強になりました(特に5.5のBlue-Green Deploymentと5.6のRolling Deploy)。

typo類

最終更新: 2017/07/18 00:23(UTC)

Copyright © Kei Nakazawa 2017, Licensed under CC-4.0-BY unless otherwise noted.