Download presentation
Presentation is loading. Please wait.
Published byBathsheba Daniels Modified over 8 years ago
1
Bridging The Gap between Development and Production Kevin Sangwell Infrastructure Architect Microsoft Regional Head Quarters
2
Development Environment Characteristics –Component development takes place on individual developer workstations –Developers have local admin rights –Minimal (if any) security policies applied –Runtime environment is the developer workstation (i.e. not distributed) DevelopIntegrate Test Deploy
3
Integration Environment Characteristics –The first time a component gets “deployed” –Minimal “formal” testing –Code often runs with admin rights –Some security policies applied –Runtime environment is semi-distributed DevelopIntegrate Test Deploy
4
Test Environment Characteristics –Objective is to prove functional requirements –Code runs with production (limited) rights –Full security policies applied –Runtime environment reflects production Host separation Security Zones DevelopIntegrate Test Deploy
5
Deployment Pains –No automated deployment –Minimal (if any) install instructions –No documented requirements for the service accounts –No list of infrastructure requirements; Firewall ports Load balancing config MDAC version DevelopIntegrate Test Deploy
6
A Better Way Business Requirements Development Team Infrastructure Team Business requirements –Non-functionals Availability Scalability/Capacity Disaster Recovery Branch Performance Agree contract
7
Infrastructure requirements/ constraints –Dev, Integration and Test need to know Operations requirements Security requirements Data Centre requirements Infrastructure Architectural Principals Share Infrastructure requirements/constraints
8
Infrastructure requirements/ constraints –Dev, Integration and Test need to know Operations requirements Security requirements Data Centre requirements Infrastructure Architectural Principals
9
Operations requirements on Dev team –Dev team are expected to provide Health Model & Instrumentation Automated Installation (MSI) Operations guides (deployment, backup, recovery, weekly tasks) Performance characteristics Disaster Recovery constraints Network constraints (high latency = page validation rather than field)
10
–Health Model & Instrumentation –Automated Installation (MSI) –Operations guides (deployment, backup, recovery, weekly tasks) –Performance characteristics –Disaster Recovery constraints –Network constraints (high latency = page validation rather than field)
11
Infrastructure requirements/ constraints –Dev, Integration and Test need to know Operations requirements Security requirements Data Centre requirements Infrastructure Architectural Principals
12
Security requirements on Dev team –Communication between zones –Authentication & Identity Management –Encryption & non-repudiation –Host hardening
13
Development Team Security requirements from Dev team –Service Accounts & Permissions –Certificates or PKI –Partner communications –New products
14
Infrastructure requirements/ constraints –Dev, Integration and Test need to know Operations requirements Security requirements Data Centre requirements Infrastructure Architectural Principals
15
Data centre constraints on Dev team –Rack space –Heat –Power
16
Data centre requirements from Dev team –New WAN connections –Volume of data
17
Infrastructure requirements/ constraints –Dev, Integration and Test need to know Operations requirements Security requirements Data Centre requirements Infrastructure Architectural Principals
18
–Don’t develop where infrastructure has a solution Re-use / extend existing identity store –No state stored in DMZ –Deployment requirements (automated..) –Availability & scaling strategies
19
The point of Integration and Test Risk Reduction –Apply production security policies to the test environment –Ensure component is installed consistently across environments –Attempt to reflect the distributed nature of production –Use virtualisation to reduce hardware requirements and achieve above
20
Holistic Testing Make the Test team responsible for ALL testing –Functional requirements –Non-functional requirements –Operations requirements –Security requirements Tests become end-to-end –Deployment –Test most Functional & Non-Functional Requirements concurrently –Operations tests validate other tests
21
“I know all this… its just plain hard!” Test Should Reflect Production –Virtualise Test Environment –“Manage” Test Environment similar to production Automated Deployment Software Distribution Monitoring
22
Step 1 - Eliminate Physical Errors Do thisNot this
23
Step 2 – Understand Production Network Architecture Storage Architecture Security Architecture Management Architecture Network Devices Computing Devices Storage Devices Network Services DNS, DHCP, WINS Firewall Services Firewall, Proxy Directory Service Deployment Services File & Print Services Data Services Web App. Services Infra. Mgmt. Services Backup & Recovery Services Certificate Services Remote Access Services Middleware Services
24
Step 3 – Remove The Non-Core Services Network Architecture Storage Architecture Security Architecture Management Architecture Network Devices Computing Devices Storage Devices Network Services DNS, DHCP, WINS Firewall Services Firewall, Proxy Directory Service Deployment Services File & Print Services Data Services Web App. Services Infra. Mgmt. Services Backup & Recovery Services Certificate Services Remote Access Services Middleware Services
25
Step 4 – Commoditize Replace high performance switches Use a single unmanaged L2 switch Windows RRAS for routing Replace hardware firewalls with software firewalls (ISA 2004)
26
Step 5 – Virtualize & Automate Virtualize common IT services - AD, DNS, WINS, DHCP, etc. Automate deployment, configuration & provisioning for development, testing and production Reserve actual production hardware for focused testing
27
Maintain Integration knowledge stays in- house Integration Team –Manages the virtual environments –Syncs them with production –Runs or coordinates testing –Hosts LOB and new service dev and test teams –Speeds the integration process
28
Virtualisation Cannot … Be used for driver level testing Run high scale load tests Substitute for a full scale staging environment Eliminate the need for staff to understand the production environment Substitute for good testing, change management or project management
29
Automate The Steps Eliminate human error Assurance that base environment works as documented Focus testing on the new IT Service rather than existing environment Also automate the new IT Service deployment, configuration & provisioning
30
Agile Development Move code through Integration and Test frequently Automate, automate, automate Leverage virtualisation and the operations infrastructure Benefits –Identify issues sooner –Increases confidence for deployment This is the internal Microsoft Approach
31
Bringing it all together Business Test / Integration DevInfrastructure Functional Requirements Non-functional Requirements Functional Requirements Code Non-functional Requirements Operations Requirements Environments Security, Operations & Data Centre Constraints Developer Environment Operations Guides Solution Deployment Constraints
32
Tools Today Business Test / Integration DevInfrastructure Functional Spec. in Word/Excel Serena/Borland Contract in Word/Excel Serane/Borland Word Document, VSTS MSI/Scripts Health Model (Word Document) ADS, VirtualServer, RIS, SMS, MOM VSTS Logical DataCentre Tasks in Project/VSTS ADS, VirtualPC, RIS, SMS Word Document, Health Model, SDM (VS)
33
Tools in the future Business Test / Integration DevInfrastructure Functional Spec. in Word/Excel Serena/Borland Contract in Word/Excel Serane/Borland Word Document, VSTS SDM (MSI/Scripts) Word Document SDM (WDS, SMS, MOM) SDM (VS LDD), Tasks in VSTS Windows Deployment Services Vista, SMS Word Document SDM (VS)
34
Questions?
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.