290 likes | 509 Views
Dennis Adams. a s s o c i a t e s. Management and Infrastructure SIG Meeting. Creating an IT Production Architecture function (the forgotten architecture). Dennis Adams 21st February 2007. Introduction - Some searching questions. Is IT an engineering discipline?
E N D
Dennis Adams a s s o c i a t e s Management and Infrastructure SIG Meeting Creating an IT Production Architecture function(the forgotten architecture) Dennis Adams 21st February 2007
Introduction - Some searching questions • Is IT an engineering discipline? • If so, how come we get so many things wrong so frequently? • Why does such as large percentage of projects go wrong? • Why are the costs of IT so huge? • How do we handle the huge legacy of applications we are expected to look after, without being swamped? • Are there ways we can guarantee better quality of code deployed into live? • I don’t have any answers • … but I do have some ideas… • One key is ARCHITECTURE
Topics to cover • Development and Production - two different cultures • What is "Production-worthiness"? - Definition. • How to assess applications for Production Worthiness • Building the relationships between Production and Development • Production Architecture in the Context of Enterprise Architecture. • Establishing Production Standards. • Building Applications for the "Long Term"
The Cost of Poor Application Performance Top 2,000 European businesses spending more than three million working hours every year trying to get to the root of poor applications performance (equates to €250m). 25 per cent of ICT directors and managers admit they do not know all of the ways in which their corporate networks are being used. Coleman Parkes research January 2004
Nightmares Because of the slow speed of the database, the project will develop an in-house cache mechanism for static data, with integral cache contention and refresh mechanisms. “This project assumes that the Wide-Area Network Bandwidth is infinite” • Response time should be 0.2 seconds in all cases. • The number of users is undefined.
The changing IT APPLICATION LANDSCAPE • Mainframe • Departmental Computing • Client/Server Applications • N-Tier Applications • Message-Oriented Middleware • Composite Applications linked together by a Service-Oriented Architecture: Enterprise Service Bus.
Tools: Text Editors 4GL Intelligent Editors Integrated Development Environments (IDEs) Sophisticated Debugging Integrated Test Environments Design/Develop/Deploy Environments (Eclipse) Techniques: Waterfall Prototyping Iterative Development Changes in APPLICATION DEVELOPMENT As Development has become more complex, so too have Deployment and Production.
DEPLOYMENT into IT PRODUCTION IT Development IT Production
IT Department Development Teams Production Teams Create New Applications Support Existing Applications
The two different sides of IT • IT Development • Business Functionality • Speed of Delivery • Cost of Development • Development Projects may take months • Creating Competitive Advantage and ROI for the Business • IT Production • Reliability, Resilience • Stability, Scalability • Cost of Support & Maintenance • Production Support may be required over many years. • Delivering Day-to-Day Competitive Advantage and ROI for the Business IT Development and IT Production think and act differently.
Enterprise Architecture and Production Architecture • Enterprise Architecture is charged with taking a “helicopter view” of what is being developed and managed in the enterprise. • Goals: • Deliver successful applications. • Deliver business benefit. • Applications that Work. An Enterprise Architecture Approach, properly implemented, should be able to address the needs of both Development and Production
Production Architecture - Organisational Context Business IT Development IT Production Business Sales and Operations Client / Service Managers Business Sponsor Business Analysts Technical Teams Security / Availability / Capacity Planning Business Users Application Developers Application Architects Infrastructure Architects Project Manager Project Manager Project Manager
Some Architectural Frameworks • TOGAF ( http://www.togaf.org ) • Enterprise Architecture framework (“bits and bytes”) • Architecture Vision => Business Architecture => Data => Application => Technology => Solution • Emphasises the importance of Architecture Board & Governance. • Has a formal certification exam. • ZACHMAN ( http://www.zifa.com ) • Systems Architecture Viewpoint • 6 basic questions (What, How, Where, Who, When, Why) • 5 stakeholders (Planner, Owner, Designer, Builder, Subcontractor) • RUP & ERUP ( http://www.ibm.com ) • Iterative Software Development processes owned by IBM • Inception => Elaboration => Construction => Transition • Developed into the AGILE Unified Process
IT Production “touch points” in Development DEFINE FUNCTIONAL AND NON-FUNCTIONAL REQUIREMENTS GO LIVE
What makes a project successful in PRODUCTION? Question for the Audience
Why PRODUCTION STANDARDS are IMPORTANT • In some cases, the choice of Technology for a new Application can be driven by Developers’ Choice: • Useful Development Tools ? • Design and Development Features ? • Familiarity ? • The desire to try out the latest technology ? • Result: Applications whose Development costs may be Low, but the Support Costs may be high (even prohibitive). • Defining IT Production Standards can redress this balance. • Standards can contribute to controlling Costs of Maintenance & Support • Simplicity = Economies of Scale in Support
PRODUCTION-READY: Defined • Scalability • As the workload increases, how much additional hardware etc. is required? • Expandability • Can be adapted to possible future requirements? • Reliability • Deliver results consistently & repeat ably, irrespective of changed circumstances ? • Stability • Able run unattended for long periods of time without intervention? • Resilience • Able to recover quickly from a failure of one or more components of the overall system?
PRODUCTION-READY: Defined (2) • Backup • Able to respond to the failure of all components of the system? • Recovery • Able to restore the system to a known state at a specific period of time? • Security • Are Users authenticated and Authorized, and non-users Isolated? • Monitoring • Able to pro-actively identify any changes in the behavior of the system? • Able to extract time-series data to model the long-term behavior?" • Management • How easy is it to amend or adjust the configuration of the application, and it's environmental behavior? • Supportability • able to be supported at a reasonable cost?
IS a Solution PRODUCTION-READY? “Simplicity remains one of SOAP's primary design goals as evidenced by SOAP's lack of various distributed system features such as security, routing, and reliability to name a few.” Understanding SOAP Aaron Skonnard MSDN, March 2003 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsoap/html/understandsoap.asp
INTERFACING PROCESSES R & D Configuration Initiation Build Release Standards Change AGILE Problem Deploy Handover Incident Support Service Desk
Establishing Standards for future Projects • Establish a Production Architecture role • Define Production Readiness Criteria • Engage with Development • Publish Technology “menu” of Production Standards • Developers and Business need to understand that these Standards represent the optimum support costs for Applications. • Engage with Developers at Project Initiation. • Configuration Baselines affect charge-back • Template SLAs should reflect these Standards • Establish processes for amending these Standards Choice of Standards should depend upon whether or not a Technology is “Production-Ready”
Taking the Long Term View Test / Deploy Develop COST Design Production TIME
Standards Choice of “best of breed” technologies Validation Procedures Clear Architecture Governance
Dennis Adams a s s o c i a t e s Questions ?
WORKSHOP: Assessing A Product Chose • Background: • You are working as an Oracle DBA in the IT Production division of a medium-size organization. • The company is considering how best to implement High Availability (HA) for Oracle databases. • Cost is not an issue (!) • Two options have been considered: • Oracle RAC • Oracle Dataguard Conduct a Production Suitability Assessment to determine which is the better choice from an IT Production perspective.
Dennis Adams a s s o c i a t e s Management and Infrastructure SIG Meeting Creating an IT Production Architecture function(the forgotten architecture) Dennis Adams 21st February 2007 http://www.dennisadams.net/event200702oracle.htm