Print this Page

Performance Matters
Creating Highly Available and Scalable Systems with Microsoft Technologies

Performance Matters when web applications serve large numbers of users.  Both the IT staff and Business Area Management know that effective web applications must perform well.  The success of your web-based business initiatives depends on the performance, availability and scalability of the applications that implement them.

Performance Matters outlines strategies and tactics for using Microsoft technologies to build high-performance web applications.  This one-day seminar shows how proper planning and management at each point through-out the application life-cycle can ensure than your applications meet their performance, scalability and availability goals.

Performance Matters introduces and explains a model planning approach and framework applicable to all web application platforms and technology families.  It then discusses specific tips and techniques that you can utilize to build high-performance applications with Microsoft tools for deployment on COM+ and .NET platforms, including advice for leveraging Windows Server 2003.

What You Will Learn

  • Application Success Factors: Availability, Scalability, Performance

    • Availability: How fault-tolerant is your application under varying conditions?

    • Scalability: How well can your application support rapidly increasing (and decreasing) volumes of concurrent users?

    • Performance: How well does your application execute, as evaluated by critical business-success measures

    • Reliability: How does your application meet your uptime & recoverability goals?

  • Performance Success Road Map: How to Plan High-Performance Applications

    • Understanding Microsoft’s road map for scalable designs

    • How much emphasis should be placed on hardware vs. software solutions

    • Performance requirements definition

    • Building software that you can easily monitor

    • Release cycle planning

Course Outline

Section 1: Application Performance Concepts & Essentials

1. Introduction to Terms

  • Performance: The measurement of an application’s execution speed and/or throughput for certain actions

  • Scalability: The application’s ability to support increasing (and decreasing) numbers of concurrent users while performing acceptably

  • Availability: An application’s fault tolerance under varying conditions

2. Performance Requirements Definition Approach

  • How to gather application performance requirements early

    • Ensuring organizational awareness

    • Identifying problem integration areas early

  • How to focus on phased delivery to meet user growth targets

  • How to budget for performance goals

    • Determining uptime goals

    • Cost/Transaction Analysis

  • How to ensure sufficient time to proof tools and technologies

    • How blending technologies can affect performance

    • How to measure technology impact independently, as well as when several technologies jointly affect performance

Section 2: Application Performance Planning Methodology

1. Application Design Principles

  • Microsoft Systems Architecture (MSA)

    • Internet Data Center (IDC)

    • Enterprise Data Center (EDC)

  • Understanding the scalability pyramid

    • How application design affects application scalability

    • How to design early to improve performance

    • Scaling up and out

  • N-tier design

    • Logical and physical partitioning

    • Reducing transactions

    • Chatty vs. Chunky Interfaces

    • Caching Designs (“The fastest way to do anything is to do nothing”)

    • Specific design patterns for performance

2. Application Development Life Cycle

  • Software Development

    • How to utilize platform performance features

    • How to decide to build or buy solutions for additional needs

    • How to build support for easy performance monitoring

      • WMI

      • Performance Counters

  • Performance Testing Plan

    • Component Testing

    • Pair-wise integration testing

    • Functionality Matrix Development

    • Usage Scenarios

  • Testing Staging Areas

    • Isolated networks

    • Know system hardware baselines

    • How to extrapolate results to LIVE environment

  • Rollout and Capacity Planning

Section 3: How to Make Windows Applications REALLY Scream

1. Technology and Tools

  • Availability

    • “System only as reliable as its weakest link”

    • Clustering (Cluster Server)

    • Redundant sites

  • Scalability

    • Network Load balancing (NLB)

    • Reusable resources

    • State management/Caching

  • Performance

    • Benchmarks: Ideas International, & Transaction Processing Council

    • Monitoring: PerfMon & Application Center

    • Testing: WCAT, Visual Studio Analyzer & Application Center Test

2. Windows .NET Features

  • ASP.NET

    • Page Caching

    • Multi-threading

    • Viewstate

    • Session State

  • ADO.NET

    • Disconnected Record Sets

    • DataReaders for Hi-Performance Read Only

  • Security Mechanisms

    • Authentication

    • Authorization

  • Remoting Techniques

    • Web Services

    • HTTP

    • TCP

3. Windows 2003 Server Updates

  • IIS 6

    • Application Isolation

    • Application Pools

    • Pool Identity

    • Web Gardens

    • Process Recycling

    • Health Detection

    • Quality of Service (QoS) features

  • MSMQ 3.0

  • Enterprise UDDI Services

  • COM+ 1.5

    • Object Pooling

    • Just In Time (JIT) Activation

    • Access via .NET attributes

  • Active Directory

  • Server Extensions

4. Microsoft Specialized Servers for building Scalable Systems

  • BizTalk

  • SQL Server

  • Commerce Server

  • Internet Security and Acceleration Server