โลโก้ Ruby on Rails
ภาษาโปรแกรมและ FrameworkMIT (โอเพนซอร์ส)

Ruby on Rails คืออะไร และวิธี Deploy บน Cloud Server

Ruby on Rails คือเฟรมเวิร์กที่ทำให้สร้างเว็บและระบบธุรกิจได้เร็วมาก ด้วยแนวคิดที่กำหนดรูปแบบมาตรฐานไว้ให้ ทีมจึงไม่ต้องตัดสินใจเรื่องโครงสร้างซ้ำในทุกโครงการ

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

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

Ruby on Rails คืออะไร

Rails ตั้งอยู่บนแนวคิดว่าโครงการเว็บส่วนใหญ่มีโครงสร้างคล้ายกัน จึงกำหนดรูปแบบมาตรฐานไว้ให้ทั้งการวางไฟล์ การตั้งชื่อ และการเชื่อมกับฐานข้อมูล ทีมจึงเริ่มเขียนตรรกะธุรกิจได้ทันที

ผลคือความเร็วในการพัฒนาที่สูงมาก โดยเฉพาะในช่วงเริ่มต้นของโครงการ ซึ่งเป็นเหตุผลที่ธุรกิจเกิดใหม่จำนวนมากเลือกใช้เพื่อออกผลิตภัณฑ์ให้เร็วที่สุด

ข้อควรพิจารณาคือจำนวนนักพัฒนาในตลาดน้อยกว่าภาษายอดนิยมอื่นอย่างชัดเจน องค์กรจึงควรประเมินว่าหาคนมาดูแลต่อได้หรือไม่ก่อนเลือกใช้กับระบบระยะยาว

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

ความสามารถเด่นของ Ruby on Rails

กำหนดรูปแบบมาตรฐานไว้ให้

ทีมไม่ต้องตัดสินใจเรื่องโครงสร้างซ้ำในทุกโครงการ

สร้างโครงสร้างพื้นฐานอัตโนมัติ

สั่งคำสั่งเดียวได้ทั้งตาราง โมเดล และหน้าจอพื้นฐาน

จัดการโครงสร้างฐานข้อมูลเป็นเวอร์ชัน

เปลี่ยนโครงสร้างและย้อนกลับได้อย่างเป็นระบบ

มีเครื่องมือทดสอบในตัว

เขียนการทดสอบได้ตั้งแต่ต้นโดยไม่ต้องตั้งค่าเพิ่ม

ไลบรารีสำเร็จรูปจำนวนมาก

มีส่วนเสริมสำหรับงานที่พบบ่อยให้ใช้ทันที

ใช้ Ruby on Rails ทำอะไรได้บ้าง

  • ธุรกิจเกิดใหม่ที่ต้องออกผลิตภัณฑ์ให้เร็ว
  • ระบบภายในองค์กรที่มีหน้าจัดการข้อมูลจำนวนมาก
  • เว็บแอปที่มีตรรกะธุรกิจซับซ้อน
  • องค์กรที่มีระบบเดิมเขียนด้วย Rails อยู่แล้ว

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

แผนภาพเทียบสเปก Cloud Server สำหรับ Ruby on Rails 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
ทราฟฟิกสูงหลาย Instance หลังตัวกระจายโหลด8 vCPU ขึ้นไป16 GB ขึ้นไปNVMe 200 GB ขึ้นไป

ดูราคาตามสเปกได้ที่ ราคา Cloud Compute หรือให้ทีมงานช่วยประเมินสเปกจากปริมาณผู้ใช้จริงของคุณ

วิธีติดตั้ง Ruby on Rails บน Cloud Server ของ THAI DATA CLOUD

ขั้นตอนด้านล่างใช้กับ Cloud Server ที่เพิ่งสร้างใหม่จากหน้าจัดการของ THAI DATA CLOUD ได้ทันที ถ้าไม่สะดวกทำเอง ทีมวิศวกรของเราติดตั้งและตั้งค่าให้ฟรีสำหรับลูกค้า Cloud Server

สิ่งที่ต้องเตรียม

  • Ruby รุ่นที่โปรเจกต์กำหนด
  • PostgreSQL หรือ MySQL
  • Redis สำหรับงานเบื้องหลังและแคช
  • Nginx พร้อมใบรับรอง SSL

ทดสอบบน Ubuntu Server 24.04 LTS

  1. 1

    ติดตั้งบริการพื้นฐาน

    sudo apt update
    sudo apt -y install build-essential libssl-dev libyaml-dev zlib1g-dev \
      postgresql libpq-dev redis-server nginx git
  2. 2

    ติดตั้ง Ruby ผ่านตัวจัดการเวอร์ชัน

    ใช้ตัวจัดการเวอร์ชันเพื่อให้ติดตั้งรุ่นที่โปรเจกต์กำหนดได้ตรงและสลับรุ่นได้เมื่อจำเป็น

    git clone https://github.com/rbenv/rbenv.git ~/.rbenv
    git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
    echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
    echo 'eval "$(rbenv init -)"' >> ~/.bashrc && source ~/.bashrc
    rbenv install 3.3.0 && rbenv global 3.3.0
  3. 3

    ดึงโค้ดและติดตั้งไลบรารี

    cd /var/www
    git clone [email protected]:team/app.git
    cd app
    bundle install --without development test
  4. 4

    ตั้งค่าและเตรียมฐานข้อมูล

    RAILS_ENV=production bundle exec rails db:create db:migrate
    RAILS_ENV=production bundle exec rails assets:precompile
  5. 5

    รันเป็นบริการ

    # /etc/systemd/system/rails.service
    [Unit]
    Description=Rails Application
    After=network.target
    
    [Service]
    User=deploy
    WorkingDirectory=/var/www/app
    Environment=RAILS_ENV=production
    ExecStart=/home/deploy/.rbenv/shims/bundle exec puma -C config/puma.rb
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
  6. 6

    ตั้งงานเบื้องหลังและ Nginx

    ตั้งตัวประมวลผลงานเบื้องหลังให้รันเป็นบริการแยก และให้ Nginx รับ HTTPS แล้วส่งต่อมาที่แอป พร้อมเสิร์ฟไฟล์คงที่โดยตรง

ตรวจว่ารุ่นของภาษาบนเครื่องจริงตรงกับที่โปรเจกต์กำหนด เพราะความต่างของรุ่นเป็นสาเหตุของปัญหาที่พบบ่อยที่สุดตอน Deploy

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

พอร์ตโปรโตคอลใช้ทำอะไร
443TCPHTTPS ผ่าน Nginx
3000TCPพอร์ตภายในของแอป
5432 / 6379TCPPostgreSQL และ Redis (เฉพาะภายใน)

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

  • เก็บคีย์ลับของแอปไว้นอก Git และจำกัดสิทธิ์ไฟล์
  • รันแอปด้วยผู้ใช้ที่ไม่มีสิทธิ์สูงสุด
  • ตรวจไลบรารีที่ใช้ด้วยเครื่องมือตรวจช่องโหว่ตามรอบ
  • ไม่เปิดพอร์ตฐานข้อมูลและ Redis สู่ภายนอก

ทำไมควรรัน Ruby on Rails บน Cloud Server ของ THAI DATA CLOUD

Data Center ในประเทศไทย มาตรฐาน ISO/IEC 27001 และ ISO 22301 พร้อมทีมวิศวกรคนไทยดูแลตลอด 24 ชั่วโมง

เชื่อมกับฐานข้อมูลและ Redis ใน Private Network ได้โดยตรง

แยกเครื่องสำหรับงานเบื้องหลังได้เมื่อระบบโต

ปรับสเปกได้ตามจำนวนผู้ใช้จริงโดยไม่ต้องย้ายระบบ

คำถามที่พบบ่อยเกี่ยวกับ Ruby on Rails

Rails ยังน่าใช้อยู่ไหม

ยังน่าใช้สำหรับทีมที่ต้องการความเร็วในการพัฒนาและระบบที่มีหน้าจัดการข้อมูลจำนวนมาก สิ่งที่ควรพิจารณาคือจำนวนนักพัฒนาในตลาดที่น้อยกว่าภาษายอดนิยมอื่น จึงควรประเมินว่าหาคนดูแลต่อได้หรือไม่

Deploy ยากไหม

มีขั้นตอนมากกว่าภาษาที่คอมไพล์เป็นไฟล์เดียว ทั้งการติดตั้งรุ่นของภาษา ไลบรารี และการเตรียมไฟล์คงที่ ทีมส่วนใหญ่จึงทำเป็นสคริปต์อัตโนมัติหรือบรรจุเป็นคอนเทนเนอร์เพื่อให้ทำซ้ำได้

รองรับผู้ใช้ได้มากแค่ไหน

รองรับได้ดีเมื่อออกแบบและจูนอย่างเหมาะสม โดยแยกงานที่ใช้เวลานานไปทำเบื้องหลังและเปิดแคชในจุดที่เหมาะ ระบบที่มีผู้ใช้จำนวนมากมักรันหลาย Instance หลังตัวกระจายโหลด

ให้เราติดตั้ง Ruby on Rails ให้ฟรี บน Cloud Server ในไทย

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