ANSIBLE Configuration Management System done right Fabio Alessandro - - PowerPoint PPT Presentation

ansible
SMART_READER_LITE
LIVE PREVIEW

ANSIBLE Configuration Management System done right Fabio Alessandro - - PowerPoint PPT Presentation

ANSIBLE Configuration Management System done right Fabio Alessandro Locati Senior Cloud Consultant 29 November 2016 OUTLINE Intro Automation Automation Concepts Ansible 2 INTRO IT Consultant since 2004 Ansible user since 2013


slide-1
SLIDE 1

ANSIBLE

Configuration Management System done right Fabio Alessandro Locati Senior Cloud Consultant 29 November 2016

slide-2
SLIDE 2

OUTLINE

Intro Automation Automation Concepts Ansible

2

slide-3
SLIDE 3

INTRO

slide-4
SLIDE 4

ABOUT ME

  • IT Consultant since 2004
  • Ansible user since 2013

4

slide-5
SLIDE 5

ABOUT ME

  • IT Consultant since 2004
  • Ansible user since 2013

4

slide-6
SLIDE 6

ABOUT ME

  • IT Consultant since 2004
  • Ansible user since 2013

4

slide-7
SLIDE 7

TODAY’S PROBLEMS

  • Auditability
  • Job-hopping
  • Speed
  • Scalability
  • Horizontal scaling (IaaS “cloud”)
  • Expected QoS

5

slide-8
SLIDE 8

TODAY’S PROBLEMS

  • Auditability
  • Job-hopping
  • Speed
  • Scalability
  • Horizontal scaling (IaaS “cloud”)
  • Expected QoS

5

slide-9
SLIDE 9

TODAY’S PROBLEMS

  • Auditability
  • Job-hopping
  • Speed
  • Scalability
  • Horizontal scaling (IaaS “cloud”)
  • Expected QoS

5

slide-10
SLIDE 10

TODAY’S PROBLEMS

  • Auditability
  • Job-hopping
  • Speed
  • Scalability
  • Horizontal scaling (IaaS “cloud”)
  • Expected QoS

5

slide-11
SLIDE 11

TODAY’S PROBLEMS

  • Auditability
  • Job-hopping
  • Speed
  • Scalability
  • Horizontal scaling (IaaS “cloud”)
  • Expected QoS

5

slide-12
SLIDE 12

TODAY’S PROBLEMS

  • Auditability
  • Job-hopping
  • Speed
  • Scalability
  • Horizontal scaling (IaaS “cloud”)
  • Expected QoS

5

slide-13
SLIDE 13

TODAY’S PROBLEMS

  • Auditability
  • Job-hopping
  • Speed
  • Scalability
  • Horizontal scaling (IaaS “cloud”)
  • Expected QoS

5

slide-14
SLIDE 14

AUTOMATION

slide-15
SLIDE 15

ADVANTAGES

  • Infrastructure as Code
  • Code is the infrastructure documentation*
  • Simplify auditability
  • Infrastructures with no humans with root powers
  • Easy and quick to scale out

7

slide-16
SLIDE 16

ADVANTAGES

  • Infrastructure as Code
  • Code is the infrastructure documentation*
  • Simplify auditability
  • Infrastructures with no humans with root powers
  • Easy and quick to scale out

7

slide-17
SLIDE 17

ADVANTAGES

  • Infrastructure as Code
  • Code is the infrastructure documentation*
  • Simplify auditability
  • Infrastructures with no humans with root powers
  • Easy and quick to scale out

7

slide-18
SLIDE 18

ADVANTAGES

  • Infrastructure as Code
  • Code is the infrastructure documentation*
  • Simplify auditability
  • Infrastructures with no humans with root powers
  • Easy and quick to scale out

7

slide-19
SLIDE 19

ADVANTAGES

  • Infrastructure as Code
  • Code is the infrastructure documentation*
  • Simplify auditability
  • Infrastructures with no humans with root powers
  • Easy and quick to scale out

7

slide-20
SLIDE 20

ADVANTAGES

  • Infrastructure as Code
  • Code is the infrastructure documentation*
  • Simplify auditability
  • Infrastructures with no humans with root powers
  • Easy and quick to scale out

7

slide-21
SLIDE 21

AUTOMATION CONCEPTS

slide-22
SLIDE 22

AGENT

An Agent is a daemon that runs on every controlled machine and that will check with the server (master) every N minutes to ensure that the host is aligned with the latest configuration version. If this is not the case, the Agent will download the lastest configuration version and apply it.

  • Advantages
  • High performance during commands execution
  • Connection between clients and server is client managed
  • Disadvantages
  • Forces the master to be in the least secure network segment
  • Resources are used even if no changes are being applied
  • More daemons to take care of
  • Chicken and Egg problem

9

slide-23
SLIDE 23

AGENT

An Agent is a daemon that runs on every controlled machine and that will check with the server (master) every N minutes to ensure that the host is aligned with the latest configuration version. If this is not the case, the Agent will download the lastest configuration version and apply it.

  • Advantages
  • High performance during commands execution
  • Connection between clients and server is client managed
  • Disadvantages
  • Forces the master to be in the least secure network segment
  • Resources are used even if no changes are being applied
  • More daemons to take care of
  • Chicken and Egg problem

9

slide-24
SLIDE 24

AGENT

An Agent is a daemon that runs on every controlled machine and that will check with the server (master) every N minutes to ensure that the host is aligned with the latest configuration version. If this is not the case, the Agent will download the lastest configuration version and apply it.

  • Advantages
  • High performance during commands execution
  • Connection between clients and server is client managed
  • Disadvantages
  • Forces the master to be in the least secure network segment
  • Resources are used even if no changes are being applied
  • More daemons to take care of
  • Chicken and Egg problem

9

slide-25
SLIDE 25

AGENT

An Agent is a daemon that runs on every controlled machine and that will check with the server (master) every N minutes to ensure that the host is aligned with the latest configuration version. If this is not the case, the Agent will download the lastest configuration version and apply it.

  • Advantages
  • High performance during commands execution
  • Connection between clients and server is client managed
  • Disadvantages
  • Forces the master to be in the least secure network segment
  • Resources are used even if no changes are being applied
  • More daemons to take care of
  • Chicken and Egg problem

9

slide-26
SLIDE 26

AGENT

An Agent is a daemon that runs on every controlled machine and that will check with the server (master) every N minutes to ensure that the host is aligned with the latest configuration version. If this is not the case, the Agent will download the lastest configuration version and apply it.

  • Advantages
  • High performance during commands execution
  • Connection between clients and server is client managed
  • Disadvantages
  • Forces the master to be in the least secure network segment
  • Resources are used even if no changes are being applied
  • More daemons to take care of
  • Chicken and Egg problem

9

slide-27
SLIDE 27

AGENT

An Agent is a daemon that runs on every controlled machine and that will check with the server (master) every N minutes to ensure that the host is aligned with the latest configuration version. If this is not the case, the Agent will download the lastest configuration version and apply it.

  • Advantages
  • High performance during commands execution
  • Connection between clients and server is client managed
  • Disadvantages
  • Forces the master to be in the least secure network segment
  • Resources are used even if no changes are being applied
  • More daemons to take care of
  • Chicken and Egg problem

9

slide-28
SLIDE 28

AGENT

An Agent is a daemon that runs on every controlled machine and that will check with the server (master) every N minutes to ensure that the host is aligned with the latest configuration version. If this is not the case, the Agent will download the lastest configuration version and apply it.

  • Advantages
  • High performance during commands execution
  • Connection between clients and server is client managed
  • Disadvantages
  • Forces the master to be in the least secure network segment
  • Resources are used even if no changes are being applied
  • More daemons to take care of
  • Chicken and Egg problem

9

slide-29
SLIDE 29

AGENT

An Agent is a daemon that runs on every controlled machine and that will check with the server (master) every N minutes to ensure that the host is aligned with the latest configuration version. If this is not the case, the Agent will download the lastest configuration version and apply it.

  • Advantages
  • High performance during commands execution
  • Connection between clients and server is client managed
  • Disadvantages
  • Forces the master to be in the least secure network segment
  • Resources are used even if no changes are being applied
  • More daemons to take care of
  • Chicken and Egg problem

9

slide-30
SLIDE 30

AGENT

An Agent is a daemon that runs on every controlled machine and that will check with the server (master) every N minutes to ensure that the host is aligned with the latest configuration version. If this is not the case, the Agent will download the lastest configuration version and apply it.

  • Advantages
  • High performance during commands execution
  • Connection between clients and server is client managed
  • Disadvantages
  • Forces the master to be in the least secure network segment
  • Resources are used even if no changes are being applied
  • More daemons to take care of
  • Chicken and Egg problem

9

slide-31
SLIDE 31

IDEMPOTENCE

Definition Idempotence is the property of certain operations in mathematics and computer science, that can be applied multiple times without changing the result beyond the initial application.

10

slide-32
SLIDE 32

INFRASTRUCTURE AS CODE DATA

  • Really simple to write
  • Even simpler to read
  • Only the bit important to you need to be written

11

slide-33
SLIDE 33

INFRASTRUCTURE AS CODE DATA

  • Really simple to write
  • Even simpler to read
  • Only the bit important to you need to be written

11

slide-34
SLIDE 34

INFRASTRUCTURE AS CODE DATA

  • Really simple to write
  • Even simpler to read
  • Only the bit important to you need to be written

11

slide-35
SLIDE 35

INFRASTRUCTURE AS CODE DATA

  • Really simple to write
  • Even simpler to read
  • Only the bit important to you need to be written

11

slide-36
SLIDE 36

EXAMPLE OF SYNTAX

  • hosts: all

become: True tasks:

  • name: Ensure MySQL is installed

yum: name: mysql state: present

  • name: Ensure user tom is present

user: name: tom state: present

12

slide-37
SLIDE 37

ANSIBLE

slide-38
SLIDE 38

ANSIBLE

  • Written in Python
  • Mainly push mode
  • Advantages
  • Infrastructure as Data (in YAML format)
  • Very gentle learning curve
  • Very simple setup
  • Balanced tool
  • Disadvantages
  • Not very good introspection tools (yet!)
  • Community is young

14

slide-39
SLIDE 39

ANSIBLE

  • Written in Python
  • Mainly push mode
  • Advantages
  • Infrastructure as Data (in YAML format)
  • Very gentle learning curve
  • Very simple setup
  • Balanced tool
  • Disadvantages
  • Not very good introspection tools (yet!)
  • Community is young

14

slide-40
SLIDE 40

ANSIBLE

  • Written in Python
  • Mainly push mode
  • Advantages
  • Infrastructure as Data (in YAML format)
  • Very gentle learning curve
  • Very simple setup
  • Balanced tool
  • Disadvantages
  • Not very good introspection tools (yet!)
  • Community is young

14

slide-41
SLIDE 41

ANSIBLE

  • Written in Python
  • Mainly push mode
  • Advantages
  • Infrastructure as Data (in YAML format)
  • Very gentle learning curve
  • Very simple setup
  • Balanced tool
  • Disadvantages
  • Not very good introspection tools (yet!)
  • Community is young

14

slide-42
SLIDE 42

ANSIBLE

  • Written in Python
  • Mainly push mode
  • Advantages
  • Infrastructure as Data (in YAML format)
  • Very gentle learning curve
  • Very simple setup
  • Balanced tool
  • Disadvantages
  • Not very good introspection tools (yet!)
  • Community is young

14

slide-43
SLIDE 43

ANSIBLE

  • Written in Python
  • Mainly push mode
  • Advantages
  • Infrastructure as Data (in YAML format)
  • Very gentle learning curve
  • Very simple setup
  • Balanced tool
  • Disadvantages
  • Not very good introspection tools (yet!)
  • Community is young

14

slide-44
SLIDE 44

ANSIBLE

  • Written in Python
  • Mainly push mode
  • Advantages
  • Infrastructure as Data (in YAML format)
  • Very gentle learning curve
  • Very simple setup
  • Balanced tool
  • Disadvantages
  • Not very good introspection tools (yet!)
  • Community is young

14

slide-45
SLIDE 45

ANSIBLE

  • Written in Python
  • Mainly push mode
  • Advantages
  • Infrastructure as Data (in YAML format)
  • Very gentle learning curve
  • Very simple setup
  • Balanced tool
  • Disadvantages
  • Not very good introspection tools (yet!)
  • Community is young

14

slide-46
SLIDE 46

ANSIBLE

  • Written in Python
  • Mainly push mode
  • Advantages
  • Infrastructure as Data (in YAML format)
  • Very gentle learning curve
  • Very simple setup
  • Balanced tool
  • Disadvantages
  • Not very good introspection tools (yet!)
  • Community is young

14

slide-47
SLIDE 47

ANSIBLE

  • Written in Python
  • Mainly push mode
  • Advantages
  • Infrastructure as Data (in YAML format)
  • Very gentle learning curve
  • Very simple setup
  • Balanced tool
  • Disadvantages
  • Not very good introspection tools (yet!)
  • Community is young

14

slide-48
SLIDE 48

ANSIBLE

  • Written in Python
  • Mainly push mode
  • Advantages
  • Infrastructure as Data (in YAML format)
  • Very gentle learning curve
  • Very simple setup
  • Balanced tool
  • Disadvantages
  • Not very good introspection tools (yet!)
  • Community is young

14

slide-49
SLIDE 49

USUAL DEPLOYMENT PROCESS

  • Automate few actions with Ansible Playbooks
  • Create Ansible Roles for the setup of a simple machine type
  • Rollout of the first machines completely managed with Ansible
  • Migration of all machines to Ansible

15

slide-50
SLIDE 50

USUAL DEPLOYMENT PROCESS

  • Automate few actions with Ansible Playbooks
  • Create Ansible Roles for the setup of a simple machine type
  • Rollout of the first machines completely managed with Ansible
  • Migration of all machines to Ansible

15

slide-51
SLIDE 51

USUAL DEPLOYMENT PROCESS

  • Automate few actions with Ansible Playbooks
  • Create Ansible Roles for the setup of a simple machine type
  • Rollout of the first machines completely managed with Ansible
  • Migration of all machines to Ansible

15

slide-52
SLIDE 52

USUAL DEPLOYMENT PROCESS

  • Automate few actions with Ansible Playbooks
  • Create Ansible Roles for the setup of a simple machine type
  • Rollout of the first machines completely managed with Ansible
  • Migration of all machines to Ansible

15

slide-53
SLIDE 53

USUAL DEPLOYMENT PROCESS

  • Automate few actions with Ansible Playbooks
  • Create Ansible Roles for the setup of a simple machine type
  • Rollout of the first machines completely managed with Ansible
  • Migration of all machines to Ansible

15

slide-54
SLIDE 54

ADDITIONAL RESOURCES

  • Slides: https://slides.fale.io/20161129-en-ansible.pdf
  • Demo code: https://github.com/fale/ansible_lamp
  • Official documentation: http://docs.ansible.com
  • Videos: https://www.ansible.com/videos
  • Whitepapers: https://www.ansible.com/whitepapers
  • Ebooks: https://www.ansible.com/ebooks

16

slide-55
SLIDE 55

THANK YOU

plus.google.com/+RedHat linkedin.com/company/red-hat youtube.com/user/RedHatVideos facebook.com/redhatinc twitter.com/RedHatNews