DEV Practical Work

Technical Architecture and Production Deployment

1. Hardware & System Base: AWS EC2 & RHEL 10

AWS EC2 (Amazon Web Services): My cloud hosting environment. My virtual machine runs 24/7 in the cloud, accessible via a public IP address.

RHEL 10 (Red Hat Enterprise Linux): The robust, enterprise-grade operating system installed on my AWS instance, which hosts and runs all my services.

2. Network Routing: Domain & DNS (DuckDNS)

My domain names (hanifi-khelaf.duckdns.org and ahnizpayroll.duckdns.org) act as signposts.

They permanently point to my AWS EC2 instance's IP address via DuckDNS, allowing any user on the internet to find my server using a clean URL instead of a string of numbers.

3. The Guardian & Conductor: Nginx (Reverse Proxy)

Why a Reverse Proxy? My Node.js applications run locally on specific ports (port 3000 for the first, port 3001 for the second). The outside world cannot (and should not) hit these raw ports directly.

Nginx's Role: It listens at the server entry point on standard port 443 (HTTPS). When a request arrives for hanifi-khelaf.duckdns.org, Nginx captures it and transparently proxies it internally to http://127.0.0.1:3000. Same for ahnizpayroll to port 3001. It is my master router and traffic dispatcher.

4. The Security Shield: Certbot & SSL (Let's Encrypt)

SSL/TLS Certificate: Generated via Certbot (the official tool from the Electronic Frontier Foundation), encrypting all traffic between the user's browser and my server, producing the green padlock and https:// protocol.

Renewal: Valid for 90 days but automatically renewed in the background on my RHEL 10 server so I never have to worry about it.

5. Engine & Memory: Node.js & PostgreSQL

Node.js: My full-stack web applications running in the background (managed and kept alive by my server ecosystem).

PostgreSQL: My relational database (installed on my RHEL environment) securely storing all application data.

"Hoping that in paradise we'll keep doing IT and coding for eternity! ^^^ Hope paradise and coding for eternity."