เมื่ออาทิตย์ที่แล้วเข้าไปใช้งาน dotCloud พบว่า มีการเปิดตัว Docker.io เท่าที่ดูเหมือน dotCloud จะค่อยๆ ปล่อยของเล่นส่วนตัวออกมาเรื่อยๆ เช่น Hipache เป็นต้น Docker พัฒนาจาก LXC เป็น Linux Container ตัวที่เล็กและเบา จุดเด่นของ Docker คือสามารถทำงานในระดับ process ได้ แยก process โดยใช้ namespace ทำให้คุณสามารถเอาไปประกอบ (ไม่ใช่เอามาใช้แล้วจะกลายเป็น dotCloud นะจ๊ะ) เป็น PaaS ได้ง่ายอย่าง dotCloud เป็นต้น ใครงงๆ ก็ดู รายละเอียดจาก Slideshare ข้างล่าง หรือใครอยากอ่านแบบยาวๆ ก็อ่านเรื่องราว ได้ครับ

Docker ใจดีนอกจากจะมีเครื่องมืออย่าง Linux Container มาให้ใช้ ยังมี API และ Image Repository ที่ชื่อ Docker Index มาให้ใช้ด้วย ซึ่ง Docker Index สามารถดึงเอา Container Image มาใช้ได้ และยังสามารถแชร์ Container ของคุณได้ด้วย น่าสนุกมั๊ย สำหรับท่านที่สนใจลองดูตามลิงค์ข้างล่างครับ

Jaff Lindsay เอา Docker ไปใช้งานในการทำ PaaS ขนากเล็กในโครงการ Dokku ซึ่งจำลอง Heroku ขึ้นมา สามารถทำงานได้ทั้ง 3 Platform คือ Ruby, Java และ Node.js

dotCloud ผู้ให้บริการ PaaS เปิดโค้ด Hipache แล้ว ซึ่ง Hipache พัฒนาจากไลบรารี node-http-proxy ซึ่ง distributed proxy นี้ออกแบบมาเพื่อรองรับ traffic ของ HTTP และ WebSocket จำนวนมากได้ นักพัฒนากล่าวอีกว่าเครื่องมือที่ใช้กับ dotCloud อย่างเช่น nginx และ HAProxy ใช้ scale เว็บแอพลิเคชั่นสมัยใหม่ซึ่งทำงานกับ WebSocket ไม่ได้ Hipache จึงพัมนาเพื่อแก้ปัญหานี้ Hipache สามารถตั้งค่าอย่างไดนามิกได้ทั้งยังสนับสนุน load-balancing ข้ามไปมาระหว่าง backend ได้ อีกทั้งยังบอกได้ว่า backend ยังทำงานอยู่หรือไม่ สามารถลบ backend นั้นชั่วคราวเพื่อทำ load-balancing ใหม่ได้ ข้อมูลเพิ่มเติมเกี่ยวกับ Hipache แหล่งดาวน์โหลดรวมไปถึงข้อมูลการตั้งค่าสามารถดูได้เพิ่มเติมได้ที่ GitHub

ที่มา – H-Online

dotCloud เป็น Platform as a Services (PaaS) ซึ่งให้บริการ Application Stack ที่หลากหลายไม่ว่าเป็น Java, PHP, Python, Ruby อีกทั้งยังสนับสนุน Database อีกหลายตัว เช่น MySQL, MongoDB, PostgreSQL เป็นต้น สำหรับการใช้งานมีเครื่องมือ CLI ที่รองรับทั้ง Windows, Linux และ Mac

สำหรับวิธีการใช้งานก็ง่ายมาก ขั้นตอนมีดังนี้

  • สมัครสมาชิก dotCloud
  • ติดตั้ง Command Line Interface Client (CLI)
  • สร้าง App จาก CLI กำหนด platform ที่จะใช้ เช่น static html, php, ruby ฯลฯ
  • สั่ง Push Application ขึ้นไปที่ dotCloud

มาลองสร้าง PHP App กันดูครับ ให้คุณสมัครสมาชิกกับ dotCloud ให้เรียบร้อย จากนั้นเริ่มติดตั้ง CLI กันได้เลย ให้ติดตั้ง easy_install กันก่อน ดังนี้

sudo apt-get install python-setuptools

จากนั้นสั่งติดตั้ง CLI ดังนี้

sudo easy_install pip && sudo pip install dotcloud

เมื่อติดตั้งเสร็จคุณ คุณจะได้ CLI Client สำหรับใช้งานชื่อ dotcloud ให้คุณเรียกใช้คำสั่ง dotcloud ขึ้นมาดังนี้

dotcloud

โปรแกรมจะให้คุณกรอก API Key ให้คุณดู API Key ของคุณที่ http://www.dotcloud.com/account/settings หลังจากตั้งค่า API Key เรียบร้อยแล้ว ให้ลองสร้าง App กันครับ

ให้คุณสร้างไดเรคทอรี่สำหรับ App ของคุณก่อน เช่น hellophp เป็นต้น จากนั้นก็เข้าไปที่ไดเรคทอรีที่คุณสร้าง

mkdir hellophp
cd hellophp

จากนั้นให้คุณสร้างไฟล์ index.php ใส่โค้ดลงไปดังนี้

<?php phpinfo(); ?>

จากนั้นสร้าง Cloud App โดยใช้คำสั่ง

dotcloud create hellophp

จากนั้นสร้างไฟล์ dotcloud.yml (DotCloud Build File) เพื่อบอกให้ dotCloud เตรียม Application Stack ที่เราต้องการ เช่น ตอนนี้เราใช้ PHP ดังนั้น dotCloud จะต้องเตรียม instance ที่ติดตั้ง PHP ให้เรา เขียน DotCloud Build File ได้ดังนี้

www:
type: static

จากนั้นก็สั่งให้เอา App ของเราขึ้น dotCloud โดยใช้คำสั่ง dotcloud push ดังนี้

dotcloud push hellophp

จากนั้น dotCloud ก็จะติดตั้ง platform ที่เราต้องการและ sync ไฟล์ เมื่อ sync ไฟล์เสร็จ dotCloud จะแจ้ง public url ให้เราทราบ ดังนี้

Deployment finished. Your application is available at the following URLs
www: http://hellophp-anoochit.dotcloud.com/

ลองเข้า URL ตามที่ระบบแจ้งมาจะได้ผลลัพท์ดังนี้

ในส่วน Dashboard ของ dotCloud ยังให้ข้อมูลรายละเอียดการใช้งานของ App แต่ละตัวด้วย

สำหรับท่านที่สนใจลองดู Video เพิ่มเติมข้างล่าง สำหรับเอกสารคู่มือการใช้งานและ Tutorial ดูได้ที่หน้าเอกสารของเว็บ dotCloud ครับ