บริการประมวลผลบนกลุ่มเมฆ ไม่ว่าจะเป็น EC2, App Engine หรือ Azure ล้วนเป็นแพลตฟอร์มปิดด้วยกันทั้งสิ้น คำถามคือถ้าหากว่าเราต้องการสร้างกลุ่มเมฆขึ้นเองจะต้องทำอย่างไรดี คำตอบอาจเป็น OpenStack
OpenStack คือชุดซอฟต์แวร์แบบโอเพนซอร์สสำหรับสร้างระบบ cloud computing ตัวตั้งตัวตีในเรื่องนี้คือ Rackspace ผู้ให้บริการโฮสติ้งรายใหญ่ ซึ่งบริจาคโค้ดของระบบ cloud ที่ตัวเองใช้อยู่ (Rackspace Cloud Files) ให้เป็นโอเพนซอร์ส นอกจากนี้ยังมี NASA ที่บริจาคโค้ดโครงการ NASA Nebula มาร่วมอีกราย ซึ่งโค้ดสองชุดจะรวมเป็นซอฟต์แวร์ตัวเดียวกันในอนาคต
พันธมิตรรายอื่นๆ ที่เข้าร่วมเป็นผู้ให้บริการรายเล็กเสียเยอะ แต่ก็มีรายใหญ่อย่าง Dell, Citrix, AMD, Intel บ้างเช่นกัน ทางโครงการให้สัมภาษณ์ว่าตั้งเป้าหมายเพื่อเป็น "Android ของกลุ่มเมฆ"
ที่มา - GigaOm
Comments
ไปไกลถึงกลุ่มเมฆ(ก๊าซ) Nebula ซะแล้ว Nasa
ล้ำไปไหนนี่!!
รออ่านความรู้จากพี่ javaboom ^^
WE ARE THE 99%
ขอบคุณครับที่คิดถึงกัน ทำให้ไม่เขียนอะไรคงไม่ได้ครับ :)
จริงๆแล้ว หากกล่าวถึง opensource ที่(พยายาม)ทำให้เหมือนกับ Amazon EC2 กับ Google App Engine ก็มีนะครับ เช่น Eucalyptus กับ AppScale
Eucalypstus มีโครงสร้างคล้ายกับ Amazon EC2 ใช้ API และ component บางอย่างเหมือนกันกับ EC2 ทำให้ Eucalyptus มีวิธีจัดการ virtual machine ในแนวเดียวกับ EC2 ผู้ใช้สามารถสร้าง Hybrid Cloud หรือกลุ่มเมฆลูกผสมระหว่าง private cloud (เช่น datacenter ในองค์กร) และ public cloud (เช่น บริการ EC2) ทำให้เราสามารถกระจายภาระงานจาก private cloud ไป public cloud ได้ (เขาเรียกว่า spillover) เช่น ในกรณีที่ private cloud รับภาระงานในองค์กรไม่ไหว เป็นต้น แต่สถาปัตยกรรมของ Eucalyptus คงทำให้ได้อย่าง EC2 ได้ยาก เพราะ EC2 ไม่ได้เผยโค้ดและสถาปัตยกรรมทั้งหมดนั่นเอง ดังนั้น จึงยังไม่นับเป็น Android ของกลุ่มเมฆ
สำหรับ AppScale ซึ่งจัดได้ว่าเป็น opensource ของ Google App Engine รองรับทั้ง python และ java เหมือนกับ App Engine ต้นฉบ้บ เป็นโครงการที่เปิดกว้างกว่า มี IBM Google พร้อมกับ NSF เป็นผู้สนับสนุน โดยเป้าหมายของ AppScale คือ การสร้าง App Engine (ซึ่งเป็น PaaS) ให้กับ private cloud นั่นเอง ผมคิดว่า AppScale อาจจะเรียกว่า Android ของกลุ่มเมฆ ในเวอร์ชัน PaaS ได้อยู่นะ
โดยส่วนตัว ผมใช้ Eucalyptus อยู่ในช่วง testbed ผมรู้สึกประทับใจ ยิ่งถ้าหากผู้ใช้ต้องการความเร็วและสะดวกในการติดตั้ง private cloud แนะนำให้ใช้ Eucalyptus ที่มากับ Ubuntu Enterprise Cloud ส่วน AppScale เองมีเวอร์ชันที่พร้อมทำงานบน EC2 และ Eucalyptus เลย สำหรับ OpenStack อืม ... ผมยังไม่ได้ลองครับ
เสริมอีกนิด จริงๆ NASA ใช้ Eucalyptus สำหรับสร้าง Nebula นะครับ [อ้างอิง] จากการวิเคราะห์จากข่าว ที่ว่าจะรวมโค้ด ผมคิดว่าก็คงรวม Eucalyptus ในเวอร์ชัน NASA Nebula กับ OpenStack นั่นเอง
My Blog
ไม่ทราบว่าเครื่องมือฝั่ง Open Source เป็นอย่างไรครับ เข้าใจว่าการสร้าง Cloud ด้วย Eucalyptus นั้นง่ายมาก คือใส่ข้อมูล Nextๆ Finishๆ (เท่าที่ดูจาก Ubuntu Cloud) แต่การใช้งานเช่นการสร้าง Image , การนำ Image ขึ้นไปใช้ , การย้าย VM, การจัดการ VM, Remote Console ไม่แน่ใจว่าลำบากและยุ่งยากขนาดไหน ซึ่งพวก Commercial เต็มตัวอย่างเช่น VMware นั้นสะดวกและใช้งานได้ง่ายมาก (Clickๆๆๆ Drag & Drop เลยด้วยซ้ำ)
ถ้ากล่าวถึงเครื่องมือของ Eucalyptus ที่เป็น command-line ก็พอใช้อยู่ครับ มีคำสั่งสำหรับจัดการ physical machine, storage, virtual machine เป็นต้น ส่วนตัวผมว่าเครื่องมือดีๆสำหรับสร้าง image ที่ออกแบบมากับ end-user ยังไม่สะดวก โดยเฉพาะจะสร้าง image ตั้งแต่ต้นเลยยิ่งไม่สะดวก คือ ยังมีวิธีแบบเดียวกับการสร้าง Xen image ถ้าจะเอาให้ง่ายขึ้น คือ ไปโหลดเอา image ที่เตรียมไว้แล้ว เช่นหน้านี้ แล้วค่อยเอาไปใส่ใน Eucalyptus ตามหน้านี้
เรื่อง VM migration ยังไม่มีใน Eucalyptus เวอร์ชันปัจจุบัน จริงๆต้องพูดว่า ผมหาไม่เจอ และใน forum ก็ว่าเช่นนั้น อาจจะต้องเอาไปพัฒนาต่อเติมเอง นอกจากนี้ ผมคงต้องแนะนำให้ใช้ OpenNebula ซึ่งเป็น open source อีกตัวที่สนับสนุนเรื่องพวกนี้และมีฟีเจอร์เยอะกว่า อย่างไรก็ดี สำหรับบางแอพพลิเคชัน ที่ไม่ต้องการ data consistency สูง เราไม่ต้องใช้ live migration ก็ได้นะ อย่างใน Amazon EC2 เราใช้ respawn หรือการ clone ตัว VM ไว้เพื่อ failover มากกว่า ซึ่งก็เอาไปใช้กับ Eucalyptus ได้เช่นกัน
เราสามารถเอาเครื่องมือ GUI ที่ออกแบบมาให้ใช้กับ Amazon EC2 แต่เอาไปใช้กับ Eucalyptus ได้ เช่น ElasticFox และ HybridFox ซึ่งเป็น addon ของ Firefox อีกตัวคือ Eclipse AWS Tool ครับ
เห็นด้วยครับ เรื่อง commercial แน่นอนว่า VMware ง่ายกว่าเยอะ ถ้าจะลอง freeware ของ Citrix XenServer ก็ได้ แต่ถ้าอยากได้ high availability กับ load balancer ก็ต้องซื้อครับ
My Blog
นี่แหละครับข้อเสีย ไม่มี migration ถ้าไปโดน node ดับตรงกับ vm ที่ run อยู่นี่จบเลย
ตอนนี้ก็แก้โดยการใช้ ebs แล้วก็ทำ template image ของ app นั้นๆขึ้นมา
มันเป็นข้อเสียข้อเดียวจริงๆครับ
น่าจะเป็นสิ่งที่รอคอยมาอย่างยาวนานสำหรับ OpenStack...
ป.ล. ผมก็เพึ่งรู้เหมือนกันว่ามีซอฟต์แวร์โอเพนซอร์สสำหรับสร้างกลุ่มเมฆอย่าง Eucalypstus, AppScale ด้วย -*-
ขอขอบพระคุณอย่างสูงครับ
WE ARE THE 99%
ด้วยความยินดีครับ
My Blog
คิดเหมือนผมครับ อิอิ
เป็น "Android ของกลุ่มเมฆ" นี่ใช่หมายถึง "ทางเลือกใหม่" ใช่รึเปล่าครับ (ชื่อฟังเหมือนพรรคการเมือง = =')
โอ้ว Nebula
ผมว่าจุดน่าสนใจ คือผลกระทบที่จะเกิดขึ้น
จาก opensource cloud
ผู้ผลิตเซอร์เวอร์ฮาร์ดแวร์ อาจจะทำ customize version ที่ขายพร้อมเครื่อง เป็นกล่อง cloud พร้อมใช้ ต่อพ่วงเข้าไป ก็จบ ขายเหมือนเป็น net appliance
คิดว่าแต่ละ platform คงใช้พื้นฐานแนวคิดที่ไม่ต่างกันมาก
พอเริ่มมีหลาย platform มันจะมีปัญหาเดิม ๆ อีก
ใครทำ abstract layer ออกมา แบบ java ไหม
รันได้บนทุก cloud อะไรแบบนี้
เรื่องที่คุณได้กล่าวไว้ในส่วนท้ายก็ได้รับความสนใจอยู่ครับ หรือที่เรียกว่า Intercloud ตัวอย่างความพยายามนี้ เช่น CloudForum ก็มีการร่าง standard สำหรับ cloud กันอยู่ อีกกลุ่มที่สนับสนุนเรื่อง cloud เสรี คือ Cloud Manifesto ส่วนเรื่อง standard ของ virtual machine ก็คือ OVF
แต่ผู้ให้บริการบางเจ้าไปไวกว่า standard ท้ายที่สุดแล้ว ถ้า standard ช้าหรือล้าสมัยไป ผู้ให้บริการเองก็เหนื่อยเหมือนกัน ยกเว้นผู้ให้บริการจะไม่เดินตาม standard ที่เป็นข่าวซุบซิบกันคือ เขาว่า Amazon มีบทบาทกำหนด standard มากพอสมควร ตอนนี้ Eucalyptus ก็ยึดแบบตาม Amazon EC2 ก็มีองค์กรใหญ่ๆส่งเสริมซะด้วย (เช่น NASA)
My Blog
Python ด้วยขอรับ