Friday, July 20, 2012

"Under the Hood of .NET Memory Management" free eBook

simple-talk (aka redgate) - Under the Hood of .NET Memory Management

As well-engineered as the .NET framework is, it's not perfect, and it doesn't always get memory management right. To write truly fantastic software, you need to understand how .NET memory management actually works. This book will take you from the very basics of memory management, all the way to how the OS handles its resources, and will help you write the best code you can.

Chris Farrell and Nick Harrison have both been working with the .NET framework since day one, and bring all their experience to bear in this book as they explain:

  • How the .NET framework manages memory
  • How to avoid writing unnecessarily resource–hungry code
  • How to fix your applications' memory troubles

image[13]image[14]

From the Introduction;

Tackling .NET memory management is very much like wrestling smoke; you can see the shape of the thing, you know it's got an underlying cause but, no matter how hard you try, it's always just slipping through your fingers. Over the past year, I've been very involved in several .NET memory management projects, and one of the few things I can say for sure is that there is a lot of conflicting (or at any rate, nebulous) information available online. And even that's pretty thin on the ground.

The .NET framework is a triumph of software engineering, a complex edifice of interlocking parts, so it's no wonder concrete information is a little hard to come by. There are a few gems out there, hidden away on MSDN, articles, and personal blogs, but structured, coherent information is a rare find. This struck us as, shall we say, an oversight. For all that the framework is very good at what it does, it is not infallible, and a deeper understanding of how it works can only improve the quality of the code written by those in the know.

We'll start with the foundations: an introduction to stacks and heaps, garbage collection, boxing and unboxing, statics and passing parameters. In the next two chapters, we'll clear away some misconceptions and lay out a detailed, map of generational garbage collection, partial garbage collection, weak references – everything you need to have a solid understanding of how garbage collection really works.

Chapters 4 and 5 will be practical, covering troubleshooting advice, tips, and tricks for avoiding encountering memory issues in the first place. We'll consider such conundrums as "how big is a string," fragmentation, yield, lambda, and the memory management quirks which are unique to WPF, ASP.NET, and ADO.NET, to name just a few.

To really give you the guided tour, we'll finish by covering some more advanced .NET topics: parallelism, heap implementation, and the Windows memory model.

It's not conclusive, by any means – there's much, much more that could be written about, but we only have one book to fill, not an entire shelf. Consider this, instead, to be your first solid stepping stone.

Some lite weekend reading...

(via Notes from a dark corner - PerfView - a powerful tool for investigating .NET performance issues)

 

Related Past Post XRef:
.Net Memory Management Explained - Red Gate Story Book Style...

Perfect Viewing of PerfView - Links, videos and more...

Notes from a dark corner - PerfView - a powerful tool for investigating .NET performance issues

Vance Morrison, Performance Architect on the Common Language Runtime (CLR) team writes and maintains a very powerful tool called PerfView that harnesses the power of Event Tracing for Windows (ETW) data produced by the CLR. The tool can be download here.

Although he had previously published some tutorial videos as a ZIP download on his blog, those videos have now been published in a more accessible way as a PerfView tutorial series here on Channel 9.

Ben Watson has also just published a very nice article on PerfView following on from his previous article outlining 4 essential tips for high performance GC on servers.

...

Microsoft Downloads - PerfView

PerfView is a performance-analysis tool that helps isolate CPU- and memory-related performance issues.

Quick details

Version: 1.0.29
Date published: 6/20/2012

Language: English

PerfView.zip, 6.4 MB

PerfView is a performance analysis tool focusing on ETW information (ETL files) as well as CLR memory information (heap dumps). It can collect and view ETL files as well as XPERF CSV files. Powerful grouping operators allow you to understand performance profiles in ways other tools can't. PerfView is used internally at Microsoft by a number of teams and is the primary performance investigation tool on the .NET Runtime team. Features include:

  • Non-invasive collection - suitable for use in live, production environments
  • Xcopy deployment - copy and run
  • Memory
    • Support for very large heaps (gigabytes)
    • Snapshot diffing
    • Dump files (.dmp)
  • CPU Performance
    • Support for managed, native, and mixed code
    • Can read XPerf logs
    • Profile diffing

Updates in the 1.0.29 version include:
  • Improved view for analyzing blocked time (thread time view)
  • Support for .NET 4.5 EventSources
  • Support for writing extensions

Channel 9 - PerfView Tutorial

A series of video tutorials by Visual Studio performance architect Vance Morrison on how to use the PerfView profiling tool to gather data for CPU performance of a simple .NET program.

image

This PerfView video series will be one of the stories on this week's This Week on Channel 9 so thought it fitting that I also mention it here too (you know incase you miss it there, though I know you all watch TWC9, right? Right?)

 

Related Past Post XRef:
Gathering, viewing and understanding performance data with the new PerfView utility

Thursday, July 19, 2012

Finding files fast in your Solution with VSFileNav (which is now open source too!)

CodePlex - VSFileNav

Description

A simple visual studio tool to allow rapid navigation and finding of files within a Solution via a number of search patterns.

Features & Benefits

  • Name Search - Searches based upon the name of a file by simply using mixed case search string.
  • Wildcard Search - Use standard windows wildcards : ? (any character) or * (number of any characters).
  • Camel Case Search - Use uppercase strings to do Camel case searching on file names.
  • Highlighting - Filtering as you type with match highlighting.
  • Explore To - Use Alt+E to explore to a result

The extension can be found in the Edit->Find and Replace menu. It only loads when first used so won't touch your Visual Studio performance. It may take a couple of seconds for large solutions to cache all the file information when used for the first time.

...

image

..."

Not a code search but an extension to make finding specific files quick and easy. This is something I do and need all the time... Installed (which if you just want the vsix, you can get is via the Visual Studio Gallery here, VSFileNav)

Making multiple monitors manageable with the MultiMonitorTool from NirSoft

NirBlog - New utility to handle multiple monitors

MultiMonitorTool is a new tool that allows you to do some actions related to working with multiple monitors. With MultiMonitorTool, you can disable/enable monitors, set the primary monitor, save and load the configuration of all monitors, and move windows from one monitor to another. You can do these actions from the user interface or from command-line, without displaying user interface. MultiMonitorTool also provides a preview window, which allows you to watch a preview of every monitor on your system.

image

NirSoft - MultiMonitorTool v1.00

System Requirements and Limitations
  • This utility works on any version of Windows, starting from Windows XP and up to Windows 8. Both 32-bit and x64 systems are supported.
  • This utility is only useful if your desktop is extended to multiple monitors. If you have multiple monitors that display the same content, then MultiMonitorTool is useless for you.
Using MultiMonitorTool
MultiMonitorTool doesn't require any installation process or additional dll files. In order to start using it, simply run the executable file - MultiMonitorTool.exe

The main window of MultiMonitorTool contains 2 panes: The upper pane displays the list of all monitors detected on your system. When you select a monitor in the upper pane, the lower pane displays the details of all visible windows on the selected monitor.

You can select one or more monitors in the upper pane, and then use the following options: Disable Selected Monitors (Ctrl+F6), Enable Selected Monitors (Ctrl+F7), Disable/Enable Switch (Ctrl+F8), or Set As Primary Monitor (Ctrl+F9)

You can also select one or more Windows in the lower pane, and then use the 'Move Window To Next Monitor' and 'Move Window To Primary Monitor' options in order to easily move Windows from one monitor to the other.

Save/Load Monitors Configuration

MultiMonitorTool allows you to save the current configuration of all monitors on your system, including the screen resolution, colors depth, and monitor position of every monitor, by using the 'Save Monitors Configuration' option (Ctrl+Shift+S).

You can restore back the saved monitors configuration by using the 'Load Monitors Configuration' option (Ctrl+Shift+L).

You can also save/load the monitors configuration from command-line, by using the /SaveConfig and /LoadConfig command-line options.

Preview Window
The preview window shows you a preview of the monitor you select in the upper pane. It might be useful if non-primary monitors are turned off and you want to view the windows displayed in the other monitors. In order to enable/disable the monitor preview window, simply press F2. You can also resize the preview window to any size you like.
Command-Line Options

You can use the following command-line options to change the monitor configuration or to move windows automatically without displaying any user interface.
The <Monitor> parameter in all command-line options may contain the following values:

...

image..."

I love me some NirSoft utilities. The free utilities provided by NirSoft (Think "the new Sysinternals") really are some must have's.

 

Related Past Post XRef:
CMD that app to speak up (or shut up)! App level volume control via the NirCmd command line utility
Capturing data (cough… passwords… cough) on unsecured wireless isn’t hard… (so don’t use them or SSL it baby!)
Quick, what’s the version on your video driver? Wi-Fi driver? Audio? USB?… NirSoft’s DriverView makes all that info and more just a click away…
Find those WEP/WPA keys stored on your PC with WirelessKeyView and Six Other Free Tech Tools...
Waking up another computer on your LAN without getting up from your chair... with WakeMeOnLan

Nirsoft + Sysinternals + One interface = Windows System Control Center
Another portable application suite and launcher, NirLauncher (Beta) - 100+ NirSoft utilities + easy Sysinternals integration too

How does SQL Server Scheduling work? There's a flowchart for that...

srgolla - SQL Server Scheduling Flowchart

This is a basic flowchart explaining SQL Server Scheduling at a very high level.

image

This will appeal to a limited audience, but is still something I thought very informative and not something I see flowcharted every day (week/month/year)...

101 Exchange Code Examples (Think "One Boat Load of Exchange Web Services (EWS) Managed API samples for Exchange 2013")

Microsoft Developer Network - Samples - Exchange 2013 101 Code Samples

The code samples in the Exchange 2013: 101 code samples package show you how to use the Exchange Web Services (EWS) Managed API to send email messages, search mail folders, get contact information, check user availability, and more.

Prerequisites

These samples require the following:

  • A target server that is running Exchange Server 2007 Service Pack 1 (SP1) or a later version of Exchange.
  • The .NET Framework version 4.
  • The EWS Managed API assembly file, Microsoft.Exchange.WebServices.dll. You can download the assembly from the Microsoft Download Center.

Note: These samples assume that the assembly is in the default download directory. You will need to verify the path before you run the solution for an individual sample.

  • Visual Studio 2010 with the Visual Web Developer and C# components and an open Visual Studio 2010 solution.
    Or
  • A text editor to create and edit source code files and a command prompt window to run a .NET Framework command line compiler.

Key components of the sample

Each sample will typically contain the following files:

  • *.sln — A Visual Studio 2010 solution file for the project.
  • *.csproj — One or more Visual Studio 2010 project files.
  • app.config — Contains configuration data for the project.
  • *.cs —Contains the using statements, namespace, class, and functions to showcase a particular feature.
  • Authentication.csproj — The Visual Studio 2010 project file for the dependent authentication code.
  • TextFileTraceListener.cs — Contains the using statements, namespace, class, and code to write the XML request and response to a text file.
  • Service.cs — Contains the using statements, namespace, class, and functions necessary to acquire an ExchangeService object used in the project.
  • CertificateCallback.cs — Contains the using statements, namespace, class, and code to acquire an X509 certificate.
  • UserData.cs — Contains the using statements, namespace, class, and functions necessary to acquire user information required by the service object.

..."

Now this is a code sample set that's interesting, for me at least. Looks like a must go to resource if you're coding against, or thinking about coding against, the EWS's

image

You don't see 101? Many of these folders contain more than one sample...

image

More on the Service Bus for Windows Server v1 beta

Neudesic blogs - Introducing Service Bus for Windows Server (Service Bus 1.0 Beta)

On July 16, Microsoft released the beta of Microsoft Service Bus 1.0 for Windows Server. This release has been tightly kept under wraps for several months and my team was fortunate enough to have the opportunity to evaluate the early bits and help shape this release.

With the Beta now live, I’d like to share a bit of our perspective on this release, why it is significant and provide some details based on our experience with the bits.
Before I do so, let me provide an overview of Azure Service Bus to put into context this important capability as it exists today and where it is going.

A Brief Introduction to Azure Service Bus

Windows Azure Service Bus enables customers to integrate applications leveraging messaging capabilities that until now were only available in enterprise grade on-premise middleware platforms like BizTalk, Tibco, Neuron, and IBM WebSphere.

Azure Service Bus provides foundational messaging capabilities like pub-sub over a highly elastic messaging fabric that in addition to providing scalability, significantly simplifies exposing, composing and consuming services regardless of where they reside.

...

Introducing Service Bus for Windows Server

With the latest release of the Service Bus for Windows Server, Microsoft is extending the brokered messaging capabilities of Windows Azure Service Bus previously only available through Windows Azure hosting to a private, on-premise hosting environment. While this release is delivered under the name Microsoft Service Bus 1.0 Beta for Windows Server, you will find that there is strong parity with the existing Azure Service Bus capabilities in terms of the API and overall development experience.
In fact, you will find that the samples in the Service Bus for Windows Server SDK are very similar to the samples in the existing Azure Service Bus SDK. The capabilities in this release include:

  • Secure messaging
  • Multiple messaging protocols
  • Reusable patterns
  • Delivery assurance through reliable messaging
  • Scalability
  • Cross-domain/network connectivity with minimal network changes

Service Bus for Windows Server is built on the Microsoft .NET Framework 4.5 PU3 and requires Windows Server 2008 R2, SQL Server 2008 R2 and Windows PowerShell 3.0. All these platforms must be running on a 64-bit operating system. The storage layer for the system (SQL) can be deployed on dedicated remote server or on one of the compute nodes or in Windows Azure SQL Database. The compute nodes used in this stack can be hosted either on-premises or on Windows Azure IAAS.

The following figure shows the platform stack for Service Bus for Windows Server:

image

...

image..."

This is a great intro to the Service Bus for Windows Server. If you were looking for a bit more information about it, start with this post...

 

Related Past Post XRef:
Getting your own bus, as in Server Bus for Windows Server. Downloading and Hosting the Service Bus 1.0

Defending against the Dead[lock] with deadlock detection in the PostSharp Threading Toolkit

SharpCrafters Blog - Deadlock Detection using PostSharp Threading Toolkit

We’ve all experienced with great frustration that desktop applications can freeze: the user interface becomes irresponsive and, after a while, the message “Not Responding” is displayed in the title bar and the only escape is to kill the process. Typically, application freezes are the result of a deadlock where the foreground thread, instead of processing the message loop, waits for some resource to be released by a background thread, which in turn waits for the foreground thread to release some other resource.

Deadlocks Defined

A deadlock is a situation in which two or more competing actions are waiting for each other to finish, and thus neither ever does. Whenever you’re using locks there is a risk of deadlocks.

There are four main conditions necessary for a deadlock to occur:

a) A limited number of instances of a particular resource. In the case of a monitor in C# (what you use when you use the lock keyword), this limited number is one, since a monitor is a mutual-exclusion lock.

b) The ability to hold one resource and request another. In C#, this can be done by locking on one object and then locking on another before releasing the first lock, for example:

...

Detecting Deadlocks using the PostSharp Threading Toolkit

PostSharp Threading Toolkit features a drop-in deadlock detection policy. Without requiring any change in your code, it tracks use of thread synchronization primitives in transparent way. You can use locks, monitors, mutexes and most common primitives in the usual way and PostSharp Threading Toolkit will track all resources for you.

When a thread waits for a lock for more than 200ms, the toolkit will run a deadlock detection routine. If it detects a deadlock, it will throw DeadlockException in all threads that are part of the deadlock. The exception gives a detailed report of all threads and all locks involved in the deadlock, so you can analyze the issue and fix it.

In order to use deadlock detection mechanism, all you have to do is:

1. Add the PostSharp-Threading-Toolkit package to your project using NuGet.

2. Add the following line somewhere in your code (typically in AssemblyInfo.cs):

...

Summary

If you’ve ever experienced a deadlock in production, you know how hard it used to be to diagnose it. Not anymore. By adding the PostSharp-Threading-Toolkit NuGet package to your project and adding a single line of code to your code, you can get nice exception messages whenever a deadlock occurs.

In case you’re interested how this works under the hood, simply have a look at the source code in the Github repository (https://github.com/sharpcrafters/PostSharp-Toolkits).

Deadlocks can be a major pain to diagnose and troubleshoot, so I thought this a pretty cool toolkit. Then I saw that it was free and OSS! Now it's cool++...

Wednesday, July 18, 2012

Getting your own bus, as in Server Bus for Windows Server. Downloading and Hosting the Service Bus 1.0

Microsoft Downloads - Service Bus 1.0 Beta

Service Bus messaging runtime is a set of installable components for Windows providing a subset of the Service Bus capabilities found in the Windows Azure platform.

Version: Beta
Date published: 7/16/2012

Change language: English, Japanese, Spanish

servicebus.3f.3f.3fnew.exe, 103 KB
ServiceBusExplorer-Server.zip, 534 KB
ServiceBusSamples-Server.zip, 132 KB

Service Bus messaging runtime is a set of installable components for Windows providing a subset of the Service Bus capabilities found in the Windows Azure platform. This runtime enables building, testing, and running loosely-coupled, message-driven applications in self-managed environments and developer machines. Queues offer reliable message storage and retrieval with a choice of protocols and APIs. Building on the same foundation as Queues, Topics furthermore provide rich publish/subscribe capabilities that allow multiple, concurrent subscribers to independently retrieve filtered or unfiltered views of the published message stream. For more information, see the Service Bus 1.0 Beta Documentation. The Service Bus Explorer allows users to administer messaging entities in an easy manner. The version provided here supports the Service Bus 1.0 Beta. For more information, visit the Service Bus Explorer documentation.

Service Bus for Windows Server (Service Bus 1.0 Beta)

The Service Bus for Windows Server is a set of installable components that provides the messaging capabilities of the Windows Azure Service Bus on Windows. The Service Bus for Windows Server enables you to build, test, and run loosely-coupled, message-driven applications in self-managed environments and on developer computers. Service Bus queues offer reliable message storage and retrieval with a choice of protocols and APIs. Building on the same foundation as queues, Service Bus topics provide rich publish/subscribe capabilities that allow multiple, concurrent subscribers to independently retrieve filtered or unfiltered views of the published message stream.

In This Section

I am a big fan of message based app's having used them myself for a years and having them help me do some pretty serious scaling (well serious to me at least). But I've also been stuck in the past, using MSMQ natively. It's time to move forward and so I've been looking at other service bus packages (or implementations such as SQL Server Service Broker, etc). Now this enters the mix. I've not seen much uproar about this yet... Maybe all the Office 2013 news has overshadowed this announcement?

Microsoft Format and Specification Documentation 0712 Refresh (Think Office 2013 CP update). Oh and some SharePoint Doc's too

Word, Excel, and PowerPoint Standards Support

This documentation provides detailed support information for the Open Document Format (ODF) and Open XML (ECMA-376 and ISO/IEC-29500) file formats implemented in Microsoft Word, Microsoft Excel, and Microsoft PowerPoint.

Microsoft Office File Formats Documentation

The Microsoft Office file formats documentation provides detailed technical specifications for Microsoft proprietary file formats.

The documentation includes a set of companion overview and reference documents that supplement the technical specifications with conceptual background, overviews of file format relationships and interactions, and technical reference information.

Microsoft Office Protocol Documentation

The Office protocol documentation provides detailed technical specifications for Microsoft proprietary protocols (including extensions to industry-standard or other published protocols) that are implemented and used in Microsoft Office client programs to interoperate or communicate with Microsoft products.

Microsoft SharePoint Products and Technologies Protocol Documentation

The Microsoft SharePoint Products and Technologies protocol documentation provides detailed technical specifications for Microsoft proprietary protocols (including extensions to industry-standard or other published protocols) that are implemented and used in SharePoint Products and Technologies to interoperate or communicate with Microsoft products

Looks like a Office 2013 CP related refresh.

SNAGHTMLb401648

I've not blogged about the SharePoint doc's before. Some are pretty new with their first release being this year, some are old, dating back to 2008'ish.

imageimageimageimage

 

Related Past Post XRef:
Microsoft Format and Specification Documentation Refresh ("Significantly changed technical content") [Updated: Includes updates for Office 15 Technical Preview ]
Microsoft Office File Formats and Microsoft Office Protocols Documentation Refreshed
Microsoft Office File Formats and Protocols documentation updated for Office 2010 (Think “Now with added ‘X’ flavor… DocX, PptX, XlsX, etc”)

"Microsoft SQL Server Data Portability Documentation"

MS-PST file format specification released. Yep, the full and complete specification for Outlook PST’s is now just a download away.
Microsoft Office (DOC, XLS, PPT) Binary File Format Specifications Released – We’re talking the full technical specification… (The [MS-DOC].pdf alone is 553 pages of very dense specification information)
DOC, XLS and PPT Binary File Format Specifications Released (plus WMF, Windows Compound File [aka OLE 2.0 Structured Storage] and Ink Serialized Format Specifications and Translator to XML news)

RTM SQL Server 2012 Developer Training Kit available as a full download or web installer

Microsoft Downloads - SQL Server 2012 Developer Training Kit

Quick details

Version: 1.0
Date published: 7/16/2012

Language: English

SQL2012DevTrainingKit.Setup.exe, 259.8 MB

SQL2012DevTrainingKit.WebInstaller.exe, 2.3 MB

The SQL Server 2012 Developer Training Kit is a great resource for developers, trainers, consultants and evangelists who need to understand the key improvements introduced in SQL Server 2012 from a developer perspective. It contains a rich set of presentations, demos, hands-on labs and videos that are perfect for self-paced learning or for conducting your own training event. The easiest way to get started with the training kit is to download it, install it, and browse the kit for the content that you are most interested in. Many of the presentations and demos in the training kit include a video that you can watch to familiarize yourself with the content. When you are ready for some hands-on experience, try installing one of the demos or hands-on labs. Each of them includes a dependency checker for installing software prerequisites. A web installer is also provided if you only want to download specific pieces of content or check for updated versions of existing content.

If you're learning, discovering, teaching, administrating, etc., etc. SQL Server 2012, this is a Kit you should really get. Like now... um... as in now...

SNAGHTMLb325de2

SNAGHTMLb326e08

 

Related Past Post XRef:
Thinking about presenting SQL Server 2012 to others? Then you have to check out the "SQL Server 2012 Update for Developers Training Workshop"
SQL Server 2012 (fka Denali) Developer Training Kit Web Installer Preview (Updated)

Sunday, July 15, 2012

Digging WPF Data Binding with the "WPF DataBinding References & Tutorials" wiki article

TechNet Wiki Articles - WPF DataBinding References & Tutorials

Windows Presentation Foundation has a completely redesigned system for binding data to the UI, and can use a variety of binding sources including CLI objects and XML.
WPF DataBinding is one of the most important aspects to WPF, so below is a collection of resources

...

image

When I chat about WPF with WinForm dev's, it's not about the wiz-bang, graphics or power of XAML that mention most, it's the data binding. IMHO it's the data binding that is XAML's super power. Its data binding helps us break the chain and code behind curse, allowing us true separation of concerns.

So when I saw this wiki article, I knew I had to grab and share it...

July 2012 Update for VS2012 RC has been updated...

Setup & Install by Heath Stewart - New Revision of the July 2012 Update for Visual Studio 2012 RC

We have released a new revision of the July 2012 Update for VS2012 RC. This update replaces – or supersedes – the previous update, which means the download link is the same. We have retained the previous packages that VSUpdate installs – or chains – to support customers who may still require source packages when repairing Visual Studio 2012 RC or uninstalling VSUpdate RC.

We have also updated the previous KB2703187 article with the changes made in this re-release.

Should you have any problems installing the new revision July 2012 Update for Visual Studio 2012 on RC (v11.0.50522.1) please download and run our log collection utility and visit our forum or file a bug on Microsoft Connect.

But didn’t you just release the July 2012 Update?

Yes, but while we have been testing our new quarterly updates internally and have already released VSUpdate for VS2012 Beta and RC, we wanted to gather as much feedback from our customers as possible. Shipping the first version was planned well in advanced and was already in production when we started planning for this re-release, and we realized this is a good opportunity to test the production systems, the toast notification, and gather feedback.

...

I'm looking forward to this capability in VS2012, where VS product updates are baked into VS. Means we'll hopefully be seeing a faster cadence of releases and updates?

 

Related Past Post XRef:
July 2012 Update for Visual Studio 11 RC (aka Version 11.0.50626.1 QRELRC July 2012) Available for MSDN Subscribers (Looks like a pretty minor bug fix update...)

The MOF gets a little cloudy - Microsoft Operations Framework (MOF) 4.0 includes private cloud coverage.

Microsoft Downloads - Microsoft Operations Framework (MOF) 4.0

MOF 4.0 is practical guidance for IT organizations. With the release of version 4.0, MOF now reflects a single, comprehensive IT service lifecycle—it helps IT professionals connect service management principles to everyday IT tasks and activities and ensures alignment between IT and the business.

Version: 4.0

Date published: 7/14/2012

Language:English

Best Practices for Service Vendor Management.docx, 529 KB
Bridging from MOF Guidance to Microsoft Products - A Companion Guide.docx, 7.0 MB
Continuous Improvement - A MOF Companion Guide.docx, 601 KB
Cross Reference ITIL V3 and MOF 4.0.docx, 795 KB
Diagrams for Management Reviews.zip, 674 KB
Getting Started with MOF 4.0.zip, 3.3 MB
IT Pro Quick Start Kit.zip, 41.4 MB
Management Reviews.docx, 201 KB
Microsoft Operations Framework 4.zip, 6.2 MB
MOF Action Plan - Redistributing the Workload.pdf, 229 KB
MOF Action Plan - Release Readiness for Windows 7.pdf, 547 KB
MOF Action Plan - Standard Changes.pub, 172 KB
MOF and the Private Cloud.zip, 198 KB
MOF Graphics.zip, 16.9 MB
MOF Job Aids - Deliver.zip, 328 KB
MOF Job Aids - Manage.zip, 119 KB
MOF Job Aids - Operate.zip, 95 KB
MOF Job Aids - Plan.zip, 304 KB
MOF Service Mapping.docx, 4.0 MB
Planning for Software-plus-Services.docx, 211 KB
Readme - MOF COBIT Val IT Comparison.rtf, 131 KB
Service Management for the Private Cloud.zip, 233 KB
Using MOF for ISO IEC 20000.docx, 306 KB
Using Standard Changes to Improve Provisioning.docx, 565 KB

Managing and Operating a Microsoft Private Cloud. You’ve created a private cloud, and everything seems to be up and running. But, how do you know it’s running well and that you’re getting the most out of your investment? This guide will show you how to manage and operate a private cloud so that you can maximize its benefits.

Service Management for the Private Cloud. This white paper will help organizations take advantage of service management principles to maximize benefits of the private cloud. Most of the principles of IT service management (ITSM) apply to the private cloud, with some differences in how they apply. Service level management is more important than ever because of the private cloud’s emphasis on self-service, and the interdependency of its components. Service catalogs also play a big role in a cloud environment because of the importance of letting users know what is available, at what costs, and at what service levels. Apply service management to get several benefits out of the private cloud, such as elasticity, scalability, automation, and reduced time to market. This white paper walks through each case and addresses relevant decisions as applied to the cloud.

...

Getting Started with MOF 4.0: An Implementation Guide. This new extension of the MOF core content speaks to three targeted audiences—the CIO/IT director, IT managers, and individual contributors. The guide is the first step to a more efficient MOF implementation. It provides role- and situation-specific guidance, focused on helping users understand where to apply MOF and how to get the most from its recommendations.

...

Microsoft Operations Framework 4.0. MOF 4.0 is designed to help IT professionals quickly access useful, relevant content. It contains practical guidance—not just theory—and its streamlined approach makes it possible to use either the entire framework or one process from a particular service management function (SMF).

Cross Reference ITIL V3 and MOF 4.0. This guide compares the similarities and differences between two of the leading service management frameworks—the IT Infrastructure Library (ITIL) and Microsoft Operations Framework. In an environment where IT organizations are challenged as never before to deliver better IT services at lower costs, these service management frameworks offer best practice guidance for service improvement. This guide provides background information on IT Service Management (ITSM), introduces ITIL and MOF, and then discusses the two frameworks’ alignment, cross referencing, and application. It will enhance readers’ understanding of the main characteristics of these frameworks and how they align.

...

Planning for Software-plus-Services: A MOF Companion Guide. This guide provides a framework for considering and planning a software-plus-service strategy, using concise guidance and strategies from MOF 4.0 core content. The steps in this guide can be used to evaluate how software-plus-services will best help an organization. This is the first of the MOF companion guides, which apply MOF 4.0 principles to specific activities—making MOF’s guidance even more practical and usable.

...

To learn more, visit www.microsoft.com/MOF.

Looking at running a private cloud, or are a Microsoft IT shop, these documents might help.

Programming for TFS 2010 and find having to install Team Explorer a pain just to get the TFS Object Model? There's a download for that...

Buck Hodges - Standalone installer for the TFS client object model

This past week we released an installer for the Team Foundation Server 2010 SP1 client object model. Up to this point the only way to get it was to install Team Explorer. For folks writing tools that access TFS, this was a pain, as having to install TE was overkill when all that was needed was a small set of DLLs. Lots of folks have asked for this, and it’s finally available. We’ll be shipping a TFS 2012 client object model installer in the RTM timeframe as well.

Team Foundation Server 2010 SP1 Object Model

This is the stand-alone Object Model Installer for TFS 2010 (Sp1). This may be used for developing applications that integrate with TFS 2010.

This is the same Object Model included with the Visual Studio & Team Explorer SKU, in a stand-alone package. This OM will allow applications to connect to a TFS 2010 server, without the need for a Visual Studio or Team Explorer being installed on the machine. (Proper licensing / CALs are still required)

This is something that I can see being very handy for everyone writing TFS utilities, extensions and such.

(via Jason Haley - Interesting Finds: July 15, 2012)