Kenneth Hansen, Program Manager Narayanan Lakshmanan, Developer Microsoft Corporation
description
Transcript of Kenneth Hansen, Program Manager Narayanan Lakshmanan, Developer Microsoft Corporation
Windows PowerShell: An Automation Toolbox for Building Solutions That Span Small Businesses, Enterprises and Cloud Services
Kenneth Hansen, Program ManagerNarayanan Lakshmanan, DeveloperMicrosoft Corporation
SVR13
Datacenter X
Datacenter Y
….com
….com
Contoso.com
Exchange Labs
ACME.com
Ops
NK App user Finance
HR
Sales
Purchase
Fabrikam Enterprises
Different Admin Environments
>>FUTUREKey Trends and Implied Needs
IT Infrastructure trends with material implications for management
Source: IDC Server Virtualization Forecast 2005-2012> Consolidation suppressing physical growth, but total OS instances (i.e., physical+virtual) still growing rapidly
> Broadening of IT applications (e.g., collaboration, VOIP, mobile workforce, etc.) over time
> Users consumer expectations are beginning to define expectations of corporate IT
Need for management to scale – multi-instance, one-to-many, automation, service enablement, etc.
Source: US Government Bureau of Labor and Statistics> Overall demand for IT
resources trending up, but not keeping up with rate of server growth
> Difficulty finding, training and retaining qualified IT staff
> Ongoing pressure on IT to suppress labor costs (i.e., do more with less)
Need to drive greater IT efficiency – enable IT department to manage many more servers with fewer staff
Growing Complexity Admin Base not Keeping Pace
Source: Higher Education Research Institute Survey, UCLA> Less interest in pursuing
Computer Science education> Smaller echo generation as
baby boomers retire> Lower skill set and
experience in incoming job candidates requires designing for a less skilled target
Need to simplify/streamline management – making features more accessible to targeted administrators
Smaller Pool of Talent
Management Landscape
Key considerations:> Easy to use AND Flexible> Consistent and discoverable> Fast and responsive
“Click and Run”
“Click once
repeat often”
Admins
Service Operation
s
“Install and
forget”Engineerin
gSupport
Key considerations:• Deterministic, fool
proof • Repeatable• Scalable
External
Customers
Internal
Customers
Service Partners
Population sizeFrequency of use
"I'm Conflicted"… I can’t do it all!!
Increased Complexity of Computing Environments
Simplified Administration Experience
Tailored automation that crosses islands of technology
Support GUI and Command Line
How do we resolve the conflict? Right set of Commands
• Cmdlets/Scripts to manage the individual entities
Automate using Commands and Tools• Reduces operational errors, costs and boredom!• Increases consistency, availability, agility, …• Abstractions can isolate complexity
Target the right actions to the right people in the right way• Delegation and focused functionality• UI and Command-line
Using the Automation Platform and Tools
PowerShell Automation Platform
Events, Jobs, Transactions, WMI, WSMan
Events, Jobs, Transactions, WMI, WSMan
Events, Jobs, Transactions, WMI, WSMan
Cmdlets/Scripts
In-Proc, Local, RemoteRuntime Engines
In-Proc, Local, RemoteRuntime Engines
In-Proc, Local, RemoteRuntime Engines
Automation Platform (API)
Scripting Language
Type Normalizers
Type Normalizers
Type Adapters
Shells, ISEs, GUIs, Applications Universal:• Production scripting
Wide range of skill sets (novice to system program)
• Interactive or programmatic
• Execution environmentsLocal or remote, single or multi-machine, AsJobs, OnEvents
• Many authentication mechanisms
• Direct data/code access: .NET, native code, COM, WMI, ADSI, XML, ADO, WebServices, WSMAN, etcPowered by a strong community
Namespaces Types/Format
Example problem… Problem• Assure we have the right set of features on our
machines Right set of commands• WMI cmdlets (access to system information)• Server Manager (features installed)
Automate using Commands and Tools• [Inventory] Query each machine for system
information and feature status• [Report] Notify admin of any areas of concern• [Job] Update/fix of non-compliant machines
Using the Automation Platform and Tools
Automation in Action(Inventory, Reports and
Jobs)
Narayanan LakshmananDeveloperWindows Management
demo
How do we resolve the conflict? Right set of Commands
• Cmdlets/Scripts to manage the individual entities
Automate using Commands and Tools• Reduces operational errors, costs and boredom!• Increases consistency, availability, agility, …• Abstractions can isolate complexity
Target the right actions to the right people in the right way• Delegation, focused functionality• UI and Command-line
Using the Automation Platform and Tools
Right Actions, Right People, Right Way Managing Services• Sorin: (Get + Stop/Start)• Siva: (Get Only)
Managing Employees• Mir: (Everything)• Erin: (Org specific)
Customized GUI and Commandline for each Role
Narayanan LakshmananDeveloperWindows Management
demo
Management StackWeb Client
Integrated management service
Rich client
External customers
IIS Host Process
WinRM Plugin
Authorization
ADElementMailbox
Authentication
PowerShell server runtime
Custom Endpoint
Internal Customers
Automated management
Store
InteractiveCmdline
Partner Applications
Managed Elements
PowerShell client runtime WinRM Client
Windows Auth
CSV files to define roles Customized using scripts &
ACLs
WPF application
Interactive Cmdline
CSV files for UIcontrol mapping
Impersonation
"I'm Resolved"We can handle both…
Increased Complexity of Computing Environments
Simplified Administration Experience
Targeted automation with the right User Experience
Q & A
YOUR FEEDBACK IS IMPORTANT TO US! Please fill out session evaluation
forms online atMicrosoftPDC.com
Learn More On Channel 9> Expand your PDC experience through
Channel 9
> Explore videos, hands-on labs, sample code and demos through the new Channel 9 training courses
channel9.msdn.com/learnBuilt by Developers for Developers….
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.