====== FR-MC-003 — Deployment Portability Across Cloud Providers ======
[[dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-04-multi-cloud-management:start|Go to Crucible Multi-Cloud Management Requirements]]
===== Statement =====
[[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] SHALL provide deployment portability across [[dido:99_annexes:annex-b-terms-and-definitions:c:cloud_provider|Cloud Providers]].
===== Derived From =====
This requirement derives from:
* Crucible System Requirements Specification, Version 1.1 Draft, Functional Requirements, FR-MC-003
The Original Requirement states:
> //The system shall support deployment portability across cloud providers.//[[dido:02-crusible:99-annexes:annex-b:cr-001|[C1]]]
FR-MC-003:
* Replaces **The system** with the defined system name [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]]
* Changes **shall** to the established uppercase normative form **SHALL**
* Replaces the weak verb **support** with **provide**
* Links **Cloud Providers** to the controlling definition
No other substantive normalization is required.
===== Rationale =====
Deployment portability allows deployment intent to be realized through more than one [[dido:99_annexes:annex-b-terms-and-definitions:c:cloud_provider|Cloud Provider]] without requiring the deployment intent to be redesigned for each Provider.
Cloud Providers expose different:
* Resource types
* Service identifiers
* Configuration parameters
* Identity models
* Network models
* Storage models
* Regions
* Management interfaces
* Operational constraints
Deployment portability does not require Cloud Providers to expose identical resources, services, interfaces, costs, performance characteristics, or physical implementations.
This requirement establishes deployment portability without prescribing:
* A minimum number of tested Cloud Providers
* [[dido:99_annexes:annex-b-terms-and-definitions:p:platform_independent_information|Platform Independent Information]]
* [[dido:99_annexes:annex-b-terms-and-definitions:p:platform_specific_information|Platform Specific Information]]
* [[dido:99_annexes:annex-b-terms-and-definitions:p:provider_plugin|Provider Plugins]]
* [[dido:99_annexes:annex-b-terms-and-definitions:p:provider_contract|Provider Contracts]]
* Identical Provider-specific realizations
* Particular Cloud Providers
* Common [[dido:99_annexes:annex-b-terms-and-definitions:a:acceptance_criteria|Acceptance Criteria]]
Separate requirements, architecture specifications, or verification profiles define those subjects.
===== Applies To =====
This requirement applies to:
* [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]]
* Deployment portability
* [[dido:99_annexes:annex-b-terms-and-definitions:c:cloud_provider|Cloud Providers]]
* Cloud deployment workflows
===== Verification =====
Verification confirms that:
- A deployment is selected for portability testing
- Two or more [[dido:99_annexes:annex-b-terms-and-definitions:c:cloud_provider|Cloud Providers]] are selected for testing
- [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] deploys the selected deployment through each tested Cloud Provider
- The resulting deployments preserve the deployment intent selected for the portability test
- Provider-specific differences do not prevent the selected deployment from being realized through each tested Cloud Provider
- The observed behavior demonstrates deployment portability across Cloud Providers
===== Referenced By =====
The following pages reference this requirement:
{{backlinks>.#dido:02-crusible}}
===== Implementation Status =====
Implemented and Verified
===== Requirement Status =====
Review and approve FR-MC-003 as a leaf requirement.
----
===== Issues =====
Determine whether Deployment Portability requires a controlled definition in the shared Terms and Definitions corpus.
Determine whether a separate verification profile should define the minimum number and types of Cloud Providers used to demonstrate deployment portability.
----
===== Notes for Editors =====
This requirement page retains the stable requirement identifier ''FR-MC-003''.
This page is a leaf requirement page and omits a trailing '':start'' from its namespace.
The Statement preserves the approved source intent by requiring Crucible to provide deployment portability across Cloud Providers.
Do not add Platform Independent Information, Platform Specific Information, Provider Plugin, Provider Contract, common Acceptance Criteria, identical Provider realization, or a particular minimum number of Cloud Providers to the Statement unless the controlling requirement changes through an approved requirements process.
Verification may use two or more Cloud Providers because portability across Providers cannot be demonstrated with only one Provider. This verification condition does not add a particular Provider or Provider technology to the normative Statement.
To reference this requirement Statement from another wiki page, insert:
{{section>dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-04-multi-cloud-management:fr-mc-003#Statement&noheader&nofooter&noeditbtn}}
----
© 2026 Dido Solutions, Inc. and Jackrabbit Consulting, Inc.