雑文発散

«前の日記(2016-05-30) 最新 次の日記(2016-06-02)» 編集
過去の日記

2016-06-01 [長年日記]

[] 「クラウド開発徹底攻略」を頂いたので感想を書いてみる

少し前にこの本の著者のひとりである @hsbt さんから「クラウド開発徹底攻略」を贈って頂いた。ありがとうございました。

うまく時間を作れずに、読むのが遅くなってしまったのだけど、ようやくひと通り読むことができたので、感想などを綴ってみる。

クラウド開発徹底攻略

本の表紙に大きくオレンジ色の文字で書かれているキーワードとオレの関係はこんな感じ。

  • AWS
    • 仕事と個人で S3 や EC2、Route53 などの一部サービスを少し使っている
    • 本格的に使いこなしている訳ではない
  • Docker
    • 今の会社に入って初めて普段使いをし始めた
    • まだ自分でコンテナを用意して試したことはない
  • Google Cloud Platform
    • BigQuery のクエリを時々叩くくらい
    • その他のサービスは触ったことがない
  • Heroku
    • 使ったことはある
    • Heroku に限らず PaaS の経験は少なめ

それぞれの特集について書いてみよう。

AWS

AWS については、前述のとおりちょいちょい使っているのだが、基本的にはマネジメントコンソールの GUI から利用していることがほとんど。「SDK を使って S3 へアップロードする」などは行っているが、EC2 インスタンスを SDK で作成するということはしたことがない。

この特集は、まさにそういう人が知っておきたい自動化の話だったので、いくつか存在する自動化の用途や手法について概要を把握することができた。

個人的に興味が大きかったのは CloudFormation より OpsWorks かな。OpsWorks は Chef の知識が活かせそうなので。まぁ、活かせると言っても、Chef のレシピをすんなり書けるほど熟練している訳ではないけど。

その他、コラムに書いてあった Terraform は名前は知っていたけど、用途を理解できていなかったのだが、この機会に整理できたのが良かった。なるほど、良いところを突いてくるプロダクトだなぁ。

Docker

Docker は名前と概要を知ってはいたけど、今の会社に入った今年の1月から実際に利用し始めた。オレがメインで使っているのは、開発用の Mac で動かす CI サーバとして。「会社の GitHub リポジトリと連携させている CI サーバ」と同じコンテナを手元の Mac で動かせるので、(いくつか課題はあるが)テストの実行がとても捗っている。

現在でこそ、こういう状態なのだけど、入社同時は「え、Vagrant と Ansible の知識だけじゃ足りなかったのか。。。」と途方に暮れかけていて、ネットなどで情報を収集していた。だけど、Docker の世界(に限らないけど)は進化のスピードが速くて、検索して飛んだ先が昔のバージョンの話だったりする、ネットあるある状態になりがち。

そういう時にこの本のこの特集を読みたかった。

Docker の基本的なところから、コンテナのビルド、運用までの話が「現在のバージョンで」まとめて読めるのはありがたい。今までに貯めてきた知識の再確認にもなったし、オレにとってちょうど良い記事だった。

Google Cloud Platform

Google Cloud Platform も知ってはいたけど使っていなくて、今の会社に入って BigQuery を使うようになって、初めてコンソールにアクセスした。多数のサービスがあってもどれがどういうものかも分かってなかった。でも、この特集記事には AWS との比較表が載っており、それを見たら概要は一発で把握できた。比較表便利。

いくつか紹介されているサービスのうち、Cloud Storage が気になった。AWS を知っている人には「S3 みたいなもの」で通じるサービスなのだけど、ストレージの種類の中の「Nearline」が気になった。こちらも AWS の Glacier みたいなもののようだけど、Glacier がデータの取り出しに少し時間がかかるのに対して、Cloud Storage は 3 秒以内のアクセスを保証しているとのこと。

「あまり使わない大容量のデータだけど、使う時にはすぐ使いたい」みたいな用途の場合は、Cloud Storage も良さそう。もちろん値段の比較もしないとだけど。いろんなカンファレンスで撮影した時の録画の生データが大きくてなぁ。。。

Compute Engine でのサーバ構築についても、ちょっと試しておきたいなぁという気持ちになった。

Heroku

Heroku は某イベントのサイト運用でお世話になっていたりして、触れる機会があった。掲載内容の更新を行い、その最新版を Heroku 上のサーバで公開するような流れで。もっともその作業は GitHub 連携で行われているので、heroku コマンドを直接叩いたりはしていない。連携の設定も他の人まかせなので、オレは単に push + merge しているだけなのだけど。。。

個人では、PHPUnit + Selenium の発表をした時に Selenium で操作するサンプルフォームを Heroku に載せていた。でも、これ 2013 年なので、だいぶ前の知識。

ということで、Heroku がどういうものかは知っている状態だったのだが、本当に軽く触れていただけなので、この特集での Heroku Postgres やサードパーティアドオンの話は、次のステップとして参考になる話だった。PostgreSQL いいよ PostgreSQL。

まとめ

何かの技術選択が必要になった時には的確なものを選ばないといけないので、薄くてもいいから色々なものを知っておく必要があるかなと思っているのだけど、我々の業界は進化が速いし、幅が広くなっていく(選択肢が増えていく)スピードも速い。

そういう中で「クラウド」というキーワードで複数のサービスの「いま」の内容を知ることができるこの本は、「いま」読むには良い本かなと思う。全てをマスターすることは難しくても「このサービスではこういうことができるんだ」という知識は役に立つと思う。

インフラ(システム構築)的な本かと言えば違うと思うし、プログラミング的な本かと言えば違うと思うし、その両者の区別は曖昧になってきているのだなぁと改めて感じたのであった。現在の自分がどちらかに寄ってると思っている人でも、この本は楽しめるのではないかなぁ。

[] 第88回 朝活を実施した

今朝の活動報告。

  • 昨日の日記書き
  • 「クラウド開発徹底攻略」の感想書き

最近にしてはだいぶ長文を書いた。