This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
dido:public:ra:1.4_req:2_nonfunc:28_manageability [2020/11/20 20:53] nick [4.2.7 Manageability] |
dido:public:ra:1.4_req:2_nonfunc:28_manageability [2021/06/11 14:50] (current) char |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== 4.2.7 Manageability ====== | + | ====== 4.3.5 Manageability ====== |
| [[dido:public:ra:1.4_req:2_nonfunc| Return to Non-Functional Requirements]] | [[dido:public:ra:1.4_req:2_nonfunc| Return to Non-Functional Requirements]] | ||
| - | * **<color #FF0000><todo @char>Please Review</todo></color>** | + | [[dido:public:ra:xapend:xapend.a_glossary:m:manageability]] is most important during the second half of [[dido:public:ra:xapend:xapend.a_glossary:s:syslifecycle|System Lifecycle]] phases (i.e. operation, maintenance, support). Manageability can greatly influence the recurring costs and can increase the chances of a failure. Often a system that is hard to manage is described as fragile since the smallest change can have dire consequences on the system's functionality. |
| - | [[dido:public:ra:xapend:xapend.a_glossary:m:manageability]] is most important during the second half of a [[dido:public:ra:xapend:xapend.a_glossary:s:syslifecycle|System Lifecycle]] phases (i.e. operation, maintenance, support). Manageability can greatly influence the recurring costs and can increase the chances of a failure. Often a system that hard to manage is described as fragile since the smallest of changes can have dire consequences on the systems functionality. | + | : //Manageability directly influences a system's [[dido:public:ra:1.4_req:2_nonfunc:14_reliability | reliability]], [[dido:public:ra:1.4_req:2_nonfunc:14_reliability:02_availability | availability]], [[dido:public:ra:1.4_req:2_nonfunc:25_security| security]], and safety; therefore, it is a key ingredient of system dependability.// |
| - | + | ||
| - | : //Manageability directly influences a system's [[dido:public:ra:1.4_req:2_nonfunc:14_reliability | reliability]], [[dido:public:ra:1.4_req:2_nonfunc:14_reliability:02_availability | availability]], [[dido:public:ra:1.4_req:2_nonfunc:25_security| security]], and safety, thus being a key ingredient of system dependability.// | + | |
| | | ||
| - | : //Just like security and safety, manageability is generally hard to retrofit in complex systems—it is always easier to build it in from day one. However, in the absence of means to measure manageability and to quantify the various tradeoffs, it is difficult to get the design right. We proposed a manageability metric that combines management workloads and weightings based on real world studies with direct measurement of the number of steps involved in management tasks and their duration. (( | + | : //Just like security and safety, manageability is generally hard to retrofit in complex systems—it is always easier to build it in from day one. However, in the absence of means to measure manageability and quantify the various tradeoffs, it is difficult to get the design right. We proposed a manageability metric that combines management workloads and weightings based on real world studies with direct measurement of the number of steps involved in management tasks and their duration. (( |
| __Toward Quantifying System Manageability__, George Cadea, École Polytechnique Fédérale de Lausanne (EPFL), Switzerland, Accessed 20 July 2020, [[https://www.usenix.org/legacy/event/hotdep08/tech/full_papers/candea/candea_html/index.html]] | __Toward Quantifying System Manageability__, George Cadea, École Polytechnique Fédérale de Lausanne (EPFL), Switzerland, Accessed 20 July 2020, [[https://www.usenix.org/legacy/event/hotdep08/tech/full_papers/candea/candea_html/index.html]] | ||
| ))// | ))// | ||
| - | * [[dido:public:ra:1.4_req:2_nonfunc:08_manageability:02_types]] | + | * [[dido:public:ra:1.4_req:2_nonfunc:28_manageability:02_types]] |
| - | * [[dido:public:ra:1.4_req:2_nonfunc:08_manageability:04_costs]] | + | * [[dido:public:ra:1.4_req:2_nonfunc:28_manageability:04_costs]] |
| - | * [[dido:public:ra:1.4_req:2_nonfunc:08_manageability:06_system]] | + | * [[dido:public:ra:1.4_req:2_nonfunc:28_manageability:06_system]] |
| - | * [[dido:public:ra:1.4_req:2_nonfunc:08_manageability:08_software]] | + | * [[dido:public:ra:1.4_req:2_nonfunc:28_manageability:08_software]] |
| - | + | ===== DIDO Specifics ===== | |
| - | + | [[dido:public:ra:1.4_req:2_nonfunc:28_manageability| Return to the Top]] | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | ===== Software Manageability Issues ===== | + | |
| - | [[dido:public:ra:1.4_req:2_nonfunc:08_manageability | Return to the Top]] | + | |
| - | + | ||
| - | Over the last few decades, many advances have been made in terms of [[dido:public:ra:xapend:xapend.a_glossary:o:oss]] which has to change the way that software was developed, released and used. During this same time period, the traditional [[dido:public:ra:xapend:xapend.a_glossary:w:waterfall]] of System and software development has also been largely supplanted with the [[dido:public:ra:xapend:xapend.a_glossary:a:agile]]. Many of these changes also have to do with the evolution of systems (or projects) from being [[dido:public:ra:xapend:xapend.a_glossary:g:greenfield]] to [[dido:public:ra:xapend:xapend.a_glossary:b:brownfield]] development and from a "build the world" attitude towards "integrate and glue the world" mindset. | + | |
| - | + | ||
| - | Successful OSS development and adoption not only has to produce products which are solid, strong and robust but also must meet the needs of a [[dido:public:ra:xapend:xapend.a_glossary:c:coi]] that has coalesced around a single minded, purpose built, functionality (i.e., Apache Tomcat application server, PostgreSQL Database, Node.js an asynchronous event-driven JavaScript runtime, [[dido:public:ra:xapend:xapend.a_glossary:d:docker]] containerized apps, Kubernetes orchestration engine for containers, etc.). Many of the OSS products are part of many of the successful projects today. | + | |
| - | + | ||
| - | However, its not good enough to just write software and make it publicly available. At the heart of these successful efforts are the well governed, focused, supporting CoIs. There is a desire from almost all systems (or projects) to join the OSS trend but unfortunately, the need for strong governance and rigorous methodology is minimized or skipped in the name of expediency. Fortunately, there is an organization which can help with this called [[https://todogroup.org/about/ | Talk Openly Develop Openly (TODO)]] (not to be confused with a ''to-do''). | + | |
| - | + | ||
| - | TODO organization, though focused on OSS, has written a series of white papers that are well worth studying and using even it your system (or project) is not OSS. One of these papers which is particularly germane to Software Manageability is __Tools for managing open source programs__ ((__Tools for managing open source programs__, Talk Openly Develop Openly (TODO), Accessed 20 July 2020, [[https://todogroup.org/guides/management-tools/]] | + | |
| - | )). It is beyond the scope of this document to try to recreate the full content of this white paper. It does present a list of many of the tools available for managing software and how to use them. Here is the table of content from the document: | + | |
| - | + | ||
| - | * [[https://todogroup.org/guides/management-tools/#why-you-need-special-tools-for-open-source-program-management | Why you need special tools for open source program management]] | + | |
| - | * [[https://todogroup.org/guides/management-tools/#how-to-select-and-plan-your-tools | How to select and plan your tools]] | + | |
| - | * [[https://todogroup.org/guides/management-tools/#elements-of-a-basic-toolset | Elements of a basic toolset]] | + | |
| - | * [[https://todogroup.org/guides/management-tools/#tools-for-managing-source-code | Tools for managing source code]] | + | |
| - | * [[https://todogroup.org/guides/management-tools/#tools-for-tracking-project-health | Tools for tracking project health]] | + | |
| - | * [[https://todogroup.org/guides/management-tools/#tools-for-communications-and-collaboration | Tools for communications and collaboration]] | + | |
| - | * [[https://todogroup.org/guides/management-tools/#tools-for-corporate-scale-github-management | Tools for corporate-scale GitHub management]] | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | ===== DDS Specifics ===== | + | |
| - | [[dido:public:ra:1.4_req:2_nonfunc:08_manageability | Return to the Top]] | + | |
| - | + | ||
| - | [[dido:public:ra:xapend:xapend.a_glossary:d:dds]] can not solve all of a systems(or projects) [[dido:public:ra:xapend:xapend.a_glossary:m:maintainability]] issues, however, by DDS's design, it can eliminate or reduce the Manageability issues that could arrise from using DDS. | + | |
| - | <table managefunc> | + | : <wrap hi><color red> To be added/expanded in future revisions of the DIDO RA </color></wrap> |
| - | <caption>DDS role in helping Manageability</caption> | + | |
| - | ^ Kinds of Management ^ Description ^ | + | |
| - | ^ **Health Monitoring, Logging, and Alerting** | Although there are currently no [[dido:public:ra:xapend:xapend.a_glossary:d:dds|DDS]] standards for that directly supports System Monitoring, each of the DDS Vendors have sets of tools which can be used for that purpose. These tools include <WRAP> | + | |
| - | * Development and troubleshooting including specialized network sniffers, modeling tools, and code generators | + | |
| - | * System monitoring and administration including terminals, shared memory management tools, recorders and replayers | + | |
| - | * Functional, systems and performance testing | + | |
| - | * Federated [[dido:public:ra:xapend:xapend.a_glossary:d:discovery|Discovery]] | + | |
| - | * Bridges to other [[dido:public:ra:xapend:xapend.a_glossary:m:mom]] products | + | |
| - | * Topic aggregators | + | |
| - | </WRAP> | | + | |
| - | ^ **Configuration and Control** | DDS uses a standardized Discovery process which eliminates most of need for configuration. Some [[ddsf:private:cookbook:06_append:05_vendors | DDS Vendors]] offer specialized or advanced tools that aid in tuning DDS configurations and discovering performance issues| | + | |
| - | ^ **Deployment and Updates** | DDS [[ddsf:private:cookbook:06_append:01_family_of_standards:01_core:dds_extensible_types_dds-xtypes | Extensible and Dynamic Topic Types for DDS (DDS-XTypes)]] allows for planned evolution of the [[dido:public:ra:xapend:xapend.a_glossary:d:datatype | Datatypes]] within a [[dido:public:ra:xapend:xapend.a_glossary:d:ddsapplication]]. For example, adding or removing fields in a [[dido:public:ra:xapend:xapend.a_glossary:d:datastructure]], changing the basic type from an int16 to an int32, etc. | | + | |
| - | ^ **Asset Discovery and Inventory** | DDS automatically registers all [[dido:public:ra:xapend:xapend.a_glossary:d:data_writer | Data Writer]] and [[dido:public:ra:xapend:xapend.a_glossary:d:data_reader | Data Reader]] allowing them to be discovered. It is possible| | + | |
| - | </table> | + | |
| /**=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- | /**=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- | ||