กลับมาอีกครั้งกับงานสัมมนาครั้งใหญ่ประจำปีจาก Google ประเทศไทยครับ โดยเนื้อหาแล้วจะแบ่งออกเป็น 2 งานดังต่อไปนี้

GDays Thailand คืองานสัมมนาสำหรับผู้ประกอบการ เจ้าของธุรกิจ นิสิตนักศึกษาและผู้สนใจ เนื้อหาจะเน้นไปทางด้านแนะแนวทางการนำผลิตภัณฑ์ต่างๆ จาก Google ไปใช้งาน เพื่อพัฒนาศักยภาพในเชิงธุรกิจ และเพื่อความสำเร็จ รวมถึงการพูดคุยแลกเปลี่ยนความคิดเห็นกับผู้เชี่ยวชาญทั้งจาก Google และกลุ่มผู้ขับเคลื่อนธุรกิจด้วยกูเกิล (GBG – Google Business Group)

GDG DevFest Bangkok คืองานสัมมนาโดยกลุ่ม GDG Thailand เนื้อหานั้นจะเน้นหนักไปในเรื่องทางเทคนิค อาทิเช่นการบรรยายและสาธิตการใช้งานเทคโนโลยีต่างๆ จาก Google อีกทั้งยังเป็นโอกาสที่จะได้พบปะพูดคุยกับนักพัฒนาทั้งจากกลุ่มผู้ใช้เทคโนโลยีของ Google และนักพัฒนาจาก Google โดยตรง

ทั้ง 2 งานนี้มีกำหนดจัดขึ้นพร้อมกันในวันเสาร์ที่ 14 กันยายนนี้ เวลา 9.00 – 18.00 น. ณ มหาวิทยาลัยกรุงเทพ วิทยาเขตกล้วยน้ำไทย ผู้ที่สนใจสามารถ ลงทะเบียนเข้าร่วมงาน GDays Thailand และ ลงทะเบียนเข้าร่วมงาน GDG DevFest Bangkok ได้ตั้งแต่บัดนี้เป็นต้นไป ไม่มีค่าใช้จ่ายใดๆ ทั้งสิ้น ฟรีตลอดงานครับ! :D

ที่มา – Blognone

ผมใช้มือถือ Nexus มาระยะหนึ่ง แต่ก็ยังไม่สามารถรับ-ส่ง ไฟล์ผ่านสาย USB ได้ เนื่องจาก Android 4.x ใน Nexus ใช้การเชื่อมต่อผ่านโปรโตคอล MTP และ PTP เท่านั้น ทำให้การใช้งานเครื่อง Nexus ของผมต้องผ่าน ddms หรือไม่ก็ Airdroid สำหรับท่านที่ใช้ระบบปฏิบัติการ Windows อาจไม่ส่งผลกระทบเท่าไร แต่ท่านที่ใช้ Ubuntu ก็คงต้องมาหาทางแก้ไขกัน ใน Ubuntu มีเครื่องมือหลายอย่างในการรับส่งไฟล์ผ่าน MTP เช่น Go-Mtpfs, Gvfs เป็นต้น แต่ทั้งหมดก็สร้างปัญหา หรือที่เรียกว่าใช้งานไม่ได้มาเกือบ 1 ปี แต่ Gvfs และ libmtp ก็ทะยอยแก้ปัญหามาเรื่อยๆ สำหรับท่านที่อยากลอง สามารถติดตั้งเพื่อทดสอบกันได้ จาก PPA ของนักพัฒนา ดังนี้

เพิ่ม PPA ของ Gvfs

sudo add-apt-repository ppa:langdalepl/gvfs-mtp

sudo apt-get update

จากนั้นสั่ง Upgrade

sudo apt-get upgrade

จากนั้น reboot เครื่อง แล้วลองเสียบเครื่อง Nexus ของคุณดูครับ จะพบว่า Ubuntu จะ Mount MTP Device ขึ้นมาให้พร้อมใช้งาน ;)

ครั้งที่แล้วได้เขียนวิธีการเล่น Juju บน command line เพื่อทำ service orchestration บน Amazon EC2 ครั้งนี้จะมาแนะนำวิธีการ ติดตั้ง Juju GUI เพื่อใช้ deploy service ผ่าน Web GUI ที่เรียกได้ว่าใช้งานง่ายสุดๆ สำหรับการติดตั้ง Juju GUI มีวิธีการดังนี้

ต้องมี Juju ก่อน ดูวิธีการติดตั้ง Juju ในตอนที่แล้ว จากนั้นสั่งสร้าง bootstrap node โดยใช้คำสั่ง

juju bootstrap

จากนั้นสั่ง Juju ให้ deploy Juju GUI ดังนี้

juju deploy juju-gui

เมื่อ instance เริ่มทำงานและติดตั้ง Juju GUI เสร็จเรียบร้อย ให้สั่ง expose ดังนี้

juju expose juju-gui

เมื่อใช้คำสั่ง juju status คุณจะพบว่าตอนนี้มี 2 instances ส่วนการเช้าใช้งาน ก็ใช้ Public DNS ที่ Amazon กำหนดมาให้

จากนั้นก็ login โดยใช้รหัสผ่านในส่วน user-admin ที่คุณกำหนด

คุณก็จะได้หน้า Juju GUI พร้อมใช้งานดังนี้

ส่วนการ deploy service สามารถเลือก charm ที่มีอยู่ได้ สำหรับการ config charm กำหนดโดยการเชื่อมเส้นเท่านั้น ง่ายมาก

ข้อควรระวังในการใช้งาน Juju GUI เนื่องจากการ deploy ในแต่ละครั้งหากไม่ได้กำหนด หมายเลขเครื่องในการ deploy ตัว Juju จะสร้าง instance ใหม่ทุกครั้ง ซึ่งหมายถึงค่าใช้จ่ายที่เพิ่มขึ้นด้วย ควรระมัดระวังสักหน่อย เพราะ Juju ไม่ได้สร้าง instance จาก spot instance นะครับ

Juju เป็นเครื่องมือสำหรับ Deploy Service หรือ Application บน Cloud Provider ใดๆ ก็ได้ ซึ่งตอนนี้รองรับทั้ง AWS, HP Cloud, OpenStack และ Azure นอกจากนี้ยังรองรับการทำงานบน MAAS (Metal as a Service) ด้วย Juju สามารถติดตั้ง Ubuntu, ติดตั้ง Software, Config Service ต่างๆ แถมด้วยการบริหารจัดการ Serice นั้นๆ ได้ด้วย เช่นการทำ Scaling เป็นต้น อาจจะเข้าใจยากไปหน่อยลองดูวิดีโอข้างล่างได้ครับ

วิธีการติดตั้ง

หากไม่มี ssh key ก็สร้างขึ้นมาก่อนด้วยคำสั่ง

ssh-keygen -t rsa -b 2048

จากนั้นติดตั้ง Juju จาก PPA ดังนี้

sudo add-apt-repository ppa:juju/stable

sudo apt-get update && sudo apt-get install juju-core

เริ่มใช้งานกัน ผมยกตัวอย่างการ Deploy Application บน Amazon AWS (https://juju.ubuntu.com/get-started/amazon/) ก็แล้วกันนะครับ ให้ Juju สร้าง config ไฟล์ขึ้นมาอัตโนมัติโดยใช้คำสั่ง

juju init -w

จากนั้นแก้ไฟล์ ~/.juju/environments.yaml แก้ตรง access-key และ secret-key นะครับ ทั้ง 2 ค่านี้จะอยู่ตรง AWS Account (http://aws.amazon.com/account) คลิกที่ “Security Credentials” และคลิกที่ “Access Credentials” เมื่อแก้ไขไฟล์ config แล้ว จะได้หน้าตาแบบนี้

default: amazon
environments:
amazon:
type: ec2
access-key: YOUR-ACCESS-KEY-GOES-HERE
secret-key: YOUR-SECRET-KEY-GOES-HERE
control-bucket: juju-8dd7debec38abb42c6ed14018d09f966
admin-secret: 81a1e7429e6847c4k671fda7591246594
default-series: precise

หลังจากแก้ไขเรียบร้อยแล้วให้ลองทดสอบดู โดยใช้คำสั่ง

juju bootstrap

คำสั่งนี้จะไปสร้าง instance โดยใช้ ami ที่เป็น Ubuntu 12.04 LTS บน EC2 ให้อัตโนมัติ เขาจะสร้าง instance ที่ us-east-1 นะครับ ใครไม่ชอบก็เปลี่ยน zone ได้ เทคนิคง่ายถ้าอยากให้ Juju แสดงการทำงานในแต่ละคำสั่งให้ใส่ -v ต่อท้ายครับ สำหรับการตรวจสอบสถานะ ของ services ที่ run อยู่บน AWS ให้ใช้คำสั่ง

juju status

คำสั่งนี้จะรอนานสักหน่อยประมาณ 2-3 นาทีได้ คุณก็จะได้ข้อมูลของ instance ที่ deploy bootstrap ไป ทีนี้ลองมา deploy application กันบ้าง มาลอง deploy mediawiki กัน หรือใครอยากลอง deploy application อื่นๆ ให้เข้าไปดูที่ jujucharm.com ได้ครับ อ่ะ มาลอง deploy mediawiki กัน

juju deploy mediawiki
juju deploy mysql

ถ้าคุณดู juju status ตอนนี้คุณจะได้ instance 3 อัน คือ bootstrap, wordpress และ mysql จากนั้นสั่ง add releation ระหว่าง mediawiki และ mysql ขั้นตอนนี้เป็นการ config mediawiki และ mysql

juju add-relation mysql:db mediawiki:db

จากนั้นสั่ง juju expose เพื่อตั้งค่า Security Group เพื่อกำหนด port ที่ต้องใช้งานและปิด port ที่ไม่จำเป็น

juju expose mediawiki

จากนั้นก็ดู public dns จาก juju status เท่านี้ก็ได้ mediawiki ใช้แล้ว

วิดีโอ Getting Start เผื่ออ่านแล้วไม่ค่อยเข้าใจ