WUX317 Easing ASP.NET Web Deployment with Microsoft Visual Studio 2010 and MSDeploy
This session showed Visual Studio 2010 and MSDeploy in action. The session was good. Some of the highlights where:
Web configuration transformation are a way to make changes to configuration files for different targets like test, staging and production. You define different transformation files for your configuration file and then depending on the build configuration the right transformation is used.
You can change whole sections not just attributes and specific elements.
MSDeply support database deployment. How ever there is no 100% integration with VSTS DB for adding db changes to the MSDeploy script. It looked like you could have both update and rollback scripts defined but I’m not sure.
WUX307 Death of a Web Server: Crisis in Caching
Good session about how to diagnose a website failing under load. When trying to solve a performance problem you should test, test and the do some more tests to confirm where the real performance problem really are. Performance monitor is one of the best tool and Richard recommender to begin looking at the following performance counters:
• #bytes in all heaps
• Requests queued
• Requests per second
• % processor time
On codeplex there is a tool, Performance Analysis of Logs (PAL) Tool, that help you with interpret the results.
When writing code for reading and adding to a cache you should follow the following pattern.
Check if not in cache
Lock access to cache
Check if not in cache
Fetch from database
This is to prevent multiple threads to do the fetch from the database at the same time.
ARC301 An Introduction to the Application Architecture Guide 2.0
This was a meta session. A session about the application architecture guide and not about architecture guidance. But the guidance provided was:
- Common Architectural principals
- Separation of concerns
- Single responsibility
- Principle of least knowledge
- Build to change instead of build to last
- Common architecture patterns
- Layered Architecture
- Client-Server, N-Tier architecture
- Service oriented and Message Bus Architectures
- OO & Component-based Design Architectures
- Development approach
- Avoid "Big Design Upfront"
- Iterative approach
- Indentify key sceneries, spike, repeat
- Reduce risk, increase confidence