Моя тема - «Ансамбль солёных поваров: сравниваем Ansible, SaltStack и Chef»
Я буду сравнивать три ведущие, по моему мнению, SCM-системы: Chef, Ansible и SaltStack. Доклад будет приправлен практикой и примерами из жизни, как хорошими так и плохими.
8. 8
• Repeatedness and consistency
• Extends CI/CD Process
• Version controlled
• Easy to support and evolve
• Full automation
SCM in a Nutshell
9. 9
SIMPLE. POWERFUL. AGENTLESS.
App deployment, configuration management and orchestration - all
from one system. Ansible is powerful IT automation that you can
learn quickly.
• Agentless architecture
• Written on Python
• Yaml-like DSL
• Easily extensible
• Very simple and lightweight
SCM in a Nutshell
Ansible
11. 11
THINK IT TO SHIP IT.
The Chef server is the highly scalable foundation of the Chef
automation platform. Create a flexible, dynamic infrastructure
across multiple datacenters, public and private clouds, and in
heterogeneous environments.
• Client-Server Architecture
• Search-base Configuration
• Written on Ruby
• Ruby DSL
• Giant community and tools
SCM in a Nutshell
Chef
13. 13
SPEED + SCALE + FLEXIBILITY + EFFICIENCY
Automation for enterprise IT ops, event-driven data center
orchestration and the most flexible configuration management
for DevOps at scale.
• Agent or agentless architecture
• Real-time automation
• Parallel remote execution
• Written on Python
• Yaml-like DSL
SCM in a Nutshell
Salt-Stack
19. 19
• MultiMaster Performance Issues
• Runners vs Modules
• Cache mine
• Race condition & Orchestrate
A piece of Practice: SaltStack
SaltStack in real life
20. 20
A piece of Practice: SaltStack
https://github.com/saltstack/salt/issues/18564
21. 21
A piece of Practice: SaltStack
SaltStack
Maturity
Simplicity
Customizability
Tooling
Community
⭐️⭐️⭐️
⭐️⭐️
⭐️⭐️⭐️⭐️⭐️
⭐️⭐️
⭐️⭐️⭐️
22. 22
• Search is slow
A piece of Practice: Chef
Chef in real life
24. 24
A piece of Practice: Chef
• Use proper naming convention
• Run search once for all nodes and users
• Use ruby to filter results when they needed
25. 25
• Search is slow
• node.save is not save to use!
• No splay can kill your chef-server
A piece of Practice: Chef
Chef in real life
26. 26
A piece of Practice: Chef
Chef
Maturity
Simplicity
Customizability
Tooling
Community
⭐️⭐️⭐️⭐️⭐️
⭐️⭐️⭐️⭐️
⭐️⭐️⭐️⭐️
⭐️⭐️⭐️⭐️⭐️
⭐️⭐️⭐️⭐️⭐️
27. 27
• Use ‘accelerate’ and ‘pipelining’
• Optimize your runs using ‘with_items’
• Use ‘local_action’ and ‘delegated’ wisely
• Optimize your roles and runs with tags
A piece of Practice: Ansible
Ansible in real life