มารู้จักคลาวด์เพลตฟอร์มเพื่อเลือกใช้งาน กันหน่อยดีกว่า

DINOQ Co.,Ltd
3 min readMar 6, 2016

DinoQ Entrepreneur Platform 2016/03 ( info@dinoq.com )

ปัจจุบันในขณะที่การประมวลผลกลุ่มเมฆ(Cloud Computing) กำลังเป็นที่นิยมมากขึ้นๆ เรื่อย ครอบคลุมไปแทบธุรกิจ ไม่เป็นจะเป็นธุรกิจขนาดเล็กที่นิยมใช้กันมานานแล้ว แม้กระทั่งธุรกิจธนาคารขนาดใหญ่ที่ต้องการความปลอดภัยของระบบสูง ก็ยังมีการนำประมวลผลกลุ่มเมฆมาใช้งานเป็นจำนวนมาก

หากท่านใดเคยศึกษาเรื่องการประมวลผลกลุ่มเมฆ มาบ้างน่าจะทราบว่าเราได้ทำการแบ่งการประมวลผลกลุ่มเมฆ เป็น 3 ประเภทใหญ่ๆ คือ 1. IaaS (Infrastructure as a Service) จะสามารถควบคุมจัดการได้ตั้งแต่ระดับ Infrastrcture ขึ้นไป เช่น กำหนด CPU, Memory, Disk, Network, OS รวมถึง Software ต่างๆที่ทำการติดตั้งบน OS, 2. Paas (Platform as a Service) จะสามารถควบคุมจัดการในระดับ Application Container ส่วนขอบเขตจะทำได้มากน้อยอย่างไรขึ้นอยู่กับเพลตฟอร์มที่ใช้ โดยมาก จะถูกใช้งานร่วมกับ Database service ซึ่งนิยมเรียกว่า DaaS (Database as a Service) ถ้าดูจาก PaaS ที่มีให้บริการในปัจจุบันจะเห็นว่ามันคือการเอา Application Server หรือ Web Server มาให้บริการอยู่บนการประมวลผลกลุมเมฆนั่นเอง ซึ่งโดยมากจะยึดตามเพลตฟอร์มการพัฒนาเดิมๆที่มีอยู่แล้ว เช่น Java, .Net, PHP, Python และอื่นๆ และ ท้ายสุด 3. SaaS (Software as a Service) ซึ่งแบบนี้จะเป็นแบบสูงสุดโดยผู้ใช้งาน ไม่ต้องสนใจสิ่งใดเลยไม่ว่าเป็น Infrastructure, Server, Network หรือในระดับ Application Container และ Database service เพียงแค่สนใจในตัว Application ว่าทำงานตรงกับความต้องการได้จริง รองรับผู้ใช้งานทั้งมากและน้อยได้ และมีความทนทานต่อเหตุฉุกเฉิน หรือภัยพิบัติได้เท่านั้น

นอกเหนือจาก 3 ตัวที่กล่าวมา ในช่วงปี 2013 ถึง 2015 นี้ยังมีรูปแบบของ Cloud service ที่เกิดขึ้นใหม่ จะบอกว่าเกิดใหม่คงไม่ใช่ซะทีเดียวเพราะจริงๆแล้วมันเกิดขึ้นมาจากการแบ่ง PaaS และ SaaS ยังไม่ชัดพอ โดยระยะหลังจะมีเพลตฟอร์มเกิดใหม่ที่ไม่ใช่แค่ PaaS โดยตัวเพลตฟอร์มมันเอง จะประกอบได้ด้วยทั้ง Platform services, Identity Services, Integration services, Business Process Management Services, Development Tools, Deployment Tools, Management Tools จะเห็นว่าเพลตฟอร์มที่เกิดใหม่นี้ครอบคลุมไปถึงทุกๆส่วนของการพัฒนาแอพพลิเคชันจนถึงการดูแลใช้งานจริงเลยที่เดียว สรุปว่ามันใหญ่กว่า PaaS แต่ก็ยังไม่ใช่ SaaS อยู่ดี การแบ่งประเภทมันขออ้างอิงจากทางการ์ทเนอ บริษัททำวิจัยเรื่องเทคโนโลยีคอมพิวเตอร์ที่มีชื่อเสียงโด่งดัง กำหนดให้ชื่อว่า APaaS (Application Platform as a Service) โดยตัวเพลตฟอร์มจะรวมกระบวนการทั้ง Develop, Deploy, Scale, Integrate และ Manage application ไว้ในเพลตฟอร์มเดียว

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

  1. ค่าใชจ่ายในการลงทุนซอร์ฟแวร์ และฮาร์ดแวร์
    IaaS = ซับซ้อน เพราะยังต้องใช้รูปแบบเดิมในการจัดการ
    PaaS = ปรับไปใช้การจ่ายราย transaction operation ทั้งในส่วน Application Container และ Database service
    SaaS = ปรับไปใช้การจ่ายราย transaction ในเชิงธุรกิจ
    APaaS = ปรับไปใช้การจ่ายราย transaction ในเชิง Business object และ Business process
  2. ค่าใชจ่ายในการลงทุนเรื่องความรู้ และเทคโนโลยี
    IaaS = ลงทุนสูงเพราะมีเรื่องที่ต้องเรียนรู้เยอะ ละเอียดยิบย่อยมาก
    PaaS = น้อยลงมาหน่อยแต่ยังคงต้องเรียนรู้รายละเอียดของการพัฒนาแอพพลิเคชันเยอะอยู่ดี
    SaaS =ไม่ต้องเรียนรู้อะไรมาก แค่เรียนรู้วิธีใช้งาน
    APaaS = ยังคงต้องเรียนรู้วิธีพัฒนาแอพพลิเคชันและจัดการมัน แต่ง่ายกว่าเดิมเยอะ
  3. ความเป็นเจ้าของซอฟต์แวร์ของลูกค้า
    IaaS = เป็นเจ้าของแอพพลิเชัน
    PaaS = เป็นเจ้าของแอพพลิเชัน
    SaaS = ไม่ได้เป็นเจ้าของแอพพลิเชัน
    APaaS = เป็นเจ้าของแอพพลิเชัน
  4. ทรัพยากรบุคลด้านไอที
    IaaS = เยอะและคงความซับซ้อนเหมือนเดิม
    PaaS = หน่วยงานพัฒนายังคงเหมือนเดิม แต่หน่วยงานที่ดูแลระบบปรับให้งานน้อยลง
    SaaS = ไม่ต้องมีหน่วยงานทั้งพัฒนา และดูแลระบบ
    APaaS = ทั้งหน่วยงานพัฒนา และหน่วยงานที่ดูแลระบบปรับให้งานน้อยลง
  5. ความรวดเร็วติดตั้งเพื่อเพิ่มผู้ใช้งาน และปรับขยายระบบ
    IaaS = ซับซ้อนมีขั้นตอนเยอะ
    PaaS = ดีขึ้นแต่ก็ยังมีขั้นตอนเยอะ
    SaaS = ใช้ได้ทันที
    APaaS = เป็นระบบอัตโนมัตทั้งหมด
  6. ความน่าเชื่อถือและการการ์รันตี
    IaaS = มีตัวแปรในการทำงานเยอะควบคุมยาก
    PaaS = มีตัวแปรในการทำงานน้อยลงแต่ยังควบคุมยาก
    SaaS = แทบไม่มีตัวแปรในการทำงานที่ควบคุมไม่ได้
    APaaS = มีตัวแปรในการทำงานน้อยเป็นระบบอัตโนมัตทั้งหมด
  7. การย้ายไปสู่เพลตฟอร์ม หรือบริการอื่น
    IaaS = ง่ายมาก
    PaaS = ง่าย ถึงพอจะทำได้ ขึ้นอยู่กับการออกแบบ
    SaaS = ย้ายไม่ได้เลย
    APaaS = ย้ายยากมาก
  8. การปรับเปลี่ยน เพิ่มลดความสามารถของแอพพลิเคชัน
    IaaS = ต้องทำการพัฒนา และติดตั้งใหม่
    PaaS = ต้องทำการพัฒนา และติดตั้งใหม่
    SaaS = ทำไม่ได้ มีแค่ใหนใช้แค่นั้น
    APaaS = ทำการพัฒนา และติดตั้งใหม่ ซึ่งทำได้ง่ายขึ้น

ดังนั้นขอสรุปได้ว่า

IaaS เหมาะกับงานที่ต้องการย้ายระบบเก่าขึ้นบน Cloud โดยไม่ต้องการจะแก้ไขอะไรทั้งนั้น หรือแก้ไขให้น้อยที่สุด

PaaS เหมาะกับงานที่ต้องการพัฒนาขึ้นมาใช้ภายในบริษัท ที่ไม่เหมือนชาวบ้าน และไม่ตรงกับมาตรฐานทั่วไป ที่ต้องการปรับไปใช้บน Cloud ที่ไม่ใช่แค่ย้ายขึ้นไปเฉยจากระบบเดิม แต่ต้องการลดงานในส่วนดูแลและจัดการเครื่องเซอร์ฟเวอร์ และระบบฐานข้อมูล รวมถึงบริการต่างๆ ที่อยู่รอบแอพพลิเคชัน และข้อดีของ PaaS อีกข้อนึงหากออกแบบดีๆ คือสามารถย้ายข้ามผู้ให้บริการ PaaS แต่ละเจ้าได้

SaaS เหมาะกับงานที่เป็นมาตรฐานชัดอยู่แล้ว ไม่ว่าบริษัทใหนก็ต้องใช้แอพพลิเคชันตัวนี้ ในแบบนี้แหละ เช่น ระบบเมลล์, ระบบบัญชี และอืนๆ

APaaS จะคล้ายๆกับ PaaS แต่จะมีข้อดีกว่าตรงที่ไม่ใช่แค่ลดงานในส่วนดูแลและจัดการเครื่องเซอร์ฟเวอร์ แต่ยังสามารถลดงานในส่วนงานพัฒนาระบบได้อีกด้วย แต่ก็นั่นและข้อเสียที่ใหญ่สุดของ APaaS คือ แอพพลิเคชันจะยึดติดกับเพลตฟอร์มทำการย้ายไม่ได้

กลับมามองการให้บริการเว็บไซท์ในประเทศไทยเราหน่อย

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

บาง Web hosting จะมาพร้อมกับ CMS(Web Content Management) ซึ่งก็คือเว็บไซท์สำเร็จรูป เอามาปรับนิดๆหน่อยๆ ก็ใช้ได้แล้ว และ CMS บางเจ้ามีปลั๊กอินเพื่อเพิ่มความสามารถที่อลังการมาก

ตัวอย่าง เช่น Wordpress ถึงขั้นมีนักพัฒนาบางกลุ่มเอามาพัฒนา Theme และ Plug-In ขายกันเลยทีเดียว

ผู้ให้บริการในไทยบางเจ้าก็พยายามทำ IaaS นำเสนอ แต่รูปแบบของ PaaS หรือ APaaS ยังไม่พบในไทย

อีกรูปแบบหนึ่งทีพบค่อนช้างเยอะในไทย คือ แอพพลิเคชันสำเร็จรูป ซึ่งผมขอจัดให้อยู่ในกลุ่ม SaaS นะครับ ก็มีหลายๆเจ้าที่ให้บริการพื้นที่ขายของ ให้ทำเว็บหน้าร้านโดยสามารถปรับแต่งได้เอง ซึ่งการปรับแต่งมีทั้ง ลากวางจากหน้าจอโดยตรง หรือมี Web backend หลังบ้านคอยจัดการให้ รวมถึงการเลือก Theme ของเว็บที่จะแสดงผลด้วย

จะเห็นว่าไม่ว่าเป็น SaaS ในรูปแบบของ CMS หรือแอพพลิเคชันสำเร็จรูป ดังที่กล่าวมา ปัญหาใหญ่ของแอพพลิเคชันเหล่านี้คือ ความเฉพาะเจาะจงของแอพพลิเคชันที่ถูกออกแบบมาเพื่อทำงานหนึ่งงานใดเกินไป จึงไม่สามารถปรับแต่งได้มากนัก เหมาะกับการทำเว็บไซท์ง่ายๆทั่วไป และแอพพลิเคชันที่เฉพาะที่ต้องการเพียงตามมาตรฐานที่กำหนดเท่านั้น

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

สิ่งเหล่านี้เป็นตัวผลักดันให้ผู้ประกอบการไม่สามารถใช้มาตรฐานเดิมๆในการดำเนินธุรกิจได้ จะต้องมองหาอะไรที่ต่างออกไปเพื่อล้ำหน้าคู่แข่งให้ได้

ดังนั้นคำตอบที่ออกมาท้ายสุดสำหรับผู้ประกอบการทุกๆท่าน คือการพัฒนาแอพพลิเคชันให้รวดเร็ว และต้องสามารถรองรับการปรับแต่งที่หลากหลาย ซึ่งทำให้ APaaS ใกล้เคียงกับคำตอบมากที่สุด เพื่อที่จะสามารถดำเนินธุรกิจอย่างต่อเนื่อง และสามารถแข่งขันในตลาดได้

นั่นเป็นเหตุผลหนึ่งที่เราพัฒนา ไดโนคิวเพลตฟอร์ม(DinoQ Platform) ให้อยู่ในรูปแบบของ APaaS และ เพิ่มความสามารถของ Application Market เพื่อเป็นการรักษาสมดุลย์ของระบบให้ทั้งสามารถปรับแต่งได้ง่ายไม่จำกัด และยังคงความรวดเร็วในการพัฒนาแอพพลิเคชันอยู่ นอกจากนั้น DinoQ Platform ยังถูกออกแบบมาให้สนับสนุนการทำ Mobile application ทั้งแบบที่เป็น Web mobile และ Native mobile application อีกด้วย.

เกี่ยวกับรายละเอียดของ ไดโนคิวเพลตฟอร์ม(DinoQ Platform) ขอกล่าวถึงในโอกาสต่อไป สำหรับบทความนี้ขอเน้นให้เห็นภาพรวมการพัฒนาแอพพลิเคชันบนการประมวลผลกลุมเมฆ(Cloud Computing) นะครับ

ดูบทความอื่นๆ กดลิ้งค์เลยครับ

--

--

DINOQ Co.,Ltd

ไดโนคิวแพลตฟอร์ม คือแพลตฟอร์มเครื่องมือการพัฒนา และบริหารจัดการแอพแบบครบวงจร ลดงาน ลดขั้นตอน และลดคนในกระบวนการพัฒนาสูงสุดถึง 90% เร็วขึ้น ง่ายขึ้นสูงสุดถึง 90%