โลโก้ Spring Boot
ภาษาโปรแกรมและ FrameworkApache License 2.0 (โอเพนซอร์ส)

Spring Boot คืออะไร และวิธี Deploy บน Cloud Server

Spring Boot คือเฟรมเวิร์ก Java ที่ใช้สร้างระบบหลังบ้านระดับองค์กร จุดเด่นคือความเสถียร ระบบนิเวศที่ครบ และการรองรับระยะยาว ทำให้เป็นมาตรฐานของระบบธุรกิจจำนวนมาก

ติดตั้งบนเซิร์ฟเวอร์เองได้
ได้
สเปกเริ่มต้นที่แนะนำ
2 vCPU · RAM 4 GB
ไลเซนส์
Apache License 2.0 (โอเพนซอร์ส)
เว็บทางการ
เปิดเว็บไซต์
สร้าง Cloud Server เดี๋ยวนี้
  • ISO/IEC 27001
  • ISO 22301
  • ISO 20000-1
  • CSA-STAR

Data Center ในไทย มาตรฐาน TIA-942 Tier 3+ ข้อมูลอยู่ในประเทศไทย

Spring Boot คืออะไร

ระบบขององค์กรใหญ่จำนวนมากเขียนด้วย Java เพราะต้องการความเสถียรและการรองรับระยะยาว แต่การตั้งค่าโครงการ Java แบบเดิมยุ่งยากมากจนกลายเป็นอุปสรรค

Spring Boot แก้ด้วยการตั้งค่าให้อัตโนมัติตามสิ่งที่โปรเจกต์ใช้ และรวมเว็บเซิร์ฟเวอร์ไว้ในไฟล์เดียว ทำให้รันแอปได้ด้วยคำสั่งเดียวโดยไม่ต้องติดตั้งเซิร์ฟเวอร์แอปแยก

ระบบนิเวศครอบคลุมงานที่ระบบองค์กรต้องใช้ครบ ทั้งการเชื่อมฐานข้อมูล ระบบความปลอดภัย การจัดการธุรกรรม และการเฝ้าระวังสถานะของแอป ซึ่งลดเวลาพัฒนาลงมาก

แผนผังการวางระบบ Spring Boot บน Cloud Server หนึ่งเครื่องที่ Data Center ในประเทศไทย ผู้ใช้เข้าถึงผ่านไฟร์วอลล์ที่เปิดเฉพาะพอร์ต 443, 8080, 8081 ตัว Spring Boot และข้อมูลอยู่บนเครื่องเดียวกัน เริ่มต้นที่ 2 vCPU แรม 4 GB และมีสำเนาสำรองเขียนออกไปเก็บอีกไซต์หนึ่ง
Spring Boot ทำงานบน Cloud Server เครื่องเดียวได้ครบ เปิดเฉพาะพอร์ตที่จำเป็น ข้อมูลและสำเนาสำรองอยู่ใน Data Center ในประเทศไทย

ความสามารถเด่นของ Spring Boot

ตั้งค่าให้อัตโนมัติ

ลดงานตั้งค่าโครงการที่เคยเป็นอุปสรรคของ Java

รวมเว็บเซิร์ฟเวอร์ไว้ในไฟล์เดียว

รันได้ด้วยคำสั่งเดียวโดยไม่ต้องติดตั้งเซิร์ฟเวอร์แอปแยก

ระบบความปลอดภัยที่ครบ

จัดการการยืนยันตัวตนและสิทธิ์ได้ตามมาตรฐานองค์กร

เชื่อมฐานข้อมูลได้หลากหลาย

ทำงานกับฐานข้อมูลที่องค์กรใช้อยู่ได้เกือบทั้งหมด

มีจุดตรวจสถานะในตัว

ระบบเฝ้าระวังดึงสถานะและตัวชี้วัดของแอปได้ทันที

ใช้ Spring Boot ทำอะไรได้บ้าง

  • ระบบหลังบ้านขององค์กรที่ต้องการความเสถียรระยะยาว
  • API ที่เชื่อมกับระบบเดิมขององค์กร
  • ระบบธุรกรรมที่ต้องการความถูกต้องของข้อมูลสูง
  • องค์กรที่มีทีม Java อยู่แล้ว

สเปก Cloud Server ที่แนะนำ

แผนภาพเทียบสเปก Cloud Server สำหรับ Spring Boot 3 ระดับ เริ่มจาก 2 vCPU แรม 4 GB ดิสก์ NVMe 40 GB ไปจนถึง 8 vCPU ขึ้นไป แรม 16 GB ขึ้นไป ดิสก์ NVMe 200 GB ขึ้นไป โดยเทียบขนาดแยกตามแต่ละคอลัมน์
เริ่มจากระดับที่ตรงกับการใช้งานตอนนี้ แล้วเพิ่ม CPU และ RAM ทีหลังได้บนเครื่องเดิม
ระดับการใช้งานvCPURAMDisk
เริ่มต้นบริการเดียวที่มีผู้ใช้ไม่มาก2 vCPU4 GBNVMe 40 GB
แนะนำระบบงานจริงที่มีผู้ใช้ต่อเนื่อง4 vCPU8 GBNVMe 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. 1

    ติดตั้ง Java Runtime

    sudo apt update
    sudo apt -y install openjdk-21-jre-headless nginx
    java -version
  2. 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. 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. 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. 5

    เปิดบริการและตั้ง Nginx

    sudo systemctl enable --now springapp
    sudo systemctl status springapp --no-pager
    # ตั้ง Nginx ให้ส่งต่อไปที่พอร์ต 8080 พร้อม HTTPS
  6. 6

    เปิดจุดตรวจสถานะสำหรับระบบเฝ้าระวัง

    เปิดเฉพาะจุดตรวจที่จำเป็นและจำกัดให้เข้าถึงได้จากวงภายในเท่านั้น เพราะบางจุดตรวจเปิดเผยข้อมูลการตั้งค่าของระบบ

    management.endpoints.web.exposure.include=health,info,metrics
    management.server.port=8081
    management.server.address=10.10.0.11

ตั้งขีดจำกัดหน่วยความจำของ JVM ให้เหมาะกับ RAM ของเครื่องเสมอ เพราะค่าเริ่มต้นอาจจองมากเกินจนระบบปฏิบัติการปิดกระบวนการเมื่อหน่วยความจำไม่พอ

พอร์ตที่ต้องเปิดบน Firewall

พอร์ตโปรโตคอลใช้ทำอะไร
443TCPHTTPS ผ่าน Nginx
8080TCPพอร์ตภายในของแอป
8081TCPจุดตรวจสถานะ (เปิดเฉพาะวงภายใน)

สิ่งที่ควรทำต่อหลังติดตั้งเสร็จ

  • รันแอปด้วยผู้ใช้ที่ไม่มีสิทธิ์สูงสุด
  • เปิดจุดตรวจสถานะเฉพาะที่จำเป็นและจำกัดเฉพาะวงภายใน
  • เก็บค่าลับในไฟล์ตัวแปรสภาพแวดล้อมที่จำกัดสิทธิ์
  • อัปเดตไลบรารีตามการแจ้งช่องโหว่เพราะระบบนิเวศ 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 ให้ฟรี บน Cloud Server ในไทย

แจ้งความต้องการสั้น ๆ ทีมวิศวกรจะช่วยประเมินสเปก ติดตั้ง และตั้งค่าความปลอดภัยให้พร้อมใช้งาน ปรึกษาฟรี ไม่มีข้อผูกมัด