CapEx และ OpEx คืออะไร
CapEx (Capital Expenditure) คือค่าใช้จ่ายลงทุนในสินทรัพย์ถาวร จ่ายครั้งเดียวจำนวนมาก เช่น ซื้อ Server, อุปกรณ์ Network, Data Center ส่วน OpEx (Operating Expenditure) คือค่าใช้จ่ายดำเนินงานประจำ จ่ายรายเดือนหรือรายปี เช่น ค่า Cloud, ค่า SaaS, ค่าบำรุงรักษา
ในยุค Cloud Computing การเลือกระหว่าง CapEx และ OpEx มีผลต่อกระแสเงินสด งบดุล และความยืดหยุ่นขององค์กร หลายองค์กรเปลี่ยนจาก CapEx (ซื้อ Server เอง) เป็น OpEx (ใช้ Cloud) เพื่อลดความเสี่ยงและเพิ่มความคล่องตัว
| หัวข้อ | CapEx | OpEx |
|---|---|---|
| ลักษณะ | ลงทุนครั้งเดียว | จ่ายรายเดือน/ปี |
| ความเป็นเจ้าของ | เป็นเจ้าของสินทรัพย์ | ไม่เป็นเจ้าของ |
| บัญชี | ตัดค่าเสื่อมราคา 3-5 ปี | หักค่าใช้จ่ายทันที |
| ความยืดหยุ่น | ต่ำ (ซื้อแล้วซื้อเลย) | สูง (ปรับขนาดได้) |
| ตัวอย่าง IT | ซื้อ Server, License | Cloud, SaaS Subscription |
| เหมาะกับ | Workload คงที่ | Workload ไม่แน่นอน |
เปรียบเทียบต้นทุน CapEx vs OpEx
# capex_opex_calculator.py — เปรียบเทียบต้นทุน CapEx vs OpEx
from dataclasses import dataclass, field
from typing import List
@dataclass
class CapExModel:
"""CapEx Cost Model"""
name: str
hardware_cost: float # ค่า Hardware (Server, Network)
software_license: float # ค่า Software License
setup_cost: float # ค่าติดตั้ง
annual_maintenance: float # ค่าบำรุงรักษาต่อปี (20% of hardware)
power_cooling_monthly: float # ค่าไฟ+ระบายความร้อนต่อเดือน
it_staff_monthly: float # ค่าพนักงาน IT ต่อเดือน
depreciation_years: int = 5 # อายุการใช้งาน
def total_cost(self, years):
"""คำนวณต้นทุนรวม"""
initial = self.hardware_cost + self.software_license + self.setup_cost
annual = (self.annual_maintenance +
self.power_cooling_monthly * 12 +
self.it_staff_monthly * 12)
return initial + (annual * years)
def monthly_avg(self, years):
return self.total_cost(years) / (years * 12)
@dataclass
class OpExModel:
"""OpEx Cost Model"""
name: str
cloud_monthly: float # ค่า Cloud Services ต่อเดือน
saas_monthly: float # ค่า SaaS ต่อเดือน
support_monthly: float # ค่า Support ต่อเดือน
staff_monthly: float # ค่าพนักงาน (น้อยกว่า CapEx)
def total_cost(self, years):
monthly = (self.cloud_monthly + self.saas_monthly +
self.support_monthly + self.staff_monthly)
return monthly * 12 * years
def monthly_avg(self, years):
return self.total_cost(years) / (years * 12)
class CostComparison:
"""เปรียบเทียบ CapEx vs OpEx"""
def compare(self, capex: CapExModel, opex: OpExModel, years=5):
print(f"\n{'='*60}")
print(f"CapEx vs OpEx Cost Comparison ({years} Years)")
print(f"{'='*60}")
# CapEx Breakdown
capex_total = capex.total_cost(years)
print(f"\n CapEx: {capex.name}")
print(f" Hardware: {capex.hardware_cost:>12,.0f} THB")
print(f" Software: {capex.software_license:>12,.0f} THB")
print(f" Setup: {capex.setup_cost:>12,.0f} THB")
print(f" Maintenance: {capex.annual_maintenance * years:>12,.0f} THB ({years}yr)")
print(f" Power/Cool: {capex.power_cooling_monthly * 12 * years:>12,.0f} THB ({years}yr)")
print(f" IT Staff: {capex.it_staff_monthly * 12 * years:>12,.0f} THB ({years}yr)")
print(f" {'─'*40}")
print(f" Total: {capex_total:>12,.0f} THB")
print(f" Monthly Avg: {capex.monthly_avg(years):>12,.0f} THB/mo")
# OpEx Breakdown
opex_total = opex.total_cost(years)
print(f"\n OpEx: {opex.name}")
print(f" Cloud: {opex.cloud_monthly * 12 * years:>12,.0f} THB ({years}yr)")
print(f" SaaS: {opex.saas_monthly * 12 * years:>12,.0f} THB ({years}yr)")
print(f" Support: {opex.support_monthly * 12 * years:>12,.0f} THB ({years}yr)")
print(f" Staff: {opex.staff_monthly * 12 * years:>12,.0f} THB ({years}yr)")
print(f" {'─'*40}")
print(f" Total: {opex_total:>12,.0f} THB")
print(f" Monthly Avg: {opex.monthly_avg(years):>12,.0f} THB/mo")
# Comparison
diff = capex_total - opex_total
cheaper = "OpEx" if diff > 0 else "CapEx"
savings = abs(diff)
pct = savings / max(capex_total, opex_total) * 100
print(f"\n Result: {cheaper} cheaper by {savings:,.0f} THB ({pct:.1f}%)")
# Break-even
capex_monthly = capex.monthly_avg(years)
opex_monthly = opex.monthly_avg(years)
if capex_monthly != opex_monthly:
breakeven = (capex.hardware_cost + capex.software_license + capex.setup_cost) / \
max(0.01, (opex_monthly - capex_monthly + capex.annual_maintenance/12))
if breakeven > 0:
print(f" Break-even: ~{breakeven:.0f} months")
# === ตัวอย่าง ===
capex = CapExModel(
name="On-premise Server",
hardware_cost=500000, # 500K THB
software_license=200000, # 200K THB
setup_cost=50000, # 50K THB
annual_maintenance=100000, # 100K/yr
power_cooling_monthly=8000, # 8K/mo
it_staff_monthly=45000, # 45K/mo (50% FTE)
)
opex = OpExModel(
name="AWS Cloud",
cloud_monthly=35000, # 35K/mo
saas_monthly=5000, # 5K/mo
support_monthly=3000, # 3K/mo
staff_monthly=22500, # 22.5K/mo (25% FTE)
)
comparison = CostComparison()
comparison.compare(capex, opex, years=3)
comparison.compare(capex, opex, years=5)
ตัวอย่าง CapEx และ OpEx ในงาน IT
# it_examples.py — ตัวอย่าง CapEx/OpEx ในงาน IT
it_items = {
"CapEx (ค่าลงทุน)": [
{"item": "Server Dell PowerEdge R750", "cost": "250,000-500,000 THB", "lifecycle": "5 ปี"},
{"item": "Network Switch Cisco Catalyst", "cost": "50,000-200,000 THB", "lifecycle": "7 ปี"},
{"item": "Firewall Palo Alto", "cost": "200,000-1,000,000 THB", "lifecycle": "5 ปี"},
{"item": "Storage SAN", "cost": "300,000-2,000,000 THB", "lifecycle": "5 ปี"},
{"item": "UPS + Generator", "cost": "100,000-500,000 THB", "lifecycle": "10 ปี"},
{"item": "Windows Server License", "cost": "30,000-100,000 THB", "lifecycle": "ตลอดชีพ"},
{"item": "VMware vSphere License", "cost": "100,000-500,000 THB", "lifecycle": "ต่อ License"},
{"item": "Data Center Rack", "cost": "50,000-200,000 THB", "lifecycle": "15 ปี"},
],
"OpEx (ค่าดำเนินงาน)": [
{"item": "AWS EC2 (m5.xlarge)", "cost": "~12,000 THB/เดือน", "lifecycle": "รายเดือน"},
{"item": "AWS RDS (db.r5.large)", "cost": "~15,000 THB/เดือน", "lifecycle": "รายเดือน"},
{"item": "Microsoft 365 Business", "cost": "440 THB/user/เดือน", "lifecycle": "รายเดือน"},
{"item": "Slack Business+", "cost": "420 THB/user/เดือน", "lifecycle": "รายเดือน"},
{"item": "GitHub Team", "cost": "140 THB/user/เดือน", "lifecycle": "รายเดือน"},
{"item": "Cloudflare Pro", "cost": "700 THB/เดือน", "lifecycle": "รายเดือน"},
{"item": "Datadog Pro", "cost": "500 THB/host/เดือน", "lifecycle": "รายเดือน"},
{"item": "Internet Leased Line", "cost": "5,000-50,000 THB/เดือน", "lifecycle": "รายเดือน"},
],
}
for category, items in it_items.items():
print(f"\n{'='*55}")
print(f" {category}")
print(f"{'='*55}")
for item in items:
print(f" {item['item']:<35} {item['cost']:<25} ({item['lifecycle']})")
# === Decision Matrix ===
print(f"\n{'='*55}")
print(f" Decision Matrix: CapEx vs OpEx")
print(f"{'='*55}")
decisions = [
("Startup (งบจำกัด)", "OpEx", "ไม่ต้องลงทุนล่วงหน้า Scale ตามธุรกิจ"),
("Enterprise (งบพร้อม)", "Hybrid", "Core Infra เป็น CapEx, Dev/Test เป็น OpEx"),
("Workload คงที่", "CapEx", "CapEx ถูกกว่าในระยะยาว"),
("Workload ผันผวน", "OpEx", "จ่ายตามใช้จริง ไม่เสียเปล่า"),
("Compliance เข้มงวด", "CapEx", "ควบคุม Data Location เอง"),
("ต้องการเร็ว", "OpEx", "เริ่มใช้ Cloud ได้ทันที ไม่ต้องรอ Hardware"),
("ทีม IT น้อย", "OpEx", "Cloud Provider ดูแลให้ ไม่ต้องมี Ops มาก"),
]
print(f"\n {'สถานการณ์':<25} {'แนะนำ':<10} {'เหตุผล'}")
print(f" {'─'*70}")
for scenario, rec, reason in decisions:
print(f" {scenario:<25} {rec:<10} {reason}")
Cloud Cost Optimization
# cloud_cost_optimize.py — Cloud Cost Optimization Tips
optimization_tips = {
"Compute": [
{
"tip": "ใช้ Reserved Instances (RI)",
"savings": "30-72%",
"detail": "จอง 1-3 ปี ลดค่า Compute ได้มาก Workload คงที่เหมาะมาก",
},
{
"tip": "ใช้ Spot Instances",
"savings": "60-90%",
"detail": "สำหรับงานที่หยุดได้ เช่น Batch Processing, CI/CD, Training",
},
{
"tip": "Right-sizing",
"savings": "20-40%",
"detail": "เลือก Instance Type ที่เหมาะ ไม่ Over-provision",
},
{
"tip": "Auto-scaling",
"savings": "15-30%",
"detail": "Scale down นอกเวลาทำงาน Scale up เมื่อ Load เพิ่ม",
},
],
"Storage": [
{
"tip": "Storage Tiering",
"savings": "40-80%",
"detail": "ย้ายข้อมูลเก่าไป Cold Storage (S3 Glacier, Archive)",
},
{
"tip": "ลบ Unused Volumes",
"savings": "10-20%",
"detail": "ตรวจสอบ EBS Volumes ที่ไม่ได้ Attach กับ Instance",
},
],
"Network": [
{
"tip": "ใช้ CDN",
"savings": "20-50%",
"detail": "ลด Data Transfer จาก Origin ใช้ CloudFront/Cloudflare",
},
{
"tip": "VPC Endpoints",
"savings": "10-30%",
"detail": "ลด NAT Gateway costs ใช้ Private Endpoints",
},
],
}
print("Cloud Cost Optimization Guide")
print("=" * 55)
total_potential = 0
for category, tips in optimization_tips.items():
print(f"\n [{category}]")
for tip in tips:
print(f" {tip['tip']} (Savings: {tip['savings']})")
print(f" {tip['detail']}")
print(f"\nMonthly Cost Review Checklist:")
checklist = [
"ตรวจสอบ Unused Resources (Instances, Volumes, IPs)",
"Review Right-sizing Recommendations",
"ตรวจสอบ Reserved Instance Coverage",
"Review Data Transfer Costs",
"ตรวจสอบ Spot Instance Opportunities",
"Review Storage Tiering",
"ตั้ง Budget Alerts",
"Tag Resources สำหรับ Cost Allocation",
]
for item in checklist:
print(f" [ ] {item}")
เคล็ดลับการเลือก
- วิเคราะห์ Workload: ถ้า Workload คงที่มากกว่า 70% CapEx อาจถูกกว่าในระยะยาว
- คำนวณ TCO: เปรียบเทียบ Total Cost of Ownership 3-5 ปี รวมค่าพนักงาน ค่าไฟ ค่าบำรุงรักษา
- Hybrid Approach: ใช้ CapEx สำหรับ Core Infrastructure, OpEx สำหรับ Dev/Test และ Burst Capacity
- Cash Flow: ถ้าเงินสดจำกัด OpEx ช่วยกระจายค่าใช้จ่ายเป็นรายเดือน
- Tax Benefits: ปรึกษาฝ่ายบัญชี CapEx ตัดค่าเสื่อมราคา OpEx หักค่าใช้จ่ายทันที
- Review Monthly: ทบทวนค่าใช้จ่าย Cloud ทุกเดือน หา Optimization Opportunities
CapEx คืออะไร
Capital Expenditure ค่าใช้จ่ายลงทุนสินทรัพย์ถาวร ซื้อ Server อุปกรณ์ Network License จ่ายครั้งเดียว เป็นเจ้าของสินทรัพย์ ตัดค่าเสื่อมราคา 3-5 ปี
OpEx คืออะไร
Operating Expenditure ค่าใช้จ่ายดำเนินงานประจำ Cloud SaaS Subscription บำรุงรักษา จ่ายรายเดือน/ปี ไม่เป็นเจ้าของ หักค่าใช้จ่ายทันที ยืดหยุ่นปรับขนาดได้
CapEx กับ OpEx อันไหนดีกว่า
ขึ้นกับสถานการณ์ CapEx เหมาะมีเงินทุนพร้อม ควบคุม Infra เอง Workload คงที่ OpEx เหมาะ Startup ต้องการยืดหยุ่น Workload ไม่แน่นอน Scale เร็ว หลายองค์กรใช้ Hybrid
Cloud Computing เป็น CapEx หรือ OpEx
Cloud เป็น OpEx จ่ายตามใช้งาน Pay-as-you-go รายเดือน ไม่ต้องลงทุน Hardware แต่ Reserved Instances จอง 1-3 ปี อาจเป็น CapEx ในบางกรณี ขึ้นกับนโยบายบัญชี
สรุป
CapEx คือค่าลงทุนสินทรัพย์ถาวร จ่ายครั้งเดียว ตัดค่าเสื่อมราคา OpEx คือค่าดำเนินงาน จ่ายรายเดือน หักค่าใช้จ่ายทันที Cloud Computing เปลี่ยน IT จาก CapEx เป็น OpEx เพิ่มความยืดหยุ่น ลดความเสี่ยง เลือกตาม Workload, Cash Flow และกลยุทธ์องค์กร ทบทวนค่าใช้จ่ายทุกเดือนเพื่อหา Optimization
