少し前にこの本の著者のひとりである @hsbt さんから「クラウド開発徹底攻略」を贈って頂いた。ありがとうございました。
うまく時間を作れずに、読むのが遅くなってしまったのだけど、ようやくひと通り読むことができたので、感想などを綴ってみる。
本の表紙に大きくオレンジ色の文字で書かれているキーワードとオレの関係はこんな感じ。
それぞれの特集について書いてみよう。
AWS については、前述のとおりちょいちょい使っているのだが、基本的にはマネジメントコンソールの GUI から利用していることがほとんど。「SDK を使って S3 へアップロードする」などは行っているが、EC2 インスタンスを SDK で作成するということはしたことがない。
この特集は、まさにそういう人が知っておきたい自動化の話だったので、いくつか存在する自動化の用途や手法について概要を把握することができた。
個人的に興味が大きかったのは CloudFormation より OpsWorks かな。OpsWorks は Chef の知識が活かせそうなので。まぁ、活かせると言っても、Chef のレシピをすんなり書けるほど熟練している訳ではないけど。
その他、コラムに書いてあった Terraform は名前は知っていたけど、用途を理解できていなかったのだが、この機会に整理できたのが良かった。なるほど、良いところを突いてくるプロダクトだなぁ。
Docker は名前と概要を知ってはいたけど、今の会社に入った今年の1月から実際に利用し始めた。オレがメインで使っているのは、開発用の Mac で動かす CI サーバとして。「会社の GitHub リポジトリと連携させている CI サーバ」と同じコンテナを手元の Mac で動かせるので、(いくつか課題はあるが)テストの実行がとても捗っている。
現在でこそ、こういう状態なのだけど、入社同時は「え、Vagrant と Ansible の知識だけじゃ足りなかったのか。。。」と途方に暮れかけていて、ネットなどで情報を収集していた。だけど、Docker の世界(に限らないけど)は進化のスピードが速くて、検索して飛んだ先が昔のバージョンの話だったりする、ネットあるある状態になりがち。
そういう時にこの本のこの特集を読みたかった。
Docker の基本的なところから、コンテナのビルド、運用までの話が「現在のバージョンで」まとめて読めるのはありがたい。今までに貯めてきた知識の再確認にもなったし、オレにとってちょうど良い記事だった。
Google Cloud Platform も知ってはいたけど使っていなくて、今の会社に入って BigQuery を使うようになって、初めてコンソールにアクセスした。多数のサービスがあってもどれがどういうものかも分かってなかった。でも、この特集記事には AWS との比較表が載っており、それを見たら概要は一発で把握できた。比較表便利。
いくつか紹介されているサービスのうち、Cloud Storage が気になった。AWS を知っている人には「S3 みたいなもの」で通じるサービスなのだけど、ストレージの種類の中の「Nearline」が気になった。こちらも AWS の Glacier みたいなもののようだけど、Glacier がデータの取り出しに少し時間がかかるのに対して、Cloud Storage は 3 秒以内のアクセスを保証しているとのこと。
「あまり使わない大容量のデータだけど、使う時にはすぐ使いたい」みたいな用途の場合は、Cloud Storage も良さそう。もちろん値段の比較もしないとだけど。いろんなカンファレンスで撮影した時の録画の生データが大きくてなぁ。。。
Compute Engine でのサーバ構築についても、ちょっと試しておきたいなぁという気持ちになった。
Heroku は某イベントのサイト運用でお世話になっていたりして、触れる機会があった。掲載内容の更新を行い、その最新版を Heroku 上のサーバで公開するような流れで。もっともその作業は GitHub 連携で行われているので、heroku コマンドを直接叩いたりはしていない。連携の設定も他の人まかせなので、オレは単に push + merge しているだけなのだけど。。。
個人では、PHPUnit + Selenium の発表をした時に Selenium で操作するサンプルフォームを Heroku に載せていた。でも、これ 2013 年なので、だいぶ前の知識。
ということで、Heroku がどういうものかは知っている状態だったのだが、本当に軽く触れていただけなので、この特集での Heroku Postgres やサードパーティアドオンの話は、次のステップとして参考になる話だった。PostgreSQL いいよ PostgreSQL。
何かの技術選択が必要になった時には的確なものを選ばないといけないので、薄くてもいいから色々なものを知っておく必要があるかなと思っているのだけど、我々の業界は進化が速いし、幅が広くなっていく(選択肢が増えていく)スピードも速い。
そういう中で「クラウド」というキーワードで複数のサービスの「いま」の内容を知ることができるこの本は、「いま」読むには良い本かなと思う。全てをマスターすることは難しくても「このサービスではこういうことができるんだ」という知識は役に立つと思う。
インフラ(システム構築)的な本かと言えば違うと思うし、プログラミング的な本かと言えば違うと思うし、その両者の区別は曖昧になってきているのだなぁと改めて感じたのであった。現在の自分がどちらかに寄ってると思っている人でも、この本は楽しめるのではないかなぁ。