arc310 microsoft visual studio 2005 team edition for software architects: developing logical...

34
ARC310 ARC310 Microsoft Visual Studio Microsoft Visual Studio 2005 Team Edition for 2005 Team Edition for Software Architects: Software Architects: Developing Logical Developing Logical Datacenters Datacenters Alex Torone Alex Torone Lead Program Manager Lead Program Manager Enterprise Tools Enterprise Tools Microsoft Corporation Microsoft Corporation

Upload: john-underwood

Post on 19-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ARC310 Microsoft Visual Studio 2005 Team Edition for Software Architects: Developing Logical Datacenters Alex Torone Lead Program Manager Enterprise Tools

ARC310ARC310Microsoft Visual Studio 2005 Team Microsoft Visual Studio 2005 Team Edition for Software Architects: Edition for Software Architects: Developing Logical Datacenters Developing Logical Datacenters

Alex ToroneAlex ToroneLead Program ManagerLead Program ManagerEnterprise ToolsEnterprise ToolsMicrosoft CorporationMicrosoft Corporation

Page 2: ARC310 Microsoft Visual Studio 2005 Team Edition for Software Architects: Developing Logical Datacenters Alex Torone Lead Program Manager Enterprise Tools
Page 3: ARC310 Microsoft Visual Studio 2005 Team Edition for Software Architects: Developing Logical Datacenters Alex Torone Lead Program Manager Enterprise Tools

Visual Studio Team SystemVisual Studio Team System

Change Management

Work Item Tracking

Reporting

Project Portal

Visual StudioTeam Foundation Server Integration Services

Project Management

Pro

cess

an

d A

rch

itect

ure

Pro

cess

an

d A

rch

itect

ure

G

uid

an

ceG

uid

an

ce

Dynamic Code Analyzer

Visual Studio Team Edition

Software Architects

Static Code Analyzer

Code Profiler

Unit Testing

Code Coverage

Team Explorer (includes Team Foundation Server CAL)

Visual Studio Professional Edition

Load Testing

Manual Testing

Test Case Management

Visual Studio Team Edition

Software DevelopersVisual Studio Team Edition

Software Testers

Vis

ual S

tud

io In

du

stry

V

isu

al S

tud

io In

du

stry

Part

ners

Part

ners

Team Build

Class Designer (in Visual Studio Standard Edition and higher)

Visio for Enterprise Architects (in MSDN Premium Subscription)

Distributed System Designers

Application Designer

System Designer

Logical Datacenter Designer

Deployment Designer

Logical Datacenter Designer

Page 4: ARC310 Microsoft Visual Studio 2005 Team Edition for Software Architects: Developing Logical Datacenters Alex Torone Lead Program Manager Enterprise Tools

AgendaAgenda

Distributed System Challenges & DSIDistributed System Challenges & DSI

Visual Studio Team Edition for Visual Studio Team Edition for Software Architects (VSTESA) overviewSoftware Architects (VSTESA) overview

Logical Datacenter DesignLogical Datacenter Design

Codify Best Practices and GuidanceCodify Best Practices and Guidance

Looking ForwardLooking Forward

Page 5: ARC310 Microsoft Visual Studio 2005 Team Edition for Software Architects: Developing Logical Datacenters Alex Torone Lead Program Manager Enterprise Tools

How do I build applications How do I build applications that will successfully deploy?that will successfully deploy?How do I build applications How do I build applications that will successfully deploy?that will successfully deploy?

How do I set and enforce How do I set and enforce operational policies?operational policies?How do I set and enforce How do I set and enforce operational policies?operational policies?

How do I communicate How do I communicate application requirements to application requirements to Operations?Operations?

How do I communicate How do I communicate application requirements to application requirements to Operations?Operations?

How do I keep better informed How do I keep better informed of application requirements?of application requirements?How do I keep better informed How do I keep better informed of application requirements?of application requirements?

How do I communicate a How do I communicate a critical business process to critical business process to IT?IT?

How do I communicate a How do I communicate a critical business process to critical business process to IT?IT?

Page 6: ARC310 Microsoft Visual Studio 2005 Team Edition for Software Architects: Developing Logical Datacenters Alex Torone Lead Program Manager Enterprise Tools

Dynamic Systems InitiativeDynamic Systems Initiative

Page 7: ARC310 Microsoft Visual Studio 2005 Team Edition for Software Architects: Developing Logical Datacenters Alex Torone Lead Program Manager Enterprise Tools

Dynamic Systems InitiativeDynamic Systems Initiative

Best Practices & GuidanceBest Practices & Guidance

Page 8: ARC310 Microsoft Visual Studio 2005 Team Edition for Software Architects: Developing Logical Datacenters Alex Torone Lead Program Manager Enterprise Tools

Applications

ApplicationHosts

Network Topology& OS

Hardware

System Definition Model (SDM):System Definition Model (SDM):A A formalformal model of a complete system model of a complete system

All information pertinent to deployment and operationsAll information pertinent to deployment and operations

Machine-readable, capturing intent of Machine-readable, capturing intent of developers and IT Professionalsdevelopers and IT Professionals

System topologySystem topology

Developer constraintsDeveloper constraints

IT policyIT policy

Installation directivesInstallation directives

Health modelHealth model

Monitoring rulesMonitoring rules

Service Level AgreementsService Level Agreements

ReportsReports

????

Page 9: ARC310 Microsoft Visual Studio 2005 Team Edition for Software Architects: Developing Logical Datacenters Alex Torone Lead Program Manager Enterprise Tools

Deployment ReportDeployment Report““Models”Models”ASP.NET Web ApplicationsASP.NET Web ApplicationsSystem.WebSystem.WebIIS metabaseIIS metabaseDatabaseDatabaseWindows Application, …Windows Application, …

““Validators”Validators”Rules that codify guidance Rules that codify guidance and best practicesand best practices

Architect “Binds” Systems Architect “Binds” Systems to Logical Datacenters. to Logical Datacenters. Produces Produces errorserrors and and deployment Reportdeployment Report

Distributed Distributed System DesignersSystem Designers

Transforming Knowledge into Actionable InformationTransforming Knowledge into Actionable InformationVSTESA OverviewVSTESA OverviewTransforming Knowledge into Actionable InformationTransforming Knowledge into Actionable InformationVSTESA OverviewVSTESA Overview

““ApplicationApplicationSDM”SDM”

Architects specify application Architects specify application configuration settings and dependenciesconfiguration settings and dependencies

Dynamic Load of SDM Dynamic Load of SDM models;models;

Turning data into informationTurning data into information

Application Application DesignerDesigner

System System DesignerDesigner

Deployment Deployment DesignerDesigner

Logical Logical datacenter datacenter DesignerDesigner

SDMSDM

Architects compose application systems Architects compose application systems and configure for a particular deploymentand configure for a particular deployment

““SystemSystemSDM”SDM”

err

or

err

or

erro

re

rror

ITPros specify target environment ITPros specify target environment configuration and policiesconfiguration and policies

““LogicalLogicalDatacenterDatacenter

SDM”SDM”

Page 10: ARC310 Microsoft Visual Studio 2005 Team Edition for Software Architects: Developing Logical Datacenters Alex Torone Lead Program Manager Enterprise Tools

““It works on my machine…”It works on my machine…”

IT & software development have separate concerns IT & software development have separate concerns yet their roles are fundamentally co-dependantyet their roles are fundamentally co-dependant

Troubleshooting production problems and re-Troubleshooting production problems and re-architecting applications is expensivearchitecting applications is expensive

Configuration & application dependencies are the root Configuration & application dependencies are the root cause of most deployment and run-time issuescause of most deployment and run-time issues

Physical machines and network; good for IT not Physical machines and network; good for IT not developersdevelopers

To communicate the “right” information in a language To communicate the “right” information in a language both IT and development can understand to increase both IT and development can understand to increase

the predictability of deploymentthe predictability of deployment

Logical Datacenter: MotivationLogical Datacenter: Motivation

Page 11: ARC310 Microsoft Visual Studio 2005 Team Edition for Software Architects: Developing Logical Datacenters Alex Torone Lead Program Manager Enterprise Tools

The “Right” Information…The “Right” Information…

IISIIS

SQL ServerSQL Server

Enterprise ServicesEnterprise Services

Application ServicesApplication Services System ServicesSystem Services

DCOMDCOM

DTCDTC

Client Network Client Network LibrariesLibraries

DTCDTC

Client Network Client Network LibrariesLibraries

DCOMDCOM

Page 12: ARC310 Microsoft Visual Studio 2005 Team Edition for Software Architects: Developing Logical Datacenters Alex Torone Lead Program Manager Enterprise Tools

What is a Logical Datacenter?What is a Logical Datacenter?

An abstraction of a part of the physical datacenterAn abstraction of a part of the physical datacenterDescribes the types of application serversDescribes the types of application servers

not how manynot how many

Describes the application server configuration settings Describes the application server configuration settings not the physical characteristics of a machinenot the physical characteristics of a machine

Describes what protocols are availableDescribes what protocols are available not what IP routing scheme is usednot what IP routing scheme is used

Describes communication boundariesDescribes communication boundariesnot firewalls, vlans, switches & routersnot firewalls, vlans, switches & routers

Describes application authentication requirementsDescribes application authentication requirementsnot wire level encryptionnot wire level encryption

Describes constraints on application configurationDescribes constraints on application configurationw/o having to page the developer or read lots of manualsw/o having to page the developer or read lots of manuals

Communicates the “Right” InformationCommunicates the “Right” Information

Page 13: ARC310 Microsoft Visual Studio 2005 Team Edition for Software Architects: Developing Logical Datacenters Alex Torone Lead Program Manager Enterprise Tools

What is a Setting?What is a Setting?Settings can be “configuration” elements on Settings can be “configuration” elements on an application or an application serveran application or an application server

System.webSystem.webAuthentication Mode=FormsAuthentication Mode=Forms

IIS Meta-baseIIS Meta-baseAccessFlags=ExecuteAccessFlags=Execute

System.DataSystem.DataAuthentication=mixedAuthentication=mixed

Settings can also be user definedSettings can also be user definedMySetting=FooMySetting=Foo

Settings can be grouped as “resources”Settings can be grouped as “resources”Defined and associated with any design elementDefined and associated with any design element

Page 14: ARC310 Microsoft Visual Studio 2005 Team Edition for Software Architects: Developing Logical Datacenters Alex Torone Lead Program Manager Enterprise Tools

What is a Constraint?What is a Constraint?

A rule expressed and evaluated against A rule expressed and evaluated against model datamodel data

ArchitectsArchitects express application requirements express application requirements

IT ProsIT Pros express operational requirements express operational requirements

Constraint typesConstraint typesHosting and communicationHosting and communication

ImplicitImplicit

Pre-defined common configurationPre-defined common configuration

User-definedUser-defined

ValidatorsValidators evaluate constraints evaluate constraints

Page 15: ARC310 Microsoft Visual Studio 2005 Team Edition for Software Architects: Developing Logical Datacenters Alex Torone Lead Program Manager Enterprise Tools

Example ConstraintsExample Constraints

Restrict protocol to only SOAP/https Restrict protocol to only SOAP/https over port 443 for web servicesover port 443 for web services

Dissallow webservices on any website Dissallow webservices on any website on any webserver in a zoneon any webserver in a zone

Allow only static content on a websiteAllow only static content on a website

Require asp.net applications to use Require asp.net applications to use SQL Session stateSQL Session state

If forms authentication is used, ensure If forms authentication is used, ensure IIS anonymous is enabledIIS anonymous is enabled

……

Page 16: ARC310 Microsoft Visual Studio 2005 Team Edition for Software Architects: Developing Logical Datacenters Alex Torone Lead Program Manager Enterprise Tools

Mapping Models to Real ArtifactsMapping Models to Real ArtifactsLogical DatacenterLogical Datacenter

The Logical Server The Logical Server

represents the Globalrepresents the Global

Configuration for the IISConfiguration for the IIS

Web ServerWeb Server

The endpoint represents The endpoint represents

the WebSite for the for thethe WebSite for the for the

IIS Web ServerIIS Web Server

Resources in the S&CEResources in the S&CE

model the IIS meta-basemodel the IIS meta-base

resourcesresources

Settings map to thoseSettings map to those

found in the IIS MMC andfound in the IIS MMC and

more…they are more…they are

constrainable as wellconstrainable as well

Page 17: ARC310 Microsoft Visual Studio 2005 Team Edition for Software Architects: Developing Logical Datacenters Alex Torone Lead Program Manager Enterprise Tools

Mapping Models to Real ArtifactsMapping Models to Real ArtifactsWeb ApplicationsWeb Applications

WebApplication settings WebApplication settings

(aka VDIR settings) are (aka VDIR settings) are

part of part of

““MyWebApplication” MyWebApplication”

configurationconfiguration

Web.Config settings are Web.Config settings are

ASP.NET settings that areASP.NET settings that are

also part of also part of

““MyWebApplication”MyWebApplication”

WebService EndpointsWebService Endpoints

map to project artifactsmap to project artifacts

Page 18: ARC310 Microsoft Visual Studio 2005 Team Edition for Software Architects: Developing Logical Datacenters Alex Torone Lead Program Manager Enterprise Tools

Logical Datacenter DesignerLogical Datacenter Designer

Describing the Logical DatacenterDescribing the Logical Datacenter Specifying & Importing SettingsSpecifying & Importing Settings Specifying Application constraintsSpecifying Application constraints PrototypesPrototypes Application Validation and error Application Validation and error resolutionresolution Deployment ReportDeployment Report

Page 19: ARC310 Microsoft Visual Studio 2005 Team Edition for Software Architects: Developing Logical Datacenters Alex Torone Lead Program Manager Enterprise Tools

Logical Datacenter SummaryLogical Datacenter Summary

Logical Servers represent application Logical Servers represent application server configurationserver configuration

Settings values can be populated in the Settings values can be populated in the editor or importededitor or imported

Constraints are evaluated over SDM Constraints are evaluated over SDM meta-data with built-in “Validators”meta-data with built-in “Validators”

Application validation can occur before Application validation can occur before design is committed to codedesign is committed to code

Model information can be used to script Model information can be used to script deploymentsdeployments

Page 20: ARC310 Microsoft Visual Studio 2005 Team Edition for Software Architects: Developing Logical Datacenters Alex Torone Lead Program Manager Enterprise Tools

Codify Best Practices and GuidanceCodify Best Practices and Guidance

User defined User defined settingssettingsExamples (security, performance, health, etc)Examples (security, performance, health, etc)Associate them with *any* existing typeAssociate them with *any* existing typeConstrainableConstrainable

User defined User defined ApplicationsApplications and and Logical ServersLogical ServersFully document your systemFully document your systemAdd new hosting relationships to existing models Add new hosting relationships to existing models Extend communication capabilities Extend communication capabilities

User defined User defined “Validators”“Validators”Security best practicesSecurity best practicesService Level AgreementService Level AgreementApplication HealthApplication Health

Extend the experience by adding models through the SDM SDKExtend the experience by adding models through the SDM SDK

Page 21: ARC310 Microsoft Visual Studio 2005 Team Edition for Software Architects: Developing Logical Datacenters Alex Torone Lead Program Manager Enterprise Tools

Codify Best Practices and GuidanceCodify Best Practices and Guidance

Security Best PracticesSecurity Best Practices can be found in can be found in “Patterns & Practices” documents but …“Patterns & Practices” documents but …

Massive amount of documentation to wade through Massive amount of documentation to wade through

Sometimes not very clear what is expected Sometimes not very clear what is expected

Not flexible enough for different architectures Not flexible enough for different architectures

Can be out of date Can be out of date

Codify best practices with Validators that…Codify best practices with Validators that…provide design time feedback for any best practice provide design time feedback for any best practice violation “executable contract” violation “executable contract”

can be versioned and standardized can be versioned and standardized

can be grouped in relevant resources can be grouped in relevant resources

Page 22: ARC310 Microsoft Visual Studio 2005 Team Edition for Software Architects: Developing Logical Datacenters Alex Torone Lead Program Manager Enterprise Tools

Security Best PracticesSecurity Best Practices

Hardening TCP against SYN Hardening TCP against SYN flood attackflood attack

Page 23: ARC310 Microsoft Visual Studio 2005 Team Edition for Software Architects: Developing Logical Datacenters Alex Torone Lead Program Manager Enterprise Tools

AVIcodeAVIcodeHealth Modeling and MonitoringHealth Modeling and Monitoring

AVIcode Intercept Studio AVIcode Intercept Studio integration integration withwith Visual Studio Team System Visual Studio Team System

Page 24: ARC310 Microsoft Visual Studio 2005 Team Edition for Software Architects: Developing Logical Datacenters Alex Torone Lead Program Manager Enterprise Tools

AVIcode Intercept StudioAVIcode Intercept StudioSimplifies support of enterprise software Simplifies support of enterprise software

applicationsapplications

Provides root cause information for Provides root cause information for application failures and performance application failures and performance degradationdegradation

Non-intrusive monitoring of enterprise Non-intrusive monitoring of enterprise applicationsapplications

Instant feedback to network monitoring, Instant feedback to network monitoring, defect tracking and test management defect tracking and test management systemssystems

Page 25: ARC310 Microsoft Visual Studio 2005 Team Edition for Software Architects: Developing Logical Datacenters Alex Torone Lead Program Manager Enterprise Tools

VSTE Software Architects VSTE Software Architects IntegrationIntegration

Allows developers to provide operations Allows developers to provide operations personnel with application health personnel with application health

monitoring capabilitiesmonitoring capabilities

ApplicationApplication and and Logical DatacenterLogical Datacenter SDM SDM models to customize & prioritize application models to customize & prioritize application health informationhealth information

Automatic creation of MOM 2005 Automatic creation of MOM 2005 management packs with custom management packs with custom ValidatorsValidators utilizing data captured customized modelsutilizing data captured customized models

Page 26: ARC310 Microsoft Visual Studio 2005 Team Edition for Software Architects: Developing Logical Datacenters Alex Torone Lead Program Manager Enterprise Tools

VS Team FoundationVS Team FoundationIntegrationIntegration

Streamlines application support and Streamlines application support and provides a foundation for effective provides a foundation for effective incident management processesincident management processes

Automatic creation of new Automatic creation of new work itemswork items for for issues detected in production environmentissues detected in production environment

Correlation of root cause diagnostic Correlation of root cause diagnostic information with related application code and information with related application code and SDM modelsSDM models

Page 27: ARC310 Microsoft Visual Studio 2005 Team Edition for Software Architects: Developing Logical Datacenters Alex Torone Lead Program Manager Enterprise Tools

Health Modeling & MonitoringHealth Modeling & Monitoring

Define healthmodel

Define applicationinternal and

externaloperational

instrumentation

Generate healthmonitoring

management pack

Monitor applicationhealth

Analyzeoperationalinformation

1. Design1. DesignArchitect defines in Architect defines in AD diagramAD diagram severity for operational severity for operational conditions related to performance, connectivity, security and conditions related to performance, connectivity, security and application failures.application failures.

1. Design1. DesignArchitect defines in Architect defines in AD diagramAD diagram severity for operational severity for operational conditions related to performance, connectivity, security and conditions related to performance, connectivity, security and application failures.application failures.

2. 2. DevelopmentDevelopmentDeveloper Developer defines in defines in AD AD diagramdiagram what what operational operational information has information has to be collectedto be collected

2. 2. DevelopmentDevelopmentDeveloper Developer defines in defines in AD AD diagramdiagram what what operational operational information has information has to be collectedto be collected

3. Release 3. Release managementmanagementInfrastructure engineer Infrastructure engineer defines in defines in LDD LDD diagramdiagram .NET monitoring .NET monitoring environment & generates environment & generates deployment reportdeployment report together with health together with health monitoring management monitoring management pack from DD diagrampack from DD diagram

3. Release 3. Release managementmanagementInfrastructure engineer Infrastructure engineer defines in defines in LDD LDD diagramdiagram .NET monitoring .NET monitoring environment & generates environment & generates deployment reportdeployment report together with health together with health monitoring management monitoring management pack from DD diagrampack from DD diagram

4. Service Monitoring4. Service MonitoringNOC operator monitors the health NOC operator monitors the health of applications within the MOM of applications within the MOM State viewState view

4. Service Monitoring4. Service MonitoringNOC operator monitors the health NOC operator monitors the health of applications within the MOM of applications within the MOM State viewState view

5. Problem 5. Problem managementmanagementSystem System administrators & administrators & application application support support personnel personnel analyze analyze operational operational configuration configuration and related and related issues using issues using Team Team Foundation Foundation Server & SDM Server & SDM modelsmodels

5. Problem 5. Problem managementmanagementSystem System administrators & administrators & application application support support personnel personnel analyze analyze operational operational configuration configuration and related and related issues using issues using Team Team Foundation Foundation Server & SDM Server & SDM modelsmodels

MOFMOF

MSFMSF

Page 28: ARC310 Microsoft Visual Studio 2005 Team Edition for Software Architects: Developing Logical Datacenters Alex Torone Lead Program Manager Enterprise Tools

AVIcode Intercept Studio & AVIcode Intercept Studio & Visual Studio Team SystemVisual Studio Team System

Page 29: ARC310 Microsoft Visual Studio 2005 Team Edition for Software Architects: Developing Logical Datacenters Alex Torone Lead Program Manager Enterprise Tools

Visual Studio Team Edition for Visual Studio Team Edition for Software ArchitectsSoftware Architects

Model structure of complex systemsModel structure of complex systemsVisualization and validationVisualization and validation

Knowledge transfer and collaboration Knowledge transfer and collaboration Between architects and developersBetween architects and developersBetween development and operationsBetween development and operations

Improve value of designImprove value of designDesign, code and configuration are synchronizedDesign, code and configuration are synchronized

Improve predictability of deploymentImprove predictability of deploymentDesign validation, unified deployment manifest Design validation, unified deployment manifest

Integrate best practices and guidanceIntegrate best practices and guidance

Page 30: ARC310 Microsoft Visual Studio 2005 Team Edition for Software Architects: Developing Logical Datacenters Alex Torone Lead Program Manager Enterprise Tools

Looking Forward…Looking Forward…

VS Integration with Deployment & ManagementVS Integration with Deployment & Management

Test deploymentsTest deployments

More on Analysis “Design for… More on Analysis “Design for… Performance, Management, Security, Operations, Performance, Management, Security, Operations, SLASLA

Rich support for distributed system designRich support for distributed system designIndigoIndigo

Deep Extensibility SupportDeep Extensibility Support

Page 31: ARC310 Microsoft Visual Studio 2005 Team Edition for Software Architects: Developing Logical Datacenters Alex Torone Lead Program Manager Enterprise Tools
Page 32: ARC310 Microsoft Visual Studio 2005 Team Edition for Software Architects: Developing Logical Datacenters Alex Torone Lead Program Manager Enterprise Tools

ResourcesResources

Visual Studio Team Edition for Software ArchitectsVisual Studio Team Edition for Software Architects: http://lab.msdn.microsoft.com/vs2005/teamsystem/teamcenters/architect/default.aspx

System Definition Model (SDM) SDK System Definition Model (SDM) SDK : http://lab.msdn.microsoft.com/teamsystem/workshop/sdm/default.aspx

Dynamic Systems Initiative (DSI)Dynamic Systems Initiative (DSI): http://www.microsoft.com/windowsserversystem/dsi/default.mspx

Domain Specific Language tools: http://lab.msdn.microsoft.com/vs2005/teamsystem/workshop/dsltools/

Page 33: ARC310 Microsoft Visual Studio 2005 Team Edition for Software Architects: Developing Logical Datacenters Alex Torone Lead Program Manager Enterprise Tools

Your FeedbackYour Feedbackis Important!is Important!

Please Fill Out a Survey forPlease Fill Out a Survey forThis Session on CommNetThis Session on CommNet

Page 34: ARC310 Microsoft Visual Studio 2005 Team Edition for Software Architects: Developing Logical Datacenters Alex Torone Lead Program Manager Enterprise Tools

© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.