Enviar pesquisa
Carregar
ChefとPuppetの比較
•
60 gostaram
•
29,505 visualizações
Sugawara Genki
Seguir
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 47
Baixar agora
Baixar para ler offline
Recomendados
ML2/OVN アーキテクチャ概観
ML2/OVN アーキテクチャ概観
Yamato Tanaka
クラウドコストを最適化せよ!マルチクラウド時代に届けるクラウド活用2.0
クラウドコストを最適化せよ!マルチクラウド時代に届けるクラウド活用2.0
Tomohisa Koyanagi
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門
Kohei Tokunaga
日本OpenStackユーザ会 第37回勉強会
日本OpenStackユーザ会 第37回勉強会
Yushiro Furukawa
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Toru Makabe
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方
Toru Makabe
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
VirtualTech Japan Inc.
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
NTT DATA Technology & Innovation
Recomendados
ML2/OVN アーキテクチャ概観
ML2/OVN アーキテクチャ概観
Yamato Tanaka
クラウドコストを最適化せよ!マルチクラウド時代に届けるクラウド活用2.0
クラウドコストを最適化せよ!マルチクラウド時代に届けるクラウド活用2.0
Tomohisa Koyanagi
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門
Kohei Tokunaga
日本OpenStackユーザ会 第37回勉強会
日本OpenStackユーザ会 第37回勉強会
Yushiro Furukawa
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Toru Makabe
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方
Toru Makabe
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
VirtualTech Japan Inc.
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
NTT DATA Technology & Innovation
Zabbix概論2018
Zabbix概論2018
真乙 九龍
単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介
AdvancedTechNight
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Akihiro Suda
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
NTT DATA Technology & Innovation
HTTP/2 入門
HTTP/2 入門
Yahoo!デベロッパーネットワーク
(SPOT301) AWS Innovation at Scale | AWS re:Invent 2014
(SPOT301) AWS Innovation at Scale | AWS re:Invent 2014
Amazon Web Services
自宅k8s/vSphere入門
自宅k8s/vSphere入門
富士通クラウドテクノロジーズ株式会社
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
Trainocate Japan, Ltd.
DockerとKubernetesをかけめぐる
DockerとKubernetesをかけめぐる
Kohei Tokunaga
コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話
Yuta Shimada
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
NTT Communications Technology Development
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Masahito Zembutsu
Ansible ではじめるインフラのコード化入門
Ansible ではじめるインフラのコード化入門
Sho A
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
NTT DATA Technology & Innovation
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
NTT DATA Technology & Innovation
root権限無しでKubernetesを動かす
root権限無しでKubernetesを動かす
Akihiro Suda
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
Yahoo!デベロッパーネットワーク
AvailabilityZoneとHostAggregate
AvailabilityZoneとHostAggregate
Hiroki Ishikawa
OpenStack超入門シリーズ Novaのディスク周りあれこれ
OpenStack超入門シリーズ Novaのディスク周りあれこれ
Toru Makabe
AnsibleによるInfrastructure as code入門
AnsibleによるInfrastructure as code入門
kk_Ataka
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chef
npsg
20100529 phpday
20100529 phpday
Yusuke Ando
Mais conteúdo relacionado
Mais procurados
Zabbix概論2018
Zabbix概論2018
真乙 九龍
単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介
AdvancedTechNight
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Akihiro Suda
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
NTT DATA Technology & Innovation
HTTP/2 入門
HTTP/2 入門
Yahoo!デベロッパーネットワーク
(SPOT301) AWS Innovation at Scale | AWS re:Invent 2014
(SPOT301) AWS Innovation at Scale | AWS re:Invent 2014
Amazon Web Services
自宅k8s/vSphere入門
自宅k8s/vSphere入門
富士通クラウドテクノロジーズ株式会社
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
Trainocate Japan, Ltd.
DockerとKubernetesをかけめぐる
DockerとKubernetesをかけめぐる
Kohei Tokunaga
コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話
Yuta Shimada
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
NTT Communications Technology Development
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Masahito Zembutsu
Ansible ではじめるインフラのコード化入門
Ansible ではじめるインフラのコード化入門
Sho A
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
NTT DATA Technology & Innovation
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
NTT DATA Technology & Innovation
root権限無しでKubernetesを動かす
root権限無しでKubernetesを動かす
Akihiro Suda
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
Yahoo!デベロッパーネットワーク
AvailabilityZoneとHostAggregate
AvailabilityZoneとHostAggregate
Hiroki Ishikawa
OpenStack超入門シリーズ Novaのディスク周りあれこれ
OpenStack超入門シリーズ Novaのディスク周りあれこれ
Toru Makabe
AnsibleによるInfrastructure as code入門
AnsibleによるInfrastructure as code入門
kk_Ataka
Mais procurados
(20)
Zabbix概論2018
Zabbix概論2018
単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
HTTP/2 入門
HTTP/2 入門
(SPOT301) AWS Innovation at Scale | AWS re:Invent 2014
(SPOT301) AWS Innovation at Scale | AWS re:Invent 2014
自宅k8s/vSphere入門
自宅k8s/vSphere入門
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
DockerとKubernetesをかけめぐる
DockerとKubernetesをかけめぐる
コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Ansible ではじめるインフラのコード化入門
Ansible ではじめるインフラのコード化入門
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
root権限無しでKubernetesを動かす
root権限無しでKubernetesを動かす
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
AvailabilityZoneとHostAggregate
AvailabilityZoneとHostAggregate
OpenStack超入門シリーズ Novaのディスク周りあれこれ
OpenStack超入門シリーズ Novaのディスク周りあれこれ
AnsibleによるInfrastructure as code入門
AnsibleによるInfrastructure as code入門
Destaque
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chef
npsg
20100529 phpday
20100529 phpday
Yusuke Ando
Php勉強会43 発表資料
Php勉強会43 発表資料
ichikaway
Office 365 Enterprise / Business 管理者向け利用ガイド/基本操作ガイド
Office 365 Enterprise / Business 管理者向け利用ガイド/基本操作ガイド
kumo2010
Mylynとおともだち
Mylynとおともだち
Hiroki Kondo
IBM Connect Japan 2012 TC-4/OB-5 ついにその実体を現す IBM Project Vulcan! その中核となる IBM S...
IBM Connect Japan 2012 TC-4/OB-5 ついにその実体を現す IBM Project Vulcan! その中核となる IBM S...
Hiroaki Komine
Python開発環境三種の神器
Python開発環境三種の神器
Yukitaka Uchikoshi
GitHub + Travis CI + COVERALLS (+ Maven) でCI環境を2時間でつくる
GitHub + Travis CI + COVERALLS (+ Maven) でCI環境を2時間でつくる
Atsushi Suzuki
Chef社内勉強会(第1回)
Chef社内勉強会(第1回)
Yoshinori Nakanishi
Python エンジニアの作り方 2011.08 #pyconjp
Python エンジニアの作り方 2011.08 #pyconjp
Takeshi Komiya
Vagrant で作る PHP 開発環境 [実践編]
Vagrant で作る PHP 開発環境 [実践編]
Masashi Shinbara
Chefで始めるWindows Server構築
Chefで始めるWindows Server構築
Takashi Kanai
物理ネットワーク受け入れテストの自動化を考える
物理ネットワーク受け入れテストの自動化を考える
skipping classes
Vagrant intro
Vagrant intro
t9md
はじめての datadog
はじめての datadog
Naoya Nakazawa
DevOps Practices:Configuration as Code
DevOps Practices:Configuration as Code
Doug Seven
(旧版) オープンソースライセンスの基礎と実務
(旧版) オープンソースライセンスの基礎と実務
Yutaka Kachi
インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門
Akihiro Kuwano
Configuration As Code - Adoption of the Job DSL Plugin at Netflix
Configuration As Code - Adoption of the Job DSL Plugin at Netflix
Justin Ryan
見やすいプレゼン資料の作り方 - リニューアル増量版
見やすいプレゼン資料の作り方 - リニューアル増量版
MOCKS | Yuta Morishige
Destaque
(20)
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chef
20100529 phpday
20100529 phpday
Php勉強会43 発表資料
Php勉強会43 発表資料
Office 365 Enterprise / Business 管理者向け利用ガイド/基本操作ガイド
Office 365 Enterprise / Business 管理者向け利用ガイド/基本操作ガイド
Mylynとおともだち
Mylynとおともだち
IBM Connect Japan 2012 TC-4/OB-5 ついにその実体を現す IBM Project Vulcan! その中核となる IBM S...
IBM Connect Japan 2012 TC-4/OB-5 ついにその実体を現す IBM Project Vulcan! その中核となる IBM S...
Python開発環境三種の神器
Python開発環境三種の神器
GitHub + Travis CI + COVERALLS (+ Maven) でCI環境を2時間でつくる
GitHub + Travis CI + COVERALLS (+ Maven) でCI環境を2時間でつくる
Chef社内勉強会(第1回)
Chef社内勉強会(第1回)
Python エンジニアの作り方 2011.08 #pyconjp
Python エンジニアの作り方 2011.08 #pyconjp
Vagrant で作る PHP 開発環境 [実践編]
Vagrant で作る PHP 開発環境 [実践編]
Chefで始めるWindows Server構築
Chefで始めるWindows Server構築
物理ネットワーク受け入れテストの自動化を考える
物理ネットワーク受け入れテストの自動化を考える
Vagrant intro
Vagrant intro
はじめての datadog
はじめての datadog
DevOps Practices:Configuration as Code
DevOps Practices:Configuration as Code
(旧版) オープンソースライセンスの基礎と実務
(旧版) オープンソースライセンスの基礎と実務
インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門
Configuration As Code - Adoption of the Job DSL Plugin at Netflix
Configuration As Code - Adoption of the Job DSL Plugin at Netflix
見やすいプレゼン資料の作り方 - リニューアル増量版
見やすいプレゼン資料の作り方 - リニューアル増量版
Semelhante a ChefとPuppetの比較
Puppet on AWS
Puppet on AWS
Sugawara Genki
~Dockerfileの開発を劇的に楽にする~ Dockerfile開発環境 EDGE
~Dockerfileの開発を劇的に楽にする~ Dockerfile開発環境 EDGE
辰徳 斎藤
Chefのはじめの一歩
Chefのはじめの一歩
Misa Kondo
静的サイトどこにする?
静的サイトどこにする?
ogawatti
Chef Casual Talk Vol.1 最近、日本でPuppetの影が薄くなって悲しいので、 ここであえてPuppetの話をする
Chef Casual Talk Vol.1 最近、日本でPuppetの影が薄くなって悲しいので、 ここであえてPuppetの話をする
Hidetoshi Ochiai
Power shell で DSL
Power shell で DSL
urasandesu
FM音源をいじれるWebサービスを作った
FM音源をいじれるWebサービスを作った
CHY72
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Emma Haruka Iwao
メタメタプログラミングRuby
メタメタプログラミングRuby
emasaka
OpenAI の音声認識 AI「Whisper」をテストしてみた
OpenAI の音声認識 AI「Whisper」をテストしてみた
Hide Koba
Dockerを使ってみよう
Dockerを使ってみよう
Ryo Adachi
OSC Tokyo fall LT~Dockerで分散処理をやってみた
OSC Tokyo fall LT~Dockerで分散処理をやってみた
atk1234
PHP7をDockerで動かしたという話
PHP7をDockerで動かしたという話
侑弥 濱田
Puppet×docker 夢の競演
Puppet×docker 夢の競演
Ryo Sugahara
Dockerと継続的インテグレーション
Dockerと継続的インテグレーション
Yahoo!デベロッパーネットワーク
【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門
sandai
Ansibleを使ってローカル開発環境を作ろう ( #PyLadiesTokyo Meetup )
Ansibleを使ってローカル開発環境を作ろう ( #PyLadiesTokyo Meetup )
Ai Makabi
Ansibleを使ってdockerコンテナをプロビジョニングする
Ansibleを使ってdockerコンテナをプロビジョニングする
Ryo Adachi
Gentooサークル新歓コンパのご案内
Gentooサークル新歓コンパのご案内
Takuto Matsuu
ゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せます
infinite_loop
Semelhante a ChefとPuppetの比較
(20)
Puppet on AWS
Puppet on AWS
~Dockerfileの開発を劇的に楽にする~ Dockerfile開発環境 EDGE
~Dockerfileの開発を劇的に楽にする~ Dockerfile開発環境 EDGE
Chefのはじめの一歩
Chefのはじめの一歩
静的サイトどこにする?
静的サイトどこにする?
Chef Casual Talk Vol.1 最近、日本でPuppetの影が薄くなって悲しいので、 ここであえてPuppetの話をする
Chef Casual Talk Vol.1 最近、日本でPuppetの影が薄くなって悲しいので、 ここであえてPuppetの話をする
Power shell で DSL
Power shell で DSL
FM音源をいじれるWebサービスを作った
FM音源をいじれるWebサービスを作った
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
メタメタプログラミングRuby
メタメタプログラミングRuby
OpenAI の音声認識 AI「Whisper」をテストしてみた
OpenAI の音声認識 AI「Whisper」をテストしてみた
Dockerを使ってみよう
Dockerを使ってみよう
OSC Tokyo fall LT~Dockerで分散処理をやってみた
OSC Tokyo fall LT~Dockerで分散処理をやってみた
PHP7をDockerで動かしたという話
PHP7をDockerで動かしたという話
Puppet×docker 夢の競演
Puppet×docker 夢の競演
Dockerと継続的インテグレーション
Dockerと継続的インテグレーション
【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門
Ansibleを使ってローカル開発環境を作ろう ( #PyLadiesTokyo Meetup )
Ansibleを使ってローカル開発環境を作ろう ( #PyLadiesTokyo Meetup )
Ansibleを使ってdockerコンテナをプロビジョニングする
Ansibleを使ってdockerコンテナをプロビジョニングする
Gentooサークル新歓コンパのご案内
Gentooサークル新歓コンパのご案内
ゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せます
Mais de Sugawara Genki
Elixir Meetup #1 Loggerの構造と拡張
Elixir Meetup #1 Loggerの構造と拡張
Sugawara Genki
SQLによるDynamoDBの操作
SQLによるDynamoDBの操作
Sugawara Genki
Lambdaによるクラウド型言語の実装
Lambdaによるクラウド型言語の実装
Sugawara Genki
200k/sec
200k/sec
Sugawara Genki
DynamoDBのまえにキャッシュおく奴
DynamoDBのまえにキャッシュおく奴
Sugawara Genki
20140930 anything as_code
20140930 anything as_code
Sugawara Genki
2014 09-23 Mechanism of Gossip protocol
2014 09-23 Mechanism of Gossip protocol
Sugawara Genki
CloudWatch Logsについて
CloudWatch Logsについて
Sugawara Genki
MHA on AWS+Rails
MHA on AWS+Rails
Sugawara Genki
ナウなヤングにCloud Formationが流行ってほしい
ナウなヤングにCloud Formationが流行ってほしい
Sugawara Genki
AWSをコードで定義する
AWSをコードで定義する
Sugawara Genki
クックパッドの開発について
クックパッドの開発について
Sugawara Genki
Gitを使ったRoute53の管理
Gitを使ったRoute53の管理
Sugawara Genki
EC2の天井を超える
EC2の天井を超える
Sugawara Genki
EC2でkeepalived+LVS(DSR)
EC2でkeepalived+LVS(DSR)
Sugawara Genki
クックパッドでのVPC移行について
クックパッドでのVPC移行について
Sugawara Genki
ゴシッププロトコルによる冗長化と負荷分散の検証
ゴシッププロトコルによる冗長化と負荷分散の検証
Sugawara Genki
20111012 jaws ug-tokyo勉強会-cookpad-on-aws
20111012 jaws ug-tokyo勉強会-cookpad-on-aws
Sugawara Genki
AWS移行に向けたクックパッドの取り組み+α
AWS移行に向けたクックパッドの取り組み+α
Sugawara Genki
AWS移行に向けたクックパッドの取り組み
AWS移行に向けたクックパッドの取り組み
Sugawara Genki
Mais de Sugawara Genki
(20)
Elixir Meetup #1 Loggerの構造と拡張
Elixir Meetup #1 Loggerの構造と拡張
SQLによるDynamoDBの操作
SQLによるDynamoDBの操作
Lambdaによるクラウド型言語の実装
Lambdaによるクラウド型言語の実装
200k/sec
200k/sec
DynamoDBのまえにキャッシュおく奴
DynamoDBのまえにキャッシュおく奴
20140930 anything as_code
20140930 anything as_code
2014 09-23 Mechanism of Gossip protocol
2014 09-23 Mechanism of Gossip protocol
CloudWatch Logsについて
CloudWatch Logsについて
MHA on AWS+Rails
MHA on AWS+Rails
ナウなヤングにCloud Formationが流行ってほしい
ナウなヤングにCloud Formationが流行ってほしい
AWSをコードで定義する
AWSをコードで定義する
クックパッドの開発について
クックパッドの開発について
Gitを使ったRoute53の管理
Gitを使ったRoute53の管理
EC2の天井を超える
EC2の天井を超える
EC2でkeepalived+LVS(DSR)
EC2でkeepalived+LVS(DSR)
クックパッドでのVPC移行について
クックパッドでのVPC移行について
ゴシッププロトコルによる冗長化と負荷分散の検証
ゴシッププロトコルによる冗長化と負荷分散の検証
20111012 jaws ug-tokyo勉強会-cookpad-on-aws
20111012 jaws ug-tokyo勉強会-cookpad-on-aws
AWS移行に向けたクックパッドの取り組み+α
AWS移行に向けたクックパッドの取り組み+α
AWS移行に向けたクックパッドの取り組み
AWS移行に向けたクックパッドの取り組み
ChefとPuppetの比較
1.
ChefとPuppetの比較 ~Puppetユーザから見たChef~(仮) クックパッド株式会社 菅原 元気
2.
自己紹介 菅原 元気 (@sgwr_dts
/ id:winebarrel) 白金台のほうから来ました ● クックパッド株式会社勤務 ● インフラエンジニア ● Ruby・AWS関連ツールを公開しています ○ https://bitbucket.org/winebarrel/ ○ https://github.com/winebarrel/
3.
本日の趣旨 Chefをディスりに来ました
4.
本日の趣旨 * * * + うそです
n ∧_∧ n + (ヨ(* ´∀`)E) Y Y *
5.
『Puppetの優れている部分を話せ(意訳)』 といわれて横浜まで来ました 本日の趣旨 吉田 真吾 14:49 ...
Puppetのほうがこんなに便利だ、という趣旨でお話できることなどはございま せんでしょうか?(中略)Puppetでないとできない(より便利な)ことも多いのではな いかと思っているのですが。
6.
本日の趣旨 プレゼンをきいてPuppetに 乗り換える方はいないと思いますが… ● Puppetにも良い機能があるので、要望・機能拡 張でChefの改善にもつながるかな ● これからPuppet
or Chefを選択する人は、選参 考になるかな …という感じです
7.
弊社とPuppetのおつきあい 2009年 一部サーバにPuppetを導入 大嫌いでした ● 適用時にエラーがいっぱい ● リソース競合の解消がめんどくさい ●
サーバとの認証でエラーがでる ● 外部DSLがわかりにくい etc.
8.
弊社とPuppetのおつきあい 2010年 AWSの検証開始 とりあえずpuppetを選択
9.
弊社とPuppetのおつきあい 2011年 AWSに移行 現在とおおむね同じPuppetの構成 ● ENCは未使用(ノードの更新は手動) ● manifestの書き方がめちゃくちゃ (スタイルガイドがなかった?)
10.
弊社とPuppetのおつきあい 2011年 Puppetに嫌気が差していたので Chefに移行しようとしていた …が、諸事情により断念
11.
弊社とPuppetのおつきあい 2012年 VPCに移行 Puppetまわりも刷新 ● ENCの導入 ● スタイルガイドに従ってリファクタリング ●
各種プラクティスに従って設計を変更 (継承廃止!)
12.
現在のサーバ構成 ● クライアントサーバ構成 ● サーバ台数は500〜600台 ●
基本的にすべてpuppetで管理
13.
クライアント側の機能の比較
14.
クライアント側の機能の比較 ディレクトリ構成 Puppet(クックパッドの場合) ├── lib ├── manifests ├──
modules │ ├── apache │ │ ├── files │ │ ├── manifests │ │ └── templates │ ├── nginx │ ├── roles │ ├── app_server │ │ ├── files │ │ ├── manifests │ │ └── templates │ ├── db_server │ │ ├── manifests │ │ └── templates │ └── types Chef ├── cookbooks │ ├── apache │ │ ├── attributes │ │ ├── definitions │ │ ├── files │ │ ├── libraries │ │ ├── providers │ │ ├── recipes │ │ ├── resources │ │ └── templates │ └── nginx │ ├── attributes │ ├── definitions │ ├── files │ ├── libraries │ ├── providers │ ├── recipes │ ├── resources │ └── templates ├── data_bags ├── nodes │ ├── app-001.json │ └── db-001.json ├── roles │ ├── app.json │ └── db.json ├── site-cookbooks └── solo.rb
15.
クライアント側の機能の比較 ディレクトリ構成 ● PuppetにChefのような 決められたディレクトリ構成はない ● ベストプラクティスを追求すると 似たような構成になると思います
16.
クライアント側の機能の比較 モジュール(クックブック)とロール Puppet # manifest class nginx
{ package { 'nginx': ensure => '1.2.2.1', } service { 'nginx': ensure => running, enable => true, require => Package['nginx'], } file { '/etc/nginx/enginx.conf': ensure => present, source => template('...'), owner => 'root, ... notify => Service['nginx'], } } # role class app { include nginx file { '/etc/hosts': ... } } Chef # recipe package 'nginx' do action :install version '1.2.2.1' end service 'nginx' do action { :enable, :start } end template '/etc/nginx/nginx.conf' do source 'nginx.conf.erb' owner 'root' mode 0644 notifies :reload , 'service[nginx]' end  # role: app.json { "run_list": [ "role[nginx]" ] }
17.
クライアント側の機能の比較 モジュール(クックブック)とロール Puppet # カスタムタイプ define sysctl($value)
{ exec { "exec_sysctl_$name": command => "sysctl -w $name=$value}", unless => "sysctl -n ${name} | fgrep -q $value", path => '/bin:/sbin:/usr/sbin:/usr/bin', } # ... sysctl { 'kernel.domainname': value => 'example.com', } Chef # カスタムリソース define :sysctl do bash "exec-sysctl-#{params[:name]}" do code <<-EOS sysctl -w #{params[:name]=#{params[:value]} EOS not_if <<-EOS sysctl -n ${params[:name]} | fgrep -q #{params[:value]} EOS end end # ... sysctl 'kernel.domainname' do value 'example.com' end
18.
クライアント側の機能の比較 モジュール(クックブック)とロール ● 基本的にはほとんど同じだと思います ○ 見えない人は3回瞬きしてください ●
ChefのRuby DSLはうらやましいです ○ PuppetのRuby DSLはお亡くなりになります ○ 既存のDSLを拡張するようですが(何故…) ● ビルドインのリソースは Chefのほうが充実しているかも
19.
クライアント側の機能の比較 モジュール(クックブック)とロール ● Puppetのロールの実態はモジュールです ○ 単にモジュールをまとめるモジュールというだけ ●
ロールにリソースを定義できるので、Chefよりも やや柔軟かも
20.
クライアント側の機能の比較 モジュール(クックブック)とロール ● ohaiの代わりにfacterというツールで システム情報を収集します
21.
クライアント側の機能の比較 モジュール(クックブック)とロール ● Puppetはリソース毎に依存性を定義します ○ 未定義の場合順番はランダム ○
上から順に適用して欲しいこともあります… ● Chefは記述順に適用 ○ リソース毎に依存性を定義できるのかは、 分かりませんでした(あったら教えてください)
22.
クライアント側の機能の比較 Puppet独自の機能 Ruby DSLが使えないのは大変残念ですが いくつかPuppet独自の機能があります (便利かどうかはさておき)
23.
クライアント側の機能の比較 継承 Puppet Style Guide "Inheritance
should be avoided." class freebsd inherits unix { File['/etc/passwd'] { group => 'wheel' } File['/etc/shadow'] { group => 'wheel' } }
24.
クライアント側の機能の比較 継承 ● 一言でいえば「使うな」 二言で言えば「死んでも使うな」 ● 使って良いことはありません ○
リソース競合の解決が難しくなります ○ 仮想リソースという解決策もありますが… ■ http://gihyo.jp/admin/serial/01/puppet/0013
25.
クライアント側の機能の比較 Parameterised Classes ● モジュールをテンプレートとして使えます ●
Chefだとロールに属性を定義して クックブックに渡す感じでしょうか? # module class apache($version) { ... class contents ... } # role class webserver { class { 'apache': version => '1.3.13' } }
26.
クライアント側の機能の比較 Run Stage ● 適用順を制御できます ●
Chefで必要になる機能ではないですね… stage { 'first': before => Stage['main'] } stage { 'last': require => Stage['main'] } class { 'apt-keys': stage => first; 'sendmail': stage => main; 'apache': stage => last; }
27.
クライアント側の機能の比較 Function server-idを設定する関数 module Puppet::Parser::Functions newfunction(:mysql_server_id, :type
=> :rvalue) do |args| ip_addr = lookupvar('ipaddress') ip_addr = IPAddr.new(ip_addr) # IPアドレスは下位 16ビットを整数値として使う ip_addr = (ip_addr.to_i & 0xFFFF) server_id = '%02d%03d%05d' % [ 0, # 0〜41の連番 392, # 国コード(http://ja.wikipedia.org/wiki/ISO_3166-1_numeric) ip_addr, ] # 先頭の0は削除 server_id.sub!(/A0+/, '') return server_id end end # my.cnf.elb ... server-id = <%= scope.function_mysql_server_id %> ...
28.
クライアント側の機能の比較 Function ● 共通で使う関数を定義できます ○ マニフェスト・テンプレート、どこでも使えます ●
シンタックスは例に漏れずダサいです ● Chefはグローバル関数の定義場所が よく分からなかったです…
29.
クライアント側の機能の比較 まとめ ● Puppetは「Ruby DSLを使えないのがイけてな い」に尽きると思います ●
とはいえ似たような感じです ● Puppet独自の機能がありますが、だからといっ てPuppetに優位性があるかは微妙です ● ある程度の機能差はそのうち埋まる気がします
30.
クライアント側の機能の比較 たぶん両方で使えるTips ● モジュール(クックブック)は細かく分けましょう ● ミドルウェアのバージョンは極力書きましょう ●
ミドルウェアのメジャーバージョンはモジュール を分けましょう ● 設定ファイルの抽象化はロール単位でやるとよ いです
31.
クライアント側の機能の比較 たぶん両方で使えるTips ● まめに適用しないと腐ります ● オンラインで適用できるようにしておくと腐敗を 防げます ○
restart等を避けるなど ● Puppet configuration PatternsはChefでも参 考になると思います ● Chef/Puppetよりさらに前の処理を行うツールを 作っておくといろいろ捗ります
32.
運用の機能の比較
33.
運用の機能の比較 chef-solo ● puppet-applyというコマンドで同じようなことが できます ● マニフェスト(レシピ)単位で指定するのでちょっ と感じが違うかも $
puppet apply -l /tmp/manifest.log manifest.pp $ puppet apply --modulepath=/root/dev/modules -e "include ntpd::server" $ puppet apply --catalog catalog.json
34.
運用の機能の比較 knife ● knifeの代わりとしてcapistoranoでサーバへの 登録(というかデプロイ)を行います ● Puppetのサーバはファイル管理なので、デプロ イの実装は簡単です
35.
運用の機能の比較 knife-solo ● 同様の機能はPuppetにはありません… ● 手元のちょっとした修正を適用できるのが良さ そうですね ○
knife-solo: レシピ修正→適用テスト→git push ○ puppet(C/S): レシピ修正→git push→適用テスト
36.
運用の機能の比較 chef-server Puppetのキラー機能 その① puppet-master (サーバ) ●
情報をファイルで管理 ● ファイルをサーバにただ置くだけ ● 変更はサーバが自動検知 ● gitでそのままファイルを 管理・デプロイできる!
37.
chef-server gitで設定を管理すると… ● 特別なツールがいらない ● 他のツールと組み合わせやすい ●
GitHubと組み合わせて レビュー・pull reqできる! 運用の機能の比較
38.
運用の機能の比較 chef-server chef-server ● 情報をDBで管理 ● 変更はknife経由だけ? ●
バージョン管理はできるようですが… ○ diffとかとれるんでしょうか? ● gitとの組み合わせ事例も一応ありますね
39.
運用の機能の比較 ノード管理 Puppetのキラー機能 その② ENC(External Node
Classifiers) ● ノード情報を動的に定義 ● 変数(Chefの属性)も動的に定義 ● EC2のAPIを使うことで ノード管理をAWSに委譲できる!
40.
運用の機能の比較 ノード管理 Chefの場合… ● 動的なノード定義の情報を探したのですが見つ からず… ● EC2でサーバが増減する場合、どのように管理 しているのでしょうか?(cronで定期的に更 新?)
41.
運用の機能の比較 chef-server+gitとENCについて Opscodeが本気になれば、すぐに実装される気が します。ただ、chef-serverは総合的なサーバ管理 ツールを目指しているように見受けられるので、ポ リシー的にすぐに実装はされないかなーと
42.
運用の機能の比較 chef-server+gitとENCについて knife-soloで運用するのも手ですが、すべての情 報がrsyncで転送されるのが気になります… (サーバ100台に適用、とか困りそうです)
43.
運用の機能の比較 どなたかgitの使えるの 軽量chef-serverを 作るとよいと思います
44.
運用の機能の比較 その他 ● 「dry-runできないんだ、やーい」と思ってたら、 とっくに実装されてました… ● PuppetにもWeb
UIはありますが、あんまり使っ たことはないです ● Puppetでもそうなんですが、クライアントをデー モン化してる方はいるんでしょうか?ものすごく 怖いのですが…
45.
おまけ
46.
おまけ さくっと実装できそうだったので chef-solo-encというのをつくりました chef-soloでENC的な機能を実現します
47.
おまけ DEMO
Baixar agora