Presentation is loading. Please wait.

Presentation is loading. Please wait.

Visual Studio 2005 Team System: Tools for Architecture: Designing for Deployment Ajay Sudan Microsoft Corporation

Similar presentations


Presentation on theme: "Visual Studio 2005 Team System: Tools for Architecture: Designing for Deployment Ajay Sudan Microsoft Corporation"— Presentation transcript:

1

2 Visual Studio 2005 Team System: Tools for Architecture: Designing for Deployment Ajay Sudan Microsoft Corporation http://msdn.microsoft.com/teamsystem

3 Visual Studio 2005 “Personalized productivity” Novices Enthusiasts Students Hobbyists Consultants Solo Professionals Enterprise Devs Architects Testers Project Managers Part-Timers VB6 Devs Web Professionals

4 Visual Studio Team System Version ControlWork Item TrackingTeam ReportingProject Portal Visual Studio Team Foundation Integration ServicesProject Management Process and Architecture Guidance Dynamic Code Analyzer Visual Studio Team Architect Static Code AnalyzerCode ProfilerUnit TestingCode CoverageVisio and UML ModelingTeam Foundation Client (includes CAL)Visual Studio Professional EditionLoad/Web TestingManual TestingTest Case ManagementApplication DesignerLogical Datacenter DesignerDeployment Designer Visual Studio Team Developer Visual Studio Team Test Visual Studio Industry Partners Team BuildClass Designer

5 Agenda Distributed system challenges & DSI Distributed system challenges & DSI Distributed System Designers Distributed System Designers Team Architect as a platform Team Architect as a platform

6 Monitoring Server Router/ Firewall 100 Mbps Switch Web Server 4 Web Server 3 Web Server 2 Web Server 1 Order Processing Server (with message queue, payment component, and SMTP) Admin Server (with Domain Controller & DNS) Database Server 1 Disk Array Database Server 2 Active Directory Domain Controller (with DNS)

7 Monitoring Server Router/ Firewall 100 Mbps Switch Web Server 4 Web Server 3 Web Server 2 Web Server 1 Order Processing Server (with message queue, payment component, and SMTP) Admin Server (with Domain Controller & DNS) Database Server 1 Disk Array Database Server 2 Active Directory Domain Controller (with DNS) Challenges Span the IT Lifecycle

8 How do I build applications that will successfully deploy? Development IT Operations How do I set and enforce operational policies? How do I communicate application requirements to Operations? Distributed System Challenges How do I keep design documentation up to date with code?

9 Model based development tools to capture & edit system knowledge and facilitate collaboration across IT. Leverage knowledge in models to fully automate deployment, updating, configuration and monitoring Fully instrumented platform and technologies with rich support for automation and hardware virtualization Dynamic Systems Initiative Applications “Designed For Operations” “Operationally Aware Platform” “Model Based Management Tools” Instrumentation Automation Hardware Virtualization Architect, Dev and Testing Tools Application Management Packs Deploy/Update/Configure Monitoring and Reporting Microsoft-led, industry effort to dramatically simplify and automate how businesses design, deploy, and operate distributed IT systems. System Definition Model (SDM) Schematization of “services”

10 Dynamic Systems Initiative System Definition Model (SDM) Applications Application Hosting Logical Machines & Network Topology Hardware System Definition Model

11 Visual Studio Team Architect Distributed System Designers Application Designer Application Hosting Applications Deployment Designer System Designer System Definition Model Logical Datacenter Designer

12 Problem Space Customers have communication problems between Customers have communication problems between  Architects and Developers  Developers do not work within architectural guidelines  Development and Operations  Deployment problems caught too late Customers recognize value of modeling tools Customers recognize value of modeling tools  Visualization of designs  Higher level abstractions simply design and development  Generation `of code and other artifacts can improve productivity Modeling tools have poor history of success Modeling tools have poor history of success  Positive: good for documentation  Negative: CASE baggage, round-tripping complexities, not used for software development

13 Visual Studio Team Architect Goals Reduce the complexity of distributed system design and development Reduce the complexity of distributed system design and development  Enable communication between architects and developers  Keep system design documents synchronized with code Increase predictability of deployment Increase predictability of deployment  Enable communication of requirements between development and operations  Enable validation of system design against model of target environment

14 SDM Models Models  Web Services  ASP.Net applications  IIS  Existing SQL Server or OLE DB  Windows Application, … An XML schema for SDM An XML schema for SDM  Definitions, Systems, Resources, EndPoints  Communication, Hosting, Containment, Delegation Constraint language Constraint language Flow Language Flow Language SDM Compiler SDM Compiler VSTA, DSI, and SDM Distributed System Designers SDM Compiler Constraint validation errors “system” models models Application and Server configuration and specification “Deployable SDM” SDM” Deployment Reports Dynamic Load of SDM models

15 Designing connected systems Designing connected systems Code first or contract first Code first or contract first

16 Application Designer Service-Oriented Architecture model Port Details editor

17 Why do we need a logical datacenter? Because “we know” it works on your machine… Because “we know” it works on your machine… Because you can’t afford a data center for every developer Because you can’t afford a data center for every developer Because it’s expensive to troubleshoot production problems and re-architect applications Because it’s expensive to troubleshoot production problems and re-architect applications Because developers don’t understand why it will break in the deployment environment Because developers don’t understand why it will break in the deployment environment

18 The “right” information…

19

20 What is a logical datacenter? Describes the types of servers and what application types they can host Describes the types of servers and what application types they can host  not how many Describes what services are on the machine Describes what services are on the machine  not physical characteristics Describes what protocols are available Describes what protocols are available  not what IP routing table is used Describes communication boundaries Describes communication boundaries  not firewalls, vlans, switches & routers Describes application authentication requirements Describes application authentication requirements  not wire level encryption Describes the configuration settings of the server Describes the configuration settings of the server  not the raid configuration Describes constraints on application configuration Describes constraints on application configuration  w/o having to page the developer Communicates the “right” information

21 Settings Settings are “configuration” elements on an application or a run-time hosting environment Settings are “configuration” elements on an application or a run-time hosting environment  System.web  Authentication Mode=Forms  IIS Meta-base  AccessFlags=Execute  System.Data  Authentication=mixed Settings can also be user defined Settings can also be user defined  MySetting=Foo

22 Constraints Developers express their “requirements” of the datacenter Developers express their “requirements” of the datacenter Operators express their “requirements” of the applications Operators express their “requirements” of the applications Constraints are authored against configuration settings and relationships Constraints are authored against configuration settings and relationships  Hosting constraints  Can I bind or connect these “systems”?  Pre-defined constraint dialogs  Constrain logically-grouped settings, with custom dialogs for desired value entry.  User-defined constraints  Let a user constrain against any values on any setting  Implicit constraints  Defined by system, not the user—“laws of physics.”

23 Describing the Logical Datacenter Describing the Logical Datacenter Specifying & Importing Settings Specifying & Importing Settings Specifying constraints Specifying constraints Validation Validation Deployment Report Deployment Report

24 Logical Infrastructure Designer Services assigned to logical infrastructure Architecture validated against operational settings and constraints

25 Extensibility SDK – Beta 2 Support the ability to add new SDM resources as additional properties on any logical server or application Support the ability to add new SDM resources as additional properties on any logical server or application  Associate with any existing types  Fully Constrainable  Generic Logical Servers and Applications  Prototypes Support the ability to define new SDM types Support the ability to define new SDM types  New System Definitions  New Endpoints  New relationships  New Constraints

26 Extensibility SDK – Beta 2 Goal Goal  Model and visualize “other aspects” of a distributed system What you do… What you do…  Add new Application Definitions to the Application Designer  Add new Host Definitions to the Logical Data Center Designer  Model new endpoint types  Create new communication, and hosting relationships  Add custom constraints to new or existing Definitions  Extend existing definitions with new meta-data What you get… What you get…  Integration with existing drag-drop-connect metaphor  Integration with exiting user experience for Settings and Constraints  Integration with existing validation experience  Integration with existing user experience for Deployment Validation

27 Extensibility – How Does it Work? 2) Customer uses SDK: Architect models product in SDM definition Dev codes constraints and managers Install package is created SDM SDM SDK Docs Visual Studio 1) Customer wants to: Create or extend SDM models Define new settings Define new constraints Use new types in Visual Studio 3) Customer uses VS Extensibility to: Install new types Create rich application models using new types Associate resources with existing definitions 4) Service is visible and available for modeling: Integrated modeling experience Integrated setting editing experience Integrated Validation experience New types persisted as SDM files

28 Future releases… Extensibility to allow partners to … Extensibility to allow partners to …  Integrate new SDM types with the design type environment to control code and config  Provide the benefit of design-time validation for 3 rd party systems Deployment & management Deployment & management  Test & automated deployments  Integration with System Center Support for Indigo service framework Support for Indigo service framework Contract designer Contract designer

29 Team Architect as a Platform Customers want their own custom graphical designers Customers want their own custom graphical designers  To work with useful abstractions (models) integrated with their architecture and software development processes  Reduces overall IT costs and increases business agility It’s too expensive to build these now It’s too expensive to build these now  They give up the graphical aspect and use XML  They put up with limited customization in UML tools  They kludge together a combination of the above

30 Team Architect as a Platform The V1 mission is The V1 mission is  Rapidly create custom graphical designers for new problem domains  Enable integration of custom graphical designers with enterprise architecture and development processes  Foster an ecosystem of partners, customers and community

31 How To: Create a New Designer

32 Result of Running Wizard

33 Example: Using the new DSL

34 A More Complex Example Class Designer and two-way code synch

35 Summary Distributed system challenges & DSI Distributed system challenges & DSI Distributed System Designers Distributed System Designers Team Architect as a platform Team Architect as a platform

36 Questions Ajay Sudan


Download ppt "Visual Studio 2005 Team System: Tools for Architecture: Designing for Deployment Ajay Sudan Microsoft Corporation"

Similar presentations


Ads by Google