What if the product configuration data required for being delivered via DevOps method can be recorded on a Blockchain? This would make the process easier, transparent for both and would eventually improve the quality.
Blockchain and DevOps are growing and gaining wide acceptance. These two products/process already offer so many advantages alone, but together they can provide tactical and strategic planned advantages.
The main response can center on the fact that on making product delivery chains which is DevOps, a more transparent and reliable method which is Blockchain technology.
Configuration management is important in DevOps because it helps you automate otherwise tedious tasks and allows an organization to increase agility. Moreover, configuration management supports the DevOps big picture, and it’s widely agreed upon that configuration management is essential to DevOps, as opposed to being just another component of the process.
Configuration management takes on the primary responsibility for three broad categories required for DevOps transformation: identification, control, and audit processes.
Seeing configuration management as separate and aside from DevOps creates problems in perspective. Comprehensive configuration management is essential to a properly functioning DevOps organization, as it lays the groundwork for far more automation than that which it impacts directly so enterprise businesses communicate better and function as a more agile development unit focused on continuous integration and continuous delivery.
By manipulating simple configuration files, a DevOps team can use application development best practices, such as version control, testing, small deployments, and design patterns. In short, this means Blockchain code can be written to provision and manage an infrastructure as well as automate processes.
Product Configuration Management has often been thought of as a design problem, but the reality is that decisions are made about what product variants to offer long before designers begin work. The implications of those decisions impact teams across the product lifecycle.
With product configuration inside product lifecycle management, you can meet the demand for more advanced and varied product offerings, without driving up costs. Leverage the product configuration blockchain backbone to provide a common definition of variability across the lifecycle.
Take control of your product configurations – whether you deliver products with a defined set of supported variants, more complex products with an exponential number of possible variations and combinations, or engineered to order products that require new variants of parts and designs with every order.
Creating a good configuration depends on how good the map is. The map describes the selection route from the requirements to the outcomes of configuration. Configuration of complex products may include several sub-systems and have multiple loops within the quotation process.
Design structure approach is used for system assessment of decomposition and integration showing interactions flow between elements. The elements may present components of a product, phases of product development, people in organisations or design parameters of a product. The main idea of design structure approach is to map the interactions where elements are listed.
Product configuration can be roughly defined as the task of producing a specification of a product individual, a configuration, from a set of predefined component types while taking into account a set of restrictions on combining the component types.
Process of configuration is the construction of a technical system according to the requirements of a specification by selecting parameters and positioning instances of suitable existing component types from a catalogue so process of configuration does not involve the development of new component types. The development of new component types, e.g. for addition to the component catalogue, rather is a typical task in the domain of design.
Looking closely at the various variants of the configuration task, subtle differences exist that have an impact on what knowledge is involved and how the task can be performed.
A first source of variation is the set of components. On the one hand, the set of components can entirely be determined in advance, as is the case in the configuration of a block for the production of a completely defined product.
The components, their shape and dimensions are known and the configuration problem consists in finding the optimal layout of the block components. The example domain of Lego block boat configuration also fully specifies the components.
Set of basic blocks could be specified as a generalised block parameterised by length, width height, and color. In that case the specification of the component space would contain one type, ie the rectangular block with replacement parameters.
The relations making up the arrangement of components provide another source of variation in configuration design. One extreme in the spectrum of configuration problems is the case where the arrangement is fixed and the configuration task is reduced to assigning values to parameters of the components, ie parametric design.
A less restricted case is where the block skeleton arrangement is given, but the specific arrangement still has to be determined. The other extreme case is where the space of possible arrangements is not limited in any way by the specification of the problem.
The Lego block problem is an example of a configuration problem where the blockchain skeleton arrangement is given, but the constituent blocks and their relations still have to be determined.
Another source of variation in the task is the degree in which the requirements can be directly related to the components and their relations. For example in in some problems the requirements are specified in terms of a number of initial value assignments to component parameters.
Other variants of configuration assume the requirements to be functional, in which case some relation between the arrangement of components and the required function must be determined. In the Lego block problem, the requirements are not directly related to the components themselves, but to geometric properties of the final assembly. Testing the requirements against a possible solution will involve some aggregation over the properties of the individual components.
Although the terms component, parameter and assembly suggest that configuration design mainly applies to the configuration of physical artifacts, the components can also represent other things, e.g. activities.
From that perspective scheduling is in many respects similar to layout design: the components, ie activities are fully specified and the problem is to find an arrangement of the activities in time that satisfies a number of constraints.
A planning task where the possible actions that constitute the plan are known, but where the time order and dependencies between actions are unknown, can also be viewed as an example of a configuration design task.
The set of solutions to a configuration problem is a subset of the space of all possible assemblies of components. This space is often subdivided into the space of valid configurations that satisfy all constraints, the space of suitable configurations satisfying the constraints and requirements and the space of optimal configurations-- suitable configurations that satisfy optimal criteria.
In addition to these distinctions, its also possible to distinguish between configurations that can be constructed and those that cannot be constructed in the real world. For example, one could imagine a configuration of components that performs a motor function, but such a device would be very difficult to construct given state-of-the-art technology. In principle, constructability conditions could be formulated as constraints, but in practice they are often omitted.
Dimensions on which configuration problems can differ are summarised and shows for each of these dimensions some of the values that a problem can have. A space of configuration problem types can be constructed by taking the cross product of the values on the three dimensions and much more subtle differences could be included but are restricted to a limited range of values.
Methods for solving configuration-design problem, given a knowledge base that contains the described knowledge types and the configuration-design task could -in principle- be solved by a straight forward search process.
But the combinatorial nature of the problem makes this option an unrealistic one in practice. So problem solving methods are needed that in some way or other constrain the search process by using knowledge metric or otherwise- and by introducing additional assumptions that restrict the search space.
Problems for construction problems include model-based construction and case-based construction. Methods for configuration include blockchain skeleton construction, and propose/revise and least-commitment.
Problems in the context of a general family of methods based on a top-level decomposition of the design task includes process models of design like decompositional design, case-based reasoning and transformational design.
Models for case-based configuration include structure-oriented approaches where components are mapped onto a blockchain , and a resource-oriented approach based on balancing of resource requesting and production model of components.
A simple variant of configuration design that can be handled with case-based methods, arises when a set of arrangements is given from which a potential solution can be selected, which subsequently needs to be verified against the problem-dependent requirements and constraints.
The selection process can be simple or can be based on a more complex matching process where requirements are matched against properties of the given arrangements. Classification is a way of selecting and verifying solutions to configuration problems.
The select-and-verify problem solving methods assumes that a solution can be found among the given set of arrangements. In general case-based reasoning this assumption is relaxed such that a solution can be found by modifying a given configuration.
Two aspects of case-based configuration are problematic: finding the best candidate from the set of given configurations and blame assignment, i.e. identification of those aspects of the solution stored on blockchain that cause violations of constraints and requirements.
Other approaches have defined specific configuration domain oriented conceptual foundations. These include the three main conceptualisations of configuration knowledge as resource balancing, product structure and connections within a product. Despite efforts, there are few formal models of configuration aiming to unify the different formal and conceptual approaches. Such models are needed to facilitate rigorous assessments and comparison of the different approaches.
The resource concept is useful in configuration for modeling the production and use of characteristics. A component type specifies the resource types and amounts its individuals produce and use by production definitions and use definitions. Each production or use definition specifies a resource type and a magnitude specifies how much of the resource type component individuals produce or use. A resource type is represented as a domain predicate.
Only one resource individual with the same name as the type is needed, since a resource is not a countable entity. A production and a use definition of a component type is represented using multi-domain operational mission space predicate on component individuals of the producing or using component type, individual of the produced or used resource type and the magnitude. Use is represented as negative magnitude.
The combinatorial nature of a configuration problem is well captured by constraint satisfaction problems consisting of a set of variables with domains on which allowed value combinations are specified as constraints. Constraint solutions can be used to express compatibility knowledge in configuration tasks.
One of the special features of configuration is it being well-structured. Configuration approximations are problem class with no indefinite goals, no unspecified constraints, with completely described objects, relations and constraints between them, etc. This provides a suitable platform for a formal description of configuration knowledge normally not achievable in many design problems by this technique.
1. “Design Control,” requires, in part, that measures be established for design documentation and the identification and control of design interfaces. design changes be subject to design control measures commensurate with those used for the original design.
2. “Instructions, Procedures, and Drawings,” requires, in part, activities affecting quality be prescribed by documented instructions, procedures, or drawings of a type appropriate to the circumstances and that these activities be accomplished in accordance with these instructions, procedures, or drawings to include appropriate quantitative or qualitative acceptance criteria for determining that important activities have been satisfactorily accomplished.
3. “Document Control,” requires, in part, that all documents that prescribe activities affecting quality, such as instructions, procedures, and drawings, be subject to controls that ensure that authorized personnel review documents, including changes, for adequacy and approve them for release.
4. “Control of Purchased Material, Equipment, and Services,” requires, in part, that measures be established to ensure that purchased material conforms to the specifications in procurement documents.
5. “Identification and Control of Materials, Parts, and Components,” requires, in part, that parts and components be identified to prevent the use of incorrect or defective parts or components.
6. “Handling, Storage and Shipping,” requires, in part, that measures be established to control handling, storage, shipping, and preservation of materials to prevent damage.
7. “Inspection, Test, and Operating Status,” requires, in part, that measures be established to indicate the status of inspections and tests and the identification of items passing the inspections and tests.
8. “Corrective Action,” requires, in part, that conditions adverse to quality, such as failures, malfunctions, and deficiencies, be identified and that the cause be determined, the condition be corrected, and the entire process be documented.
9. “Quality Assurance Records,” requires, in part, that sufficient records be maintained so that data that are closely associated with the qualification of personnel, procedures, and equipment are identifiable and retrievable. “Quality Assurance Program,” requires, in part, that activities affecting quality be accomplished under suitably controlled conditions.
10. “Audits,” requires, in part, that a comprehensive system of audits be conducted, results of those audits be documented, and corrective actions remedy deficiencies.