190 likes | 346 Views
“Odds and Sods” . MSMQ 4.0 Design for Operations. Microsoft Confidential. MSMQ 4.0. Sub-queues Logical partitions of a physical queue Support for Poison Message Handling Message exceeded the max no. delivery; can move poison messages from the main queue to a retry queue
E N D
“Odds and Sods” MSMQ 4.0 Design for Operations Microsoft Confidential
MSMQ 4.0 • Sub-queues • Logical partitions of a physical queue • Support for Poison Message Handling • Message exceeded the max no. delivery; can move poison messages from the main queue to a retry queue • Support for Transactional Remote Receive • In MSMQ 3.0 remote programs couldn’t receive individual messages transactionally from a central queue – lead to home grown implementations, sending msg back to remote queue if processing failed. • Application-Specific Dead Letter Queues • http://blogs.msdn.com/drnick/archive/tags/Queues/default.aspx
Dynamic Systems Initiative • The Problem - Complexity • IT Systems are Complex • What applications are not running? • What are the dependencies? • Administration is Resource Intensive • Automation is difficult • The solution – Dynamic Systems Initiative • Capturing Knowledge in Software Models SDM/SML • Application Architecture, DataCenter, IT Policy • Use knowledge throughout application lifecycle • Design, Development, Deployment, Operations
What is Design For Operations? • Designing and Building Applications to the DSI Vision • Building applications that can be deployed • Building applications that can be operated • Caring about Operations • Attempts to address • Developers and IT Staff Don’t talk (until there is a problem) • Applications can not be configured or proactively monitored with management tools used by IT Staff • No Knowledge Sharing • Developers required to troubleshoot
Benefits of Design for Operations • To the Customers IT Staff • Lowers the total cost of ownership for the application • Streamlines datacenter operations • Reduces downtime • Brings rapid return on the investment • Brings problem solving expertise directly to the users • To the ISV • Reduce frequency of Problem Escalation • Spend Less Time Maintaining Existing Applications • Lower Support Costs • Customer advocacy • Facilitate Capture of Next Version Requirements
Sidebar: Do you recognise a pattern? • Client applications hard to deploy and maintain • Customers turn to the Browser • ISVs with traditional “rich clients” lose out • ISVs that switch to the browser bare the cost of increased complexity of development • Yet all along, you could build “rich clients” that were good citizens • Server applications hard to deploy and maintain • Customers switch from on-premise to on-demand • ISVs with on-premise lose out • ISVs that switch to on-demand bare the cost of increased complexity of development • Yet all along, you could build server applications that were good citizens
Implementing is about… • Implementing an Administration Surface • Admin UI - Microsoft Management Console 3.0? • Command Line friendly - Windows PowerShell 1.0? • Scheduling of tasks – Task Scheduler 1.0? • Expose an API – WMI or Custom? • etc • Instrumentation of your application • Raise Alerts/Events • Windows Eventing 6.0? • Windows Error Reporting? • Expose performance information - Performance Counters? • Etc • Installers etc...
Microsoft Management Console 3.0 • What is Microsoft Management Console 3.0? • Provides a common administration GUI • Why use Microsoft Management Console 3.0? • Build administrative consoles • Same technology Windows uses • Consistent management experience for administrators • Reduced Development Costs (with version 3.0) • Managed Code • Less Code
Windows PowerShell 1.0 • What is Windows PowerShell? • Command Line Shell and Scripting Language • Why use Windows PowerShell? • Easy to Adopt, Learn and Use • Provides consistent syntax and standard, uniform utilities • Automates Bulk System Administration Tasks • Accelerates Authoring, testing, and debugging of scripts • Easy to build Custom Windows PowerShell Commands • Managed Code • Easy to Provide GUI (via MMC or Windows Forms) • http://blogs.msdn.com/ericnel/archive/2007/05/11/two-of-our-finest-technologies-in-one-place-powershell-meets-workflow-foundation.aspx
MMC 3.0 Layered Over Windows PowerShell Windows Forms GUI Microsoft Management Console 3.0 PSObject Early Bound Objects Layered Over Command Line Windows PowerShell Cmdlets Windows PowerShell Engine To Manage Your Application Custom Application
Cmdlet – “get-proc” namespace Microsoft.Samples.PowerShell.Commands { [Cmdlet(VerbsCommon.Get, “Proc")] public class GetProcCommand : Cmdlet { protected override void ProcessRecord() { Process[] processes = Process.GetProcesses(); // Write the processes to the pipeline making them available to the next cmdlet. WriteObject(processes, true); } } } • Build the cmdlet using System.Management.Automation • Build a snapin to install the cmdlet(s)
Task Scheduler • What is Task Scheduler? • Windows Service for executing and managing the execution of jobs • Several enhancements in version 2.0: • Removed limitations on the number of registered tasks • Scripting support • Creation/management of tasks through XML-formatted docs • New triggers (time, calendar, and event) • Prioritization of tasks (i.e. define multiple instance policies, start a task only when it is available or only if the network is available, restart on failure, and set an execution time limit) • New actions (send email, show message box, start exe, and fire a COM handler)
Windows Eventing 6.0 • What is Windows Eventing 6.0? • Logs Event Information to the Application Logs, updated in Longhorn Server • Lets Administrators and management tools know what is happening • Why Use Windows Eventing 6.0? • Better Performance & Reliability • Declarative Event Structure • Subscriptions • Unified API for Eventing and Tracing • Event Forwarding • Benefits for Administrators • Logs Easier to Manage, Search and Filter • Better Tools • Benefits for Developers • Richer Eventing and Tracing Capabilities
Windows Error Reporting • Log Windows & App. critical info. centrally with Microsoft • Enables you to… • View and identify crash trends in your applications • Download and debug your customer’s crashes • Request a “response” to point our users to your fix! • https://winqual.microsoft.com
Summary • Easier than ever before for an ISV to make every Administrator whoop for joy when they admin your solution • DSI and DFO are “work in progress” – but already an ISV can get great wins
Resources • DSI • DSI core principles • http://www.microsoft.com/windowsserversystem/dsi/dsicore.mspx • DSI home • http://www.microsoft.com/windowsserversystem/dsi/default.mspx • Powershell • http://blogs.msdn.com/powershell/ • http://powergui.org/