POWERSHELL – THE NEWEST CONFIGURATION ROCKSTAR @stack72 scandev@paulstack.co.uk ABOUT ME • Work for OpenTable.com • Member of Jetbrains Academy • “Friend of Redgate” • Dzone MVB • DevOps Extremist AGENDA • Configuration Management as a concept • Infrastructure as code • Rich tooling nature for *nix platforms • PowerShell as the configuration tool • Puppet and PowerShell CONTINUOUS DELIVERY • Continuous Integration • Configuration Management • Automated Testing MANUAL CONFIG CHANGES • People are rubbish! • Cut corners • Make mistakes • Techniques differ from person to person • amount of work = Work hours * Number of operations staff AUTOMATED CONFIG CHANGES • Machines are reliable in what they do! • amount of work = Number of machines * 24 TERMINOLOGY • What do I mean by infrastructure? • webserver • databases • load balancers • firewalls • Code • Anything that is written and executed to do a job INFRASTRUCTURE AS CODE • SysAdmin writes ssh loop in bash – EUREKA! • Other SysAdmins love it and add more “code” to it • No tests, code is brittle. CODE IS BETTER! POWERSHELL IDE SUPPORT • ISE • PowerGUI TOOLING SUPPORT AVAILABLE • Chocolatey • WebPI DEMO PUPPET AND POWERSHELL! DEMO QUESTIONS? SUMMARY • Infrastructure as Code is a much better way of interacting with our systems • Great tooling to help us do this • PowerShell is a windows automation framework that keeps getting better • Puppet and PowerShell work excellently together • Windows server management should no longer be tough THANKS! • scandev@paulstack.co.uk • www.paulstack.co.uk/blog • @stack72