🎯 ရည်မှန်းချက်အလိုက် လေ့လာနိုင်သော လမ်းကြောင်းများ

မိမိ၏ လက်ရှိ career goal အလိုက် ဦးစားပေး လေ့လာနိုင်သော stage များ

Stage 1 → Stage 3 (၁၈ ခု)⏱️ ၄-၆ ပတ်

Fullstack Web Developer

ဝဘ်ဒစ်ဗလော့ပါ လမ်းကြောင်း

မိမိရေးသားထားသော Next.js, Express သို့မဟုတ် FastAPI အက်ပလီကေးရှင်းများကို Shared hosting မလိုဘဲ VPS ပေါ်တွင် Nginx, PM2, Systemd နှင့် PostgreSQL တို့ဖြင့် ကိုယ်တိုင် deploy ပြုလုပ်နိုင်သော အဆင့်။

အဓိက ကျွမ်းကျင်မှုများ:
Linux CLISSH SecurityNginx ProxySSL/TLSPM2 / SystemdPostgres / MySQL
Stage 1 → Stage 5 (၃၀ ခု အပြည့်)⏱️ ၈-၁၀ ပတ်

Production DevOps & SRE Master

ကျွမ်းကျင် DevOps & SRE လမ်းကြောင်း

GitHub Actions ဖြင့် Git Push လုပ်ရုံဖြင့် Auto Deploy စနစ်၊ Automated Database Backups & Offsite S3 Cloud Sync၊ Uptime Kuma Alerting နှင့် 502/504 Incident Response Runbook များကို နိုင်နင်းသော အဆင့်။

အဓိက ကျွမ်းကျင်မှုများ:
GitHub Actions CI/CDAutomated BackupsS3/R2 Offsite SyncUptime Kuma AlertsLogrotate & Disk OpsIncident Triage
Live Progress TrackerStage 1 စတင်နေပါပြီ

မိမိ၏ DevOps & Cloud တိုးတက်နှုန်း

လေ့လာပြီးသည့် အကြောင်းအရာများကို အမှန်ခြစ် (check) ပေးပါ။ Browser ထဲတွင် LocalStorage ဖြင့် အလိုအလျောက် သိမ်းဆည်းပေးထားပါသည်။

0%
0 / 30 ပြီးစီး
စတင်လေ့လာရန် အဆင်သင့်ဖြစ်ပါပြီ
💡 Milestone တစ်ခုချင်းစီကို click နှိပ်ပြီး command များကို စစ်ဆေးနိုင်ပါသည်။
STAGE 1၁-၂ ပတ်

Linux Foundations & Server Hardening

အခြေခံအုတ်မြစ်နှင့် ဆာဗာလုံခြုံရေး

Domain, DNS, VPS ရွေးချယ်ခြင်း, SSH Key, Non-root User, UFW Firewall နှင့် Linux Swap Memory

ပြီးစီးမှု0/6 (0%)
1.1Networking

Domain Name ကို Cloud VPS IP နှင့် ချိတ်ဆက်ခြင်းနှင့် dig / nslookup ဖြင့် စစ်ဆေးခြင်း

dig +short A yourdomain.com
1.2Cloud

Hetzner / DigitalOcean တွင် Ubuntu 24.04 / 22.04 LTS ရွေးချယ်ပြီး ဆာဗာ စတင်ဝယ်ယူခြင်း

lsb_release -a && uname -r
1.3Security

RSA ထက် ပိုမိုလုံခြုံမြန်ဆန်သော Ed25519 key ထုတ်ယူခြင်းနှင့် Password-less SSH ချိတ်ဆက်ခြင်း

ssh-keygen -t ed25519 -C "[email protected]"
1.4Hardening

သီးသန့် sudo user ဖန်တီးခြင်းနှင့် /etc/ssh/sshd_config တွင် root password ဝင်ရောက်ခွင့် ပိတ်သိမ်းခြင်း

usermod -aG sudo deployer && passwd -l root
1.5Firewall

Port 22 (SSH limit), 80 (HTTP), 443 (HTTPS) သာ ဖွင့်ပြီး ကျန် port အားလုံးကို default deny ပြုလုပ်ခြင်း

ufw default deny incoming && ufw limit 22/tcp && ufw enable
1.6Performance

RAM 1GB/2GB VPS များတွင် OOM Killer ကြောင့် Process မရပ်တန့်စေရန် Swap 2GB ဖန်တီးပြီး swappiness=10 သတ်မှတ်ခြင်း

fallocate -l 2G /swapfile && chmod 600 /swapfile && mkswap /swapfile
STAGE 2၁-၂ ပတ်

Web Servers & Reverse Proxy Mastery

ဝဘ်ဆာဗာနှင့် Reverse Proxy စနစ်

Nginx Virtual Hosts, Reverse Proxy, Let's Encrypt SSL/TLS, TLS 1.3 နှင့် Performance Tuning

ပြီးစီးမှု0/6 (0%)
2.1Web Server

Nginx Master/Worker lifecycle နားလည်ခြင်းနှင့် sites-available / sites-enabled စီမံခန့်ခွဲခြင်း

nginx -t && systemctl reload nginx
2.2Architecture

Public Port 80/443 မှ Backend App များ (Port 3000, 8000) သို့ Host & IP Header များဖြင့် proxy_pass ပြုလုပ်ခြင်း

proxy_pass http://127.0.0.1:3000; proxy_set_header Host $host;
2.3SSL/TLS

အခမဲ့ 90-day SSL certificate ထုတ်ယူခြင်းနှင့် auto-renewal systemd timer စစ်ဆေးခြင်း

certbot --nginx -d example.com -d www.example.com
2.4Security

SSL Labs A+ ရရှိစေရန် HSTS, X-Frame-Options, X-Content-Type-Options စသည့် လုံခြုံရေး headers များ ထည့်သွင်းခြင်း

add_header Strict-Transport-Security "max-age=31536000" always;
2.5Performance

CSS, JS, JSON data များကို Gzip ဖြင့် compress ပြုလုပ်ပြီး Browser cache expiration (max-age=30d) သတ်မှတ်ခြင်း

gzip on; gzip_types text/plain text/css application/json application/javascript;
2.6Multi-tenant

VPS တစ်လုံးတည်းတွင် domain အများအပြား (ဥပမာ api.domain.com နှင့် blog.domain.com) ကို သီးခြားစီ host လုပ်ခြင်း

server_name api.example.com; # Separate server block
STAGE 3၂ ပတ်

Application Run-Time & Daemons

အက်ပလီကေးရှင်းများ လည်ပတ်ခြင်းနှင့် Daemons

Node.js (PM2), Python (Systemd Service), Relational Databases (Postgres/MySQL) နှင့် In-Memory Cache (Redis)

ပြီးစီးမှု0/6 (0%)
3.1Node.js

Cluster mode (-i max) ဖြင့် CPU cores အပြည့်သုံးစွဲခြင်း၊ crash ဖြစ်ပါက auto-restart နှင့် zero-downtime reload ပြုလုပ်ခြင်း

pm2 start ecosystem.config.js --env production && pm2 save
3.2Python

Linux native Systemd Service Unit ဖန်တီးခြင်း၊ virtual environment ချိတ်ဆက်ခြင်းနှင့် journalctl logging စီမံခြင်း

systemctl enable --now fastapi.service && journalctl -u fastapi -f
3.3Database

PostgreSQL 16 / MySQL 8 တပ်ဆင်ခြင်း၊ dedicated app user သတ်မှတ်ခြင်းနှင့် remote access ပိတ်ပြီး local socket သာ ခွင့်ပြုခြင်း

sudo -u postgres psql -c 'CREATE DATABASE app_prod;'
3.4Cache

API response cache နှင့် user session အတွက် Redis တပ်ဆင်ခြင်း၊ strong password သတ်မှတ်ခြင်းနှင့် memory limit ချိန်ညှိခြင်း

redis-cli -a <password> ping # Should return PONG
3.5Cron

crontab -e ဖြင့် periodic cleanup script များကို အလိုအလျောက် run စေခြင်းနှင့် log file ထဲသို့ output သိမ်းဆည်းခြင်း

0 3 * * * /usr/local/bin/cleanup.sh >> /var/log/cleanup.log 2>&1
3.6Security

Production .env ဖိုင်များကို chmod 600 ဖြင့် ကာကွယ်ခြင်းနှင့် Git repository ထဲသို့ credentials မပါသွားစေရန် .gitignore စီမံခြင်း

chmod 600 /var/www/app/.env.production
STAGE 4၂ ပတ်

Containerization & Cloud Edge

ကွန်တိန်နာစနစ်နှင့် Cloudflare Edge

Docker Engine, Multi-Stage Dockerfile, Docker Compose Stacks, Cloudflare Edge DNS နှင့် Zero-Trust Tunnels

ပြီးစီးမှု0/6 (0%)
4.1Docker

Ubuntu ပေါ်တွင် Docker CE တပ်ဆင်ခြင်း၊ sudo မလိုဘဲ run နိုင်ရန် docker user group သတ်မှတ်ခြင်း

sudo usermod -aG docker $USER && newgrp docker
4.2Optimization

Build dependencies နှင့် Production runtime ကို ခွဲထုတ်ပြီး container image size ကို 1GB မှ 80MB အထိ လျှော့ချခြင်း

FROM node:20-alpine AS builder ... FROM node:20-alpine AS runner
4.3Docker Compose

App + Postgres + Redis ဝန်ဆောင်မှု ၃ ခုကို isolated bridge network နှင့် named volumes များဖြင့် တစ်ပြိုင်နက် run ခြင်း

docker compose up -d --build
4.4Resilience

restart: unless-stopped သတ်မှတ်ခြင်းနှင့် database ready ဖြစ်မှ backend စတင်စေရန် depends_on healthcheck အသုံးပြုခြင်း

docker ps --filter health=healthy
4.5Edge CDN

DNS ကို Cloudflare သို့ ပြောင်းလဲခြင်း၊ Proxy (Orange Cloud) ဖွင့်လှစ်ခြင်းနှင့် Full (Strict) SSL စနစ် သတ်မှတ်ခြင်း

SSL/TLS Mode: Full (Strict) with Edge Certificates
4.6Zero-Trust

Public IP နှင့် Open Port လုံးဝမလိုဘဲ cloudflared daemon ဖြင့် internal app များကို ကမ္ဘာသို့ လုံခြုံစွာ ထုတ်လွှင့်ခြင်း

cloudflared tunnel run <tunnel-name>
STAGE 5၂ ပတ်

CI/CD, Observability & Production SRE

အလိုအလျောက်စနစ်နှင့် စောင့်ကြည့်လေ့လာရေး

GitHub Actions CI/CD to VPS, Automated DB Backups, Offsite S3 Storage, Monitoring (Uptime Kuma) နှင့် 502/504 Runbook

ပြီးစီးမှု0/6 (0%)
5.1CI/CD

git push main ပြုလုပ်ရုံဖြင့် VPS ပေါ်သို့ SSH key ဖြင့် ချိတ်ဆက်ကာ auto build & zero-downtime deploy ပြုလုပ်ခြင်း

appleboy/[email protected] with SSH_PRIVATE_KEY
5.2Automation

နေ့စဉ် pg_dump/mysqldump ထုတ်ပြီး gzip compress လုပ်ခြင်းနှင့် ၇ ရက်ထက်ကျော်သော backup အဟောင်းများကို auto ဖျက်ပစ်ခြင်း

find /var/backups -name "*.sql.gz" -mtime +7 -delete
5.3Disaster Recovery

VPS ပျက်စီးသွားပါက ဒေတာဆုံးရှုံးမှု မရှိစေရန် Rclone ဖြင့် backup ဖိုင်များကို ပြင်ပ Cloud Storage သို့ နေ့စဉ် sync လုပ်ခြင်း

rclone sync /var/backups/db remote:r2-bucket/db-backups
5.4Observability

Uptime Kuma သို့မဟုတ် Netdata ဖြင့် CPU, RAM, Disk, SSL သက်တမ်း စောင့်ကြည့်ပြီး Telegram/Discord သို့ အချက်ပေး alert ပို့ခြင်း

curl -s -X POST https://api.telegram.org/bot<TOKEN>/sendMessage
5.5Maintenance

ဆာဗာ disk 100% ပြည့်ပြီး crash မဖြစ်စေရန် logrotate စနစ် ထည့်သွင်းခြင်းနှင့် journalctl --vacuum-time=7d သတ်မှတ်ခြင်း

journalctl --vacuum-size=200M && logrotate -f /etc/logrotate.conf
5.6SRE Runbook

ဆာဗာ error တက်ပါက System Logs, Nginx Error Logs, Port Conflicts နှင့် Memory OOM များကို ၆ ဆင့်ဖြင့် ချက်ချင်းဖြေရှင်းနည်း

tail -n 100 /var/log/nginx/error.log && ss -tulpn
Final Hands-On Challenge

🏆 Capstone Project: High-Availability Multi-Service Production Stack

အဆင့် ၅ ဆင့်လုံးကို ပြီးမြောက်ပြီးပါက မိမိ၏ Portfolio တွင် ထည့်သွင်းပြသနိုင်မည့် တကယ့် Real-World Production Architecture ကို အစအဆုံး ကိုယ်တိုင် တည်ဆောက်စမ်းသပ်ပါ။

📋 Project Requirements (လိုအပ်ချက်များ)

  • Cloud VPS: Ubuntu 24.04 LTS (RAM 2GB, 1 vCPU) တွင် Non-root sudo user, Ed25519 SSH, UFW, Swap 2GB ပြင်ဆင်ပါ။
  • Container Stack: Next.js (Frontend) + FastAPI (Backend) + PostgreSQL 16 + Redis ကို Docker Compose ဖြင့် isolated network တွင် run ပါ။
  • Networking: Nginx Reverse Proxy သို့မဟုတ် Cloudflare Tunnel ဖြင့် Open Port မလိုဘဲ HTTPS ဖြင့် ထုတ်လွှင့်ပါ။
  • Automation CI/CD: GitHub Actions ဖြင့် Git Push ပြုလုပ်ရုံဖြင့် auto-test, auto-build, zero-downtime deploy ပြုလုပ်ပါ။
  • Backups & Alerting: Database ကို နေ့စဉ် auto-dump ပြုလုပ်ပြီး ၇ ရက်ကျော်ပါက auto-purge လုပ်ကာ Telegram သို့ report ပို့ပါ။

💡 လက်တွေ့လေ့လာရာတွင် သိရှိထားသင့်သော အကြံပြုချက်များ

Senior Cloud Engineer များ၏ လက်တွေ့ဖြတ်သန်းမှုမှ ရရှိသော အကြံဉာဏ်များ

⚡ စရိတ်သက်သာသော Cloud VPS တစ်လုံး ဝယ်ယူပါ

Hetzner (CX22 ~€3.79/mo) သို့မဟုတ် DigitalOcean ($4-6/mo) တွင် RAM 2GB ပါဝင်သော VPS တစ်လုံး ဝယ်ယူပြီး လက်တွေ့ command များ ရိုက်နှိပ်စမ်းသပ်ပါ။ Local VM ထက် Cloud VPS တွင် စမ်းသပ်ခြင်းက Public IP နှင့် DNS routing ကို လက်တွေ့ကျကျ နားလည်စေပါသည်။

⚡ Test Domain တစ်ခု အသုံးပြုပါ

ဈေးသက်သာသော .xyz သို့မဟုတ် .top domain တစ်ခု ($1-2) ဝယ်ယူထားခြင်းဖြင့် Cloudflare DNS, A Record, CNAME, Subdomains နှင့် Let's Encrypt SSL/TLS အလုပ်လုပ်ပုံကို တကယ့် production ကဲ့သို့ စမ်းသပ်နိုင်ပါသည်။

⚡ ဆာဗာ ပျက်စီးသွားမည်ကို လုံးဝမကြောက်ပါနှင့်

လေ့လာသင်ယူနေချိန်တွင် configuration မှားယွင်းသွားပါက Cloud provider console မှ Rebuild / Reinstall OS ပြုလုပ်ရုံဖြင့် စက္ကန့် ၃၀ အတွင်း အသစ်ပြန်လည် စတင်နိုင်ပါသည်။ အမှားများမှတဆင့် သင်ယူခြင်းသည် အကောင်းဆုံး နည်းလမ်း ဖြစ်ပါသည်။

⚡ Backup ကို မဖြစ်မနေ Restore စမ်းသပ်ပါ

DevOps လောက၏ ရွှေစည်းမျဉ်းမှာ 'စမ်းသပ် restore မလုပ်ဖူးသော backup သည် backup အစစ်မဟုတ်ပါ' ဖြစ်ပါသည်။ Cron script ဖြင့် backup ထုတ်ပြီးပါက အသစ်စက်စက် database အလွတ်တစ်ခုထဲသို့ ပြန်လည် restore သွင်းကြည့်သည့် အလေ့အကျင့် ပြုလုပ်ပါ။