chef
vagrant
Jenkins
docker
Ansible

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

More than 1 year has 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