1 / 36

Visual Studio 2005 Team System: Tools for Architecture: Designing for Deployment

Visual Studio 2005 Team System: Tools for Architecture: Designing for Deployment. Ajay Sudan Microsoft Corporation. http://msdn.microsoft.com/teamsystem. Project Managers. Hobbyists. Web Professionals. Solo Professionals. Testers. Students. VB6 Devs. Consultants. Architects.

maia-tucker
Télécharger la présentation

Visual Studio 2005 Team System: Tools for Architecture: Designing for Deployment

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. Code Coverage Code Profiler Version Control Work Item Tracking Team Reporting Project Portal Integration Services Project Management Static Code Analyzer Class Designer Unit Testing Dynamic Code Analyzer Visio and UML Modeling Deployment Designer Team Build Application Designer Test Case Management Logical Datacenter Designer Load/Web Testing Visual Studio Professional Edition Team Foundation Client (includes CAL) Manual Testing Process and Architecture Guidance Visual Studio Industry Partners Visual Studio Team System Visual StudioTeam Architect Visual StudioTeam Developer Visual StudioTeam Test Visual StudioTeam Foundation

  4. Agenda • Distributed system challenges & DSI • Distributed System Designers • Team Architect as a platform

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

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

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

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

  9. System Definition Model Dynamic Systems InitiativeSystem Definition Model (SDM) Applications Application Hosting Logical Machines & Network Topology Hardware

  10. System Definition Model Visual Studio Team ArchitectDistributed System Designers Application Designer Applications System Designer Deployment Designer Logical Datacenter Designer ApplicationHosting

  11. Problem Space • 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 • 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 • Positive: good for documentation • Negative: CASE baggage, round-tripping complexities, not used for software development

  12. Visual Studio Team Architect Goals • 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 • Enable communication of requirements between development and operations • Enable validation of system design against model of target environment

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

  14. Designing connected systems • Code first or contract first

  15. Application Designer Service-OrientedArchitecture model Port Details editor

  16. Why do we need a logical datacenter? • Because “we know” it works on your machine… • Because you can’t afford a data center for every developer • 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

  17. The “right” information…

  18. The “right” information…

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

  20. Settings • 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 • MySetting=Foo

  21. Constraints • Developers express their “requirements” of the datacenter • Operators express their “requirements” of the applications • 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.”

  22. Describing the Logical Datacenter • Specifying & Importing Settings • Specifying constraints • Validation • Deployment Report

  23. Logical Infrastructure Designer Services assignedto logical infrastructure Architecture validatedagainst operationalsettings and constraints

  24. Extensibility SDK – Beta 2 • 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 • New System Definitions • New Endpoints • New relationships • New Constraints

  25. Extensibility SDK – Beta 2 • Goal • Model and visualize “other aspects” of a distributed system • 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… • 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

  26. Visual Studio Extensibility – How Does it Work? SDM SDM SDK Docs • 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 • 2) Customer uses SDK: • Architect models product in SDM definition • Dev codes constraints and managers • Install package is created

  27. Future releases… • 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 3rd party systems • Deployment & management • Test & automated deployments • Integration with System Center • Support for Indigo service framework • Contract designer

  28. Team Architect as a Platform • 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 • 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

  29. Team Architect as a Platform • 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

  30. How To: Create a New Designer

  31. Result of Running Wizard

  32. Example: Using the new DSL

  33. A More Complex Example Class Designerandtwo-way code synch

  34. Summary • Distributed system challenges & DSI • Distributed System Designers • Team Architect as a platform

  35. Questions Ajay Sudan

More Related