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
Standard language PowerShell v4.0 64-bit 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 Time Basic Authoring
Learn PowerShell Workflow! 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
If integrating to a new system 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
Local Development TFS & Deployment Lessons Learned Local PowerShell Development Check into Source Control Auto Publish to SMA Local Development Author your Workflows locally using normal tools (PowerShell ISE) Test and the Workflows outside of SMA Use the Emulated Automation Activities from Joe Levy (Microsoft) TFS & Deployment Check your local PowerShell scripts into TFS or another source control tool Integrate your SMA environments to your source control tool Treat your automation coding just like regular web development Suggestion: Make 3 tier SMA Environment
Demo Time Source control
Lessons Learned – Write Modular Code Single Process SharePoint Wrapper Workflow Top Level Work Module Work Block 1 Work Block 2 Combined SharePoint Monitor
Demo Time SharePoint 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 Production TFS Branch Workflow Promoted to QA TFS Branch Workflows run in Central Production Workflow Tested in Central Environment
Demo Time Promote from Dev -> QA!
Questions?
Evaluations Complete your session evaluations today Provide your feedback at FEEDBACK.COM