Ruby on Rails คืออะไร และวิธี Deploy บน Cloud Server
Ruby on Rails คือเฟรมเวิร์กที่ทำให้สร้างเว็บและระบบธุรกิจได้เร็วมาก ด้วยแนวคิดที่กำหนดรูปแบบมาตรฐานไว้ให้ ทีมจึงไม่ต้องตัดสินใจเรื่องโครงสร้างซ้ำในทุกโครงการ
- หมวดหมู่
- ภาษาโปรแกรมและ Framework
- ติดตั้งบนเซิร์ฟเวอร์เองได้
- ได้
- สเปกเริ่มต้นที่แนะนำ
- 2 vCPU · RAM 4 GB
- ไลเซนส์
- MIT (โอเพนซอร์ส)
- เว็บทางการ
- เปิดเว็บไซต์
- ISO/IEC 27001
- ISO 22301
- ISO 20000-1
- CSA-STAR
Data Center ในไทย มาตรฐาน TIA-942 Tier 3+ ข้อมูลอยู่ในประเทศไทย
Ruby on Rails คืออะไร
Rails ตั้งอยู่บนแนวคิดว่าโครงการเว็บส่วนใหญ่มีโครงสร้างคล้ายกัน จึงกำหนดรูปแบบมาตรฐานไว้ให้ทั้งการวางไฟล์ การตั้งชื่อ และการเชื่อมกับฐานข้อมูล ทีมจึงเริ่มเขียนตรรกะธุรกิจได้ทันที
ผลคือความเร็วในการพัฒนาที่สูงมาก โดยเฉพาะในช่วงเริ่มต้นของโครงการ ซึ่งเป็นเหตุผลที่ธุรกิจเกิดใหม่จำนวนมากเลือกใช้เพื่อออกผลิตภัณฑ์ให้เร็วที่สุด
ข้อควรพิจารณาคือจำนวนนักพัฒนาในตลาดน้อยกว่าภาษายอดนิยมอื่นอย่างชัดเจน องค์กรจึงควรประเมินว่าหาคนมาดูแลต่อได้หรือไม่ก่อนเลือกใช้กับระบบระยะยาว
ความสามารถเด่นของ Ruby on Rails
กำหนดรูปแบบมาตรฐานไว้ให้
ทีมไม่ต้องตัดสินใจเรื่องโครงสร้างซ้ำในทุกโครงการ
สร้างโครงสร้างพื้นฐานอัตโนมัติ
สั่งคำสั่งเดียวได้ทั้งตาราง โมเดล และหน้าจอพื้นฐาน
จัดการโครงสร้างฐานข้อมูลเป็นเวอร์ชัน
เปลี่ยนโครงสร้างและย้อนกลับได้อย่างเป็นระบบ
มีเครื่องมือทดสอบในตัว
เขียนการทดสอบได้ตั้งแต่ต้นโดยไม่ต้องตั้งค่าเพิ่ม
ไลบรารีสำเร็จรูปจำนวนมาก
มีส่วนเสริมสำหรับงานที่พบบ่อยให้ใช้ทันที
ใช้ Ruby on Rails ทำอะไรได้บ้าง
- ธุรกิจเกิดใหม่ที่ต้องออกผลิตภัณฑ์ให้เร็ว
- ระบบภายในองค์กรที่มีหน้าจัดการข้อมูลจำนวนมาก
- เว็บแอปที่มีตรรกะธุรกิจซับซ้อน
- องค์กรที่มีระบบเดิมเขียนด้วย Rails อยู่แล้ว
สเปก Cloud Server ที่แนะนำ
| ระดับการใช้งาน | vCPU | RAM | Disk |
|---|---|---|---|
| เริ่มต้นเว็บที่มีผู้ใช้ไม่มาก | 2 vCPU | 4 GB | NVMe 40 GB |
| แนะนำระบบงานจริงพร้อมงานเบื้องหลัง | 4 vCPU | 8 GB | NVMe 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
ติดตั้งบริการพื้นฐาน
sudo apt update sudo apt -y install build-essential libssl-dev libyaml-dev zlib1g-dev \ postgresql libpq-dev redis-server nginx git - 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
ดึงโค้ดและติดตั้งไลบรารี
cd /var/www git clone [email protected]:team/app.git cd app bundle install --without development test - 4
ตั้งค่าและเตรียมฐานข้อมูล
RAILS_ENV=production bundle exec rails db:create db:migrate RAILS_ENV=production bundle exec rails assets:precompile - 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
ตั้งงานเบื้องหลังและ Nginx
ตั้งตัวประมวลผลงานเบื้องหลังให้รันเป็นบริการแยก และให้ Nginx รับ HTTPS แล้วส่งต่อมาที่แอป พร้อมเสิร์ฟไฟล์คงที่โดยตรง
ตรวจว่ารุ่นของภาษาบนเครื่องจริงตรงกับที่โปรเจกต์กำหนด เพราะความต่างของรุ่นเป็นสาเหตุของปัญหาที่พบบ่อยที่สุดตอน Deploy
พอร์ตที่ต้องเปิดบน Firewall
| พอร์ต | โปรโตคอล | ใช้ทำอะไร |
|---|---|---|
| 443 | TCP | HTTPS ผ่าน Nginx |
| 3000 | TCP | พอร์ตภายในของแอป |
| 5432 / 6379 | TCP | PostgreSQL และ 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
แอปอื่นในหมวด ภาษาโปรแกรมและ Framework
บริการของ THAI DATA CLOUD ที่เกี่ยวข้อง
ให้เราติดตั้ง Ruby on Rails ให้ฟรี บน Cloud Server ในไทย
แจ้งความต้องการสั้น ๆ ทีมวิศวกรจะช่วยประเมินสเปก ติดตั้ง และตั้งค่าความปลอดภัยให้พร้อมใช้งาน ปรึกษาฟรี ไม่มีข้อผูกมัด