SlideShare a Scribd company logo
TDD with
Chef, DSC and Pester
on Windows
About Me
 Robb Schiefer
 @chief7
 Blog – dotnetcatch.com
 BHM.NET Meetup Co-founder
 10 years with EBSCO Industries, Inc.
 500+ developers
 Internal Business Systems
 100+ applications/services
 Solution Architect for 3 years
 CD – Deploy to PROD every 9 hours
Why use Chef? Why use TDD with Chef?
 Manual server configuration is
 Slow
 Error prone
 Inconsistent
 Manual
 Adhoc
 Chef/DSC provides
 Speed
 Consistency
 Repeatability
 Automation
 Scheduling
Test Driven Development increases velocity
and produces better designs.
Intro to Chef
 Infrastructure Automation via Ruby
 Benefits
 Automated/repeatable server configuration
 Avoid configuration drift
 Versioning of configuration
 Testable
 Components
 Chef Server
 Chef Client
 Cookbooks
 Recipes
Intro to Chef
Intro to Chef
Intro to Chef
Chef and Windows/DSC
 Linux supported first
 Windows support came slowly
 Meanwhile PowerShell DSC was released
 Chef added support for DSC
 Chef Server benefits
 Reporting
 Roles/Environments
 Admin UI
 Attributes
Chef Cookbook
Unit Testing – ChefSpec & rSpec
 Cookbook/recipe evaluated in ChefSpec sandbox
 Chef-Client not fully executed
 Provides
 Syntax checking for Ruby/Chef
 Verify logic in recipe
 Guards
 Expectations
 Property
 Re-evaluates cookbook for each test by default
 Berkshelf provides dependent cookbooks
Unit Test DEMO
Integration Testing - Kitchen
 Testing framework
 Create - Provisions test environment with Drivers
 Vagrant
 HyperV
 OpenStack
 AzureRM
 Converge – Applies cookbook to VM
 Verify - Executes integration tests
 InSpec
 Pester
 ServerSpec
 Destroy – Deletes test environment
Create
Converge
Verify
Kitchen Timings (2008R2)
 Finished creating <default-w2008r2> (2m44.22s).
 Finished converging <default-w2008r2> (4m27.82s).
 Chef Client finished, 2/4 resources updated in 01 minutes 44 seconds
 Finished converging <default-w2008r2> (0m47.00s).
 Chef Client finished, 2/5 resources updated in 16 seconds
 Finished verifying <default-w2008r2> (0m36.66s).
 Tests Passed: 2 Failed: 0 Skipped: 0 Pending: 0 Inconclusive: 0
 Roughly 10 minutes total, 60-90 sec feedback loop in DEV
 20 GB VM image
Kitchen Timings (Nano)
 Finished creating <acme-win-webdefault-nano> (0m35.12s).
 Finished converging <acme-win-webdefault-nano> (3m45.38s).
 Downloading/installing Chef
 Finished converging <acme-win-webdefault-nano> (0m27.71s).
 Finished verifying <acme-win-webdefault-nano> (0m9.84s).
 Roughly 5 minutes total, 30-40 sec feedback loop in DEV
 600MB VM image
Pester & Kitchen
 PowerShell testing framework
 Runs across WinRM on the test target
 Provides assertions, mocks, test results
 All the power of PowerShell
 Test organization
Kitchen DEMO
Setup
 OS - Windows10
 ChefDK v1.2.22
 Hyper-V
 PowerShell v5.1.14393.693
 Pester 3.4
 DSC 1.1
 Ruby Gems
 kitchen-hyperv
 kitchen-pester
Source on
http://bit.ly/tddchef
Troubleshooting Chef/Kitchen
 Kitchen debug info
 kitchen converge -l debug
 Verify Gem versions
 Cookbooks continually changing
 3/17 – Windows Resource 3.0
 Destroy and recreate VM
 Networking issues
 Chef on Windows Experts
 Matt Wrock - @mwrockx
 Steven Murawski - @StevenMurawski
Questions
Please complete your session evaluations with helpful feedback so I can
improve!
Robb Schiefer
@chief7
dotnetcatch.com

More Related Content

What's hot

Testing for infra code using test-kitchen,docker,chef
Testing for infra code using  test-kitchen,docker,chefTesting for infra code using  test-kitchen,docker,chef
Testing for infra code using test-kitchen,docker,chef
kamalikamj
 
Testable Infrastructure with Chef, Test Kitchen, and Docker
Testable Infrastructure with Chef, Test Kitchen, and DockerTestable Infrastructure with Chef, Test Kitchen, and Docker
Testable Infrastructure with Chef, Test Kitchen, and Docker
Mandi Walls
 
Application Automation with Habitat
Application Automation with HabitatApplication Automation with Habitat
Application Automation with Habitat
Chef
 
Compliance Automation with Inspec Part 2
Compliance Automation with Inspec Part 2Compliance Automation with Inspec Part 2
Compliance Automation with Inspec Part 2
Chef
 
Chef Automate Workflow Demo
Chef Automate Workflow DemoChef Automate Workflow Demo
Chef Automate Workflow Demo
Chef
 
Test Driven Development with Chef
Test Driven Development with ChefTest Driven Development with Chef
Test Driven Development with Chef
Simone Soldateschi
 
Intermediate/Compliance training Guide
Intermediate/Compliance training GuideIntermediate/Compliance training Guide
Intermediate/Compliance training Guide
Chef
 
Effective Testing with Ansible and InSpec
Effective Testing with Ansible and InSpecEffective Testing with Ansible and InSpec
Effective Testing with Ansible and InSpec
Nathen Harvey
 
Test-Driven Infrastructure with Chef
Test-Driven Infrastructure with ChefTest-Driven Infrastructure with Chef
Test-Driven Infrastructure with Chef
Michael Lihs
 
CLUG 2014-10 - Cookbook CI with Jenkins
CLUG 2014-10 - Cookbook CI with JenkinsCLUG 2014-10 - Cookbook CI with Jenkins
CLUG 2014-10 - Cookbook CI with Jenkins
Zachary Stevens
 
Chef for beginners module 1
Chef for beginners   module 1Chef for beginners   module 1
Chef for beginners module 1
Chef
 
Azure handsonlab
Azure handsonlabAzure handsonlab
Azure handsonlab
Chef
 
Understand Chef
Understand ChefUnderstand Chef
Understand Chef
devopsjourney
 
Automating AWS Compliance with InSpec
Automating AWS Compliance with InSpec Automating AWS Compliance with InSpec
Automating AWS Compliance with InSpec
Matt Ray
 
Sap basis live implementation project documents
Sap basis live implementation project documentsSap basis live implementation project documents
Sap basis live implementation project documents
ERP Training
 
Achieving DevOps Success with Chef Automate
Achieving DevOps Success with Chef AutomateAchieving DevOps Success with Chef Automate
Achieving DevOps Success with Chef Automate
Chef
 
London Community Summit - Chef at SkyBet
London Community Summit - Chef at SkyBetLondon Community Summit - Chef at SkyBet
London Community Summit - Chef at SkyBet
Chef
 
Compliance as Code
Compliance as CodeCompliance as Code
Compliance as Code
Matt Ray
 
OSDC 2016 - Kaiten Zushi - Chef at Goodgame Studios by Jan Ulferts
OSDC 2016 - Kaiten Zushi - Chef at Goodgame Studios by Jan UlfertsOSDC 2016 - Kaiten Zushi - Chef at Goodgame Studios by Jan Ulferts
OSDC 2016 - Kaiten Zushi - Chef at Goodgame Studios by Jan Ulferts
NETWAYS
 
Chef infrastructure as code - paris.rb
Chef infrastructure as code - paris.rbChef infrastructure as code - paris.rb
Chef infrastructure as code - paris.rb
Nicolas Ledez
 

What's hot (20)

Testing for infra code using test-kitchen,docker,chef
Testing for infra code using  test-kitchen,docker,chefTesting for infra code using  test-kitchen,docker,chef
Testing for infra code using test-kitchen,docker,chef
 
Testable Infrastructure with Chef, Test Kitchen, and Docker
Testable Infrastructure with Chef, Test Kitchen, and DockerTestable Infrastructure with Chef, Test Kitchen, and Docker
Testable Infrastructure with Chef, Test Kitchen, and Docker
 
Application Automation with Habitat
Application Automation with HabitatApplication Automation with Habitat
Application Automation with Habitat
 
Compliance Automation with Inspec Part 2
Compliance Automation with Inspec Part 2Compliance Automation with Inspec Part 2
Compliance Automation with Inspec Part 2
 
Chef Automate Workflow Demo
Chef Automate Workflow DemoChef Automate Workflow Demo
Chef Automate Workflow Demo
 
Test Driven Development with Chef
Test Driven Development with ChefTest Driven Development with Chef
Test Driven Development with Chef
 
Intermediate/Compliance training Guide
Intermediate/Compliance training GuideIntermediate/Compliance training Guide
Intermediate/Compliance training Guide
 
Effective Testing with Ansible and InSpec
Effective Testing with Ansible and InSpecEffective Testing with Ansible and InSpec
Effective Testing with Ansible and InSpec
 
Test-Driven Infrastructure with Chef
Test-Driven Infrastructure with ChefTest-Driven Infrastructure with Chef
Test-Driven Infrastructure with Chef
 
CLUG 2014-10 - Cookbook CI with Jenkins
CLUG 2014-10 - Cookbook CI with JenkinsCLUG 2014-10 - Cookbook CI with Jenkins
CLUG 2014-10 - Cookbook CI with Jenkins
 
Chef for beginners module 1
Chef for beginners   module 1Chef for beginners   module 1
Chef for beginners module 1
 
Azure handsonlab
Azure handsonlabAzure handsonlab
Azure handsonlab
 
Understand Chef
Understand ChefUnderstand Chef
Understand Chef
 
Automating AWS Compliance with InSpec
Automating AWS Compliance with InSpec Automating AWS Compliance with InSpec
Automating AWS Compliance with InSpec
 
Sap basis live implementation project documents
Sap basis live implementation project documentsSap basis live implementation project documents
Sap basis live implementation project documents
 
Achieving DevOps Success with Chef Automate
Achieving DevOps Success with Chef AutomateAchieving DevOps Success with Chef Automate
Achieving DevOps Success with Chef Automate
 
London Community Summit - Chef at SkyBet
London Community Summit - Chef at SkyBetLondon Community Summit - Chef at SkyBet
London Community Summit - Chef at SkyBet
 
Compliance as Code
Compliance as CodeCompliance as Code
Compliance as Code
 
OSDC 2016 - Kaiten Zushi - Chef at Goodgame Studios by Jan Ulferts
OSDC 2016 - Kaiten Zushi - Chef at Goodgame Studios by Jan UlfertsOSDC 2016 - Kaiten Zushi - Chef at Goodgame Studios by Jan Ulferts
OSDC 2016 - Kaiten Zushi - Chef at Goodgame Studios by Jan Ulferts
 
Chef infrastructure as code - paris.rb
Chef infrastructure as code - paris.rbChef infrastructure as code - paris.rb
Chef infrastructure as code - paris.rb
 

Similar to PowerShell DevOps Summit 2017 - TDD with Chef, DSC and Pester

DevOps and Chef
DevOps and ChefDevOps and Chef
DevOps and Chef
PiXeL16
 
Test kitchen 1.0 - Fletcher Nichol
Test kitchen 1.0 - Fletcher NicholTest kitchen 1.0 - Fletcher Nichol
Test kitchen 1.0 - Fletcher Nichol
Devopsdays
 
Cookbook testing with KitcenCI and Serverrspec
Cookbook testing with KitcenCI and ServerrspecCookbook testing with KitcenCI and Serverrspec
Cookbook testing with KitcenCI and Serverrspec
Daniel Paulus
 
CI for Chefs
CI for ChefsCI for Chefs
CI for Chefs
Nikolay Yurin
 
VMWare Lab For Training, Testing or Proof of Concept
VMWare Lab For Training, Testing or Proof of ConceptVMWare Lab For Training, Testing or Proof of Concept
VMWare Lab For Training, Testing or Proof of Concept
Virtual Infrastructure Administrator
 
Environments - Fundamentals Webinar Series Week 5
Environments - Fundamentals Webinar Series Week 5Environments - Fundamentals Webinar Series Week 5
Environments - Fundamentals Webinar Series Week 5
Chef
 
Designing For Occasionally Connected Apps Slideshare
Designing For Occasionally Connected Apps SlideshareDesigning For Occasionally Connected Apps Slideshare
Designing For Occasionally Connected Apps Slideshare
Dean Willson
 
Automated DevOps Workflows with Chef on AWS
Automated DevOps Workflows with Chef on AWSAutomated DevOps Workflows with Chef on AWS
Automated DevOps Workflows with Chef on AWS
Amazon Web Services
 
AWS OpsWorks for Chef Automate
AWS OpsWorks for Chef AutomateAWS OpsWorks for Chef Automate
AWS OpsWorks for Chef Automate
Amazon Web Services
 
Configuration Management with AWS OpsWorks for Chef Automate
Configuration Management with AWS OpsWorks for Chef AutomateConfiguration Management with AWS OpsWorks for Chef Automate
Configuration Management with AWS OpsWorks for Chef Automate
Amazon Web Services
 
DevOps and Chef improve your life
DevOps and Chef improve your life DevOps and Chef improve your life
DevOps and Chef improve your life
Juan Vicente Herrera Ruiz de Alejo
 
Announcing AWS OpsWorks for Chef Automate - January 2017 AWS Online Tech Talks
Announcing AWS OpsWorks for Chef Automate - January 2017 AWS Online Tech TalksAnnouncing AWS OpsWorks for Chef Automate - January 2017 AWS Online Tech Talks
Announcing AWS OpsWorks for Chef Automate - January 2017 AWS Online Tech Talks
Amazon Web Services
 
Improving Software Quality- 2-day Tester Training
Improving Software Quality- 2-day Tester TrainingImproving Software Quality- 2-day Tester Training
Improving Software Quality- 2-day Tester Training
Anna Russo
 
Upgrade to 2008_d_binfra ver12
Upgrade to 2008_d_binfra ver12Upgrade to 2008_d_binfra ver12
Upgrade to 2008_d_binfra ver12
sqlserver.co.il
 
How to become a chef
How to become a chefHow to become a chef
How to become a chef
Aleksandr Simonov
 
How to Become a Сhef
How to Become a СhefHow to Become a Сhef
How to Become a Сhef
Amoniac OÜ
 
Docker–Grid (A On demand and Scalable dockerized selenium grid architecture)
Docker–Grid (A On demand and Scalable dockerized selenium grid architecture)Docker–Grid (A On demand and Scalable dockerized selenium grid architecture)
Docker–Grid (A On demand and Scalable dockerized selenium grid architecture)
STePINForum
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
Aaron Eden
 
Upgrade to 2008 Best of PASS
Upgrade to 2008 Best of PASSUpgrade to 2008 Best of PASS
Upgrade to 2008 Best of PASS
sqlserver.co.il
 
Treat your servers like your Ruby App: Infrastructure as Code
Treat your servers like your Ruby App: Infrastructure as CodeTreat your servers like your Ruby App: Infrastructure as Code
Treat your servers like your Ruby App: Infrastructure as Code
Rakuten Group, Inc.
 

Similar to PowerShell DevOps Summit 2017 - TDD with Chef, DSC and Pester (20)

DevOps and Chef
DevOps and ChefDevOps and Chef
DevOps and Chef
 
Test kitchen 1.0 - Fletcher Nichol
Test kitchen 1.0 - Fletcher NicholTest kitchen 1.0 - Fletcher Nichol
Test kitchen 1.0 - Fletcher Nichol
 
Cookbook testing with KitcenCI and Serverrspec
Cookbook testing with KitcenCI and ServerrspecCookbook testing with KitcenCI and Serverrspec
Cookbook testing with KitcenCI and Serverrspec
 
CI for Chefs
CI for ChefsCI for Chefs
CI for Chefs
 
VMWare Lab For Training, Testing or Proof of Concept
VMWare Lab For Training, Testing or Proof of ConceptVMWare Lab For Training, Testing or Proof of Concept
VMWare Lab For Training, Testing or Proof of Concept
 
Environments - Fundamentals Webinar Series Week 5
Environments - Fundamentals Webinar Series Week 5Environments - Fundamentals Webinar Series Week 5
Environments - Fundamentals Webinar Series Week 5
 
Designing For Occasionally Connected Apps Slideshare
Designing For Occasionally Connected Apps SlideshareDesigning For Occasionally Connected Apps Slideshare
Designing For Occasionally Connected Apps Slideshare
 
Automated DevOps Workflows with Chef on AWS
Automated DevOps Workflows with Chef on AWSAutomated DevOps Workflows with Chef on AWS
Automated DevOps Workflows with Chef on AWS
 
AWS OpsWorks for Chef Automate
AWS OpsWorks for Chef AutomateAWS OpsWorks for Chef Automate
AWS OpsWorks for Chef Automate
 
Configuration Management with AWS OpsWorks for Chef Automate
Configuration Management with AWS OpsWorks for Chef AutomateConfiguration Management with AWS OpsWorks for Chef Automate
Configuration Management with AWS OpsWorks for Chef Automate
 
DevOps and Chef improve your life
DevOps and Chef improve your life DevOps and Chef improve your life
DevOps and Chef improve your life
 
Announcing AWS OpsWorks for Chef Automate - January 2017 AWS Online Tech Talks
Announcing AWS OpsWorks for Chef Automate - January 2017 AWS Online Tech TalksAnnouncing AWS OpsWorks for Chef Automate - January 2017 AWS Online Tech Talks
Announcing AWS OpsWorks for Chef Automate - January 2017 AWS Online Tech Talks
 
Improving Software Quality- 2-day Tester Training
Improving Software Quality- 2-day Tester TrainingImproving Software Quality- 2-day Tester Training
Improving Software Quality- 2-day Tester Training
 
Upgrade to 2008_d_binfra ver12
Upgrade to 2008_d_binfra ver12Upgrade to 2008_d_binfra ver12
Upgrade to 2008_d_binfra ver12
 
How to become a chef
How to become a chefHow to become a chef
How to become a chef
 
How to Become a Сhef
How to Become a СhefHow to Become a Сhef
How to Become a Сhef
 
Docker–Grid (A On demand and Scalable dockerized selenium grid architecture)
Docker–Grid (A On demand and Scalable dockerized selenium grid architecture)Docker–Grid (A On demand and Scalable dockerized selenium grid architecture)
Docker–Grid (A On demand and Scalable dockerized selenium grid architecture)
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Upgrade to 2008 Best of PASS
Upgrade to 2008 Best of PASSUpgrade to 2008 Best of PASS
Upgrade to 2008 Best of PASS
 
Treat your servers like your Ruby App: Infrastructure as Code
Treat your servers like your Ruby App: Infrastructure as CodeTreat your servers like your Ruby App: Infrastructure as Code
Treat your servers like your Ruby App: Infrastructure as Code
 

Recently uploaded

GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
Dinusha Kumarasiri
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
LucaBarbaro3
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStrDeep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
saastr
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
Wouter Lemaire
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 

Recently uploaded (20)

GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStrDeep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
Deep Dive: Getting Funded with Jason Jason Lemkin Founder & CEO @ SaaStr
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 

PowerShell DevOps Summit 2017 - TDD with Chef, DSC and Pester

  • 1. TDD with Chef, DSC and Pester on Windows
  • 2. About Me  Robb Schiefer  @chief7  Blog – dotnetcatch.com  BHM.NET Meetup Co-founder  10 years with EBSCO Industries, Inc.  500+ developers  Internal Business Systems  100+ applications/services  Solution Architect for 3 years  CD – Deploy to PROD every 9 hours
  • 3. Why use Chef? Why use TDD with Chef?  Manual server configuration is  Slow  Error prone  Inconsistent  Manual  Adhoc  Chef/DSC provides  Speed  Consistency  Repeatability  Automation  Scheduling Test Driven Development increases velocity and produces better designs.
  • 4. Intro to Chef  Infrastructure Automation via Ruby  Benefits  Automated/repeatable server configuration  Avoid configuration drift  Versioning of configuration  Testable  Components  Chef Server  Chef Client  Cookbooks  Recipes
  • 8. Chef and Windows/DSC  Linux supported first  Windows support came slowly  Meanwhile PowerShell DSC was released  Chef added support for DSC  Chef Server benefits  Reporting  Roles/Environments  Admin UI  Attributes
  • 10. Unit Testing – ChefSpec & rSpec  Cookbook/recipe evaluated in ChefSpec sandbox  Chef-Client not fully executed  Provides  Syntax checking for Ruby/Chef  Verify logic in recipe  Guards  Expectations  Property  Re-evaluates cookbook for each test by default  Berkshelf provides dependent cookbooks
  • 12. Integration Testing - Kitchen  Testing framework  Create - Provisions test environment with Drivers  Vagrant  HyperV  OpenStack  AzureRM  Converge – Applies cookbook to VM  Verify - Executes integration tests  InSpec  Pester  ServerSpec  Destroy – Deletes test environment Create Converge Verify
  • 13. Kitchen Timings (2008R2)  Finished creating <default-w2008r2> (2m44.22s).  Finished converging <default-w2008r2> (4m27.82s).  Chef Client finished, 2/4 resources updated in 01 minutes 44 seconds  Finished converging <default-w2008r2> (0m47.00s).  Chef Client finished, 2/5 resources updated in 16 seconds  Finished verifying <default-w2008r2> (0m36.66s).  Tests Passed: 2 Failed: 0 Skipped: 0 Pending: 0 Inconclusive: 0  Roughly 10 minutes total, 60-90 sec feedback loop in DEV  20 GB VM image
  • 14. Kitchen Timings (Nano)  Finished creating <acme-win-webdefault-nano> (0m35.12s).  Finished converging <acme-win-webdefault-nano> (3m45.38s).  Downloading/installing Chef  Finished converging <acme-win-webdefault-nano> (0m27.71s).  Finished verifying <acme-win-webdefault-nano> (0m9.84s).  Roughly 5 minutes total, 30-40 sec feedback loop in DEV  600MB VM image
  • 15. Pester & Kitchen  PowerShell testing framework  Runs across WinRM on the test target  Provides assertions, mocks, test results  All the power of PowerShell  Test organization
  • 17. Setup  OS - Windows10  ChefDK v1.2.22  Hyper-V  PowerShell v5.1.14393.693  Pester 3.4  DSC 1.1  Ruby Gems  kitchen-hyperv  kitchen-pester Source on http://bit.ly/tddchef
  • 18. Troubleshooting Chef/Kitchen  Kitchen debug info  kitchen converge -l debug  Verify Gem versions  Cookbooks continually changing  3/17 – Windows Resource 3.0  Destroy and recreate VM  Networking issues  Chef on Windows Experts  Matt Wrock - @mwrockx  Steven Murawski - @StevenMurawski
  • 19. Questions Please complete your session evaluations with helpful feedback so I can improve! Robb Schiefer @chief7 dotnetcatch.com

Editor's Notes

  1. EBSCO has partnered with libraries for more than 70 years, providing quality research content, powerful search technologies and intuitive delivery platforms. leading provider of research databases, e-journals, magazine subscriptions, ebooks and discovery service for the academic, medical, corporate libraries
  2. ChefDK comes with everything you need
  3. Review folder structure Review recipe Review test folders (unit vs integration) Review Berks file Review Metadata file
  4. Review unit test Run unit test Create new test for another directory (RED, GREEN) Quickly discuss platforms Quickly discuss stubbing Quickly show caching
  5. Review Kitchen file Kitchen list Kitchen verify nano Break a test, run verify Fix and rerun
  6. Show log file Run gem list