คลังเก็บรายเดือน: กุมภาพันธ์ 2018

เทียบกันจะๆ Public, Private, และ Hybrid Cloud Computing แบบไหนที่ใช่คุณ

นักธุรกิจส่วนใหญ่ ที่หันมาใช้ Cloud Computing หลายคนมักเกิดคำถามว่า Cloud Computing มีแยกย่อยออกเป็น 3 รูปแบบ PublicPrivate, และ Hybrid Cloud Computing แล้วจะเลือกใช้แบบไหนดี เพื่อให้เหมาะกับธุรกิจของเรา

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

Public Clouds

Public Cloud คือ รูปแบบการให้บริการ Service และ Infrastructure ผ่านอินเทอร์เน็ต ไม่มีการติดตั้งใดๆ ในพื้นที่ของผู้ใช้งาน โดยระบบนี้เป็น Cloud ที่มีประสิทธิภาพสูงสุดในการแชร์ทรัพยากร แต่มีข้อด้อยในเรื่องของระบบความปลอดภัยหากเทียบกับ Private Cloud

Public Cloud จะเป็นตัวเลือกที่ดีที่สุดเมื่อ:

  1. Workload มาตรฐานสำหรับ Application ถูกใช้โดยคนจำนวนมาก เช่น E-mail
  2. ต้องการทดสอบและพัฒนา Application Code
  3. มี SaaS (Software as a Service) จากผู้ให้บริการที่เตรียมระบบรักษาความปลอดภัยและแผนการรับมือมาเป็นอย่างดี
  4. ต้องการความสามารถเพื่อรองรับ Workload ที่เพิ่มขึ้นอย่างมากในช่วง Peak Time
  5. มีโครงการหรืองานที่ต้องทำร่วมกับผู้อื่น
  6. ต้องการทำ ad-hoc software development project โดยใช้ PaaS (Platform as a Service) ผ่านทางระบบ Cloud

หมายเหตุ : ผู้บริหารในฝ่าย IT กังวลในเรื่องความปลอดภัยและความน่าเชื่อถือของ Public Cloud จึงต้องใช้เวลาพิจารณาศึกษาให้มั่นใจก่อนว่าระบบถูกออกแบบมาดี เพื่อป้องกันหรือรับมือได้เมื่อเกิดปัญหา นอกจากนี้การประหยัดงบประมาณในระยะสั้นอาจจะส่งผลเสียในระยะยาวได้

Private Clouds

Private Cloud คือ รูปแบบการให้บริการ Service และ Infrastructure ทั้งหมดจะอยู่ใน Private Network ส่วนตัวของแต่ละบริษัท ระบบนี้มีความโดดเด่นด้านระบบรักษาความปลอดภัยและการควบคุม ซึ่งมีค่าบำรุงรักษา การจัดซื้อ การซ่อมแซม Infrastructure และ Software ทั้งหมดที่ผู้ใช้บริการต้องจ่าย

Private Cloud จะเป็นตัวเลือกที่ดีที่สุดเมื่อ:

  1. มีการทำงานเกี่ยวกับ Data และ Application สำคัญ ซึ่งจะต้องมีความปลอดภัยและการควบคุมการเข้าถึงมาเป็นอันดับแรก
  2. มีการทำธุรกิจที่ใส่ใจเรื่องความปลอดภัยและความเป็นส่วนตัวของข้อมูลเป็นพิเศษ
  3. บริษัทหรือองค์กรมีขนาดใหญ่มากพอที่จะรัน Cloud Data Center อย่างมีประสิทธิภาพได้ด้วยตัวเอง

หมายเหตุ : เส้นแบ่งระหว่าง Private Clouds และ Public Clouds เริ่มจะไม่ค่อยชัดเจน เนื่องจากผู้ที่ให้บริการ Public Cloud บางรายมีบริการเสริม Private เวอร์ชั่นของ Public Cloud ขึ้นมา และผู้ให้บริการ Private Cloud บางรายก็มีบริการ Public เวอร์ชั่น ที่มีความสามารถไม่ต่างกับ Private Clouds ออกมาเช่นกัน

Hybrid Clouds

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

Hybrid Cloud จะเป็นตัวเลือกที่ดีที่สุดเมื่อ :

  1. ต้องการใช้ Application แบบ SaaS แต่ต้องการเรื่องความปลอดภัย ดังนั้นผู้ให้บริการ SaaS จึงสร้าง Private Cloud ขึ้นมาภายใต้ Firewall ของทางผู้ให้บริการ โดยผู้ใช้งานจะได้รับ VPN (Virtual Private Network) มาเป็นตัวเสริมความปลอดภัย
  2. เป็นธุรกิจที่ให้บริการในระบบตลาดแบบแนวตั้ง (Vertical Market) ซึ่งประกอบด้วยลูกค้าหลากหลายและเป็นอิสระแยกจากกัน จึงใช้ Public Cloud เพื่อติดต่อกับลูกค้า แต่เก็บข้อมูลของลูกค้าแต่ละรายไว้อย่างปลอดภัยภายใน Private Cloud

หมายเหตุ : ระบบการจัดการ Cloud Computing จะมีความซับซ้อนสูงขึ้นมาทันที เมื่อต้องจัดการทั้ง Public CloudPrivate Cloud, และ Data Center ภายในไปพร้อมๆ กัน ดังนั้นในการจัดการ Hybrid Cloud จึงจำเป็นต้องมีการเพิ่มความสามารถสำหรับจัดการและจัดกลุ่มการทำงานร่วมของสภาพแวดล้อมที่ต่างกันพวกนี้

ตัวเลือกของ Cloud Computing ที่มีมาให้เลือกอย่างหลากหลายแบบนี้ เมื่อเปรียบเทียบข้อแตกต่างทั้งหมดของทั้ง 3 แบบข้างต้นแล้ว ต่อไปก็เป็นหน้าที่ของผู้ประกอบการว่าจะใช้ Cloud Computing แบบไหนให้เหมาะกับธุรกิจของตนมากที่สุด เพื่อให้เกิดประโยชน์อันสูงสุดและผลลัพธ์ที่ดีกับองค์กร แล้วคุณล่ะ เลือกแบบไหน?

ทำความรู้จัก Cloud Server

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

ในบางมุม Cloud Server ก็มีรูปแบบการทำงานเหมือนกับ Physical Server แต่ฟังก์ชันที่ให้มานั้นแตกต่างกันอย่างสิ้นเชิง ซึ่ง Cloud Hosting นั้นจะเป็นการเช่าพื้นที่ของ Virtual Server โดยผู้ใช้บริการจะต้องจ่ายค่าบริการเป็นรายชั่วโมง ซึ่งค่าบริการก็ขึ้นอยู่กับปริมาณการใช้งานในแต่ละช่วงเวลานั่นเอง

ต้องบอกก่อนว่าโดยปกติแล้ว บริการ Hosting จะมีทั้งสิ้น 2 แบบ ได้แก่ Shared Hosting และ Dedicated Hosting ซึ่ง Shared Hosting ถือว่ามีราคาถูกกว่า เนื่องจากจะมีการแชร์การใช้งานกันระหว่างลูกค้าด้วยกันเอง ซึ่งแน่นอนว่ามีข้อเสียอยู่พอสมควร ทั้งยังทำให้ผู้ใช้บริการไม่สามารถ Setup ให้เหมาะกับองค์กรของตนได้มากเท่าใดนัก ซึ่ง Dedicated Hosting สามารถแก้ไขจุดบกพร่องในส่วนนั้นได้ คือผู้ใช้บริการไม้ต้องไปแบ่งทรัพยากรกับผู้ใช้รายอื่น ให้ใช้ประโยชน์จาก Multiple Server ที่เป็นของตัวเองคนเดียวไปได้เต็มๆ ทั้งยังได้สิทธิ์ในการควบคุม Server แบบ Full Control อีกด้วย แต่ Hosting แบบ Dedicated Hosting ก็จะมีข้อเสียอยู่ตรงที่ว่า ผู้ใช้เองต้องมีการคำนวณสิ่งที่ต้องการใช้ไว้ล่วงหน้าให้แม่นยำที่สุด เพื่อให้มีทรัพยากรเพียงพอต่อ Traffic ที่จะเข้ามา ซึ่งหาดคำนวณไม่ดี อาจเกิดปัญหาด้านทรัพยากรไม่เพียงพอ หรือเหลือมากเกินไป ทำให้สิ้นเปลืองมากขึ้น ซึ่งบริการ Cloud Hosting เปรียบเสมือนการนำข้อดีของ Hosting ทั้งสองแบบมารวมเข้าด้วยกันนั่นเอง

อย่างไรก็ตามระบบ Cloud Server นั้นก็แตกต่างจาก Dedicated Server ในแง่ที่มันสามารถรันบน Hypervisor ได้ โดย Hypervisor มีหน้าที่ควบคุมศักยภาพของ Operating System ให้จัดสรรการทำงานได้ยามต้องการ ซึ่งในการทำ Cloud Hosting นั้นจะมี Cloud Server อยู่หลายเครื่อง เพื่อทำหน้าที่รองรับผู้ใช้บริการแต่ละราย เพื่อให้สามารถเข้าถึงทรัพยากรได้ทุกเวลาที่ต้องการ นอกจากนั้นระบบ Cloud Server ยังมีระบบสำรองเผื่อไว้ในเหตุการณ์ที่ Server เครื่องหนึ่งล่ม ก็ยังสามารถใช้ทำงานทดแทนกันได้

สรุปข้อดีหลักๆ ของ บริการ Cloud Server ได้ดังนี้

– Flexibility และ Scalability คือ สามารถดึงเอาทรัพยากรอื่นๆ มาเพิ่มเติมได้ในยามที่ต้องการ

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

– ติดตั้งง่าย กล่าวคือ บริการ Cloud Server ไม่มีการตั้งค่าเริ่มต้นมากเท่าใดนัก

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

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

รู้จัก OpenStack แบบง่ายๆ ก่อนเริ่มใช้ Cloud

ตอนนี้ OpenStack กำลังเป็นที่นิยมเพิ่มมากขึ้น ในฐานะ Open Source สำหรับ Private Cloud แต่ว่าอะไรทำให้ OpenStack สะดุดตาเกินหน้าเกินตา คู่แข่งขันรายอื่น อย่าง Amazon EC2 กัน เรามาทำความเข้าใจกับ OpenStack อย่างถ่องแท้ของมันกัน

What’s OpenStack?

OpenStack เริ่มต้นมาจากการองค์การบริหารการบินและอวกาศแห่งชาติ (NASA) ร่วมกับ Rackspace บริจาคโค้ด (Code) ของระบบ Cloud ที่ตนเองมีอยู่ให้เป็น Open Source ปัจจุบันได้รับการยอมรับอย่างกว้างขวางจากกว่า 250 องค์กรใน 130 ประเทศทั่วโลก

เว็บไซต์ OpenStack.org ได้ให้ความหมายของคำว่า “OpenStack” ไว้ว่า “OpenStack software controls large pools of compute, storage, and networking resources throughout a datacenter, managed through a dashboard or via the OpenStack API. OpenStack works with popular enterprise and open source technologies making it ideal for heterogeneous infrastructure” (เป็นโปรแกรมควบคุมชุดคำสั่งคอมพิวเตอร์, Computer Networking และพื้นที่เก็บไฟล์ขนาดใหญ่ที่อยู่ภายใน Data Center โดยควบคุมผ่านทาง Dashboard หรือ OpenStack API ได้รับความนิยมในหมู่ผู้ประกอบการและระบบ Open source ด้วยกัน ซึ่งนั่นส่งผลให้ OpenStack เป็นโปรแกรมที่เหมาะกับ Infrastructure ขนาดใหญ่ที่สุดในขณะนี้)

OpenStack ในฐานะแพลตฟอร์มแบบ Open source

ภายหลังจาก NASA และ Rackspace เป็นผู้เริ่มต้นพัฒนา OpenStack เป็น Open source ให้เหล่าโปรแกรมเมอร์นำไปพัฒนาต่อได้ตามต้องการ โดยตรวจสอบ Source code ได้ทาง GitHub ทั้งนี้พวกโปรแกรมเมอร์ผู้พัฒนาระบบ OpenStack เองก็ทำงานให้กับองค์กรใหญ่ที่นำ OpenStack ไปใช้ด้วยเหมือนกัน เช่น Rackspace และ PayPal เป็นต้น

นอกจากนี้ ยังมีโปรเจ็คเกี่ยวกับ OpenStack อีกหลายโครงการ ซึ่งส่วนมากก็เป็นโปรเจ็คเฉพาะด้าน เช่น การติดตั้งแบบ bare-metal ผู้ที่สนใจจะเรียนรู้เกี่ยวกับการใช้งาน OpenStack หรือจะทดลองใช้ ทาง OpenStack ก็มี Development Version ให้ลองเล่นกันได้โดยนำไปติดตั้งบน Ubuntu Linux หรือจะใช้ OpenStack Autopilot wizard ในการสั่ง Deploy ก็ได้ ส่วน Source code ก็ไม่จำเป็น เพราะ OpenStack สามารถหาได้จาก Python package โดยใช้ Tools ชื่อ apt-get ในการติดตั้ง

รู้จัก Ecosystem ของ OpenStack

OpenStack กับ Amazon EC2 อาจดูคล้ายกันมาก เพราะผู้ใช้สามารถ Provision VM จาก dashboard หรือ API ได้เหมือนกัน แต่ข้อแตกต่างหลักๆ นอกจากเรื่องที่ OpenStack เป็นของฟรี ก็คือ Amazon EC2 เป็นบริการ Public Cloud เท่านั้น ส่วน OpenStack ผู้ใช้สามารถเลือกได้ว่าจะใช้เป็นบริการ Private Cloud ของ OpenStack เอง หรือจะสมัครไปใช้ Public Cloud จากตัวแทนผู้ให้บริการของ OpenStack ก็ได้

ต้องทำความเข้าใจกันก่อนว่า OpenStack ไม่ใช่ Hypervisor แต่ถูกสร้างมาเพื่อทำงานร่วมกับ Hypervisor ที่แตกต่างกันหลายๆ เครื่อง User สามารถเลือกได้ว่าจะ Deploy Hypervisor บนตัวเครื่อง (machine) หรือบน OS ที่ built-in มากับ Hypervisor เช่น Linux KVM เป็นต้น นอกจากนี้ OpenStack ยังทำให้ User สามารถนำ VM ไปติดตั้งบน Bare-Metal Server (เซิร์ฟเวอร์สำหรับผู้ใช้คนเดียว) ได้อีกด้วย

Component หลักของ OpenStack

  • Horizon (Dashboard) : เป็น User Interface (UI) แบบ Web-based
  • Nova (Compute) : ประกอบด้วย Controller และ Compute Nodes ที่ดึง VM image มาจาก OpenStack image service และสร้าง VM บนเซิร์ฟเวอร์ที่เราต้องการ โดยมี APIs ที่แตกต่างกันตามแต่ Platforms เช่น XenAPI, VMwareAPI, libvirt for Linux KVM (QEMU), Amazon EC2, และ Microsoft Hyper-V เป็นต้น
  • Neutron (Networking) : สำหรับสร้าง Virtual Network และ Network Interface อีกทั้งยังทำหน้าที่เชื่อมต่อกับ Networking Products จากตัวแทนผู้ให้บริการอื่นๆ
  • Swift (Object storage) : มีหลักการทำงานเหมือน Amazon S3 โดยจะบันทึกข้อมูลแบบเดี่ยว อย่าง Image เก็บไว้โดยใช้ระบบ REST Web service
  • Cinder (Block storage) : คล้ายกับ Swift โดยจะเก็บ disk file ต่างๆ เช่น Log และเปิดให้เราสามารถเพิ่มเติมข้อมูลเข้าไปได้ ในขณะที่ Swift จะให้เก็บแทนที่ของเดิมเท่านั้น
  • Keystone (Identity storage) : เป็นตัวคำสั่งที่เปิดให้ User และ Process สามารถเข้าถึง Tools ต่างๆ ของ OpenStack ได้โดยสร้าง Authentication Token ขึ้นมา
  • Glance (Image service) : เป็นตัวหลักของ OpenStack ในฐานะ Cloud Operating System คือ การสร้าง VM image ขึ้นมา โดย Glance คือแคตตาล็อกรวม VM ที่เราอัพโหลดเอาไว้และเปิดให้ใช้กันภายในองค์กร
  • Trove (Database server) : เป็นตัวสนับสนุนการทำงานของ Database ที่ต่างกัน

นอกจากนี้ Component พวกนี้ของ OpenStack ยังใช้ MySQL database ที่หลากหลาย สามารถทำงานร่วมกับ Python รวมทั้งใช้ Command line interface ของ Python ได้อีกด้วย ตัวอย่างเช่น

คำสั่งดาวน์โหลด Keystone จากเซิร์ฟเวอร์ Linux ที่เก็บข้อมูลเอาไว้แบบ Public

apt-get install keystone python-keystoneclient

คำสั่งสร้าง User บน Keystone

keystone user-create –name Sam –description “Sam”

คำสั่งลิสต์ชื่อ VM images ด้วย Nova

nova image-list

คำสั่งเปิด Python Shell ก็ทำได้ง่ายๆ แค่พิมพ์ Python แล้วตามด้วย

from keystoneclient.v2_0 import client

หรือถ้าใครไม่คล่อง Python CLI (Command Line Interface) จะสลับไปใช้ Dashboard แบบคลิกก็ได้เหมือนกัน