Successfully reported this slideshow.
Your SlideShare is downloading. ×

Infrastructure as code ~ ツールスタック / ヌーラボの事例 ~

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 31 Ad

More Related Content

Slideshows for you (20)

Viewers also liked (20)

Advertisement

Similar to Infrastructure as code ~ ツールスタック / ヌーラボの事例 ~ (20)

More from ikikko (19)

Advertisement

Recently uploaded (20)

Infrastructure as code ~ ツールスタック / ヌーラボの事例 ~

  1. 1. 2014/05/24 第8弾 週末ランサーズ Tomonari NAKAMURA Infrastructure as Code ツールスタック / ヌーラボの事例 http://www.flickr.com/photos/statuelibrtynps/6276757947/
  2. 2. 自己紹介 •名前:中村知成 ( @ikikko ) •所属 •株式会社ヌーラボ •日本Jenkinsユーザ会 •推しメン:さっしー 現在、総選挙 速報1位!
  3. 3. •  • 
  4. 4. •  • 
  5. 5. •  •  • 
  6. 6. in ヌーラボ ! •アプリ寄りの開発者 •インフラ方面も関わり出す ! •Jenkinsやビルド環境の整備
  7. 7. アジェンダ •背景 •Infrastructure as Code とは •関連ツールスタック •ヌーラボでの事例
  8. 8. 背景 https://speakerdeck.com/nulabinc/yun-yong-devopsshi-dai-wosheng-kinukutameni
  9. 9. 背景 •インフラそこまで詳しくない •既存の手順書とか、シェルスクリ プトはあった •けど、見てもよく分からない><
  10. 10. サ | バ
  11. 11. 背景 •インフラ周りが整備されてると嬉 しいな •簡単に試せる環境とか •いつでも動くように、スクリプトがメ ンテされてるとか
  12. 12. ! ! ! Infrastructure as Code
  13. 13. アジェンダ •背景 •Infrastructure as Code とは •関連ツールスタック •ヌーラボでの事例
  14. 14. Infrastructure as Code •インフラをコードとして表現 •アプリ開発で培った開発方法論を、 インフラ領域にも適用可 •テスト / 継続的インテグレーション •コードレビュー / Pull Request
  15. 15. 参考 •naoya さんのブログ記事 • http://d.hatena.ne.jp/naoya/20131215/1387090668 •mizzy さんの Web+DB Press   「テスト駆動インフラ」 • http://gihyo.jp/magazine/wdpress/archive/2014/vol80 実は僕も 第3特集書いてます
  16. 16. アジェンダ •背景 •Infrastructure as Code とは •関連ツールスタック •ヌーラボでの事例
  17. 17. 各ツールの関連
  18. 18. Vagrant •VirtualBoxやAWSなどの仮想マ シンをコマンドで手軽に扱える •AnsibleやChefとも連携可能 Vagrant.configure(2)  do  |config|   !    config.vm.provision  "chef_solo"  do  |chef|          chef.cookbooks_path  =  "cookbooks"          chef.add_recipe  "httpd"      end   ! end
  19. 19. Ansible •Python製のサーバ構成管理ツール •冪等性: 何度実行しても結果は同じ •サーバ側はPythonとsshdだけ -­‐  name:  install  requirement  system  packages      action:  yum  name={{  item  }}      with_items:          -­‐  make          -­‐  gcc          -­‐  curl
  20. 20. serverspec •RSpec風のサー バ構成管理テ ストツール •稼働前 / 稼働 中のサーバに テスト describe  "#{ENV['TARGET_HOST']}.spec"  do   !    describe  service('tomcat')  do          it  {  should  be_running      }          it  {  should_not  be_enabled  }      end   !    describe  port(8080)  do          it  {  should  be_listening  }      end   ! ...
  21. 21. Jenkins •継続的インテグレーションツール •コミット時や定期実行で自動ビルド
  22. 22. ハンズオンで実践! https://www.flickr.com/photos/ochre_jelly/7066887773
  23. 23. ハンズオン +α
  24. 24. アジェンダ •背景 •Infrastructure as Code とは •関連ツールスタック •ヌーラボでの事例
  25. 25. ワークフロー http://nulab-inc.com/ja/blog/nulab/nulab-immutable-infrastructure_1/
  26. 26. Packer •イメージ (AMI) 作成ツール •Ansibleを起動 時に実行可能 {      "builders":  [{          "type":  "amazon-­‐ebs",          "region":  "us-­‐west-­‐2",          "source_ami":  "ami-­‐ccf297fc",          "instance_type":  "m1.small",          "ssh_username":  "ec2-­‐user",          "ami_name":  "base  {{isotime}}"      }],      "provisioners":  [          {              "type":  "ansible-­‐local",              "playbook_file":  "ansible/ami.yml",              "role_paths":  [                      "ansible/roles/base"              ]          }      ]   }
  27. 27. Fabric •Python製のデプロイツール •シェルコマンドを列挙していく、 シンプルな記述 @task   def  start_tomcat():      sudo('rm  -­‐f  /usr/java/tomcat/temp/*.{index,data}')      sudo('service  tomcat  start’)      print  green("Tomcat  started!!!")
  28. 28. Typetalk •JenkinsやAnsibleの実行結果を通知 •   /    プラグインも提供 ! ! ! •Hubotで、Typetalk->Jenkinsの連携も
  29. 29. チャットってそんなに重要? Infrastructure as Codeの先には DevOpsが見えてくる DevOpsで関わる全ての人が手軽に扱える チャットは、ますます重要に!
  30. 30. ご清聴 ありがとうございました!

×