🏗️ COMPLEXITY LEVEL: 🟠 MEDIUM
Executive Summary: What is it?
In a Docker deployment, the application ships as a container image that bundles it with the libraries and runtime it needs. Any server with a container engine runs it the same way, as long as the image is built for that server's operating system and processor architecture (an image built for x86 servers does not run on an ARM server without emulation), and the software does not conflict with what else is installed on that server.
CFO / Business Impact: What does it cost/risk?
- Infrastructure: A server or virtual machine with a container engine. The cost grows with the CPU, memory and storage the containers need, and with your hosting provider's rates.
- Operating Effort: Someone on your team, or an engineer you contract, applies updates, watches the containers and restores them when they fail. The hours grow with the number of services you run and how often they release.
- Data Ownership: The data lives in volumes on your server, so you own the database, and you are responsible for its backups.
Technical Reality: How does it work?
- Requirements: A server with a container engine, such as Docker Engine, whose operating system and processor architecture match a platform the image is built for.
- Updates: An update pulls a new image tag and recreates the container; data kept in volumes survives it. A release that changes the database schema or breaks compatibility still needs its release notes read first.