yet another service management automation session ryan andorfer @randorfer scorch.codeplex.com...
TRANSCRIPT
Yet another Service Management Automation Session
Ryan [email protected]
#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
Service Management Automation Features
• Standard language PowerShell• v4.0 • 64-bit
• Enterprise Grade Execution Engine• Centralized• High Availability• Logging
• Credential Management• Scalable Infrastructure
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
Demo TimeBasic Authoring
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
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
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
Demo TimeSource control
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
Demo TimeSharePoint integrated workflow
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
Demo TimePromote from Dev -> QA!
Questions?
EvaluationsComplete your session evaluations today
Provide your feedback at FEEDBACK.COM