Presentation is loading. Please wait.

Presentation is loading. Please wait.

Bridging The Gap between Development and Production Kevin Sangwell Infrastructure Architect Microsoft Regional Head Quarters.

Similar presentations


Presentation on theme: "Bridging The Gap between Development and Production Kevin Sangwell Infrastructure Architect Microsoft Regional Head Quarters."— Presentation transcript:

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?


Download ppt "Bridging The Gap between Development and Production Kevin Sangwell Infrastructure Architect Microsoft Regional Head Quarters."

Similar presentations


Ads by Google