Setting Up Environment

ขั้นตอนแรกของแอปพลิเคชันโฮสต์ติ้งคือการสร้าง environment กับการแยกคอนเทนเนอร์ที่จำเป็น
Ruk-Com Cloud PaaS ได้จัดเตรียม UI ที่มีประสิทธิภาพและใช้งานง่าย เพื่อการสร้างและการกำหนดค่า environment ตามความต้องการของคุณ ในบทความนี้จะแนะนำขั้นตอนที่จำเป็นทั้งหมดพร้อมกับข้อมูลจำเพาะและคำอธิบายเพิ่มเติมเกี่ยวกับฟีเจอร์ต่างๆ

1. เริ่มต้นด้วยการเข้าสู่ระบบ Ruk-Com Cloud แดชบอร์ดแล้วคลิกปุ่ม New Environment ที่มุมบนด้านซ้าย

2. ภายใน topology wizard คุณสามารถตั้งค่าการปรับแต่งที่จำเป็นทั้งหมดได้ เราแนะนำให้ทำการปรับเปลี่ยนตามลำดับต่อไปนี้:

ด้านล่างนี้เราจะพูดถึงแต่ละส่วนอย่างละเอียดโดยให้คำอธิบายเกี่ยวกับความเป็นไปได้ทั้งหมดในการทำงาน เมื่อทำความคุ้นเคยกับกระบวนการแล้วคุณจะสามารถกำหนด environment ใหม่ได้ (หรือปรับเปลี่ยนสภาพแวดล้อมที่มีอยู่) ภายในเวลาไม่ถึงนาที

การเลือกภาษาการเขียนโปรแกรมหรือตัวเลือกการ deploy โดยเฉพาะ

ขั้นตอนแรกของการสร้าง environment คุณต้องเลือกโซลูชันสำหรับการ deploy ที่จำเป็นสำหรับโปรเจกต์ของคุณ Ruk-Com Cloud PaaS เป็นแพลตฟอร์มที่สามารถปรับเปลี่ยนตามการใช้งานได้หลากหลาย ซึ่งรองรับตัวเลือกที่หลากหลายสำหรับการพัฒนาแอปพลิเคชันและการโฮสต์ ดังนั้นจึงเหมาะกับความต้องการของลูกค้ามากที่สุด

1. ตัวเลือกที่แนะนำและพบบ่อยที่สุด (เว้นแต่การดำเนินการตามแอปพลิเคชัน/สถาปัตยกรรมโดยเฉพาะ) คือคอนเทนเนอร์ที่ผ่านการรับรองแล้ว แสต็กเหล่านี้ได้รับการกำหนดค่าและการจัดการโดยเฉพาะจาก Ruk-Com Cloud (เช่น การอัปเดตเวอร์ชัน การติดตั้งความปลอดภัย) โดยค่าเริ่มต้นแพลตฟอร์มจะรองรับฟีเจอร์ทั้งหมด (การปรับขนาด, การ deploy อัตโนมัติ, redeploy, SSL และอื่นๆ) เพื่อการโฮสต์และการพัฒนาที่ราบรื่นและสะดวกที่สุด

คลิกที่แท็บเพื่อเลือกภาษาในการเขียนโปรแกรมที่ต้องการ (Java, PHP, Ruby, .NET, Node.js หรือ Python) เพื่อดำเนินการกับ Ruk-Com Cloud คอนเทนเนอร์ที่ผ่านการรับรองแล้ว

2. ตัวเลือกการ deploy อื่นๆอยู่ที่แท็บ Docker ตัวเลือกที่แสดงด้านล่างนี้มีพื้นฐานระบบคอนเทนเนอร์ Ruk-Com Cloud (เรียกว่า OS container) ซึ่งทำให้สามารถทำงานร่วมกันได้ส่วนใหญ่ (แต่ไม่ใช่ทั้งหมด) ลักษณะเด่นของแพลตฟอร์ม เช่น การปรับขนาดแบบ vertical และ horizontal

  • Custom Docker Containers – Docker image ตามระบบปฏิบัติการ OS ที่รองรับและ deploploy เข้าไปในระบบคอนเทนเนอร์ เมื่อเปรียบเทียบกับคอนเทนเนอร์ที่มีการจัดการ ตัวเลือกนี้จัดเตรียมการเข้าถึงโซลูชันที่หลากหลายมากขึ้น เช่น การค้นหา registry ใน Docker Hub ทั้งหมดหรือการจัดเก็บแบบส่วนตัว
    อย่างไรก็ตามระบบไม่สามารถรับประกันความสามารถในการทำงานของซอฟต์แวร์และความเข้ากันได้กับแพลตฟอร์มเนื่องจากเนื้อหาได้รับการจัดการโดยผู้ดูแล image ที่เกี่ยวข้อง เราจึงแนะนำให้สร้าง Docker image แบบกำหนดเองตาม image ที่ผ่านการรับรองแล้วโดยใช้คำสั่ง FROM
  • Docker EngineDocker Engine CE ที่ deploy ในระบบคอนเทนเนอร์ได้จัดเตรียมการเข้าถึงฟังก์ชั่นแบบเดิมของ Docker รวมถึงการติดตั้ง, การปรับขนาด และการจัดการต่างๆภายในแอปพลิเคชันคอนเทนเนอร์
  • Kubernetes Cluster Kubernetes cluster พร้อมใช้งานกับต้นฉบับที่กำหนดค่าไว้ล่วงหน้าแล้วและการใช้ worker nodes ที่สร้างขึ้นตามระบบคอนเทนเนอร์ การติดตั้ง, การปรับขนาด และการควบคุม/จัดการภายในของ microservice จะได้รับการดูแลโดย Kubernetes ในขณะที่ Ruk-Com Cloud จะปรับขนาดและจัดการกับ master และ worker nodes

3. นอกจากนี้เราขอแนะนำให้เลือกภูมิภาคตามที่คุณต้องการ (หากมี) ก่อนการดำเนินการต่อไป

การตั้งค่า Topology

คุณสามารถกำหนดค่า environment topology (โครงสร้างเลเยอร์) ผ่าน wizard ทางด้านซ้ายโดยพิจรณาว่าเป็นตัวช่วยสร้าง environment ของคุณตามบล็อกที่มีดังต่อไปนี้:

  • Load Balancers – สแต็กที่ทำงานเป็นจุดเริ่มต้นสำหรับ environment เพื่อแจกจ่ายคำขอที่เข้ามาและสร้าง load บน nodes อื่นๆ
  • Application Servers (การคำนวณ nodes) – เว็บเซิร์ฟเวอร์ที่รันบนแอปพลิเคชันของคุณ
  • Databases (SQL & NoSQL) – โซลูชันฐานข้อมูลเพื่อการจัดเก็บและการจัดการข้อมูล
  • Cache Node – Memcached ระบบแคชอ็อบเจ็กต์เพื่อเร่งความเร็วแอปพลิเคชันและทำให้ database load ลดลง
  • Shared Storage – หน่วยเก็บข้อมูลเฉพาะพร้อมทั้งการรองรับ NFSv4, การขยายพื้นที่ disk ให้ใหญ่ขึ้นและประสิทธิภาพที่เหมาะสมที่สุด
  • Elastic VPS – เซิร์ฟเวอร์ส่วนตัวเสมือนจริงบน CentOS, Ubuntu, Debian และ Windows OS
  • Build Node – เครื่องมือสร้างระบบอัตโนมัติสำหรับโปรเจ็กต์ Java
  • Extra (เลเยอร์ที่กำหนดเอง) – สแต็กใดๆที่กล่าวข้างต้น

1. Ruk-Com PaaS มีตัวเลือกยอดนิยมมากมายสำหรับแต่ละส่วนเหล่านี้ คุณสามารถเปิดใช้งานบล็อกที่คุณต้องการสำหรับ environment และเลือก stack ที่เหมาะสมตามหน้าที่

เคล็ดลับ: หากคุณไม่พบซอร์ฟแวร์โซลูชันที่ต้องการคุณสามารถเพิ่ม Docker container แบบกำหนดเองได้จาก Docker Hub หรือที่จัดเก็บส่วนตัว

2. การป้องกัน SSL สามารถกำหนดค่าสำหรับ environment ของคุณผ่านส่วนที่มีชื่อเดียวกัน โดยจะมี 2 ตัวเลือกให้เลือก:

  • Built-In SSL – เปิดใช้งาน SSL certificate ที่เชื่อถือได้หลีกเลี่ยงการตรวจสอบเพิ่มเติมและประหยัดเวลาของคุณในการตรวจสอบใบรับรอง อย่างไรก็ตามสามารถใช้ได้กับชื่อโดเมนของ environment เริ่มต้นเท่านั้น (เช่น โดเมนของโฮสต์ส่วนท้าย) และจะไม่สามารถทำงานได้หากมี public IP แนบมากับเซิร์ฟเวอร์ของคุณด้วย
  • Custom SSL – แสดงเงื่อนไขเบื้องต้นเกี่ยวกับการใช้ SSL certificate แบบกำหนดเองสำหรับ environment โดยคลิกที่ปุ่ม Enable เพื่อปฏิบัติตามข้อกำหนดโดยอัตโนมัติ (เช่น การเปิดใช้งาน IP สาธารณะ) และสามารถคลิกลิงก์เพื่อดูคำแนะนำเพิ่มเติม

เคล็ดลับ: นอกจากนี้คุณสามารถใช้ Let’s Encrypt SSL เพิ่มเข้าไปหลังจากการสร้าง environment เพื่อออกใบรับรอง SSL ฟรีโดยอัตโนมัติ

การกำหนดค่า nodes resources และข้อมูลเฉพาะ

เมื่อกำหนดโครงสร้าง topology เสร็จแล้วคุณสามารถปรับเปลี่ยนแต่ละเลเยอร์ได้ที่ส่วนกลางของ wizard ในส่วนนี้จะอธิบายเกี่ยวกับตัวเลือกต่างๆที่สามารถใช้ได้

1. คุณสามารถสลับเลเยอร์ ON/OFF รวมถึงเปลี่ยนชื่อ alias เองได้

2. กำหนดค่าการปรับขนาดแบบ automatic vertical scaling โดยการตั้งค่าจำนวน dynamic cloudlets (1 cloudlet = 128 MiB ของ RAM และ 400 MHz ของ CPU) สำหรับ node ภายในเลเยอร์

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

3. ในส่วนของ horizontal scaling ช่วยในการกำหนดจำนวน nodes ภายในเลเยอร์และเลือกโหมดการปรับขนาดที่คุณต้องการได้ (stateful หรือ stateless)

หากต้องการปรับเปลี่ยนเพิ่มเติมคุณสามารถคลิกดรอปดาวน์เพื่อเปลี่ยน stack และเวอร์ชันที่ต้องการในกรณีของการปรับเปลี่ยน environment ที่มีอยู่ รายการเหล่านี้จะ redirect ไปยัง redeploy container เพื่อปรับใช้การเปลี่ยนแปลง

เคล็ดลับ: คลิกที่ไอคอนเฟืองสำหรับตัวเลือกเพิ่มเติมเกี่ยวกับการจัดการในระหว่างการปรับขนาด

4. กำหนดการตั้งค่าเพิ่มเติม

ในแต่ละรายการอาจแตกต่างกันออกไป ขึ้นอยู่กับสแต็กโดยเฉพาะและการอนุญาตบัญชี

  • Auto-Clustering – การจัดกลุ่มอัตโนมัติสำหรับเทมเพลตที่ผ่านการรับรองแล้ว ข้อมูลเพิ่มเติมสามารถปรากฏเพิ่มขึ้นได้หลังจากเปิดใช้งาน เช่นการเลือกรายการ (master-slave, master-master หรือ Galera) สำหรับ database cluster
  • Disk Limit – จำนวนดิสก์ที่จองไว้ต่อหนึ่ง node และคอนเทนเนอร์แบบ shared storage ส่วนมากจะมีปริมาณความจุที่ใหญ่ขึ้น
  • Sequential restart-delay – การถ่วงเวลาระหว่างการดำเนินการ restart ที่เสร็จสมบูรณ์บนโหนดหนึ่งและเริ่มต้นโหนดอื่นเพื่อหลีกเลี่ยง downtime และทำให้แน่ใจว่ายังมีเซิร์ฟเวอร์อย่างน้อยหนึ่งเครื่องทำงานอยู่ คุณสามารถตั้งค่าเป็น “-1” สำหรับการ restart โหนดทั้งหมดภายในเลเยอร์พร้อมกันได้
  • High-Availability – การจำลองเซสชันอัตโนมัติสำหรับแอปพลิเคชันเซิร์ฟเวอร์ Tomcat และ TomEE
  • Access via SLB – บล็อกการเข้าถึง node ของเลเยอร์ผ่านแพลตฟอร์ม Shared Load Balancer
  • Public IPv4/IPv6 – แนบเลขที่อยู่ IP ภายนอกที่ระบุกับแต่ละ node ภายในเลเยอร์

5. ส่วนของด้านล่างนี้คุณจะเห็นปุ่มต่างๆสำหรับการกำหนดค่าคอนเทนเนอร์:

  • Variables – ตรวจสอบและจัดการลิสของตัวแปร environment สำหรับเลเยอร์ปัจจุบัน
  • Links – เชื่อมต่อเลเยอร์ภายใน environment
  • Volumes – การจัดการลิสของข้อมูล volumes เพื่อให้แน่ใจว่าไฟล์มีความสมบูรณ์ในวงจรของคอนเทนเนอร์
  • Ports – ดูข้อมูลเกี่ยวกับพอร์ตของคอนเทนเนอร์
  • CMD/Entry Point – กำหนดค่า Entry Point และ Run Command ของคอนเทนเนอร์

ตรวจสอบและยืนยันการสร้าง Environment

หลังจากกำหนดค่าทั้งหมดเสร็จแล้วคุณสามารถตรวจสอบจำนวนทรัพยากรที่จัดสรรและค่าใช้จ่ายโดยปรมาณของ environment ได้

1. หน่วยในการวัดทรัพยากรของ Ruk-Com Cloud PaaS คือ cloudlets โดยคุณสามารถดูจำนวนรายการที่จองไว้ reserved และขีดจำกัดในการปรับขนาด (dynamic) สำหรับสภาพแวดล้อมทั้งหมดได้

เพื่อการวิเคราะห์ที่ดีขึ้น ค่าจะถูกแบ่งออกเป็นกลุ่มตามสีดังนี้:

  • สีเขียว – Load Balancer
  • สีน้ำเงิน – Application Server
  • สีส้ม – Databases และ Cache Nodes
  • สีเทา – สแต็กอื่นๆทั้งหมด

2. ถัดไปคุณสามารถดูค่าใช้จ่ายโดยประมาณของ environment คุณได้โดยวิดเจ็ตจะแสดงราคาตามสีเดียวกับด้านบนและคุณสามารถเปลี่ยนช่วงเวลาได้ ไม่ว่าจะเป็นรายชั่วโมง รายวัน หรือรายเดือน

แท็บ FROM แสดงจำนวนเงินที่จะถูกเรียกเก็บเนื่องจากครอบคลุมทรัพยากรที่จองไว้แล้ว ส่วนแท็บ TO จะแสดงราคาสูงสุดที่เป็นไปได้ หาก node ทั้งหมดใน environment กำลังจะใช้ทรัพยากรทั้งหมดจนถึงขีดจำกัดการปรับขนาดในระยะเวลาทั้งหมด

เคล็ดลับ: วางเมาส์เหนือราคาเพื่อดูรายละเอียดเพิ่มเติมเกี่ยวกับการคำนวณค่าใช้จ่ายโดยประมาณ



คุณสามารถคลิกลิงก์ใต้วิดเจ็ตเพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีการคำนวณราคาและค่าบริการที่ Ruk-Com Cloud PaaS

3. ส่วนสุดท้ายระบุชื่อสำหรับ environment ของคุณและคลิกปุ่ม Create เพื่อดำเนินการต่อ

และนี่คือขั้นตอนทั้งหมดหลังจากกด create แล้วรอสักครู่ environment ใหม่ของคุณจะปรากฏบนแดชบอร์ด

ตอนนี้คุณก็พร้อมสำหรับการ deploy แอปพลิเคชันและใช้งาน environment กับระบบคลาวด์ของคุณต่อไป