About the paper – The “Essential Role of an Architect in Open Systems Implementation” is a paper published by Cary Millsap while working at Oracle way back in 1998. As the title suggests the paper focuses on various important aspects of the role of an Architect in an Open Systems Implementation while more importantly calling out the various Performance Engineering related dimensions that need to be taken into consideration. The paper has oodles of advice for professionals intending to strengthen their Systems Performance Engineering skills while aspiring to grow into the role of an Architect.
Digging into detail – As we all know Open Systems offers the promise of flexibility, the use of commodity hardware and commodity software, the ability to leverage 3rd part components in the cloud, etc. while keeping implementation costs low. However, what comes with all of that is tremendous complexity associated with the nature of components i.e. bespoke or 3rd party, the nature of interfaces involved, the challenges associated with designing for performance/scalability, the challenges obtaining the right skills required to deal with the various myriad technologies involved, etc. As a result Open Systems Implementations require competent Systems Architects who are able to :
- Evolve a set of guiding principles considering the various constraints – Scope of the deliverables, the commercial obligations, technical considerations, business requirements, delivery schedule and other relevant constraints
- Demonstrate the leadership skills required to guide the program in the right direction balancing the business, commercial and technical requirements
- Understand the business requirements, commercial obligations and lead the design of a technical solution that helps deliver the expected outcomes
- Understand the various technical solutions available and facilitate decisions using a set of guiding principles
- Ensure that the solution design incorporates the required Non Functional Dimensions i.e. Performance, Availability, Reliability, Scalability, etc.
- Lead the design of a solution that meets the various design requirements keeping the guiding principles in mind and deliver a solution within the given constraints
A summary of the Table of Contents is provided below:
- What is Architecture
- The Architects Role
- Managing Technology Risk
- Workload and Capacity
- Architecture Tasks
Non Functional Requirements Management – In addition to the various roles performed by the Systems Architect from a Functional Design perspective the Systems Architect is also expected to have oversight on the overall Non Functional Requirements for a program. Typically the Non Functional Requirements for a program would cover the following dimensions:
- Disaster Recovery
- Data Storage Requirements
Each of the above dimensions require the Systems Architect to understand the requirements from a business standpoint and facilitate design of a solution. The overall solution should be ideally in alignment with the above Non Functional Requirements while keeping in mind the technical feasibility of the solution including various commercial considerations.
Closing notes – Performance Engineers and Architects have a lot of interesting insight to gain from reading this paper. As we have always said, Proactive Performance Management starts with good Non Functional Requirements and them moves to design, performance modeling, performance testing, diagnostics, tuning and then ongoing capacity management. Systems Performance Engineering prescribes a set of activities across the Development Life Cycle which need constant focus through a dedicated Systems Architect if your program is going to deliver an application that not only meets the Functional Requirements but also the Non Functional Requirements.
About the author – Cary Millsap is an entrepreneur, teacher, software technology advisor, software developer, writer, and Oracle software performance specialist. His technical work is quoted in many Oracle books, in Wikipedia, in blogs all over the world, and in numerous conference presentations each month. He has presented at hundreds of public and private events around the world, and his blog is read by thousands of people each month. Cary has published articles in journals including Communications of the ACM and also happens to be an author of the book “Optimizing Oracle Performance” (O’Reilly 2003), for which he and co-author Jeff Holt were named Oracle Magazine’s 2004 Authors of the Year.
Cary is currently a performance specialist at Enkitec, LP, a firm that specializes in Oracle engineered systems performance. He is the owner and CEO of Method R Corporation, a speciality company that provides software tools and education services to firms including Fortune 100 companies.
Download Paper – Please Click Here to download paper.