Why Deployment Matters: Understanding the Nuances and How to Take Your Code Live

Full-stack developer with expertise in both front-end and back-end development. Proven ability to design, develop, and deploy robust web applications from conception to completion.
Why Deployment?
Have you ever thought about building an application and making it available to everyone on the internet?
First, you pick a programming language whether it’s JavaScript, Java, Rust, or Python, whatever gets the job done. You’ll likely start by building your backend, maybe with Node.js for JavaScript or Spring Boot if you’re into Java.
Next comes the frontend. You might create using raw HTML, CSS and JavaScript else dive into React or Angular (I’d personally go with React 😌). Why not Angular? Well, that’s a whole debate for another blog post!
So, now you’ve built a beautiful frontend and a powerful backend. But what's next?
You need to make it accessible to everyone online. That’s where deployment comes in—it’s the process of making your application available on the internet so others can interact with it.
Deployment Process
The deployment process is generally divided into two categories (let's ignore server-side rendering (SSR) for now):
Backend Deployment
Frontend Deployment
You might wonder, why there isn’t the same process for both.
Let’s explore this with an example: LinkedIn.
When you visit LinkedIn, the website’s frontend looks the same for everyone. But the content like connections and posts varies from user to user. My connections and posts are different from yours, right?
So, while we can cache static frontend pages to serve everyone quickly, the backend needs to handle dynamic content hence it gives unique responses to each user. This means caching the backend isn’t always practical because the data (like posts or connections) changes frequently based on who's logged in.
Frontend
Given these differences, we deploy the frontend and backend in different ways:
Frontend Deployment: For the frontend, we use object stores and Content Delivery Networks (CDNs) to serve static content efficiently.

Backend Deployment: For the backend, we typically use Virtual Machines (VMs) to handle requests and deliver unique responses for each user.

Conclusion
Now that you understand the differences between Frontend and Backend deployment, it's time to dive deeper into deployment specifics. If you are ready to explore a step-by-step guide for backend deployment, check out the below post where we cover everything from setting up your environment to handling real-time requests.

