読者です 読者をやめる 読者になる 読者になる

ツナワタリマイライフ

日常ネタから技術ネタ、音楽ネタまで何でも書きます。

「サーバ/インフラエンジニア養成読本DevOps編」を読んだので使われてる技術まとめる

はじめに

キュレーションサイトMenthasで発売される記事を見て、興味があったので予約購入していました。届いてざざーっと目を通したので内容をまとめておきます。まだ手は動かしてないです。

Menthasいいよ。毎日見てるよ。

menthas.com

内容と感想

DevOpsとInfrastructure as Codeの概要

DevOpsという概念について説明。開発のスタイル(アジャイル/スクラム)としての側面とツールとしての側面がある。どちらが欠けていてもダメだ。

また、Infrasturucture as Codeの概念についても説明。コードのようにバージョン管理することで、ミスをなくし、何度も素早くデプロイができるメリットを第一にあげている。

執筆者様のページ。 www.ryuzee.com

最速攻略!Ansible 2によるサーバ構築

Ansible2リリースおめでとうございます。最速対応ですね。Ansible2自体は1とほとんど互換があるようなので読者は選ばないと思います。

基本的な使い方、playbookの書き方から実際にLAPPサーバを配備するところまで書いてあって、最初にまずどんなもんか試すにはとっても良い記事だと思います。

執筆者様のページ。 shin1x1.hatenablog.com

CircleCIによる継続的インテグレーション入門

今はJenkinsよりCircleCIなんですね。Jenkinsはスキルが要求されたり、運用コストがかかることから今はCIに集中できるCircleCIが人気のようですね。

ここではVirtualBox,Vagrant,knife-solo,ServerSpec,GitHub,CircleCI,Terraform,DigitalOceanと盛りだくさんの内容で継続的インテグレーションを説明してくれてる。すごいボリューム。

選択肢としてこれらのツールを知っているか知らないかは大きな違いだと思います。

執筆者様のページ。 blog.glidenote.com

Dockerによる仮想環境構築とKubernetesによるDockerクラスタ管理

最後はDocker。これまで説明されてきたプロビジョニングのAnsible、テスト駆動インフラ、CIの部分とは少し毛色が違うコンテナ仮想化。本当しっかり押さえてる!

Dockerは1プロセスに原則対応することから、それらの管理、またはクラスタ運用のためのKubernetesの説明もしっかりされています。実用的ですね。

執筆者様のページ。

netmark.jp

今後やってみたいこと

予約していたぐらい興味があったこの分野、さて自分で何か作ろうというと難しい。というのも、こういうものが必要になるものって大規模かつ継続的な更新がされるインフラ群なんですね。個人だとVagrantで作って壊してで満足してしまうという(笑)とはいえせっかく良い機会なので挑戦したいことをあげておきます。

1.VPS上にansibleでprovisioning & serverspecでテスト

本書でも説明があった、Immutable Infrustructure。つまり作ったあと普遍のインフラですね。vagrantにprovisionを書いておけばこれが実現できていて、ローカル環境だとイマイチserverspecでのテストの必要性がないんですね。常に生きているような環境でないと、あんまり意味ないなと。なのでserverspecはVPSで試そうと思います。

2.CircleCIで自動テスト

まだ作るものが決まってないんですが、近々同期とまたアプリを作ると思うので、プルリクをトリガーにテストをまわすっていうことをやってみたいと思います。まぁこれはインフラじゃなくて普通のプログラムのテストにも使えると思うし。

3.vagrant上のVMに、Dockerでnginxを立てる

nginxはさわってみたかったので、今回の例でもあがっていたのでやってみます。とはいえ、Dockerはまだ実用性が自分の中で想像しにくいんですよね。確かにポータブル、どんな環境でも動く1サービスをコンテナ化しているってのはすごいことなんですけど、これだけprovisioningツール、サーバのテストができる技術が揃ってくると、ansible + serverspecでいいじゃんと思ってしまうんですよね。まだまだ使いドコロが分かってないのかもしれません。

終わりに

今回ざざっと技術を紹介してきましたが、これから少しずつインフラはコードで書く時代になってくるはずなので、知っておいて損ないことばかりだったと思います。気になる技術をはやく試して実践してみたいです。

余談ですが、うちの会社の新しめな大規模開発では今回3章で紹介されてるCIがほとんどできているので見事だなぁと思ったのでした。