SlideShare a Scribd company logo
1 of 26
1 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive
Infrastructure Automation:
How to Use Chef For DevOps Success
Tweet your thoughts & questions using #APMLive
2 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive
Cooking Up Dynatrace
Piyush Chugh
Advisory Technical Systems Analyst
Ontario Teachers’ Pension Plan Board
3 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive
• With $140.8 billion in assets as of December 31, 2013, the
Ontario Teachers' Pension Plan is the largest single-profession
pension plan in Canada.
• An independent organization, it invests the pension fund's
assets and administers the pensions of 307,000 active and
retired teachers in Ontario.
About Ontario Teachers’ Pension Plan Board
http://www.otpp.com/
4 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive
• Name: Piyush Chugh
• Title: Advisory Technical Systems Analyst
• Helpful Description: Full Stack Hacker*, Devops person
About Piyush
* Hacker in a tinkering sense of the word,
and NOT in an intruding sense
5 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive
• Overview
• Implementation + Challenges
• Questions
The Plan
6 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive
Overview
7 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive
• Primarily a Java shop
• IBM WebSphere
• Tomcat
• Scope
• Test Centre: ~20 agents
• Production: ~50 agents
Dynatrace at Teachers’
8 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive
• Focus on identifying application
problems early
• Testing out special sensors before
they are deployed in production
• Monitoring and Analysis in
Production
• Custom dashboards
• Detailed alerting
• User Experience Management
(UEM)
Dynatrace at Teachers’
9 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive
• We use Dynatrace to monitor and analyze our business
applications
• We are starting to use chef to automate all our environments
• Dynatrace is another environment for us to manage
• Impetus: We needed to upgrade from 5.5 to 6.0
What does Chef have to do with Dynatrace?
10 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive
What is
Chef?
11 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive
• Automation Platform
• Chef automates
• how applications are configured,
• deployed, and
• managed across your network
• At scale
What is Chef?
https://docs.chef.io/
12 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive
• Simple concepts
• achieving desired state
• centralized modeling of IT infrastructure
• building blocks
What is Chef?
https://docs.chef.io/
13 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive
• Create a username for tomcat
Basic Chef Recipe Example
user ‘tomcat’ do
comment ‘Tomcat User’
gid ‘apps’
shell ‘/bin/false’
action :create
end
14 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive
• Make a directory and download a tarball there
Basic Chef Recipe Example
directory ‘/usr/incoming’ do
group ‘apps’
end
remote_file ‘/usr/incoming/tomcat_latest.tgz’ do
source ‘http://xyz.com/tomcat_rc2.tgz’
owner ‘tomcat’
end
15 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive
Implementation + Challenges
16 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive
General Pattern (pseudo-code)
Download jar files
if not dynatrace.is_installed then
dynatrace.install
else
if not dynatrace.is_latest_version then
dynatrace.upgrade
dynatrace.migrate
end
end
17 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive
• We pre-download the jar files from Dynatrace servers and store
them in a local repository
• Some useful options for repositories
• Artifactory [http://www.jfrog.com/artifactory/]
• Sonatype Nexus [http://www.sonatype.org/nexus/]
• Apache Archiva [https://archiva.apache.org]
• Simple File server with an http server
• Chef recipes refer to this location and downloads binaries
Dynatrace Binaries
18 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive
• Recipe invokes the standard command:
Installation
java –jar <path_to_jar>
Except! There is manual intervention required!!
19 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive
• Expect is a program that "talks" to other interactive programs
according to a script.
Installation: Enter ‘expect’
http://expect.sourceforge.net/
20 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive
spawn java -jar <%= @artifact_path %>
<% unless @type == 'dtserver' %>
expect "Enter 32 or 64:" send "64n“
<% end %>
expect "Do you want to install to this directory? (Y/N)“
send "Nn“
expect "Please set the new installation directory/path:“
send "<%= @version_dir %>n“
expect "Do you want to install to this directory? (Y/N)“
send "Yn“
expect "Installation finished successfully"
21 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive
• Templating syntax used by Chef and ruby
• Squid rockets are resolved at run time
Squid Rocket <%=
spawn java -jar <%= @artifact_path %>
spawn java -jar /incoming/dynatrace-6.0.0.jar
22 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive
• “Russian Nesting Doll” Model
• Base Cookbook
• Defines primitives
• Exposes attributes
• Wrapper Cookbook
• Overrides
• Extends
Cookbook Topology
https://docs.chef.io/lwrp.html
23 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive
• Defines new primitives for ease of use
Cookbook Topology
dtserver ‘prod-6.0’ do
deploy_dir ‘/usr/local/dt/6.0’
java_max_perm ‘256M’
action [:install, :migrate]
end
24 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive
• We use the scaling capability of Chef to deploy latest agent
binaries to various machines
What about the agents?
execute 'untar-agent' do
not_if "[ -d #{node.otpp_dynatrace.agent_home} ]“
command "tar xzf #{tarball}“
cwd node.otpp_dynatrace.agent_location
end
• And use middleware layer cookbooks to hook them together
25 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive
• The base and wrapper pattern allows us to work on to support
deployment pipeline
• Basic pattern:
• Single Base Cookbook
• Non-Production wrapper
• Production wrapper
From drawing board to Production
Base
Dev
Chef
Primitives
Prod
26 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive
Thank You

More Related Content

What's hot

I Love APIs 2015 API Lab Design-first API Development Using Node and Swagger
I Love APIs 2015 API Lab Design-first API Development Using Node and SwaggerI Love APIs 2015 API Lab Design-first API Development Using Node and Swagger
I Love APIs 2015 API Lab Design-first API Development Using Node and Swagger
Apigee | Google Cloud
 
Automating Hybrid Applications with Appium
Automating Hybrid Applications with AppiumAutomating Hybrid Applications with Appium
Automating Hybrid Applications with Appium
Sauce Labs
 

What's hot (20)

Cloud Platforms for Java
Cloud Platforms for JavaCloud Platforms for Java
Cloud Platforms for Java
 
Accelerating DevOps Collaboration with Sauce Labs and JIRA
Accelerating DevOps Collaboration with Sauce Labs and JIRAAccelerating DevOps Collaboration with Sauce Labs and JIRA
Accelerating DevOps Collaboration with Sauce Labs and JIRA
 
I Love APIs 2015 API Lab Design-first API Development Using Node and Swagger
I Love APIs 2015 API Lab Design-first API Development Using Node and SwaggerI Love APIs 2015 API Lab Design-first API Development Using Node and Swagger
I Love APIs 2015 API Lab Design-first API Development Using Node and Swagger
 
Device Testing with AWS Device Farm
Device Testing with AWS Device FarmDevice Testing with AWS Device Farm
Device Testing with AWS Device Farm
 
Update Smart: Use a Staging Site!
Update Smart: Use a Staging Site!Update Smart: Use a Staging Site!
Update Smart: Use a Staging Site!
 
Atlassian User Group NYC - May 24, 2017 Slides
Atlassian User Group NYC - May 24, 2017 SlidesAtlassian User Group NYC - May 24, 2017 Slides
Atlassian User Group NYC - May 24, 2017 Slides
 
Easy Continuous Deployment You Can Trust (Webinar)
Easy Continuous Deployment You Can Trust (Webinar)Easy Continuous Deployment You Can Trust (Webinar)
Easy Continuous Deployment You Can Trust (Webinar)
 
Deploying Apps Heroku
Deploying Apps HerokuDeploying Apps Heroku
Deploying Apps Heroku
 
Continuous Integration & Drupal
Continuous Integration & DrupalContinuous Integration & Drupal
Continuous Integration & Drupal
 
Continuous Testing in the Cloud
Continuous Testing in the CloudContinuous Testing in the Cloud
Continuous Testing in the Cloud
 
What DevOps means for QA Teams
What DevOps means for QA TeamsWhat DevOps means for QA Teams
What DevOps means for QA Teams
 
What is Sauce Labs?
What is Sauce Labs? What is Sauce Labs?
What is Sauce Labs?
 
Terraform Testing with InSpec Demo
Terraform Testing with InSpec DemoTerraform Testing with InSpec Demo
Terraform Testing with InSpec Demo
 
Atlassian User Group NYC April 27 2017 Presentations
Atlassian User Group NYC April 27 2017 PresentationsAtlassian User Group NYC April 27 2017 Presentations
Atlassian User Group NYC April 27 2017 Presentations
 
Automating Hybrid Applications with Appium
Automating Hybrid Applications with AppiumAutomating Hybrid Applications with Appium
Automating Hybrid Applications with Appium
 
The Four Principles of Atlassian Performance Tuning
The Four Principles of Atlassian Performance TuningThe Four Principles of Atlassian Performance Tuning
The Four Principles of Atlassian Performance Tuning
 
Tear Up Your Roadmap and Get Out of the Building
Tear Up Your Roadmap and Get Out of the BuildingTear Up Your Roadmap and Get Out of the Building
Tear Up Your Roadmap and Get Out of the Building
 
London Atlassian User Group - February 2014
London Atlassian User Group - February 2014London Atlassian User Group - February 2014
London Atlassian User Group - February 2014
 
Build 2017 - B8093 - Nextgen UWP app distribution: Building extensible, strea...
Build 2017 - B8093 - Nextgen UWP app distribution: Building extensible, strea...Build 2017 - B8093 - Nextgen UWP app distribution: Building extensible, strea...
Build 2017 - B8093 - Nextgen UWP app distribution: Building extensible, strea...
 
Fun with Jenkins & Salesforce
Fun with Jenkins & SalesforceFun with Jenkins & Salesforce
Fun with Jenkins & Salesforce
 

Viewers also liked

A Tale of Two Pipelines: To DevOps or Not To DevOps
A Tale of Two Pipelines:  To DevOps or Not To DevOpsA Tale of Two Pipelines:  To DevOps or Not To DevOps
A Tale of Two Pipelines: To DevOps or Not To DevOps
Dynatrace
 
How to Troubleshoot & Optimize Database Query Performance for Your Application
How to Troubleshoot  & Optimize Database Query Performance for Your ApplicationHow to Troubleshoot  & Optimize Database Query Performance for Your Application
How to Troubleshoot & Optimize Database Query Performance for Your Application
Dynatrace
 
6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservices6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservices
Dynatrace
 

Viewers also liked (20)

Infrastructure Automation with Chef
Infrastructure Automation with ChefInfrastructure Automation with Chef
Infrastructure Automation with Chef
 
Chef for DevOps - an Introduction
Chef for DevOps - an IntroductionChef for DevOps - an Introduction
Chef for DevOps - an Introduction
 
Infrastructure Automation with Chef
Infrastructure Automation with ChefInfrastructure Automation with Chef
Infrastructure Automation with Chef
 
Chef: Smart infrastructure automation
Chef: Smart infrastructure automationChef: Smart infrastructure automation
Chef: Smart infrastructure automation
 
Introduction to Infrastructure as Code & Automation / Introduction to Chef
Introduction to Infrastructure as Code & Automation / Introduction to ChefIntroduction to Infrastructure as Code & Automation / Introduction to Chef
Introduction to Infrastructure as Code & Automation / Introduction to Chef
 
พิชญานิน แผ่นพับ
พิชญานิน แผ่นพับพิชญานิน แผ่นพับ
พิชญานิน แผ่นพับ
 
Chef introduction
Chef introductionChef introduction
Chef introduction
 
Best of the Web 2015 Awards
Best of the Web 2015 AwardsBest of the Web 2015 Awards
Best of the Web 2015 Awards
 
Kritische app performance erfolgreich optimieren mit Bison
Kritische app performance erfolgreich optimieren mit BisonKritische app performance erfolgreich optimieren mit Bison
Kritische app performance erfolgreich optimieren mit Bison
 
3 Tips to Deliver Fast Performance Across Mobile Web
3 Tips to Deliver Fast Performance Across Mobile Web3 Tips to Deliver Fast Performance Across Mobile Web
3 Tips to Deliver Fast Performance Across Mobile Web
 
A Tale of Two Pipelines: To DevOps or Not To DevOps
A Tale of Two Pipelines:  To DevOps or Not To DevOpsA Tale of Two Pipelines:  To DevOps or Not To DevOps
A Tale of Two Pipelines: To DevOps or Not To DevOps
 
Endress + Hauser: Echtzeit Performance Monitoring erfolgreich umgesetzt
Endress + Hauser: Echtzeit Performance Monitoring erfolgreich umgesetzt Endress + Hauser: Echtzeit Performance Monitoring erfolgreich umgesetzt
Endress + Hauser: Echtzeit Performance Monitoring erfolgreich umgesetzt
 
CIRCUIT 2015 - AEM Infrastructure Automation with Chef Cookbooks
CIRCUIT 2015 - AEM Infrastructure Automation with Chef CookbooksCIRCUIT 2015 - AEM Infrastructure Automation with Chef Cookbooks
CIRCUIT 2015 - AEM Infrastructure Automation with Chef Cookbooks
 
Chef Cookbook Testing and Continuous Integration
Chef Cookbook Testing and Continuous IntegrationChef Cookbook Testing and Continuous Integration
Chef Cookbook Testing and Continuous Integration
 
The Digital Experience Report: Best of the Web 2016
The Digital Experience Report: Best of the Web 2016The Digital Experience Report: Best of the Web 2016
The Digital Experience Report: Best of the Web 2016
 
What the smartest brands know about CX ... and what they still aren't doing a...
What the smartest brands know about CX ... and what they still aren't doing a...What the smartest brands know about CX ... and what they still aren't doing a...
What the smartest brands know about CX ... and what they still aren't doing a...
 
Troubleshooting ASP.NET and IIS Scalability Hotspots
Troubleshooting ASP.NET and IIS Scalability HotspotsTroubleshooting ASP.NET and IIS Scalability Hotspots
Troubleshooting ASP.NET and IIS Scalability Hotspots
 
How to Troubleshoot & Optimize Database Query Performance for Your Application
How to Troubleshoot  & Optimize Database Query Performance for Your ApplicationHow to Troubleshoot  & Optimize Database Query Performance for Your Application
How to Troubleshoot & Optimize Database Query Performance for Your Application
 
6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservices6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservices
 
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructures
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructuresMaster Chef class: learn how to quickly cook delightful CQ/AEM infrastructures
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructures
 

Similar to Infrastructure Automation How to Use Chef For DevOps Success

Similar to Infrastructure Automation How to Use Chef For DevOps Success (20)

Standardizing and Managing Your Infrastructure - MOSC 2011
Standardizing and Managing Your Infrastructure - MOSC 2011Standardizing and Managing Your Infrastructure - MOSC 2011
Standardizing and Managing Your Infrastructure - MOSC 2011
 
DOES16 London - Darren Hague - SAP’s DevOps Journey: From Building an App to ...
DOES16 London - Darren Hague - SAP’s DevOps Journey: From Building an App to ...DOES16 London - Darren Hague - SAP’s DevOps Journey: From Building an App to ...
DOES16 London - Darren Hague - SAP’s DevOps Journey: From Building an App to ...
 
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
 
XebiaLabs - Optimizing App Deployment to IBM WebSphere
XebiaLabs - Optimizing App Deployment to IBM WebSphereXebiaLabs - Optimizing App Deployment to IBM WebSphere
XebiaLabs - Optimizing App Deployment to IBM WebSphere
 
Guide To Jenkins Management Continuous Integration And Useful Plugins Complet...
Guide To Jenkins Management Continuous Integration And Useful Plugins Complet...Guide To Jenkins Management Continuous Integration And Useful Plugins Complet...
Guide To Jenkins Management Continuous Integration And Useful Plugins Complet...
 
HP Helion Webinar #4 - Open stack the magic pill
HP Helion Webinar #4 - Open stack the magic pillHP Helion Webinar #4 - Open stack the magic pill
HP Helion Webinar #4 - Open stack the magic pill
 
Introduction to Infrastructure as Code & Automation / Introduction to Chef
Introduction to Infrastructure as Code & Automation / Introduction to ChefIntroduction to Infrastructure as Code & Automation / Introduction to Chef
Introduction to Infrastructure as Code & Automation / Introduction to Chef
 
AppSec Pipelines and Event based Security
AppSec Pipelines and Event based SecurityAppSec Pipelines and Event based Security
AppSec Pipelines and Event based Security
 
Continuous Deployment To The Cloud
Continuous Deployment To The CloudContinuous Deployment To The Cloud
Continuous Deployment To The Cloud
 
Real-World Boot-Up Sequences - QuickBooks Self-Employed
Real-World Boot-Up Sequences - QuickBooks Self-EmployedReal-World Boot-Up Sequences - QuickBooks Self-Employed
Real-World Boot-Up Sequences - QuickBooks Self-Employed
 
Why Startups Are Still On AWS
Why Startups Are Still On AWSWhy Startups Are Still On AWS
Why Startups Are Still On AWS
 
Harman deepak v - agile on steriod - dev ops led transformation
Harman  deepak v - agile on steriod - dev ops led transformationHarman  deepak v - agile on steriod - dev ops led transformation
Harman deepak v - agile on steriod - dev ops led transformation
 
Cake Php Consultant
Cake Php ConsultantCake Php Consultant
Cake Php Consultant
 
Continuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and JenkinsContinuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and Jenkins
 
Taking AppSec to 11 - BSides Austin 2016
Taking AppSec to 11 - BSides Austin 2016Taking AppSec to 11 - BSides Austin 2016
Taking AppSec to 11 - BSides Austin 2016
 
Continuous Deployment of your Application - SpringOne Tour Dallas
Continuous Deployment of your Application - SpringOne Tour DallasContinuous Deployment of your Application - SpringOne Tour Dallas
Continuous Deployment of your Application - SpringOne Tour Dallas
 
DevOps Tech Talk: Getting out of Operations Hell | AWS Public Sector Summit 2016
DevOps Tech Talk: Getting out of Operations Hell | AWS Public Sector Summit 2016DevOps Tech Talk: Getting out of Operations Hell | AWS Public Sector Summit 2016
DevOps Tech Talk: Getting out of Operations Hell | AWS Public Sector Summit 2016
 
Automated Deployments
Automated DeploymentsAutomated Deployments
Automated Deployments
 
Taking AppSec to 11: AppSec Pipeline, DevOps and Making Things Better
Taking AppSec to 11: AppSec Pipeline, DevOps and Making Things BetterTaking AppSec to 11: AppSec Pipeline, DevOps and Making Things Better
Taking AppSec to 11: AppSec Pipeline, DevOps and Making Things Better
 
Application Delivery Patterns for Developers - Technical 401
Application Delivery Patterns for Developers - Technical 401Application Delivery Patterns for Developers - Technical 401
Application Delivery Patterns for Developers - Technical 401
 

More from Dynatrace

Sentry: Baselining, cloud-scale monitoring and auto-remediation with app mon ...
Sentry: Baselining, cloud-scale monitoring and auto-remediation with app mon ...Sentry: Baselining, cloud-scale monitoring and auto-remediation with app mon ...
Sentry: Baselining, cloud-scale monitoring and auto-remediation with app mon ...
Dynatrace
 
SEI: Faster innovation and better performance for the innovative sei wealth p...
SEI: Faster innovation and better performance for the innovative sei wealth p...SEI: Faster innovation and better performance for the innovative sei wealth p...
SEI: Faster innovation and better performance for the innovative sei wealth p...
Dynatrace
 

More from Dynatrace (20)

Virgin Money: Virgin Money's quest for digital performance perfection
Virgin Money: Virgin Money's quest for digital performance perfectionVirgin Money: Virgin Money's quest for digital performance perfection
Virgin Money: Virgin Money's quest for digital performance perfection
 
Dynatrace: The untouchables - the Dynatrace offering here and now
Dynatrace: The untouchables - the Dynatrace offering here and nowDynatrace: The untouchables - the Dynatrace offering here and now
Dynatrace: The untouchables - the Dynatrace offering here and now
 
Starbucks: Building a new dev culture and freeing time for innovation: A Star...
Starbucks: Building a new dev culture and freeing time for innovation: A Star...Starbucks: Building a new dev culture and freeing time for innovation: A Star...
Starbucks: Building a new dev culture and freeing time for innovation: A Star...
 
SITA: How smart apps are making air travel easier, every step of the way
SITA: How smart apps are making air travel easier, every step of the waySITA: How smart apps are making air travel easier, every step of the way
SITA: How smart apps are making air travel easier, every step of the way
 
Red Hat: Self driving IT is here, and it's real
Red Hat: Self driving IT is here, and it's realRed Hat: Self driving IT is here, and it's real
Red Hat: Self driving IT is here, and it's real
 
Paypal, Barbri: Lost in the cloud? Top challenges facing CIOs in a cloud nati...
Paypal, Barbri: Lost in the cloud? Top challenges facing CIOs in a cloud nati...Paypal, Barbri: Lost in the cloud? Top challenges facing CIOs in a cloud nati...
Paypal, Barbri: Lost in the cloud? Top challenges facing CIOs in a cloud nati...
 
Pivotal: Join us for a fireside chat with CEO of Pivotal
Pivotal: Join us for a fireside chat with CEO of PivotalPivotal: Join us for a fireside chat with CEO of Pivotal
Pivotal: Join us for a fireside chat with CEO of Pivotal
 
Harrods: Re-inventing the luxury retail market
Harrods: Re-inventing the luxury retail marketHarrods: Re-inventing the luxury retail market
Harrods: Re-inventing the luxury retail market
 
Dynatrace: Meet our captain of product and all things awesome, Steve Tack
Dynatrace: Meet our captain of product and all things awesome, Steve TackDynatrace: Meet our captain of product and all things awesome, Steve Tack
Dynatrace: Meet our captain of product and all things awesome, Steve Tack
 
Dynatrace: Accelerate your cloud innovation Welcome to Perform 2018
Dynatrace: Accelerate your cloud innovation Welcome to Perform 2018Dynatrace: Accelerate your cloud innovation Welcome to Perform 2018
Dynatrace: Accelerate your cloud innovation Welcome to Perform 2018
 
Dynatrace: Going beyond APM and soaring to the future
Dynatrace: Going beyond APM and soaring to the futureDynatrace: Going beyond APM and soaring to the future
Dynatrace: Going beyond APM and soaring to the future
 
Dynatrace: Davis - Hololens - AI update - Cloud announcements - Self driving IT
Dynatrace: Davis - Hololens - AI update - Cloud announcements - Self driving ITDynatrace: Davis - Hololens - AI update - Cloud announcements - Self driving IT
Dynatrace: Davis - Hololens - AI update - Cloud announcements - Self driving IT
 
Altimeter Group: The new face of change
Altimeter Group: The new face of changeAltimeter Group: The new face of change
Altimeter Group: The new face of change
 
Alastair Humphreys: Life stories and inspiration from Alastair Humphreys
Alastair Humphreys: Life stories and inspiration from Alastair HumphreysAlastair Humphreys: Life stories and inspiration from Alastair Humphreys
Alastair Humphreys: Life stories and inspiration from Alastair Humphreys
 
AWS: Serverless Architecture - Beyond functions and into the future
AWS: Serverless Architecture - Beyond functions and into the future AWS: Serverless Architecture - Beyond functions and into the future
AWS: Serverless Architecture - Beyond functions and into the future
 
Zurich: Monitoring a sales force-based insurance application using dynatrace ...
Zurich: Monitoring a sales force-based insurance application using dynatrace ...Zurich: Monitoring a sales force-based insurance application using dynatrace ...
Zurich: Monitoring a sales force-based insurance application using dynatrace ...
 
Sentry: Baselining, cloud-scale monitoring and auto-remediation with app mon ...
Sentry: Baselining, cloud-scale monitoring and auto-remediation with app mon ...Sentry: Baselining, cloud-scale monitoring and auto-remediation with app mon ...
Sentry: Baselining, cloud-scale monitoring and auto-remediation with app mon ...
 
SEI: Faster innovation and better performance for the innovative sei wealth p...
SEI: Faster innovation and better performance for the innovative sei wealth p...SEI: Faster innovation and better performance for the innovative sei wealth p...
SEI: Faster innovation and better performance for the innovative sei wealth p...
 
SAP: How SAP fully automates the provisioning and operations of its dynatrace...
SAP: How SAP fully automates the provisioning and operations of its dynatrace...SAP: How SAP fully automates the provisioning and operations of its dynatrace...
SAP: How SAP fully automates the provisioning and operations of its dynatrace...
 
REI: Evolving performance engineering for the move to cloud, microservices, c...
REI: Evolving performance engineering for the move to cloud, microservices, c...REI: Evolving performance engineering for the move to cloud, microservices, c...
REI: Evolving performance engineering for the move to cloud, microservices, c...
 

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 

Infrastructure Automation How to Use Chef For DevOps Success

  • 1. 1 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive Infrastructure Automation: How to Use Chef For DevOps Success Tweet your thoughts & questions using #APMLive
  • 2. 2 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive Cooking Up Dynatrace Piyush Chugh Advisory Technical Systems Analyst Ontario Teachers’ Pension Plan Board
  • 3. 3 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive • With $140.8 billion in assets as of December 31, 2013, the Ontario Teachers' Pension Plan is the largest single-profession pension plan in Canada. • An independent organization, it invests the pension fund's assets and administers the pensions of 307,000 active and retired teachers in Ontario. About Ontario Teachers’ Pension Plan Board http://www.otpp.com/
  • 4. 4 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive • Name: Piyush Chugh • Title: Advisory Technical Systems Analyst • Helpful Description: Full Stack Hacker*, Devops person About Piyush * Hacker in a tinkering sense of the word, and NOT in an intruding sense
  • 5. 5 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive • Overview • Implementation + Challenges • Questions The Plan
  • 6. 6 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive Overview
  • 7. 7 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive • Primarily a Java shop • IBM WebSphere • Tomcat • Scope • Test Centre: ~20 agents • Production: ~50 agents Dynatrace at Teachers’
  • 8. 8 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive • Focus on identifying application problems early • Testing out special sensors before they are deployed in production • Monitoring and Analysis in Production • Custom dashboards • Detailed alerting • User Experience Management (UEM) Dynatrace at Teachers’
  • 9. 9 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive • We use Dynatrace to monitor and analyze our business applications • We are starting to use chef to automate all our environments • Dynatrace is another environment for us to manage • Impetus: We needed to upgrade from 5.5 to 6.0 What does Chef have to do with Dynatrace?
  • 10. 10 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive What is Chef?
  • 11. 11 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive • Automation Platform • Chef automates • how applications are configured, • deployed, and • managed across your network • At scale What is Chef? https://docs.chef.io/
  • 12. 12 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive • Simple concepts • achieving desired state • centralized modeling of IT infrastructure • building blocks What is Chef? https://docs.chef.io/
  • 13. 13 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive • Create a username for tomcat Basic Chef Recipe Example user ‘tomcat’ do comment ‘Tomcat User’ gid ‘apps’ shell ‘/bin/false’ action :create end
  • 14. 14 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive • Make a directory and download a tarball there Basic Chef Recipe Example directory ‘/usr/incoming’ do group ‘apps’ end remote_file ‘/usr/incoming/tomcat_latest.tgz’ do source ‘http://xyz.com/tomcat_rc2.tgz’ owner ‘tomcat’ end
  • 15. 15 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive Implementation + Challenges
  • 16. 16 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive General Pattern (pseudo-code) Download jar files if not dynatrace.is_installed then dynatrace.install else if not dynatrace.is_latest_version then dynatrace.upgrade dynatrace.migrate end end
  • 17. 17 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive • We pre-download the jar files from Dynatrace servers and store them in a local repository • Some useful options for repositories • Artifactory [http://www.jfrog.com/artifactory/] • Sonatype Nexus [http://www.sonatype.org/nexus/] • Apache Archiva [https://archiva.apache.org] • Simple File server with an http server • Chef recipes refer to this location and downloads binaries Dynatrace Binaries
  • 18. 18 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive • Recipe invokes the standard command: Installation java –jar <path_to_jar> Except! There is manual intervention required!!
  • 19. 19 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive • Expect is a program that "talks" to other interactive programs according to a script. Installation: Enter ‘expect’ http://expect.sourceforge.net/
  • 20. 20 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive spawn java -jar <%= @artifact_path %> <% unless @type == 'dtserver' %> expect "Enter 32 or 64:" send "64n“ <% end %> expect "Do you want to install to this directory? (Y/N)“ send "Nn“ expect "Please set the new installation directory/path:“ send "<%= @version_dir %>n“ expect "Do you want to install to this directory? (Y/N)“ send "Yn“ expect "Installation finished successfully"
  • 21. 21 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive • Templating syntax used by Chef and ruby • Squid rockets are resolved at run time Squid Rocket <%= spawn java -jar <%= @artifact_path %> spawn java -jar /incoming/dynatrace-6.0.0.jar
  • 22. 22 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive • “Russian Nesting Doll” Model • Base Cookbook • Defines primitives • Exposes attributes • Wrapper Cookbook • Overrides • Extends Cookbook Topology https://docs.chef.io/lwrp.html
  • 23. 23 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive • Defines new primitives for ease of use Cookbook Topology dtserver ‘prod-6.0’ do deploy_dir ‘/usr/local/dt/6.0’ java_max_perm ‘256M’ action [:install, :migrate] end
  • 24. 24 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive • We use the scaling capability of Chef to deploy latest agent binaries to various machines What about the agents? execute 'untar-agent' do not_if "[ -d #{node.otpp_dynatrace.agent_home} ]“ command "tar xzf #{tarball}“ cwd node.otpp_dynatrace.agent_location end • And use middleware layer cookbooks to hook them together
  • 25. 25 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive • The base and wrapper pattern allows us to work on to support deployment pipeline • Basic pattern: • Single Base Cookbook • Non-Production wrapper • Production wrapper From drawing board to Production Base Dev Chef Primitives Prod
  • 26. 26 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #APMLive Thank You