Magento แอปฯ พัฒนาเว็บ E-Commerce บน Cloud Thai

Magento แอปฯ พัฒนาเว็บ E-Commerce บน Cloud Thai

Magento แอปฯ พัฒนาเว็บ E-Commerce บน Cloud Thai

Magento แอปฯ พัฒนาเว็บ E-Commerce บน Cloud Thai

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

สำหรับการพัฒนาเว็บไซต์ E-Commerce มักจะมีปัจจัยแวดล้อมหลายๆ รูปแบบ ทำให้การพัฒนาและ Run ระบบส่วนใหญ่ นักพัฒนาจะใช้งาน Cloud Computing ซึ่ง Cloud Thai ในปัจจุบันก็มีประสิทธิภาพ ความเร็ว และมีเสถียรในการ Run ระบบอย่างต่อเนื่อง

Magento คืออะไร?

Magento เป็นชาแนลจัดการข้อมูลบนเว็บไซต์แบบ Content Management System (CMS) ในการพัฒนาเว็บไซต์ E-Commerce ที่มีฟีเจอร์การใช้งานที่ครบถ้วน โดยใช้ภาษา PHP ทำให้ผู้ใช้งานสามารถพัฒนาเว็บไซต์ได้ตั้งแต่ จัดหมวดหมู่สินค้า, อัปเดตจำนวนสินค้าในคลัง, ระบบชำระเงิน, การจัดส่ง, ระบบโปรโมชัน ซึ่งโปรแกรมไม่ใช่โปรแกรมสำหรับสร้างเว็บไซต์สำเร็จรูป ผู้ใช้งานต้องเขียน รหัส ขึ้นมา ทำให้มีความยืดหยุ่นในการสร้าง และไม่มีความตายตัวในการออกแบบ แต่ยังคงมีฟังก์ชันที่อำนวยความสะดวกให้การสร้างเว็บไซต์ที่ง่ายดายมากขึ้น

Magento ใช้งานอย่างไร?

สำหรับการใช้งาน Magento มีการใช้งาน 2 รูปแบบ คือ

1. โปรแกรมทำงานบนคอมพิวเตอร์

2. ใช้งานบน Cloud Computing

การใช้งานบนคอมพิวเตอร์นั้นก็เหมือนการใช้งานแอปพลิเคชันทั่วไปที่ผู้ใช้งานต้องติดตั้งโปรแกรม แต่ด้วยการทำงานบนคอมพิวเตอร์ที่มีข้อจำกัดเรื่องของ Hardware ตั้งแต่ขั้นตอนการพัฒนา ไปจนถึง การ Run ระบบเว็บไซต์ E-Commerce เนื่องจากข้อมูลจำนวนมหาศาลบนเว็บไซต์ รวมถึงความมั่นคงในการทำงาน ทำให้ส่วนใหญ่คนเลือกใช้งาน Magento บน Cloud Computing กันมากกว่า

Magento บน Cloud Thai ดีกว่าอย่างไร?

Magento เป็นแพลตฟอร์มสร้างเว็บไซต์ E-Commerce ที่มีความโดดเด่นแล้วได้รับความนิยม ซึ่งการทำให้เว็บไซต์มีประสิทธิภาพที่สูงที่สุด ต้องมีทรัพยากรบนโครงสร้างพื้นฐาน (Infrastructure-as-a-Service) บน Cloud Computing ที่เหมาะสม ซึ่ง Cloud Thai สามารถตอบสนองการทำงานได้มากกว่า Cloud Global อย่างแน่นอน เนื่องจากมี เครือข่ายการทำงาน ที่รวดเร็วกว่า นั่นทำให้การทำงานมีความรวดเร็วและประสิทธิภาพสูงขึ้น

Cloud Thai นั้นมีสภาพแวดล้อมที่ยืดหยุ่นและเหมาะสม สามารถเพิ่ม-ลดขนาดของทรัพยากร Cloud Server ได้ทันที ตอบสนองกับการทำงานที่มีขนาดใหญ่ หรือการเพิ่มขึ้นของข้อมูลบนเว็บไซต์ รวมถึงมีผู้เชี่ยวชาญคอยดูแลระบบและให้การดูแลอย่างต่อเนื่องตลอดการใช้งานอีกด้วย

ทำไมต้องใช้งาน Cloud Thai บน NIPA.Cloud

Magento เป็นแพลตฟอร์มที่ต้องการสภาพแวดล้อมบนระบบที่มีความเสถียร ซึ่ง NIPA.Cloud สามารถสร้างประสิทธิภาพได้เหนือกว่า

1. เพิ่มประสิทธิภาพในการทำงาน

NIPA.Cloud มีฟังก์ชันการทำงานให้ผู้ใช้งานสามารถสร้าง Magento ได้อย่างรวดเร็ว ด้วยฟังก์ชัน Marketplace cloud พร้อมกับสภาพแวดล้อมในการรองรับปริมาณข้อมูล รวมถึงคุณสมบัติที่รองรับการใช้งานที่มีประสิทธิภาพบน Cloud Server ที่ช่วยลดความซับซ้อนของระบบ IT และมีการอัปเดตทั้ง Hardware และ ซอฟต์แวร์ อยู่เสมอ ทำให้ระบบเครือข่ายและข้อมูลของDevทั้งหมดถูกจัดเก็บอย่างมีประสิทธิภาพ ทำให้ระบบของผู้ใช้ที่สร้างขึ้นบน Cloud Computing ไม่มีวันหมดอายุ จนกว่าจะไม่มีการใช้งาน ซึ่งมีความยั่งยืนที่มากกว่าระบบแบบ On-Prem

2. แพ็คเกจที่เหมาะสมสำหรับ SMEs จนถึงระดับ Enterprise

NIPA.Cloud มีอุปกรณ์และทรัพยากรที่ธุรกิจสามารถปรับขนาดได้อย่างยืนหยุ่น ที่สามารถSetทรัพยากรเองได้ โดยคิดค่าบริการแบบ ใช้เท่าที่จ่าย ทำให้เมื่อเปรียบเทียบกับการทำงานแบบ On-prem มีค่าใช้จ่ายที่ต่ำกว่า นอกจากนี้ยังรองรับการ Migrate-to-Cloud หรือการย้ายระบบมายัง Cloud Server อีกด้วย

ทำให้ผู้ใช้งานสามารถปรับเปลี่ยน Instance Cloud ได้ตามต้องการและมีการอัปเดตอย่างต่อเนื่อง ตอบสนองการทำงานที่รวดเร็ว มีคุณภาพ ประสิทธิภาพ และความเสถียรต่อการทำงานบน Cloud Server

3. การปรับใช้และกำหนดค่า Workflow ได้อย่างต่อเนื่อง

การทำงานบน Cloud Computing ที่มีสภาพแวดล้อมที่ตอบโจทย์ของธุรกิจทุกระดับ ตั้งแต่ Instance Cloud, Network และ Storage ที่สามารถปรับใช้ได้และมีการใช้งานที่ง่าย สะดวก ทำให้ผู้ใช้สามารถปรับเปลี่ยน คืนค่า และกำหนดค่าได้อย่างอิสระ สามารถควบคุมการพัฒนา Magento ได้อย่างต่อเนื่องไม่มีสะดุด

3.1 เพิ่ม-ลดทรัพยากรได้ทุกเมื่อ

3.2 สามารถเลือกใช้ทรัพยากรได้หลากหลายตามความต้องการ เช่น หน่วยการประมวลผล (Processing Unit), เครือข่ายข้อมูล (Network), ระบบเก็บข้อมูล (Storage) หรือระบบปฏิบัติการ (OS) เป็นต้น

3.3 เข้าถึงง่าย เชื่อมต่อได้ทุกที่ทุกเวลาเพียงแค่สามารถเข้าถึงอินเทอร์เน็ตได้

4. เพิ่มความปลอดภัยด้วย Cloud Firewall บน Magento

Magento บน Cloud มีระบบรักษาความปลอดภัย ด้วยความยืดหยุ่นและประสิทธิภาพของ Cloud ทำให้ระบบมีความปลอดภัย ด้วยมาตรฐานที่ได้รับการยอมรับในระดับสากล รวมถึงบริการการดูแลอื่นๆ เช่น มีNOCดูแลตลอด 24 ชั่วโมง รวมถึงมี Data Center ที่ได้รับการรับรองและมีมาตรฐาน ISO/IEC เป็นต้น

NIPA.Cloud มีระบบความปลอดภัยบน Cloud ที่เยอะ ตั้งแต่ Cloud Firewall ในการจัดการอนุญาตการใช้งาน port บน Instance Cloud รวมถึงรองรับการทำงานแบบ หลาย โครงการ เพื่อสะดวกต่องานที่เป็นลักษณะ project ย่อยๆ เพิ่มความสะดวกและความปลอดภัยให้กับผู้ใช้งาน รวมถึงมีฟังก์ชันความปลอดภัยอื่นๆ เช่น Keypair, External IP และ VPC Network เป็นต้น

Cloud Servers?

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

คลาวด์ หรือ Cloud Computing คือการทำงานของ Server ขนาดใหญ่ ที่ทำงานด้วย Sever หลายๆ เครื่อง โดยแบ่งชั้นการประมวลผลออกจากชั้นเก็บข้อมูล เป็นการร่วมกันทำงานของ Server หลายๆ เครื่อง มีผลดีคือเมื่อ Server ใด Sever หนึ่งเกิดความเสียหายขึ้นก็จะไม่ส่งผลกับการใช้งานของผู้ใช้บริการ เพราะระบบจะทำการย้ายไปทำงานในเครื่องใหม่โดยอัตโนมัติ ซึ่งก็แสดงถึงความปลอดภัยของข้อมูลของผู้ใช้บริการนั่นเอง

 

ข้อดีของบริการ Cloud Server มีดังนี้

ความยืดหยุ่น : สามารถดึงทรัพยากรเพิ่มเติมมาใช้ได้เมื่อต้องการ

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

ติดตั้งง่าย : Cloud Server ไม่มีการตั้งค่าเริ่มต้นที่วุ่นวายมากนัก

เชื่อถือได้ : เพราะมี Server สำหรับให้บริการอยู่หลายตัว ถ้าตัวไหนเกิดมีปัญหาขึ้นมา แหล่งทรัพยากรก็จะย้ายไป Server อื่นทันทีโดยไม่กระทบต่อการใช้งานของผู้ใช้บริการ

ซึ่งในปัจจุบัน Cloud ได้เริ่มเข้ามามีบทบาทในการใช้งาน Web Hosting มากขึ้น อาจเป็นเพราะ Cloud สามารถช่วยประหยัดค่าใช้จ่ายในด้านการลงทุนซื้อ Server ได้ สามารถเลือกจ่ายค่าบริการเท่าที่ทางองค์กรเลือกใช้ และยังมีบริการให้เลือกใช้อย่างหลากหลาย ตัวอย่างเช่น Web Site , VM หรือ VPS , Mobile Service , Storage , Etc.

 

Container : รากฐานของระบบ Cloud

สำหรับใครที่เป็นสาย IT หรือ CXO (Cheif Experience Officer) คงเคยได้ยินเรื่องเกี่ยวกับ Docker และ Containerization กันมาบ้างแหละ แต่ถ้าถามว่า Docker และ Container คืออะไร แล้วจะมามีบทบาทเพิ่มศักยภาพให้ Virtual และ Cloud Infrastructure ของได้อย่างไร

ช่วงราวๆ ปี 1970 IBM ได้คิดค้น VM/370 Operating System ขึ้นมา ทำให้สามารถแยกส่วนการทำงานทางกายภาพและ Software ของ Mainframe Computer ได้ คือ ทำให้พวก Instance ของ OS หรือ VM รันได้ใน Environment ส่วนตัว สำหรับ Application และ User แต่ละรายออกจากกัน นอกจาก VM จะช่วยเสริมประสิทธิภาพการทำงานของ Mainframe แล้วยังทำให้การบริหารจัดการง่ายขึ้นอีกด้วย

และในที่สุด เทคโนโลยี Virtualization ก็แพร่หลายมาสู่ Intel และ PC ซึ่งเดิมถูกใช้งานสำหรับ Compatibility เช่น ระบบ DOS/Windows subsystem implemented in OS/2 2.0 เมื่อปี 1992

ต่อมาในปี 1999 VMware ได้เปิดตัวผลิตภัณฑ์ชิ้นแรก คือ VMware 1.0 สำหรับ Linux เพื่อให้ Windows และ Windows Application สามารถรัน Desktop Version ของ OS ได้ เนื่องจากในช่วงเวลานั้น Windows ยังขาด native apps อยู่หลายตัว ทำให้ VMware กลายมาเป็น Tools ยอดนิยมสำหรับ Software Developer ที่ต้องการ Code จาก Running Environment เผื่อในกรณีที่ Development VM เกิดผิดพลาดขึ้นมา OS จะได้ไม่ล่มไปทั้งระบบ

เมื่อเข้าสู่ยุค 2000 Client-server ก็เติบโตขึ้นอย่างรวดเร็วจน Data Center เต็มไปด้วย Server

และด้วยผลิตภัณฑ์จาก VMware ทั้ง ESX hypervisor, Xen, Hyper-V และ KVM ทำให้ x86 System ทั้งหลายกลายมาเป็น Virtual Machine กันเสียเยอะแยะ เม็ดเงินที่ต้องจ่ายเพื่อทำ Server และเป็นเจ้าของ Data Center จึงลดลงจนน่าตกใจ ผลลัพธ์ คือ จาก Physical Server หลายพันเครื่อง ตอนนี้เหลือเครื่อง Host สำหรับบรรจุ Virtual Machine เพียงไม่กี่เครื่องเท่านั้น

ซึ่ง Hypervisor และ Virtual Infrastructure นี้เองที่ผลักดันให้ Data Center และบริการ Publice Cloud แบบ IaaS (Infrastructure as a Service) เติบโตมาได้จนถึงทุกวันนี้

ในปัจจุบัน Public Cloud เช่น AWS (Amazon Web Service) และ Microsoft Azure จะเรียกเก็บเงินเป็นรายชั่วโมงที่ VM เปิดใช้งาน โดยคิดในส่วนของการใช้งาน Virtual cpus (vCPUs) ซึ่งเป็น Virtualization ส่วนหนึ่งของ Host CPU core

VM คือ แหล่ง Instance ทั้งหมดของ OS โดยต้องมี Kernel และ Device Driver ซึ่งเข้ากันได้กับ VM เครื่องอื่นๆ ที่ใช้ Hypervisor ร่วมกัน VM มีข้อดีด้านความสามารถในการย้าย System และ App ภายในจาก Physical ไปยัง Virtual ได้โดยไม่กระทบต่อโครงสร้างพื้นฐานของ Environment ที่มีอยู่ แต่ VM ก็กิน Resource เปลืองมาก โดยเฉพาะในส่วนของ Memory และ CPU intensive workloads อย่าง Database

ทั้งนี้ การใช้งาน VM ในระดับ Private และ Public Cloud หมายความว่า Workload จาก VM แบบ on-premise หลายเครื่อง จะถูกย้ายขึ้นไปบน Cloud กันหมด ซึ่งอาจเกิดปัญหา Scalability และเพื่อเป็นการแก้ปัญหาดังกล่าว Container จึงเข้ามามีบทบาท

Container คล้ายกับ VM ในด้านการสร้างพื้นที่เฉพาะสำหรับ Application โดยมีทรัพยากรแยกออกจากกัน ไม่ว่าจะเป็นพื้นที่สำหรับติดตั้ง, Memory และพื้นที่เก็บไฟล์ เพราะเหตุนี้ Container จึงสามารถมี Sysadmin และกลุ่มของ User ส่วนตัวเฉพาะแต่ละ Container ได้ แต่ที่ไม่เหมือนกับ VM ก็คือ Container ไม่ได้รัน Instance หรือ Image ของ OS อย่างสมบูรณ์ ด้วย Kernels, Drivers, และ Libraries ที่แชร์ร่วมกัน และไม่ว่า Container จะมีจำนวนมากแค่ไหน ก็สามารถรันได้บน Single OS เดียวกัน และมีขนาดเล็กนิดเดียว เมื่อเทียบกับ VM

ภายในหนึ่ง Container จะมีเพียง Application และ Setting กับ Storage ที่จำเป็นสำหรับการทำงานของ Application เท่านั้น ซึ่งบางครั้ง Concept นี้จะถูกเรียกว่า JeOS “Just enough OS”

ด้วยความที่ Container สามารถโอนถ่าย Libraries และ Patches จาก Host เมื่อ Host ของ Container อัพเดท Libraries พวก Container ทั้งหมดที่อยู่ใน Host ก็จะอัพเดท Libraries ไปด้วย จึงเรียกได้ว่า Container หรือ Virtual Environment ที่อยู่บน Host เดียวกันใช้งาน OS เวอร์ชั่นเดียวกันทั้งหมด

ทางด้านการทำงาน Container นั้นต้องการ Host OS หรือ Containerization Platform อย่าง LXC กับ Docker แตกต่างจาก VM ที่รันบน Hypervisor เพราะฉะนั้น Containerization จึงถูกพูดถึงในฐานะ Virtualization ในระดับ OS (Operating System-level Virtualization) โดย Linux containerization host จะรัน Linux containers ส่วน Windows containerization host ก็รัน Windows containers และเพราะ Container หลายตัวสามารถรันได้ด้วย Single Instance ของ OS การจะให้ Container Host กลายมาเป็น Single VM จึงสามารถทำได้เช่นกัน

ตอนนี้เราก็มาถึง Containerization Technology ที่กำลังเป็นที่สนใจกันแล้ว นั่นก็คือ Docker โดย Containerization Engine จริงๆ ของ Docker ใน Linux OS คือ LXC

Docker เป็น Containerization Technology ที่โดดเด่นด้วยการทำให้เราสามารถรวม Application ซับซ้อนทั้งหลายเป็นแพ็คเกจเอาไว้ แล้วอัพโหลดขึ้นที่เก็บไฟล์สาธารณะ จากนั้นก็ดาวน์โหลดมาติดตั้งใน Public หรือ Private Cloud ที่มี OS ซึ่งรัน Docker Engine และ Containerization Platform อยู่ ซึ่งเป็นวิธีการเดียวกันกับที่เราโหลดแอพฯ จาก App Store มาลงสมาร์ทโฟนหรือแท็บเล็ตนั่นแหละ

การย้าย Docker ไป Host อื่นก็สามารถทำได้ไม่ต่างกับการย้าย VM  แถมยังเร็วกว่าด้วยซ้ำ ส่วนเรื่องการ Clustering ข้อมูล Docker จะใช้ Swarm เป็นตัวจัดการไฟล์

สรุปแล้ว การมาถึงของ Container Technology ทำให้การพึ่งพา VM ลดน้อยลง เพราะ Container ได้นำเสนอทางเลือกประหยัดค่าใช้จ่ายด้าน Cloud Computing โดยเฉพาะในระดับ Hyperscale ได้อย่างน่าดึงดูดใจ ให้เหล่า CXO ต้องกลับไปคิดทบทวนเรื่องปรับโครงสร้างระบบและเปลี่ยนมาใช้งาน Docker กันสักที