see: //en.wikipedia.org/wiki/configuration_management

46
Configuration Management See: http://en.wikipedia.org/wiki/Configuration_management

Upload: jemima-riley

Post on 24-Dec-2015

252 views

Category:

Documents


2 download

TRANSCRIPT

Configuration Management

See: http://en.wikipedia.org/wiki/Configuration_management

http://www.chambers.com.au/glossary/configuration_identification.php ◦ Read

How Embarrassing Is This Scenario 4

Why?

Systems engineering process◦ Establishes and maintains consistency of a product's

performance Functional and physical attributes with its requirements Design and operational information

◦ Throughout its life CM process is widely used by military

engineering organizations to manage complex systems, such as◦ Weapon systems◦ Vehicles◦ Information systems

Configuration Management (CM)

CM OverviewFrom: http://en.wikipedia.org/wiki/Configuration_management

Practice of handling changes systematically so that a system maintains its integrity over time

As the system changes, it implements the policies, procedures, techniques, and tools required to:◦ Manage◦ Evaluate proposed changes◦ Track the status of changes◦ Maintain an inventory of the system◦ Update support documents

Overview: CM

Programs and plans that provide technical and administrative direction to the development and implementation of: ◦ Procedures◦ Functions◦ Services◦ Tools◦ Processes◦ Resources

Required to successfully develop and support a complex system

Overview: CM

During system development, CM allows program management to track requirements throughout the life cycle during:◦ Acceptance◦ Operations◦ Maintenance

Overview: CM

Changes are inevitably made to the requirements and design◦ They must be approved and documented

Provide an accurate record of the current system status

Ideally the CM process is applied throughout the system lifecycle

Overview: CM

CM Planning and Management: ◦ A formal document and plan to guide the CM

program that includes items such as: Personnel Responsibilities and Resources Training requirements Administrative meeting guidelines

Including a definition of procedures and tools Baselining processes Configuration control and Configuration status

accounting Naming conventions Audits and Reviews Subcontractor/Vendor CM requirements

Overview

Configuration Identification (CI): ◦ Consists of setting and maintaining baselines

Defines the system or subsystem architecture, components, and any developments at any point in time

◦ Basis by which changes to any part of an information system are identified, documented, and later tracked Throughout design, development, testing, and final

delivery◦ CI incrementally establishes and maintains the

definitive current basis for Configuration Status Accounting (CSA) of a system and its configuration items (CIs) throughout their lifecycle until disposal development, production, deployment, and operational

support

Overview

Configuration Control: ◦ Evaluation of all change requests and change

proposals Tracks subsequent approval or disapproval

◦ Process of controlling modifications to the system's: Design Hardware Firmware Software Documentation

Overview

Configuration Status Accounting: ◦ Process of recording and reporting configuration

item descriptions Including all departures from the baseline during

design and production e.g. all hardware, software, firmware, etc.

◦ Verification of baseline configuration and approved modifications can be quickly determined In case of suspected problems

Overview

Configuration Verification and Audit: ◦ Independent review of hardware and software

Assesses compliance with established: Performance requirements Commercial and appropriate military standards Functional, allocated, and product baselines

Configuration audits ◦ Verify the system and subsystem configuration

documentation complies with their functional and physical performance characteristics before acceptance into an architectural baseline

Overview

Software CMWikipedia

Traditional software configuration management (SCM) process ◦ Practitioners see it as the best solution to

handling changes in software projects◦ Identifies the functional and physical attributes of

software at various points in time Performs systematic control of changes to the

identified attributes Maintains software integrity and traceability Throughout the software development life cycle

Software CM

SCM process further defines the need to trace changes◦ Ability to verify that the final delivered software

has all of the planned enhancements that are supposed to be included in the release

◦ Identifies four procedures that must be defined for each software project to ensure that a sound SCM process is implemented: Configuration identification Configuration control Configuration status accounting Configuration audits

Software CM

Terms and definitions may change from standard to standard, but are essentially the same:◦ Configuration identification

Process of identifying the attributes that define every aspect of a configuration item Configuration item is a product that has an end-user purpose

Hardware and/or software These attributes are recorded in configuration documentation

and baselined. Baselining an attribute forces formal configuration change

control processes to be effected in the event that these attributes are changed

◦ Configuration change control A set of processes and approval stages required to change

a configuration item's attributes and to re-baseline them.

Software CM

Terms and definitions (cont.)◦ Configuration status accounting

Ability to record and report on the configuration baselines associated with each configuration item at any moment of time

◦ Configuration audits Broken into functional and physical configuration audits

Occur either at delivery or at the moment of effecting the change

Functional configuration audits Ensure that functional and performance attributes of a

configuration item are achieved Physical configuration audits

Ensure a configuration item is installed in accordance with the requirements of its detailed design documentation

Software CM

Information Assurance

Information Assurance CM◦ Management of security features and assurances

through control of changes made to Hardware Software Firmware Documentation Test Test fixtures Test documentation

◦ Throughout the life cycle of an information system

Information Assurance

Information Assurance CM◦ CM for information assurance relies upon

performance, functional, and physical attributes of IT platforms and products and their environments Determines the appropriate security features and

assurances that are used to measure a system configuration state

◦ Sometimes referred to as Secure Configuration Management

◦ For example, configuration requirements may be different for a network firewall that functions as part of an organization's Internet boundary versus one that functions as an internal local network firewall

Information Assurance

Maintenance Systems

CM is used to maintain an understanding of the status of complex assets with a view to maintaining the highest level of serviceability for the lowest cost◦ Aims to ensure that operations are not disrupted

due to the overrunning limits of planned lifespan or below quality levels E.g. the systems have gotten old and unreliable or

obsolete

Maintenance Systems

In the military, this type of activity is often classed as "mission readiness"◦ Seeks to define which assets are available and for

which type of mission◦ A classic example is whether aircraft on board an

aircraft carrier are equipped with bombs for ground support or missiles for defense

Maintenance Systems

OS Configuration Management

Configuration management can be used to maintain OS configuration files◦ Example systems include

CFEngine Bcfg2 Puppet Chef

OS Configuration Management

Theory of configuration maintenance worked out by Mark Burgess◦ Practical implementations on present day

computer systems◦ CFEngine is able to perform real time repair as

well as preventive maintenance

◦ http://cfengine.com/

OS Configuration Management

Preventative Maintenance

Understanding the "as is" state of an asset and its major components is an essential element in preventive maintenance as used in maintenance, repair, and overhaul and enterprise asset management systems

Preventative Maintenance

Complex assets such as aircraft, ships, industrial machinery etc. depend on many different components being serviceable ◦ Serviceability is often defined in terms of the amount of

usage the component has had since it was: New Since fitted Since repaired Amount of use it has had over its life Several other limiting factors

◦ Understanding how near the end of their life each of these components is has been a major undertaking involving labor intensive record keeping until recent developments in software

Preventative Maintenance

Predictive Maintenance

Many types of components use electronic sensors to capture data to provide live condition monitoring

Data can be analyzed:◦ on board◦ at remote locations by other computers

This evaluates:◦ Current serviceability◦ Likely future state

Uses algorithms which predict potential future failures based on previous examples of failure through field experience modeling

Basis for "predictive maintenance"

Predictive Maintenance

Availability of accurate and timely data is essential in order for CM to provide operational value◦ Lack of relevent data can often be a limiting

factor◦ Capturing and disseminating the operating data

to the various support organizations is becoming an industry in itself

Predictive Maintenance

Consumers of this PM data have grown more numerous and complex with the growth of programs offered by original equipment manufacturers (OEMs)◦ Designed to offer operators guaranteed availability

Make the picture more complex The operator manages the asset But the OEM takes on the liability to ensure its serviceability

◦ In such a situation, individual components within an asset may communicate directly to an analysis center provided by the OEM or an independent analyst

Predictive Maintenance

Typical Goals:◦ Configuration identification

Identifies Configurations Configuration items Baselines

◦ Configuration control Implements a controlled change process

Usually achieved by setting up a change control board Primary function is to approve or reject all change

requests that are sent against any baseline

SCM Purpose

Typical Goals:◦ Configuration status accounting

Recording and reporting all the necessary information on the development process status

◦ Configuration auditing Ensures that configurations contain:

All their intended parts All specifying documents are sound including:

Requirements Architectural specifications User manuals

SCM Purpose

Typical Goals:◦ Build management

Manages the process and tools used for builds◦ Process management

Ensures adherence to the organization's development process

SCM Purpose

Typical Goals:◦ Environment management

Manages the software and hardware that host the system

◦ Teamwork Facilitate team interactions related to the process

◦ Defect tracking Making sure every defect has traceability back to the

source

SCM Purpose

With cloud computing the purposes of SCM tools have become merged in some cases ◦ SCM tools themselves have become virtual appliances

Can be instantiated as virtual machines Saved with state and version

◦ Tools can model and manage cloud-based virtual resources, including: Virtual appliances Storage units Software bundles

◦ Roles and responsibilities of the actors have become merged as well Developers can now dynamically instantiate virtual servers and

related resources

SCM Purpose

SCM History

Software configuration management (SCM) in computing◦ Can be traced back as early as the 1950s

When CM was being applied to software development

Originally used for hardware development and production control

SCM History

Early software had a physical footprint, such as:◦ Cards◦ Tapes◦ Other media..

First software configuration management was a manual operation

With the advances in language and complexity, software engineering became a major concern due to issues like schedule, budget, and quality◦ Involved configuration management and other

methods

SCM History

Practical lessons has led to the definition and establishment of procedures and tools

Eventually these tools became systems to manage software changes◦ Industry-wide practices were offered as solutions

Either in an open or proprietary manner

SCM History

With the growing use of computers, systems emerged that handled a broader scope, including:◦ Requirements management◦ Design alternatives ◦ Quality control◦ And more…

Later tools followed the guidelines of organizations◦ Such as the Capability Maturity Model of the

Software Engineering Institute

SCM History