Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.
1 #Dynatrace
South Florida User Group, Fort Lauderdale, 31st March 2015
Martin Etmajer, Technology Strategist @Dynatrace
A...
2 #Dynatrace
Insert
image here
Martin Etmajer
Technology Strategist @ Dynatrace
martin.etmajer@dynatrace.com
@metmajer
3 #Dynatrace
Introduction
4 #Dynatrace
The Phoenix Project
5 #Dynatrace
The Phoenix Project: Review
6 #Dynatrace
Continuous Delivery
Reliable Software Releases through
Build, Test and Deployment Automation
7 #Dynatrace
Utmost Goal: Minimize Cycle Time
feature cycle time time
Customer Users
8 #Dynatrace
Utmost Goal: Minimize Cycle Time
feature cycle time time
Customer minimize Users
9 #Dynatrace
Utmost Goal: Minimize Cycle Time
feature cycle time time
Customer
This is when you
create value!
minimize
10 #Dynatrace
Utmost Goal: Minimize Cycle Time
feature cycle time time
Customer
You
This is when you
create value!
minimize
11 #Dynatrace
Utmost Goal: Minimize Cycle Time
feature cycle time time
Customer
You
minimize
It’s about getting your featu...
12 #Dynatrace
“Our highest priority is to satisfy the customer through
early and continuous delivery of valuable software....
13 #Dynatrace
...which is at the heart of Continuous Delivery, defined as:
“A deployment pipeline is, in essence, an autom...
14 #Dynatrace
Continuous Delivery Deployment Pipeline
✔
15 #Dynatrace
Continuous Delivery Deployment Pipeline
✔
16 #Dynatrace
Continuous Delivery Deployment Pipeline
✔
✔
17 #Dynatrace
Continuous Delivery Deployment Pipeline
✔
✔ ✔
18 #Dynatrace
Continuous Delivery Deployment Pipeline
✔
✔ ✔ ✔
19 #Dynatrace
✔
✔ ✔ ✔
✔
Continuous Delivery Deployment Pipeline
20 #Dynatrace
Why?
» Create application runtime environments on demand
» Fast, reliable, repeatable and predictable outcom...
21 #Dynatrace
“Use machines for what they’re good at, use people for what they’re good at.”
Dave Farley at PIPELINE Confer...
22 #Dynatrace
What?
» Operating Systems, Drivers
» Middleware, Databases, etc.
» Applications, Dependencies, Data
Automate...
23 #Dynatrace
How?
» Infrastructure as Code!
» Keep everything in Version Control
» Code
» Configuration
» Data
» Align De...
24 #Dynatrace
Align Development and Operations
OPERATIONS
DEVELOPMENT
current iteration
(e.g. 2 weeks)
time
25 #Dynatrace
Align Development and Operations
OPERATIONS
DEVELOPMENT
current iteration
(e.g. 2 weeks)
time
Planning
26 #Dynatrace
Align Development and Operations
OPERATIONS
DEVELOPMENT
current iteration
(e.g. 2 weeks)
time
Planning
Imple...
27 #Dynatrace
Align Development and Operations
OPERATIONS
DEVELOPMENT
current iteration
(e.g. 2 weeks)
time
Planning
Imple...
28 #Dynatrace
“Enable the reconstruction of the business from nothing but a source code
repository, an application data ba...
29 #Dynatrace
Solutions
Architectural Comparison
30 #Dynatrace
Agent-Based Architectures
Examples: Chef, Puppet
31 #Dynatrace
Agent-Based Architectures
32 #Dynatrace
Agent-Based Architectures
33 #Dynatrace
Agent-Based Architectures
34 #Dynatrace
Agentless Architectures
Examples: Ansible
35 #Dynatrace
Ansible’s Agentless Architecture
36 #Dynatrace
Ansible’s Agentless Architecture
37 #Dynatrace
Ansible’s Agentless Architecture
38 #Dynatrace
Ansible’s Agentless Architecture
39 #Dynatrace
Ansible is an Orchestration Engine
40 #Dynatrace
Ansible is an Orchestration Engine
41 #Dynatrace
Ansible is an Orchestration Engine
42 #Dynatrace
Ansible is an Orchestration Engine
43 #Dynatrace
Ansible is an Orchestration Engine
44 #Dynatrace
Ansible is an Orchestration Engine
45 #Dynatrace
Ansible is an Orchestration Engine
46 #Dynatrace
What about Demand?
47 #Dynatrace
Global Google Trends: Chef vs. Puppet vs. Ansible
Chef
Puppet
Year #1
Ansible
48 #Dynatrace
» Named #1 to watch in 2015 by SD Times
» Named a Top 10 open source project by Red Hat’s opensource.com
» >...
49 #Dynatrace
NYC, May 2014
50 #Dynatrace
» They integrate nicely into your automated processes!
» Automated Deployments
» Configuration Management
» ...
51 #Dynatrace
What’s the Status?
52 #Dynatrace
Ansible Roles
» Dynatrace installations
» Client, Server, Collector, Agents
» Fix Packs, Plugins, Licenses
»...
53 #Dynatrace
Ansible Galaxy
54 #Dynatrace
Dynatrace GitHub Organization
55 #Dynatrace
Chef Cookbook
» Customers have provided their own implementions
» We will clean them up and open-source them...
56 #Dynatrace
Introduction to Ansible Concepts
57 #Dynatrace
Ansible Concepts: Inventories
58 #Dynatrace
Specify the environment Ansible operates in.
» Groups and hosts are defined in inventories
» Use inventories...
59 #Dynatrace
Ansible Concepts: Inventories
60 #Dynatrace
Ansible Concepts: Inventories
Group
Host
Numeric Range
Alphabetic Range
# production
[balancers]
www.example...
61 #Dynatrace
Ansible Concepts: Playbooks
62 #Dynatrace
Defines sequences of tasks (Plays) to be executed on a group of hosts.
» Describes policies machines under m...
63 #Dynatrace
--- # webservers.yml
- hosts: webservers
tasks:
- name: Install Apache HTTP Server
apt: name=apache2 update_...
64 #Dynatrace
Ansible Concepts: Playbooks
65 #Dynatrace
--- # playbook.yml
- include: dbservers.yml
- include: webservers.yml
- include: balancers.yml
- include: mo...
66 #Dynatrace
Ansible Concepts: Roles
67 #Dynatrace
The best way to organize your playbooks.
» Structure content into related vars, tasks, files, handlers, etc....
68 #Dynatrace
Deployment Automation of Dynatrace
with Ansible
in 3 simple steps
69 #Dynatrace
Simulated Production Environment: easyTravel
70 #Dynatrace
Simulated Production Environment: easyTravel
71 #Dynatrace
Deployment Scenario I: Install Server & Collector
72 #Dynatrace
Deployment Scenario II: Inject Agents
73 #Dynatrace
Deployment Scenario:
Install Server & Collector
74 #Dynatrace
1. Gather Dependencies
75 #Dynatrace
Ansible Galaxy: Dynatrace-Server
76 #Dynatrace
2. Specify Environment
77 #Dynatrace
Identify Hosts
dynatrace.easytravel.com
Monitoring
78 #Dynatrace
3. Execute Playbook
79 #Dynatrace
Deployment Scenario:
Inject Agents
80 #Dynatrace
1. Gather Dependencies
81 #Dynatrace
Identify Technologies
Apache HTTP Server
Apache Tomcat
82 #Dynatrace
Ansible Galaxy: Dynatrace-Apache-HTTPServer-Agent
83 #Dynatrace
Ansible Galaxy: Dynatrace-Tomcat-Agent
84 #Dynatrace
2. Specify Environment
85 #Dynatrace
Identify Hosts
www.easytravel.com
frontend.easytravel.com
backend.easytravel.com
Web Server
Application Serv...
86 #Dynatrace
3. Execute Playbook
87 #Dynatrace
Dynatrace Client: Agent Connection Status
5
88 #Dynatrace
Dynatrace Client: Transaction Flow
89 #Dynatrace
Questions?
90 #Dynatrace
Blogs
» Continuous Delivery 101: Automated Deployments
» How to Automate Enterprise Application Monitoring w...
91 #Dynatrace
Thank You
www.dynatrace.com
Próxima SlideShare
Cargando en…5
×

Automated Deployments with Ansible

13.483 visualizaciones

Publicado el

This presentation starts with an introduction to the rationale behind automated deployments in Continuous Delivery and DevOps. Then, I compare agent-based architectures, such as Chef and Puppet with the agentless architecture of the server orchestration engine Ansible. The presentation concludes with an automated deployment of Dynatrace into a simulated production environment.

Publicado en: Software
  • Inicia sesión para ver los comentarios

Automated Deployments with Ansible

  1. 1. 1 #Dynatrace South Florida User Group, Fort Lauderdale, 31st March 2015 Martin Etmajer, Technology Strategist @Dynatrace Automated Deployments with Ansible
  2. 2. 2 #Dynatrace Insert image here Martin Etmajer Technology Strategist @ Dynatrace martin.etmajer@dynatrace.com @metmajer
  3. 3. 3 #Dynatrace Introduction
  4. 4. 4 #Dynatrace The Phoenix Project
  5. 5. 5 #Dynatrace The Phoenix Project: Review
  6. 6. 6 #Dynatrace Continuous Delivery Reliable Software Releases through Build, Test and Deployment Automation
  7. 7. 7 #Dynatrace Utmost Goal: Minimize Cycle Time feature cycle time time Customer Users
  8. 8. 8 #Dynatrace Utmost Goal: Minimize Cycle Time feature cycle time time Customer minimize Users
  9. 9. 9 #Dynatrace Utmost Goal: Minimize Cycle Time feature cycle time time Customer This is when you create value! minimize
  10. 10. 10 #Dynatrace Utmost Goal: Minimize Cycle Time feature cycle time time Customer You This is when you create value! minimize
  11. 11. 11 #Dynatrace Utmost Goal: Minimize Cycle Time feature cycle time time Customer You minimize It’s about getting your features into your user’s hands as quickly as possible!
  12. 12. 12 #Dynatrace “Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.” #1 Principle of the Agile Manifesto Agile Manifesto: Principle #1
  13. 13. 13 #Dynatrace ...which is at the heart of Continuous Delivery, defined as: “A deployment pipeline is, in essence, an automated implementation of your application’s build, deploy, test and release process.” Jez Humble & Dave Farley in Continuous Delivery Continuous Delivery Deployment Pipeline
  14. 14. 14 #Dynatrace Continuous Delivery Deployment Pipeline ✔
  15. 15. 15 #Dynatrace Continuous Delivery Deployment Pipeline ✔
  16. 16. 16 #Dynatrace Continuous Delivery Deployment Pipeline ✔ ✔
  17. 17. 17 #Dynatrace Continuous Delivery Deployment Pipeline ✔ ✔ ✔
  18. 18. 18 #Dynatrace Continuous Delivery Deployment Pipeline ✔ ✔ ✔ ✔
  19. 19. 19 #Dynatrace ✔ ✔ ✔ ✔ ✔ Continuous Delivery Deployment Pipeline
  20. 20. 20 #Dynatrace Why? » Create application runtime environments on demand » Fast, reliable, repeatable and predictable outcomes » Consistent environments in staging and production » Establish fast feedback loops you can react upon » Makes release days riskless, almost boring Automated Deployments
  21. 21. 21 #Dynatrace “Use machines for what they’re good at, use people for what they’re good at.” Dave Farley at PIPELINE Conference 2014 @vimeo.com/96173993 Solve problems and be creative! Repetitive tasks
  22. 22. 22 #Dynatrace What? » Operating Systems, Drivers » Middleware, Databases, etc. » Applications, Dependencies, Data Automated Deployments }+ Configuration
  23. 23. 23 #Dynatrace How? » Infrastructure as Code! » Keep everything in Version Control » Code » Configuration » Data » Align Development and Operations Automated Deployments Everything that affects application state
  24. 24. 24 #Dynatrace Align Development and Operations OPERATIONS DEVELOPMENT current iteration (e.g. 2 weeks) time
  25. 25. 25 #Dynatrace Align Development and Operations OPERATIONS DEVELOPMENT current iteration (e.g. 2 weeks) time Planning
  26. 26. 26 #Dynatrace Align Development and Operations OPERATIONS DEVELOPMENT current iteration (e.g. 2 weeks) time Planning Implementing and testing
  27. 27. 27 #Dynatrace Align Development and Operations OPERATIONS DEVELOPMENT current iteration (e.g. 2 weeks) time Planning Implementing and testing Working and deployable code
  28. 28. 28 #Dynatrace “Enable the reconstruction of the business from nothing but a source code repository, an application data backup, and bare metal resources.” Adam Jacob, CTO of Opscode
  29. 29. 29 #Dynatrace Solutions Architectural Comparison
  30. 30. 30 #Dynatrace Agent-Based Architectures Examples: Chef, Puppet
  31. 31. 31 #Dynatrace Agent-Based Architectures
  32. 32. 32 #Dynatrace Agent-Based Architectures
  33. 33. 33 #Dynatrace Agent-Based Architectures
  34. 34. 34 #Dynatrace Agentless Architectures Examples: Ansible
  35. 35. 35 #Dynatrace Ansible’s Agentless Architecture
  36. 36. 36 #Dynatrace Ansible’s Agentless Architecture
  37. 37. 37 #Dynatrace Ansible’s Agentless Architecture
  38. 38. 38 #Dynatrace Ansible’s Agentless Architecture
  39. 39. 39 #Dynatrace Ansible is an Orchestration Engine
  40. 40. 40 #Dynatrace Ansible is an Orchestration Engine
  41. 41. 41 #Dynatrace Ansible is an Orchestration Engine
  42. 42. 42 #Dynatrace Ansible is an Orchestration Engine
  43. 43. 43 #Dynatrace Ansible is an Orchestration Engine
  44. 44. 44 #Dynatrace Ansible is an Orchestration Engine
  45. 45. 45 #Dynatrace Ansible is an Orchestration Engine
  46. 46. 46 #Dynatrace What about Demand?
  47. 47. 47 #Dynatrace Global Google Trends: Chef vs. Puppet vs. Ansible Chef Puppet Year #1 Ansible
  48. 48. 48 #Dynatrace » Named #1 to watch in 2015 by SD Times » Named a Top 10 open source project by Red Hat’s opensource.com » > 1 Million Downloads » > 40 dedicated Ansible meetups (happen regularly) » > 300 customers across all verticals (Ansible Tower) » > 900 contributors on GitHub (one of GitHub’s most active projects) » AnsibleFest conferences in San Francisco, Austin & New York » “Ansible: Up and Running” book preview released by O’Reilly Ansible: Recap of 2014 (first full year of sales)
  49. 49. 49 #Dynatrace NYC, May 2014
  50. 50. 50 #Dynatrace » They integrate nicely into your automated processes! » Automated Deployments » Configuration Management » Immutable Infrastructure » Ansible inside the Dynatrace SaaS Orchestration Platform » Whether on-prem or SaaS: automatically tested Dynatrace Automated Deployments. So what? Agents, Collectors, Servers, Clients, etc. with either of Chef, Puppet or Ansible
  51. 51. 51 #Dynatrace What’s the Status?
  52. 52. 52 #Dynatrace Ansible Roles » Dynatrace installations » Client, Server, Collector, Agents » Fix Packs, Plugins, Licenses » Dynatrace Agent injections » Platforms: Linux Windows (soon) » Soon to come: Agent Groups, PWH Connectivity, etc. Automated Deployments: What’s the Status? ✓ ✓ ✓ ✓ ✓ ✓
  53. 53. 53 #Dynatrace Ansible Galaxy
  54. 54. 54 #Dynatrace Dynatrace GitHub Organization
  55. 55. 55 #Dynatrace Chef Cookbook » Customers have provided their own implementions » We will clean them up and open-source them soon Puppet Module » Being developed in-house in our Linz lab Automated Deployments: What’s the Status?
  56. 56. 56 #Dynatrace Introduction to Ansible Concepts
  57. 57. 57 #Dynatrace Ansible Concepts: Inventories
  58. 58. 58 #Dynatrace Specify the environment Ansible operates in. » Groups and hosts are defined in inventories » Use inventories for staging and production » Text files expressed in an INI-like format Ansible Concepts: Inventories
  59. 59. 59 #Dynatrace Ansible Concepts: Inventories
  60. 60. 60 #Dynatrace Ansible Concepts: Inventories Group Host Numeric Range Alphabetic Range # production [balancers] www.example.com [webservers] www[0-9].example.com [dbservers] db[a:f].example.com [monitoring] dynatrace.example.com
  61. 61. 61 #Dynatrace Ansible Concepts: Playbooks
  62. 62. 62 #Dynatrace Defines sequences of tasks (Plays) to be executed on a group of hosts. » Describes policies machines under management shall enforce » Contains variables, tasks, handlers, files, templates and roles » Expressed in YAML Ansible Concepts: Playbooks
  63. 63. 63 #Dynatrace --- # webservers.yml - hosts: webservers tasks: - name: Install Apache HTTP Server apt: name=apache2 update_cache=yes - name: Install Apache Modules apache2_module: name={{ item }} state=present with_items: - proxy - proxy_httpd notify: reload apache2 handlers: - name: reload apache2 service: name=apache2 state=reloaded remote_user: deploy sudo: yes Ansible Concepts: Playbooks List of plays Group of hosts Documentation Module Arguments Variable Notify handler Only on state changeDebounced List of tasks Restart service
  64. 64. 64 #Dynatrace Ansible Concepts: Playbooks
  65. 65. 65 #Dynatrace --- # playbook.yml - include: dbservers.yml - include: webservers.yml - include: balancers.yml - include: monitoring.yml Ansible Concepts: Playbooks One to rule them all
  66. 66. 66 #Dynatrace Ansible Concepts: Roles
  67. 67. 67 #Dynatrace The best way to organize your playbooks. » Structure content into related vars, tasks, files, handlers, etc. » File structure for automated inclusion of role-specific content » Roles can be shared and pulled from Ansible Galaxy, GitHub, etc. Ansible Concepts: Roles
  68. 68. 68 #Dynatrace Deployment Automation of Dynatrace with Ansible in 3 simple steps
  69. 69. 69 #Dynatrace Simulated Production Environment: easyTravel
  70. 70. 70 #Dynatrace Simulated Production Environment: easyTravel
  71. 71. 71 #Dynatrace Deployment Scenario I: Install Server & Collector
  72. 72. 72 #Dynatrace Deployment Scenario II: Inject Agents
  73. 73. 73 #Dynatrace Deployment Scenario: Install Server & Collector
  74. 74. 74 #Dynatrace 1. Gather Dependencies
  75. 75. 75 #Dynatrace Ansible Galaxy: Dynatrace-Server
  76. 76. 76 #Dynatrace 2. Specify Environment
  77. 77. 77 #Dynatrace Identify Hosts dynatrace.easytravel.com Monitoring
  78. 78. 78 #Dynatrace 3. Execute Playbook
  79. 79. 79 #Dynatrace Deployment Scenario: Inject Agents
  80. 80. 80 #Dynatrace 1. Gather Dependencies
  81. 81. 81 #Dynatrace Identify Technologies Apache HTTP Server Apache Tomcat
  82. 82. 82 #Dynatrace Ansible Galaxy: Dynatrace-Apache-HTTPServer-Agent
  83. 83. 83 #Dynatrace Ansible Galaxy: Dynatrace-Tomcat-Agent
  84. 84. 84 #Dynatrace 2. Specify Environment
  85. 85. 85 #Dynatrace Identify Hosts www.easytravel.com frontend.easytravel.com backend.easytravel.com Web Server Application Servers
  86. 86. 86 #Dynatrace 3. Execute Playbook
  87. 87. 87 #Dynatrace Dynatrace Client: Agent Connection Status 5
  88. 88. 88 #Dynatrace Dynatrace Client: Transaction Flow
  89. 89. 89 #Dynatrace Questions?
  90. 90. 90 #Dynatrace Blogs » Continuous Delivery 101: Automated Deployments » How to Automate Enterprise Application Monitoring with Ansible Presentations » Automated Deployments: Hands-On Training » Dynatrace Inside Continuous Delivery Tutorials » Automated Deployments with Dynatrace and Ansible Additional Resources
  91. 91. 91 #Dynatrace Thank You www.dynatrace.com

×