
How I Deployed a Full-Stack Web App on Azure with a Production-Grade Network Architecture
Introduction When most beginners deploy their first cloud application, They put everything on one server, open all the ports, and call it done. I wanted to do it differently. In this project, I deployed The EpicBook — a full-stack Node.js + MySQL web application — on Microsoft Azure using the same network architecture patterns that real engineering teams use in production. Public subnet for the app. Private subnet for the database. Zero internet exposure for MySQL. This post walks through exactly how I did it, what broke, and what I learned. What I Built Here is the full architecture at a glance: [ Internet / Users ] │ ▼ [ Azure VM: Ubuntu 22.04 ] Nginx (reverse proxy, port 80) Node.js/Express (port 8080) │ ▼ port 3306 (internal only) [ Azure MySQL Flexible Server ] Private subnet — no public IP Tech Stack: Microsoft Azure (VNet, VM, MySQL Flexible Server, NSG) Ubuntu 22.04 LTS Node.js + Express.js MySQL 8.0 Nginx (reverse proxy) Sequelize ORM Step 1: Designing the Network The foundati
Continue reading on Dev.to DevOps
Opens in a new tab




