90 likes | 183 Views
Collaborative Web Development. Designing and Building a Collaborative Web Infrastructure Andrew Gehring - NREL. Overview. Previous Architecture & Processes Requirements & Objectives New Architecture Hardware Software New Processes Challenges Future. History. Hardware/OS Sparc Based
E N D
Collaborative Web Development Designing and Building a Collaborative Web Infrastructure Andrew Gehring - NREL
Overview • Previous Architecture & Processes • Requirements & Objectives • New Architecture • Hardware • Software • New Processes • Challenges • Future
History • Hardware/OS • Sparc Based • Solaris (8 & 9) • Software • Custom Apache • Shared Binary • NFS • Process • Development • NFS / CiFS • Prod & Dev • Same appliance • External Contractors • FTP • Transfer • Freeze • CTP • Copy to Production • Network Appliance • .snap • 1 revision • Issues • Silos • Upgrades • Outage • No “Test” Environment • Halt work • Production vs. Dev • folder • Architecture • Process • Development Cycle • Version Control • Major “Issues”
Objectives • Implement revision control system • Implement “Test” into Development Cycle • Encourage “Best Practices” • SDLC, SOA, Security, … • Collaboration Tools • Migration toward Green IT Requirements • Ease of Use • “No Change” for Internal Users • Improve remote Contractor access / Controls
New Architecture • Hardware • Software • “Tools” • Standards • Hardware • SUN • X86 Servers (x4600) • Sparc Servers (T2000) • SAN • iSCSI • Fibre • NFS • Clustered Appliances • Software • VMWare ESX • Ubuntu LTS • Solaris 10 • Zones • Containers • “Official” Software • Supported • Tools • Subversion • “Hooks” • TRAC • Tickets • PM • Custom • Test • Production • Standards • Authentication • Active Directory • Management • BCFG2 • OS • Config • Single Purpose • Multi “Homed”
New Processes • Coding Environment • Test / Production Environment • Test / Production Deployment Process • Desktop • NFS / CiFS • Checkout/in • Remote • Checkout/in • Hooks • Hooks • Authorized • Tags • Autonomous • Reduced dependencies • Centrally Managed • BCFG2 • SVN (Config) • Patch Management • Aggressive (D/T)
Challenges • Social • Users (developers) are reluctant to change • Political • Previous investment in tools • Security • Unfamiliarity with new tools • Subversion • TRAC
Future • Work for Others • Code Sharing (public subversion server) • Collaboration • ticketing, WIKIs (TRAC) • The “Cloud” • Better development processes