Configuration Management See: http://en.wikipedia.org/wiki/Configuration_management
Why? http://www.chambers.com.au/glossary/confi guration_identification.php Read How Embarrassing Is This Scenario 4
Configuration Management (CM) 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 widely used by military engineering organizations to manage complex systems: Weapon systems Vehicles Information systems
CM Overview From: http://en.wikipedia.org/wiki/ Configuration_management
Overview: CM Practice of handling changes systematically so that a system maintains its integrity over time As the system changes, CM 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 CM allows program management to track requirements throughout the life cycle during: Acceptance Operations Maintenance Throughout system development
Overview: CM Changes are inevitably made to the requirements and design These 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 Planning and Management: A formal document and plan to guide the CM program 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: Configuration audits 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
Software CM Wikipedia
Software CM (SCM) Traditional software configuration management process” Practitioners see it as the best solution to handling changes in software projects Identifies 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 to ensure that 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 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
Information Assurance
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 (SCM) For example Configuration requirements may be different for: A network firewall that functions as part of an organization's Internet boundary - versus - A firewall that functions as an internal local network firewall
Maintenance Systems
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: Whether aircraft on board an aircraft carrier are equipped with bombs for ground support or missiles for defense
OS Configuration Management
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/
Preventative Maintenance
Preventative Maintenance Understanding the "as is" state of an asset and its major components Essential element in preventive maintenance as used in enterprise asset management systems for: Maintenance Repair Overhaul
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
Predictive 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 relevant 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
SCM Purpose Software configuration management
SCM Purpose 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 correct and complete including: Requirements Architectural specifications User manuals
SCM Purpose Typical Goals: Build management Process 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 Teamwork 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 History
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 versions of software configuration management were 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
Resources: Cisco Chambers http://www.cisco.com/en/US/tech/tk869/tk769/te chnologies_white_paper09186a008014f924.shtml Chambers http://www.chambers.com.au/glossary/configurati on_management.php http://www.chambers.com.au/glossary/configurati on_identification.php