"Deployment Basics (1/7) — Why Deployment Matters: Local Code vs Public Service"
The same code can work on your laptop and still fail for everyone else. Deployment is the work of reducing that gap.
Key Takeaways
- Deployment is not just "putting code on the internet." It is the process of making software repeatable and accessible to others.
- Local execution depends on one person's machine. Public service depends on build output, runtime environment, secrets, domain, and availability.
- The real value of deployment is accessibility, repeatability, collaboration, validation, and rollback.
- The rest of this series follows the flow
local work -> Git -> GitHub -> hosting platform -> automatic deployment pipeline.
1. What deployment actually does
The shortest useful definition is this: deployment turns a local project into something other people can access in a stable way.
That means the deployed unit is rarely "just the code." You usually need to decide:
- what build output is used
- where it runs
- which environment variables are injected
- what public URL exposes it
- how to recover if the release breaks
That is why deployment is better understood as an operational process, not a final button.
2. Why local execution is not enough
Running locally is perfect for experimentation. But it has obvious limits once other people need the result.
Environments differ. Your Python packages, Node version, and machine settings are not universal. localhost is private. The setup is often not repeatable a week later. And when something breaks, there is no clear rollback point unless the release path is structured.
Deployment solves that by defining one shared route from code to service.
3. The real benefits of deployment
Beginners often reduce deployment to "getting a URL." The more important benefits are broader.
Accessibility
Users, teammates, interviewers, or customers can see the software without touching your machine.
Repeatability
The same branch, built the same way, should produce the same result.
Collaboration
A deployment link turns abstract discussion into something concrete.
Validation
You can test before release, inspect logs, and distinguish preview from production.
Recovery
When a change breaks things, you can move back to a known-good version.
4. There is more than one kind of deployment
Not every application is deployed the same way.
| Type | Examples | What it needs |
|---|---|---|
| Static deployment | docs site, portfolio, brochure page | HTML/CSS/JS output |
| App deployment | React, Next.js, Streamlit app | build and/or app runtime |
| Service deployment | API, backend, worker | long-running process, logs, restart behavior |
This distinction matters because platform choice follows it. GitHub Pages fits static sites, Vercel shines on frontend flows, Streamlit Community Cloud is easy for Python app demos, and Railway is closer to service hosting.
5. Common beginner misunderstandings
The first mistake is thinking deployment happens once, after development is done. In reality it becomes a repeated update loop.
The second is thinking a successful deployment ends the work. Public release introduces logs, environment variables, build failures, rollback decisions, and cost.
The third is treating the main branch like a scratchpad. That quickly becomes a pipeline for mistakes instead of a pipeline for releases.
6. What the rest of this series will cover
The order is deliberate:
- why deployment exists
- why Git is the base layer
- how GitHub separates repository, Pages, and Actions
- how Vercel, Streamlit Community Cloud, and Railway differ
- how PRs, testing, preview, and production fit into one pipeline
If you start from platform buttons, you memorize steps. If you start from the flow, the tools make sense.
References
- GitHub Docs, Understanding GitHub Actions — https://docs.github.com/en/actions/get-started/understand-github-actions
- GitHub Docs, Configuring a publishing source for your GitHub Pages site — https://docs.github.com/en/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site
- Vercel Docs, Deploying Git Repositories with Vercel — https://vercel.com/docs/git
- Streamlit Docs, Deploy your app on Community Cloud — https://docs.streamlit.io/deploy/streamlit-community-cloud/deploy-your-app/deploy
- Railway Docs, Controlling GitHub Autodeploys — https://docs.railway.com/deployments/github-autodeploys
This is Part 1 of the Deployment Basics series. Next: Git fundamentals from a deployment perspective.
๋๊ธ
๋๊ธ ์ฐ๊ธฐ