Deployment is the process of releasing software so it can run in a target environment. It turns working code into software that can reach users through personal devices, cloud servers, physical servers, or hybrid infrastructure. A practical learning path moves from manual server deployment to containers and Kubernetes. section 1.2 section 8.0
A deployment journey commonly develops these capabilities in sequence:
- Build Python and JavaScript web applications that can be deployed and continuously changed. section 1.2
- Track and share changes with Git, then automate production deployment with repository workflows. section 1.2
- Package applications and their dependencies in containers, publish images to a container registry, and run them on nearly any machine. section 1.2
- Use Kubernetes to manage container instances, versions, networking, storage, and compute resources across virtual machines. section 1.8 section 8.0
Declarative deployment describes the desired result rather than each operation required to produce it: use an application, choose a runtime, expose ports, and allow traffic. Kubernetes manifests, Dockerfiles, web-server configuration, Ansible files, and Terraform files express this style. Once correct, configurations can be reused for redeployment on other hosts. section 1.1
From a server command to managed deployment
A basic container deployment can begin by provisioning a virtual machine, installing Docker, and running `docker run <image-name>` or `docker-compose up`. The same application can later run under Kubernetes, where a Deployment manages containers and a Service exposes them for communication. section 7.1 section 8.0
Figure 1.1 Declare to Kubernetes to deploy
Use the diagram to connect declarative instructions with the deployment result Kubernetes produces. section 1.1






















