Portability
Portability is the ability to transfer or use software, information, or methods across environments or domains with limited adaptation while retaining useful function or structure.
Road to Kubernetes
Portability is the property of software being transferable and usable across different computing environments with minimal modification.
- How it is used
- Supports adaptable software delivery by moving applications across development, CI/CD, production, and hosting environments with less configuration.
- How deep it goes
- Traces portability from CI/CD automation through container images to Kubernetes manifests, while identifying platform and managed-service caveats.
- Examples
- Uses Git-based CI/CD workflows, Docker container images, registries, on-premise or cloud deployments, and Kubernetes manifests as concrete examples.
- What you can do after
- Apply it via CI/CD pipelines, container runtimes, or Kubernetes manifests to package and move applications across environments.
Modern C, Third Edition
Portability is the ability of software to operate across different platforms or computer architectures with little or no change.
- How it is used
- Uses C’s abstraction and compilation model to write programs that can run across computer architectures.
- How deep it goes
- Explains source abstraction, platform-dependent binaries, standards conformance, and compiler diagnostics, but not portability internals.
- Examples
- Uses compiler commands, a flawed C listing, contrasting gcc and clang diagnostics, and stepwise correction exercises.
- What you can do after
- Apply it via a C compiler by writing correct code, comparing diagnostics, and testing compilation across platforms.
Modern C
Portability is the property of software being usable across different computing environments with little or no modification.
- How it is used
- Uses portability to connect correct C programming with execution across different computer architectures.
- How deep it goes
- Defines portability through platform-dependent binaries and compiler translation, but defers detailed portability rules.
- Examples
- Uses PC, phone, set-top box, and refrigerator examples plus c99, clang, gcc, and icc compilation commands.
- What you can do after
- Evaluate portability by writing correct C, compiling with warnings, and avoiding assumptions validated only on one platform.
Learn Docker in a Month of Lunches, Second Edition
Portability is the ability of software to run consistently across different deployment environments.
- How it is used
- Keeps applications and CI/CD pipelines consistent across environments, reducing drift and easing movement between deployment services.
- How deep it goes
- Explains container packaging, environment-specific behavior, and portable pipeline structure, but stops short of detailed platform implementation.
- Examples
- Uses dependency-packaged containers, Compose smoke tests, Dockerfile unit tests, coordinating scripts, and multi-platform GitHub Actions agents.
- What you can do after
- Apply it via Docker and Compose to reproduce builds, tests, and smoke tests across developer and CI/CD environments.
Read how Learn Docker in a Month of Lunches, Second Edition explains portability →
BDD in Action, Second Edition
Test portability is the property of test automation code that allows it to operate across different contexts or integration tools with limited change.
- How it is used
- Supports reusable test automation across multiple suites, teams, contexts, and integration tools.
- How deep it goes
- Explains layered abstraction and consistent APIs, reaching tool lock-in mitigation without detailing implementation code.
- Examples
- Uses Playwright for component tests and WebdriverIO for cross-browser tests without changing test code.
- What you can do after
- Build reusable tests that switch integration tools without rewriting the existing test suite.
Read how BDD in Action, Second Edition explains portability →
Related concepts
- containeraddressed by · A software container is an isolated execution environment that packages an application and its dependencies while sharing the host operating system kernel.
- serverless computingcontrasts with · Serverless computing is a cloud execution model in which a provider manages the underlying infrastructure and allocates or scales resources for application workloads.
- Querydsladdressed by · Querydsl is a Java framework for constructing type-safe database queries through a fluent API and generated query types.
- abstractionproduced by · Abstraction is a simplified representation that exposes relevant properties or behavior while omitting lower-level details unnecessary for a given purpose.
- Wasm componentproduced by · A Wasm component is a composable WebAssembly artifact that packages interfaces and implementations so code from different languages can be linked together.
These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.




