"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:

  1. why deployment exists
  2. why Git is the base layer
  3. how GitHub separates repository, Pages, and Actions
  4. how Vercel, Streamlit Community Cloud, and Railway differ
  5. 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.

๋Œ“๊ธ€

์ด ๋ธ”๋กœ๊ทธ์˜ ์ธ๊ธฐ ๊ฒŒ์‹œ๋ฌผ

Agent Memory Engine (2/10) — Building an AI Agent Memory System with SQLite Alone

"ML Foundations (9/9) — PyTorch vs TensorFlow, and the Road to Local LLMs"

"RAG Core Study (14/26) — Evaluation Sets with RAGAS & DeepEval"

"ML Foundations (8/9) — Deep Learning Architectures: CNN, RNN, Attention"

"ML Foundations (7/9) — Deep Learning Training: Optimizers, Regularization, Initialization"

OpenClaw to Hermes Migration (2/13) — What to Preserve, Partially Port, or Discard

AI Agents I Built (5/7) — Building an Automated Blogger API Publishing System