วันศุกร์ที่ 30 สิงหาคม พ.ศ. 2556

เตรียมพบกับงาน GDays Thailand และ GDG DevFest Bangkok ในวันที่ 14 กันยายนนี้

กลับมาอีกครั้งกับงานสัมมนาครั้งใหญ่ประจำปีจาก 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


วันพฤหัสบดีที่ 22 สิงหาคม พ.ศ. 2556

ต่อมือถือ Android กับ Ubuntu ผ่าน MTP กัน

ผมใช้มือถือ 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 ขึ้นมาให้พร้อมใช้งาน ;)


วันเสาร์ที่ 17 สิงหาคม พ.ศ. 2556

มาเล่น Juju GUI กัน

ครั้งที่แล้วได้เขียนวิธีการเล่น 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 นะครับ




วันพุธที่ 14 สิงหาคม พ.ศ. 2556

มาเล่น Juju กัน

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 เผื่ออ่านแล้วไม่ค่อยเข้าใจ