รู้จักกับ Jelastic Multi-Cloud DevOps PaaS

ในตลาดตอนนี้ ถ้าไม่พูดถึง Containers และ Kubernetes และ Virtualization คงไม่ได้ ในบทความก่อนหน้านี้แอดได้นำเสนอแนวคิดของ Jelastic ไปแล้ว และคำจำกัดความของคำว่า Platform-as-Infrastructure มันคือ market positioning of the company ในทางการตลาดของบริษัท Jelastic ครับ

บทความนี้เรามาสนใจสถาปัตยกรรมระบบ Jelastic และโซลูชัน Jelastic สำหรับแอปพลิเคชันกันดีกว่าครับ

Jelastic ระบบที่ออกแบบมาให้จัดการง่ายบน private, public และ hybrid cloud อีกทั้งยังคงความยืดหยุ่นในการปรับแต่งโครงสร้างพื้นฐานและการกำหนดค่าแอปพลิเคชัน

Jelastic เป็นแพลตฟอร์มแบบเปิดที่รองรับการพัฒนาเว็บแอปพลิเคชันโปรแกรมหลายภาษา เช่น Java, PHP และ Ruby, Node.js, Python, .Net เทคโนโลยี Containers และ Kubernetes

สถาปัตยกรรม Jelastic ประกอบด้วยอะไรบ้าง?

Jelastic architecture ถูกออกแบบบนโมดูลซอฟต์แวร์ระบบระดับสูง (high level of the main system) รองรับเทคโนโลยีสมัยใหม่ เป็น Platform-as-Infrastructure ที่ผู้ใช้สามารถออกแบบเลือกใช้ Technology stack สำหรับเว็บแอปพลิเคชันได้อย่างง่ายดาย

Jelastic architecture เป็นซอฟต์แวร์แพลตฟอร์มทำงานบนคลัสเตอร์ (กลุ่มของเซิร์ฟเวอร์) ที่ทำหน้าที่เหมือนระบบเดียวสำหรับรันแอปพลิเคชันบน Cluster Orchestrator (Infrastructure Node) ที่ผู้ให้บริการได้จัดเตรียม environment ไว้ให้แล้ว ประกอบด้วย Hardware Nodes ที่เก็บคอนเทนเนอร์แยกที่จัดเตรียมไว้สำหรับ environment และ Cluster Orchestrator (Infrastructure Node) สำหรับการประมวลผลภายในดังรูป

Jelastic Platform-as-Infrastructure

จากรูปข้างบน Jelastic Cluster Orchestrator จะเห็นว่าแต่ละคอนเทนเนอร์แอปพลิชันแยกอยู่บนคนละ Hardware Node

Cluster Orchestrator (Infrastructure Node)

Cluster Orchestrator เป็นระบบภายในสำหรับการจัดการทรัพยากรการร้องขอการประมวลผลการวิเคราะห์พฤติกรรมของผู้ใช้และสนับสนุนการบำรุงรักษาระบบ Jelastic ครับ ส่วนประกอบของอินฟาโหนด (components of infra node) หน้าที่อาทิเช่น Provisioning, Templates configuration, Applications deployment, Logs และ statistics, Billing เป็นต้น

หากเปรียบเทียบกับ components of computer ก็เป็น Motherboard, CPU, Network card, Power supply, RAM

Infrastructure Level

ลำดับโครงสร้างพื้นฐานของซอฟต์แวร์แพลตฟอร์ม Jelastic โดยเราสามารถติดตั้ง Jelastic บน Bare Metal เซิร์ฟเวอร์หรือโซลูชัน IaaS บนผู้ให้บริการรายต่าง ๆ เช่น OpenStack, vSphere, GCP, AWS, Azure, Rackspace และอื่น ๆ ดังนั้นจำนวนโหนดฮาร์ดแวร์ในคลัสเตอร์ก็ขึ้นอยู่กับการจัดเตรียม Infrastructure Node ของผู้ให้บริการ IaaS ครับ

Hardware Nodes คือเซิร์ฟเวอร์จริง (physical server) หรือเครื่องเสมือน (virtual machine) ที่สร้างด้วยเทคโนโลยี KVM, ESXi, Hyper-V เป็นต้น

Infrastructure Level

ดังนั้นทุก ๆ Stack (Environment) ที่เราสร้างขึ้นหรือ stack จาก Marketerplace เช่น WordPress Cluster Kit เราสามารถเมื่อสร้างบน Datacenter ของผู้ให้บริการ PaaS Jelastic ได้ทันที ซึ่งผู้ให้บริการ PaaS พาร์ทเนอร์ของ Jelastic ในประเทศไทยก็คือ ruk-com.cloud ครับ

เราสามารถเลือกสร้าง environment และติดตั้งแอปพลิเคชันได้ ไม่ว่าจะเป็น load balancing, app servers, databases ได้บนศูนย์ข้อมูลทั้งใน ไทย, สิงคโปร์, ญี่ปุ่น และฝรั่งเศษ บนโครงสร้างพื้นฐานหรือ Infrastructure-as-a-Service (IaaS) อย่าง Google Cloud ครับ จากนั้นระบบก็จะสร้าง virtual containers ขึ้นมาบน Hardware Node ดังรูปครับ

Container Based Virtualization

เพื่อรองรับแอปพลิเคชันจำนวนมากที่สุด บนเซิร์ฟเวอร์จริงเครื่องเดียว! Jelastic เลือกใช้เทคโนโลยีซอฟต์แวร์เวอร์ชวลไลเซชันระบบ Virtuozzo Containers™ OS ในการการจัดเตรียมเลเยอร์เสมือนเซิร์ฟเวอร์ในระดับระบบปฏิบัติการ OS-level virtualization (Containers) เป็นระบบคอนเทนเนอร์บนเทคโนโลยีเสมือน (Container-based virtualization) สำหรับการจัดการเซิร์ฟเวอร์เสมือนและคอนเทนเนอร์ให้มีประสิทธิภาพที่เพิ่มขึ้นโดยอัตโนมัติ

ด้วยการจัดการบริการเสมือนจริง และ Jelastic ได้รับการออกแบบมาเพื่อให้ Developer หรือผู้ดูแลระบบสามารถขยายขึ้นโหนดใหม่ได้อย่างรวดเร็ว (Auto Scaling)

โดย Jelastic สามารถจัดการคอนเทนเนอร์แบ่งคอนเทนเนอร์แอปพลิเคชันต่าง ๆ ลงบน Hardware Nodes ได้อย่างมีประสิทธิภาพ เนื่องจากแต่ละคอนเทนเนอร์ถูกแยกออกจากกันอย่างสมบูรณ์จึงมีความปลอดภัยสูง, ผู้ใช้สามารถใช้ทรัพยากรเซิร์ฟเวอร์ได้สูงสุง, คอนเทนเนอร์ที่อยู่บน Hardware Nodes เป็นระบบปฏิบัติการเป็น Linux ดิสโทร CentOS (และรองรับ Linux ดิสโทรอื่น ๆ)

High Availability for Apps

Jelastic แพลตฟอร์ม ระบบที่ทำให้แอปพลิเคชันพร้อมใช้งานตลอดเวลา โดยวิธีการกระจายคอนเทนเนอร์ของ environment บน Hardware Nodes ที่แตกต่างกัน (physical servers) กล่าวคือคอนเซปต์ “Concept Cloud & Virtualization” เป็นการทำ High Availability บนคลาวด์ที่ใช้ Virtualization เข้ามาช่วยเหลือนั้นเองครับ

High Availability for Apps

ด้วยเหตุนี้ทำให้ Jelastic แพลตฟอร์มช่วยลดความเสี่ยงของการหยุดทำงานของแอปพลิเคชัน (application downtime) หากเครื่อง physical เซิร์ฟเวอร์เครื่องใดเครื่องหนึ่งมีปัญหา ไม่ว่าจะด้านฮาร์ดแวร์หรือด้านประสิทธิภาพ

อีกทั้ง Jelastic HA ทำงานใน Level ของ Application มันก็คือการทำ Cluster Orchestrator ครับ ที่ไม่ว่าคอนเทนเนอร์ไหนจะตายลงระบบก็จะสร้าง คอนเทนเนอร์ขึ้นมาทำงานอัตโนมัติ (ตามที่เราตั้งค่า Scalling ไว้)

Live Migration

การจะย้าย Environment (OS + App) จากศูนย์ข้อมูลหนึ่งข้ามไปอีกศูนย์ข้อมูลหนึ่งได้ (ไม่ใช่แค่เซิร์ฟเวอร์เครื่อง 1 ไปเครื่อง 2 นะครับ แบบนั้นเรียกว่า Migrate ระหว่าง 2 เซิร์ฟเวอร์ ไม่ให้เกิด Downtime (หรือระยะเวลาล่มน้อยที่สุด)

Live Migration

แอดหวังเป็นอย่างยิ่งว่าบทความนี้จะช่วยให้เข้าใจ Jelastic Architecture of the Platform-as-Infrastructure มากยิ่งขึ้นครับ (รายละเอียดเพิ่มเติมดูได้ที่ Jelastic)

Scroll to top