Spring Boot คืออะไร และวิธี Deploy บน Cloud Server
Spring Boot คือเฟรมเวิร์ก Java ที่ใช้สร้างระบบหลังบ้านระดับองค์กร จุดเด่นคือความเสถียร ระบบนิเวศที่ครบ และการรองรับระยะยาว ทำให้เป็นมาตรฐานของระบบธุรกิจจำนวนมาก
- หมวดหมู่
- ภาษาโปรแกรมและ Framework
- ติดตั้งบนเซิร์ฟเวอร์เองได้
- ได้
- สเปกเริ่มต้นที่แนะนำ
- 2 vCPU · RAM 4 GB
- ไลเซนส์
- Apache License 2.0 (โอเพนซอร์ส)
- เว็บทางการ
- เปิดเว็บไซต์
- ISO/IEC 27001
- ISO 22301
- ISO 20000-1
- CSA-STAR
Data Center ในไทย มาตรฐาน TIA-942 Tier 3+ ข้อมูลอยู่ในประเทศไทย
Spring Boot คืออะไร
ระบบขององค์กรใหญ่จำนวนมากเขียนด้วย Java เพราะต้องการความเสถียรและการรองรับระยะยาว แต่การตั้งค่าโครงการ Java แบบเดิมยุ่งยากมากจนกลายเป็นอุปสรรค
Spring Boot แก้ด้วยการตั้งค่าให้อัตโนมัติตามสิ่งที่โปรเจกต์ใช้ และรวมเว็บเซิร์ฟเวอร์ไว้ในไฟล์เดียว ทำให้รันแอปได้ด้วยคำสั่งเดียวโดยไม่ต้องติดตั้งเซิร์ฟเวอร์แอปแยก
ระบบนิเวศครอบคลุมงานที่ระบบองค์กรต้องใช้ครบ ทั้งการเชื่อมฐานข้อมูล ระบบความปลอดภัย การจัดการธุรกรรม และการเฝ้าระวังสถานะของแอป ซึ่งลดเวลาพัฒนาลงมาก
ความสามารถเด่นของ Spring Boot
ตั้งค่าให้อัตโนมัติ
ลดงานตั้งค่าโครงการที่เคยเป็นอุปสรรคของ Java
รวมเว็บเซิร์ฟเวอร์ไว้ในไฟล์เดียว
รันได้ด้วยคำสั่งเดียวโดยไม่ต้องติดตั้งเซิร์ฟเวอร์แอปแยก
ระบบความปลอดภัยที่ครบ
จัดการการยืนยันตัวตนและสิทธิ์ได้ตามมาตรฐานองค์กร
เชื่อมฐานข้อมูลได้หลากหลาย
ทำงานกับฐานข้อมูลที่องค์กรใช้อยู่ได้เกือบทั้งหมด
มีจุดตรวจสถานะในตัว
ระบบเฝ้าระวังดึงสถานะและตัวชี้วัดของแอปได้ทันที
ใช้ Spring Boot ทำอะไรได้บ้าง
- ระบบหลังบ้านขององค์กรที่ต้องการความเสถียรระยะยาว
- API ที่เชื่อมกับระบบเดิมขององค์กร
- ระบบธุรกรรมที่ต้องการความถูกต้องของข้อมูลสูง
- องค์กรที่มีทีม Java อยู่แล้ว
สเปก Cloud Server ที่แนะนำ
| ระดับการใช้งาน | vCPU | RAM | Disk |
|---|---|---|---|
| เริ่มต้นบริการเดียวที่มีผู้ใช้ไม่มาก | 2 vCPU | 4 GB | NVMe 40 GB |
| แนะนำระบบงานจริงที่มีผู้ใช้ต่อเนื่อง | 4 vCPU | 8 GB | NVMe 100 GB |
| ใช้งานหนักหลายบริการหรือทราฟฟิกสูง | 8 vCPU ขึ้นไป | 16 GB ขึ้นไป | NVMe 200 GB ขึ้นไป |
ดูราคาตามสเปกได้ที่ ราคา Cloud Compute หรือให้ทีมงานช่วยประเมินสเปกจากปริมาณผู้ใช้จริงของคุณ
วิธีติดตั้ง Spring Boot บน Cloud Server ของ THAI DATA CLOUD
ขั้นตอนด้านล่างใช้กับ Cloud Server ที่เพิ่งสร้างใหม่จากหน้าจัดการของ THAI DATA CLOUD ได้ทันที ถ้าไม่สะดวกทำเอง ทีมวิศวกรของเราติดตั้งและตั้งค่าให้ฟรีสำหรับลูกค้า Cloud Server
สิ่งที่ต้องเตรียม
- Java Runtime รุ่น LTS ที่โปรเจกต์รองรับ
- ฐานข้อมูลที่แอปเชื่อมต่อ
- Nginx พร้อมใบรับรอง SSL
- RAM มากพอสำหรับหน่วยความจำที่ JVM จอง
ทดสอบบน Ubuntu Server 24.04 LTS
- 1
ติดตั้ง Java Runtime
sudo apt update sudo apt -y install openjdk-21-jre-headless nginx java -version - 2
สร้างผู้ใช้และวางไฟล์แอป
sudo useradd -r -s /bin/false springapp sudo mkdir -p /opt/springapp sudo cp target/app.jar /opt/springapp/ sudo chown -R springapp:springapp /opt/springapp - 3
สร้างไฟล์บริการ
กำหนดหน่วยความจำที่ JVM ใช้ให้เหมาะกับ RAM ของเครื่อง โดยเผื่อไว้ให้ระบบปฏิบัติการด้วย
# /etc/systemd/system/springapp.service [Unit] Description=Spring Boot Application After=network.target [Service] User=springapp ExecStart=/usr/bin/java -Xms512m -Xmx2g -jar /opt/springapp/app.jar EnvironmentFile=/opt/springapp/app.env Restart=always RestartSec=10 [Install] WantedBy=multi-user.target - 4
ตั้งค่าตัวแปรสภาพแวดล้อม
# /opt/springapp/app.env SPRING_DATASOURCE_URL=jdbc:postgresql://10.10.0.20:5432/appdb SPRING_DATASOURCE_USERNAME=appuser SPRING_DATASOURCE_PASSWORD=ChangeThisStrongPassword SERVER_PORT=8080 - 5
เปิดบริการและตั้ง Nginx
sudo systemctl enable --now springapp sudo systemctl status springapp --no-pager # ตั้ง Nginx ให้ส่งต่อไปที่พอร์ต 8080 พร้อม HTTPS - 6
เปิดจุดตรวจสถานะสำหรับระบบเฝ้าระวัง
เปิดเฉพาะจุดตรวจที่จำเป็นและจำกัดให้เข้าถึงได้จากวงภายในเท่านั้น เพราะบางจุดตรวจเปิดเผยข้อมูลการตั้งค่าของระบบ
management.endpoints.web.exposure.include=health,info,metrics management.server.port=8081 management.server.address=10.10.0.11
ตั้งขีดจำกัดหน่วยความจำของ JVM ให้เหมาะกับ RAM ของเครื่องเสมอ เพราะค่าเริ่มต้นอาจจองมากเกินจนระบบปฏิบัติการปิดกระบวนการเมื่อหน่วยความจำไม่พอ
พอร์ตที่ต้องเปิดบน Firewall
| พอร์ต | โปรโตคอล | ใช้ทำอะไร |
|---|---|---|
| 443 | TCP | HTTPS ผ่าน Nginx |
| 8080 | TCP | พอร์ตภายในของแอป |
| 8081 | TCP | จุดตรวจสถานะ (เปิดเฉพาะวงภายใน) |
สิ่งที่ควรทำต่อหลังติดตั้งเสร็จ
- รันแอปด้วยผู้ใช้ที่ไม่มีสิทธิ์สูงสุด
- เปิดจุดตรวจสถานะเฉพาะที่จำเป็นและจำกัดเฉพาะวงภายใน
- เก็บค่าลับในไฟล์ตัวแปรสภาพแวดล้อมที่จำกัดสิทธิ์
- อัปเดตไลบรารีตามการแจ้งช่องโหว่เพราะระบบนิเวศ Java มีการแจ้งบ่อย
- ตั้งขีดจำกัดหน่วยความจำของ JVM ให้เหมาะกับเครื่อง
ทำไมควรรัน Spring Boot บน Cloud Server ของ THAI DATA CLOUD
Data Center ในประเทศไทย มาตรฐาน ISO/IEC 27001 และ ISO 22301 พร้อมทีมวิศวกรคนไทยดูแลตลอด 24 ชั่วโมง
เชื่อมกับฐานข้อมูลใน Private Network ได้โดยตรงโดยไม่ต้องเปิดพอร์ตสู่ภายนอก
ปรับ RAM ได้ตามหน่วยความจำที่แอปต้องใช้จริง
รันหลายบริการบนเครื่องเดียวหรือแยกเครื่องตามการเติบโตของระบบ
คำถามที่พบบ่อยเกี่ยวกับ Spring Boot
ต้องใช้ RAM เท่าไหร่
ขึ้นกับขนาดของแอปและปริมาณข้อมูลที่ประมวลผล บริการทั่วไปควรมีอย่างน้อย 4 GB โดยตั้งขีดจำกัดหน่วยความจำของ JVM ไว้ประมาณครึ่งหนึ่งของ RAM เพื่อเผื่อให้ระบบปฏิบัติการใช้
Deploy แบบไหนดี
การรันเป็นบริการของระบบตรงไปตรงมาและเพียงพอสำหรับระบบส่วนใหญ่ ส่วนองค์กรที่มีหลายบริการและต้องปรับขนาดบ่อยมักบรรจุเป็นคอนเทนเนอร์แล้วรันบน Kubernetes
จุดตรวจสถานะปลอดภัยไหม
ต้องระวัง เพราะบางจุดตรวจเปิดเผยข้อมูลการตั้งค่าและตัวแปรสภาพแวดล้อม ควรเปิดเฉพาะที่จำเป็น แยกพอร์ตออกจากพอร์ตหลัก และจำกัดให้เข้าถึงได้จากวงภายในเท่านั้น
ทางเลือกอื่นที่คล้ายกับ Spring Boot
แอปอื่นในหมวด ภาษาโปรแกรมและ Framework
บริการของ THAI DATA CLOUD ที่เกี่ยวข้อง
ให้เราติดตั้ง Spring Boot ให้ฟรี บน Cloud Server ในไทย
แจ้งความต้องการสั้น ๆ ทีมวิศวกรจะช่วยประเมินสเปก ติดตั้ง และตั้งค่าความปลอดภัยให้พร้อมใช้งาน ปรึกษาฟรี ไม่มีข้อผูกมัด