My EpicBook(Three-Tier App) Deployment Project.
Cloud deployment becomes a different experience when you are responsible for the network, compute, database, security, and application…
My EpicBook(Three-Tier App) Deployment Project.

Cloud deployment becomes a different experience when you are responsible for the network, compute, database, security, and application working together.
This week, I took on the EpicBook full-stack deployment challenge on Microsoft Azure. The goal was to deploy the application on an Ubuntu Virtual Machine while keeping the MySQL database isolated through private VNet access.
I built the environment from the ground up:
- Created a 10.0.0.0/16 Virtual Network with separate public and private subnets.
- Configured Network Security Groups to control HTTP, SSH, and MySQL traffic.
- Provisioned an Ubuntu VM and prepared it with Node.js, npm, Nginx, Git, and MySQL Client.
- Deployed Azure Database for MySQL Flexible Server using private access.
- Connected the application to the managed database, configured Nginx as a reverse proxy, and validated the application end to end.
The challenging part was getting all the layers to communicate correctly without weakening the security of the architecture.
I had to work through areas such as SSH connectivity, Nginx routing, backend startup, private MySQL connectivity, database imports, and application-to-database operations. The troubleshooting process involved checking the VM and NSG configuration, verifying services and ports, reviewing application and Nginx configuration, testing database connectivity, and validating the workflow from the application through to MySQL.
One important lesson was that a deployment isn’t complete simply because the server is running. The browser, backend, and database all need to work together and the result needs to be proven.
I also gained practical experience with private database networking, reverse proxies, Linux administration, managed cloud databases, and troubleshooting distributed application components.
This assignment pushed me beyond simply following deployment commands. It challenged me to understand why each layer exists, how traffic moves between them, and how to systematically diagnose problems when something doesn’t work.
Another step forward in my Cloud and DevOps journey, with a stronger understanding of how real-world Azure deployments are built, secured, tested, and troubleshot.
Project: EpicBook on Microsoft Azure Platform: Microsoft Azure Architecture: Ubuntu VM + Nginx + Node.js + Azure Database for MySQL
P.S. This post is part of the DevOps Micro Internship (DMI) with Agentic AI — Cohort 3 — by Pravin Mishra. My graded progress is public: https://dmi.pravinmishra.com/s/accelage.html · Start your DevOps journey: https://dmi.pravinmishra.com/?utm_source=student&utm_medium=ps-blog&utm_campaign=cohort3
메타데이터
- post_id
- 89afbbd4ac9d
- slug
- my-epicbook-three-tier-app-deployment-project-89afbbd4ac9d
- url
- https://medium.com/@tope.adedavids/my-epicbook-three-tier-app-deployment-project-89afbbd4ac9d
- canonical_url
- https://medium.com/@tope.adedavids/my-epicbook-three-tier-app-deployment-project-89afbbd4ac9d
- author_url
- https://medium.com/@tope.adedavids
- status
- ok
- fetched_at
- 2026-08-27 01:11:31