operational requirements

18
Operational Requirements Greg Malcolm – Mar 2 2009 Columbus Architecture Group Twitter: gregmalcolm [email protected] Blog: http://geekswithblogs.net/gregorymalcolm

Upload: gregmalcolm

Post on 18-Jul-2015

2.431 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Operational Requirements

Operational RequirementsGreg Malcolm – Mar 2 2009

Columbus Architecture Group

Twitter: gregmalcolm [email protected]: http://geekswithblogs.net/gregorymalcolm

Page 2: Operational Requirements

Operational RequirementsPASS MADE:

A list of major Operational Requirement types:

• Performance• Availability• Security• Scalability• Maintainability• Accessibility• Deployment• Extensibility

("PASS MADE" concept comes courtesy of Randy Cornish et al, “MCSD .NET Solution Architectures“)

Page 3: Operational Requirements

PASS MADEPerformance Requirements

• Traditionally more of an issue for web based applications.• Mostly applies to Response Time:

Limited Bandwidth Server or network capacity Server traffic Application processing constraints

• Many of these factors will be beyond your control. • The purpose here is to avoid unnecessary complexity that

will degrade performance.

Page 4: Operational Requirements

PASS MADEAvailability Requirements

• Availability is a measure of time a system or component is online ready to perform its specified function.

• It is easy to ask for 99.9% but is it needed? Meeting the requirement will come at a cost.

• Analyze: Who do you expect your customers to be? What are

their expectations? How much downtime is acceptable and at what times

of day? Is a 15 minute offline window at 3am for backups acceptable?

Do internal company processes depend on the service?

What is the schedule and budget?

Page 5: Operational Requirements

PASS MADEAvailability Requirements

Common causes of applications becoming unavailable or unreliable:

Inadequate testing Change management issues Lack of ongoing monitoring Operational errors Weak code Interactions with external services or apps Differing usage levels, peak overloads Hardware failures

Page 6: Operational Requirements

PASS MADESecurity Requirements

• The focus here is on recognizing current and future threats and developing measures that counteract real or implied threats.

• Most security measures are based on: Authentication Authorization Data protection Auditing

Page 7: Operational Requirements

PASS MADESecurity Requirements

Some possible policy requirements: Password policy Logon policies and auditing Intruder prevention processes Ownership/responsibility for user accounts Encryption policies

Page 8: Operational Requirements

PASS MADEScalability Requirements

• The ability to increase system capacity by upgrading hardware and software without extensive modifications to the application software.

• Only an issue for distributed applications.• Most issues are resolved during design and initial

implementation. • During the requirements stage it is still necessary to look

into what hardware and software changes are needed and the cost of scaling it over time.

• Optimizing for Scalability can conflict with maximizing for Performance.

Page 9: Operational Requirements

PASS MADEScalability Requirements

• Scaling Up: Achieving scalability by using faster hardware

(single machines)• Scaling Out:

Achieving scalability by using more hardware (multiple machines)

Page 10: Operational Requirements

PASS MADEScalability Requirements

• Key factors that affect scalability (in order of decreasing impact): Requirements and design (most impact) Code tuning Product tuning Hardware tuning (least impact)

Page 11: Operational Requirements

PASS MADEMaintainability Requirements

• Your application should be designed to be easily be maintained and repaired.

• Example maintainability requirements: An episode of unexpected downtime will not exceed 5

minutes. Scheduled maintenance downtime will not exceed 5

days a year during non peak hours. Scheduled maintenance should not exceed 4 hours at

a time.

Page 12: Operational Requirements

PASS MADEMaintainability Requirements

• Example objectives of maintainability requirements: Ensure that minor defects in an application are easy

to correct. Ensure that minor enhancements to an application

are relatively easy to implement. Minimize maintenance costs and free up

programmers for development rather than maintenance work.

Page 13: Operational Requirements

PASS MADEMaintainability Requirements

• Key factors affecting maintainability requirements are: Breadth of application – no of sites Method of distribution/deployment Maintenance expectations Impact of 3rd party agreements

Page 14: Operational Requirements

PASS MADEAccessibility Requirements

• This is, providing equal access to all users including people with cognitive and physical disabilities.

• Some guidelines: Use accessibility features in areas that affect large

number of users Incorporate accessibility features in parts of

application users frequently or integrally used. Ensure application is compatible with accessibility

aids. Check local legislation affecting the application. For web applications, follow W3C recommendations.

Page 15: Operational Requirements

PASS MADEDeployment Requirements

• Who are your users? • Where are they?• How do you intend to deploy you application to them?

• Users can usually be separated into 3 categories: Standalone users

(ie not LAN connected) Remote access users Local network users

Page 16: Operational Requirements

PASS MADEDeployment Requirements

• Factors in the deployment strategy are the range of OSs, configurations of users computers and specifications of connecting network infrastructure.

• How should the application be distributed? Some scenarios: Large number of users in diverse locations -

CD media Smaller number of users – Internet or Intranet

based download Users located worldwide – Over internet with

different packages for different languages

Page 17: Operational Requirements

PASS MADEExtensibility Requirements

• This is the degree to which an application can be enhanced in the future to meet changing requirements.

• An example objective might be to ensure future enhancements can be easily and quickly implemented.

• Extensibility can be tightly coupled with scalability so extensibility requirements should include the ability to enhance data, hardware and software components.

• Think about the average time and cost it will take to make updates in different areas of the application.

Page 18: Operational Requirements

Operational RequirementsFurther Reading

This presentation was based heavily on these sources:Book: MCSD .NET Solution Architectures

By Randy Cornish, Thomas Moore, Don Pavoni and Eric Rockenbach

Blog: DotNetJohnhttp://www.dotnetjohn.com/articles.aspx?articleid=111

Blog: David DeWinterhttp://blogs.rev-net.com/ddewinter/2006/10/21/%C2%BB-pass-made-part-1-of-2/

Twitter: gregmalcolm [email protected]: http://geekswithblogs.net/gregorymalcolm