automation: powershell & dsc

28
Automation: PowerShell & DSC Tools for the DevOps toolbox

Upload: josh-gillespie

Post on 08-Feb-2017

258 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: Automation: PowerShell & DSC

Automat ion: PowerShel l & DSCTools for the DevOps toolbox

Page 2: Automation: PowerShell & DSC

Introductions

https

://fl

ic.k

r/p/

89xk

sJ

Page 3: Automation: PowerShell & DSC

Application Lifecycle ManagementDefineIdeation

DevelopIdea to working software

OperateWorking software in production Value realization

Users/Stakeholders

Development & testing

Operations

PRODUCTBACKLOG

OPSBACKLOG

MonitorImplement

MeasureActionable learning

Page 4: Automation: PowerShell & DSC

Transition to Operations

How smooth is your handoff? What does a release look like for you?

https

://fl

ic.k

r/p/

6gob

fx

Page 5: Automation: PowerShell & DSC

Release?

https

://fl

ic.k

r/p/

ctho

6

Page 6: Automation: PowerShell & DSC

Release?

https

://fl

ic.k

r/p/

6Esb

R7

Page 7: Automation: PowerShell & DSC

Release

https

://fl

ic.k

r/p/

f5N

NeZ

Page 8: Automation: PowerShell & DSC

Why do we care?• 2015 State of DevOps survey• Gap

• Lead Time – 200x gap • Deployment failures – 60x fewer• Mean Time To Recovery – 168x faster• 2x more likely to exceed profitability, market share, & productivity goals.• 50% higher market cap growth over 3 years.

Page 9: Automation: PowerShell & DSC

Operat ions i s hard(ware).. and many other things, but let’s talk about hardware.

https://flic.kr/p/dZaCMA

Page 10: Automation: PowerShell & DSC

Server HerdingServer Configurations

Page 11: Automation: PowerShell & DSC

Role based configuration

Web Servers

SQL Servers

Web Services Servers

Page 12: Automation: PowerShell & DSC

App based configuration

App 1

App 2

App 3

Page 13: Automation: PowerShell & DSC

Environment based configuration

Dev

Test

Production

Page 14: Automation: PowerShell & DSC

Why is this hard?

https://flic.kr/p/8tjkup

Page 15: Automation: PowerShell & DSC

What would be bet ter?

https://flic.kr/p/nC1mb

Page 16: Automation: PowerShell & DSC

Automation

Page 17: Automation: PowerShell & DSC

https://flic.kr/p/c4QJzC

We need another tool

Page 18: Automation: PowerShell & DSC

What is PowerShell DSC?• Extension to PowerShell language

• PS Syntax• Creates configuration scripts

• Creates and manages configuration files• Emphasis on servers

• Ensures servers are configured the way you need.• “Set it and forget it”

• The future of Windows Server Management (and Linux?)

https://en.wikipedia.org/wiki/Windows_PowerShell#/media/File:Windows_PowerShell_icon.png

Page 19: Automation: PowerShell & DSC

Where does PS DSC fit in?

• Similar to Chef/Puppet • Based on industry standards

• Managed Object Format (MOF)• Common Information Model (CIM)

https://flic.kr/p/763JUC

Page 20: Automation: PowerShell & DSC

Three Phased Approach.

Authoring

Staging

“Make it so”

Page 21: Automation: PowerShell & DSC

Kick ing the t i res

http

s://f

lic.k

r/p/s

7cR

Dv

Page 22: Automation: PowerShell & DSC

Recap• Implemented as a module

Get-Command –Module PSDesiredStateConfiguration

• Configuration is in a new command type.

• Get-DscResource is your friend

• Get-DscResource <name> -syntax is totally sweet

Page 23: Automation: PowerShell & DSC

Contoso Univers i ty Webs i teLet’s make this a little more real.

Page 24: Automation: PowerShell & DSC

RecapHow does this solve the problems we saw earlier?

https://flic.kr/p/bpKh74

Page 25: Automation: PowerShell & DSC

Separation of Concerns

Dev

Test

Production

Structural Configurations

Environment Configuration Data

Application Configuration

Page 26: Automation: PowerShell & DSC

Give me more!Write custom DSC resourcesPull modelPartial ConfigurationsDevelop configuration like code (version control, testing)Integration with server deployment processReporting

Works locally too…

https://flic.kr/p/cBFFFL

Page 27: Automation: PowerShell & DSC

Questions?

Page 28: Automation: PowerShell & DSC

Thank you!Josh [email protected]@jcgillespie