Posted at

DevOpsグループになったから読んだ書籍・スライド・資料一覧

More than 3 years have passed since last update.


DevOpsグループになったから読んだ書籍・スライド・資料一覧

所属グループがDevOpsグループになりました。「DevOps」や「CI/CD」に関して全くの初心者だったので、概要をつかむためにざっとキーワードを洗い出して週末に読んでみました。

記事構成や内容に誤りがある場合は、コメントやリクエストなどでご教示頂けましたら幸いです。また、この分野で避けては通れない書籍や、普通だったら誰もが一度は読んでいるべき記事などがありましたら、ぜひ教えて下さい。


Agenda


  • General


    • DevOps

    • Git



  • Architecture


    • Microservices



  • Testing


    • TDD

    • Testing Frameworks



  • Infrastracture as Code


    • Concept

    • Vagrant

    • Chef

    • Puppet

    • Ansible

    • Jenkins

    • Circle CI

    • Cobbler

    • Docker



  • CI/CD


    • CI

    • CD




General


DevOps

※ 基本的には、以下記事を出発点にしました。資料内で見つけたキーワードを芋づる式に調べてみた、という感じです。

DevOps スタータキットの公開

http://simplearchitect.hatenablog.com/entry/2016/05/24/185431

10+ Deploys Per Day: Dev and Ops Cooperation at Flickr

http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr/2-3_billion_photos_40000_photos

2015 State of DevOps Report

https://puppet.com/resources/white-paper/2015-state-of-devops-report


Git

こわくない Git

http://www.slideshare.net/kotas/git-15276118

いつやるの?Git入門 v1.1.0

http://www.slideshare.net/matsukaz/git-28304397

サルでもわかるGit入門 プルリクエスト編

http://www.backlog.jp/git-guide/pull-request/pull-request1_1.html

Git のコマンドだけでなく、その仕組みを学ぶ

http://www.ibm.com/developerworks/jp/devops/library/d-learn-workings-git/index.html

A successful Git branching model

http://nvie.com/posts/a-successful-git-branching-model/

Gitを使いこなすための20のコマンド

https://osdn.jp/magazine/09/03/16/0831212

Git初心者が絶対に覚えておくべきコマンド

(※ git reflogは覚えましょう)

http://d.hatena.ne.jp/idesaku/20091106/1257507849

git-reflog - Manage reflog information

https://git-scm.com/docs/git-reflog

git-cherry-pickを掘り下げる

http://d.hatena.ne.jp/idesaku/20091230/1262159267

gitでありがちな問題の解決方法まとめ

http://qiita.com/yaotti/items/0d5364eae36ad1bb8e01


Architecture


Microservices

"Building Microservices"

http://shop.oreilly.com/product/0636920033158.do

Microservices : a definition of this new architectural term

http://martinfowler.com/articles/microservices.html


Testing


TDD

"Growing Object-Oriented Software, Guided by Tests (Addison-Wesley Signature Series (Beck))"

http://www.growing-object-oriented-software.com/

Test-Driven Infrastructure with Ansible, Test Kitchen, Serverspec and RSpec

http://www.slideshare.net/MartinEtmajer/testing-ansible-roles-with-test-kitchen-serverspec-and-rspec-48185017?qid=58e5f77b-4e58-4949-864f-14bf8b970f82&v=&b=&from_search=4


Testing Frameworks

"Pragmatic Unit Testing in Java 8 with JUnit"

https://pragprog.com/book/utj2/pragmatic-unit-testing-in-java-8-with-junit


Infrastructure as Code


Concept

Infrastructure As Code: Fueling The Fire For Faster Application Delivery - Forrester TLP

https://www.microsoft.com/en-us/download/details.aspx?id=46403


Vagrant

Introduction to Vagrant

http://www.slideshare.net/salizzar/introduction-to-vagrant

Vagrantって流行ってるらしいけど何が便利なの?

http://dev.classmethod.jp/server-side/virtual-box-vagrant/

Vagrant と Chef による仮想環境構築の自動化(VirtualBox編)

https://www.ogis-ri.co.jp/otc/hiroba/technical/vagrant-chef/chap1.html

Vagrant始めました

https://oss.sios.com/yorozu-blog/vagrant-20150706

VagrantとDockerについて名前しか知らなかったので試した

http://qiita.com/hidekuro/items/fc12344d36d996198e96

What Is Vagrant and Why Should I Care?

https://24ways.org/2014/what-is-vagrant-and-why-should-i-care/

Android プロジェクトを Linux CUI 環境でビルドする

http://www.lancard.com/blog/2016/01/28/build-android-in-cui/


Chef

【資料公開】Chef ベーシックトレーニング

http://www.ryuzee.com/contents/blog/7085


Puppet

Puppet Tutorial by Alessandro Franceschi

http://www.example42.com/tutorials/PuppetTutorial/#slide-0


Ansible

入門Ansible

http://www.slideshare.net/takushimizu/ansible-26200860

Ansibleコトハジメ

http://qiita.com/seizans/items/54da2077ac8e2dcf5d6f

AnsibleによるInfrastructure as code入門

http://www.slideshare.net/kk_Ataka/ansibleinfrastructure-as-code?next_slideshow=1

第6回「現状を活かしながら環境構築自動化をするならAnsibleがお勧め!」

http://www.intellilink.co.jp/article/column/devops06.html

アプリケーション開発者は要チェック!Ansible入門 ~開発環境構築を楽にする!DMM.com Laboにおける活用事例~|ヒカ☆ラボレポート

http://time.levtech.jp/article/a-dmmcom_labo_20150831/

OVERVIEW: HOW ANSIBLE WORKS

https://www.ansible.com/how-ansible-works

入門Ansible

http://tdoc.info/ansible-book/ansible-sample.pdf

2年間Ansibleだけ使用したことから学んだ教訓

https://blog.serverdensity.jp/2nenkan-ansible-dake-shiyoushita-kotokara-mananda-kyoukun

Continuous Deployment with Ansible

https://www.youtube.com/watch?v=PDRdCqFp2sY


Jenkins

Continuous Delivery for Android

https://www.bignerdranch.com/blog/continuous-delivery-for-android/

Continuous Integration for Mobile Apps with Jenkins: Android Build Configuration

https://www.youtube.com/watch?v=EOogyOv79NE

Jenkinsではじめる継続的インテグレーション

http://www.slideshare.net/linoSth/jenkins-10666679

Jenkinsを導入する本当の理由を考えてみた

http://www.slideshare.net/kakakikikeke/jenkins-user-conf2015-43374101?next_slideshow=1

jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー

http://www.slideshare.net/JunyaSuzuki1/jenkins-13502498

Seven Habits of Highly Effective Jenkins Users (2014 edition!)

http://www.slideshare.net/andrewbayer/seven-habits-of-highly-effective-jenkins-users-2014-edition/3-Jenkins_User_Conference_San_Francisco

開発者(個人)のためのJenkins - Git Plugin編

http://qiita.com/yasuhiroki/items/61a2be613fc7dcfc8682


Circle CI

Jenkinsと完全にサヨナラして、CircleCIに移行した話

http://blog.stormcat.io/entry/2015/07/02/150000

CircleCIアンチパターン 2015春

http://blog.stormcat.io/entry/2015/03/31/154300


Cobbler

CobblerでOSインストール自動化環境構築

http://www.maepachi.com/blog/entry/60


Docker

What is Docker?

https://www.docker.com/what-docker

Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】

http://www.slideshare.net/zembutsu/introduction-to-docker-management-and-operations-2nd

Jenkins Docker

http://www.slideshare.net/asotobu/jenkins-docker?qid=25396632-ea2d-4881-854b-deb5443dae18&v=&b=&from_search=4

Dockerにまつわる誤解とベストプラクティスについて

http://postd.cc/docker-misconceptions/

Docker で「速くてウマイ」な CI 環境を構築するための 5 つの Tips

https://nulab-inc.com/ja/blog/nulab/docker-in-ci/

DockerでのNodeアプリ構築で学んだこと

http://postd.cc/lessons-building-node-app-docker/

8つのDocker開発パターン

http://postd.cc/eight-docker-development-patterns/

Docker入門、VM上でLinuxコンテナ立ち上げ〜基本操作まで

http://easyramble.com/biginning-of-docker.html

実例で学ぶDockerコマンド

http://qiita.com/deeeet/items/ed2246497cd6fcfe4104


CI/CD


CI

はてなやクックパッドの開発現場で、CIやテストはどう行われているのか?(前編)。CROSS 2014

http://www.publickey1.jp/blog/14/cicross_2014.html

はてなやクックパッドの開発現場で、CIやテストはどう行われているのか?(後編)。CROSS 2014

http://www.publickey1.jp/blog/14/cicross_2014_1.html


CD

クックパッドのデプロイとオートスケール、1日10回デプロイする大規模サイトの裏側(前編)。JAWS DAYS 2014

http://www.publickey1.jp/blog/14/110jaws_day_2014_1.html

クックパッドのデプロイとオートスケール、1日10回デプロイする大規模サイトの裏側(後編)。JAWS DAYS 2014

http://www.publickey1.jp/blog/14/110jaws_day_2014.html

クックパッドはなぜ開発しやすいのか

https://speakerdeck.com/mirakui/developer-productivity-in-cookpad