yet another service management automation session ryan andorfer @randorfer scorch.codeplex.com...

19

Upload: moses-mitchell

Post on 21-Dec-2015

219 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Yet another Service Management Automation Session Ryan Andorfer @randorfer Scorch.codeplex.com #MMSMinnesota #MMSPOSH #MMSSMA
Page 2: Yet another Service Management Automation Session Ryan Andorfer @randorfer Scorch.codeplex.com #MMSMinnesota #MMSPOSH #MMSSMA

Yet another Service Management Automation Session

Ryan [email protected]

#MMSMinnesota#MMSPOSH#MMSSMA

Page 3: Yet another Service Management Automation Session Ryan Andorfer @randorfer Scorch.codeplex.com #MMSMinnesota #MMSPOSH #MMSSMA

Overall Architecture

• The Automation web service communicates with Windows Azure Pack and authenticates users.

• The SQL Server databases store and retrieve runbooks, runbook assets, activities, integration modules, and runbook job information.

• Runbook workers run the runbooks, and they can be used for load balancing.

• The management portal in Windows Azure Pack is operational console used for debugging and monitoring jobs

Page 4: Yet another Service Management Automation Session Ryan Andorfer @randorfer Scorch.codeplex.com #MMSMinnesota #MMSPOSH #MMSSMA

Service Management Automation Features

• Standard language PowerShell• v4.0 • 64-bit

• Enterprise Grade Execution Engine• Centralized• High Availability• Logging

• Credential Management• Scalable Infrastructure

Page 5: Yet another Service Management Automation Session Ryan Andorfer @randorfer Scorch.codeplex.com #MMSMinnesota #MMSPOSH #MMSSMA

What can it be used for

Anything that you can automate with PowerShell• So anything?

What do we use it for• Desktop Requests• Network Security Requests• Microsoft Server Requests• Unix Server Requests• Exchange / Lync Requests• Active Directory Requests• SCCM Automation• SCOM Automation• Active Directory Cleanup and Maintenance• Other

Page 6: Yet another Service Management Automation Session Ryan Andorfer @randorfer Scorch.codeplex.com #MMSMinnesota #MMSPOSH #MMSSMA

Demo TimeBasic Authoring

Page 7: Yet another Service Management Automation Session Ryan Andorfer @randorfer Scorch.codeplex.com #MMSMinnesota #MMSPOSH #MMSSMA

Lessons Learned

• Learn PowerShell Workflow!• Understand the benefits of inlinescript

• Run regular PowerShell (non workflow)• Change security contexts (Run as a different user)

• Use checkpoints• Use enough to allow your environment to be gracefully suspended.• After any activity that you do not want to repeat.• Before any activity that has higher than normal probability of issues that could lead to failure and workflow

suspension. • Ex. Activities that access remote systems that may be susceptible to network issues.

• After any long-running or expensive activity that you would not want to repeat due to cost.

• Use The Power of Google to find reference source code for what you are trying to do

Page 8: Yet another Service Management Automation Session Ryan Andorfer @randorfer Scorch.codeplex.com #MMSMinnesota #MMSPOSH #MMSSMA

Lessons Learned

• PowerShell Module• If integrating to a new system• If you are doing 'common' actions / have common

'functions' that are related to one system• If there are common sets of activities we drop to .NET

classes for• PowerShell Workflow• If there is General Mills specific logic

Page 9: Yet another Service Management Automation Session Ryan Andorfer @randorfer Scorch.codeplex.com #MMSMinnesota #MMSPOSH #MMSSMA

Lessons Learned

Local DevelopmentAuthor your Workflows locally using normal tools (PowerShell ISE)Test and the Workflows outside of SMAUse the Emulated Automation Activities from Joe Levy (Microsoft)

TFS & DeploymentCheck your local PowerShell scripts into TFS or another source control toolIntegrate your SMA environments to your source control toolTreat your automation coding just like regular web development

Suggestion: Make 3 tier SMA Environment

Local PowerShell

Development

Check into Source Control

Auto Publish to SMA

Page 10: Yet another Service Management Automation Session Ryan Andorfer @randorfer Scorch.codeplex.com #MMSMinnesota #MMSPOSH #MMSSMA

Demo TimeSource control

Page 11: Yet another Service Management Automation Session Ryan Andorfer @randorfer Scorch.codeplex.com #MMSMinnesota #MMSPOSH #MMSSMA

Lessons Learned – Write Modular Code

Combined SharePoint Monitor

Single Process

SharePoint Wrapper Workflow

Top Level Work Module

Work Block 1

Work Block 2

Work Block 2

Page 12: Yet another Service Management Automation Session Ryan Andorfer @randorfer Scorch.codeplex.com #MMSMinnesota #MMSPOSH #MMSSMA

Demo TimeSharePoint integrated workflow

Page 13: Yet another Service Management Automation Session Ryan Andorfer @randorfer Scorch.codeplex.com #MMSMinnesota #MMSPOSH #MMSSMA

Lessons Learned – Your Regular Developers are not stupid

Workflow Developed on Developer’s

Laptop

Check in to Dev TFS Branch

Workflow Promoted to QA

TFS Branch

Workflow Tested in Central Environment

Workflow Promoted to Production TFS

BranchWorkflows run in

Central Production

Page 14: Yet another Service Management Automation Session Ryan Andorfer @randorfer Scorch.codeplex.com #MMSMinnesota #MMSPOSH #MMSSMA

Demo TimePromote from Dev -> QA!

Page 15: Yet another Service Management Automation Session Ryan Andorfer @randorfer Scorch.codeplex.com #MMSMinnesota #MMSPOSH #MMSSMA

Questions?

Page 16: Yet another Service Management Automation Session Ryan Andorfer @randorfer Scorch.codeplex.com #MMSMinnesota #MMSPOSH #MMSSMA

EvaluationsComplete your session evaluations today

Provide your feedback at FEEDBACK.COM

Page 17: Yet another Service Management Automation Session Ryan Andorfer @randorfer Scorch.codeplex.com #MMSMinnesota #MMSPOSH #MMSSMA
Page 18: Yet another Service Management Automation Session Ryan Andorfer @randorfer Scorch.codeplex.com #MMSMinnesota #MMSPOSH #MMSSMA
Page 19: Yet another Service Management Automation Session Ryan Andorfer @randorfer Scorch.codeplex.com #MMSMinnesota #MMSPOSH #MMSSMA