Bluemix เป็นบริการ Cloud Computing PaaS ที่ให้บริการโดย IBM ซึ่งมีข้อดีที่สามารถเลือกพัฒนาแอปพลิเคชันได้ทั้งในรูปแบบของ Web และ Mobile ที่สามารถเพิ่มตัวช่วยในการทำงานและการวิเคราะห์ข้อมูลเพิ่มเติมในแอปพลิเคชัน (Watson)
เริ่มใช้งานแบบทดลองใช้ เข้าไปที่เว็บไซต์ https://console.ng.bluemix.net/ เลือกที่ SIGN UP และทำการกรอกข้อมูลตามที่ Bluemix ต้องการจากนั้นกดปุ่ม Submit
Monthly Archives: February 2015
มาเล่น Azure Deploy กัน
เมื่อปีที่แล้วมีโครงการนึงน่าสนุกดีเป็นบริการชื่อ Azure Deploy สามารถเอาโค้ดจาก Git Repository ไป deploy ที่ Azure ในเบื้องต้นรองรับ WebSite แต่ก็สามารถประยุกต์ใช้งานร่วมกับบริการอื่นๆ ได้ ผ่าน ARM Template Azure Deploy เหมาะสำหรับผู้ที่ต้องการ Deploy App หรือทดลองใช้ Application อย่างรวดเร็ว โดยใช้ Azure Account ของตนเอง ซึ่งปุ่ม Deploy จะอยู่ที่หน้า GitHub Repository หรือหน้าเว็บไซต์ก็ได้ ซึ่งตอนนี้ Azure Deploy ใช้งานร่วมกับ Public Repository ได้เท่านั้น รอสักระยะอาจจะมีบริการร่วมกับ Private Repository :)
ครั้งนี้มาลองดูตัวอย่างง่ายๆ กันก่อน Azure Website รองรับการเขียนโปรแกรมภาษา มาลอง Node.js กันเลยดีกว่า จะได้รู้ว่า Azure Deploy ก็สามารถ deploy Node.js App ให้เราได้ ใช้ express สร้าง Node.js App เปล่าๆ สร้างไฟล์ REAME.md ใส่ข้อมูลปุ่ม Azure Deploy ลงไป ซึ่งมีแค่ link และรูปภาพง่ายๆ แค่นี้
มาเล่น Ubuntu Core บน Amazon Web Service กัน
AWS มีบริการ Ubuntu Core แล้วสามารถเรียกใช้งานได้เลย ผ่านหน้า AWS Console ไม่จำเป็นต้องใช้ ec2-tools ก็ได้ ซึ่ง Ubuntu Core Image จะอยู่ในกลุ่ม Community AMI ลองไปค้นหาแล้วเลือกใช้กันได้เลย ครั้งนี้จะมาแนะนำการใช้ Ubuntu Core บน AWS แบบง่ายๆ ผ่านทาง AWS Console กัน
เข้าไปที่หน้า AWS Console สร้าง Instance ใหม่ หา Ubuntu Core AMI ในส่วน Community
สร้าง OpenVZ Template จาก Template เดิมบน Proxmox
ปกติแล้ว Proxmox VE เอง จะมี Image Template สำเร็จไว้ให้เราดาวน์โหลดใช้งานกันอยู่ส่วนหนึ่งอยู่แล้ว และยังนำ template นั้นมา deploy ใช้งานได้ทันที โดยเราสามารถดาวน์โหลด Template ของ OpenVZ เพิ่มเติมได้ที่ OVZ Template
แต่วันนี้เราจะมาลองสร้าง OpenVZ Template ใหม่จาก Template เดิมที่มีอยู่แล้วกัน ซึ่งจากรูปเป็น Container 222 ที่สร้างขึ้นจาก Template ที่มีมาให้ใน Proxmox อยู่แล้วคือ ubuntu-12.04-1_i386.tar.gz
โดยเราจะทำการติดตั้ง openssh-server ไว้ที่เครื่อง CTID 222 นี้
เมื่อได้ Template ตามต้องการแล้วให้เข้าไปยังหน้า GUI แล้ว Shutdown CTID นั้น ๆ
จากนั้นให้ลบ network interface ออกโดย เลือก CTID ที่พึ่ง Shutdown จากข้อบน แล้วเลือกแท็ป network คลิก remove แล้วกด Yes
เข้าไปยังเครื่อง host ผ่าน command line และเข้าไปยังไดเรคทอรี /var/lib/vz/private/CTID
cd /var/lib/vz/private/222
ทำการสร้าง template
tar -cvzpf /var/lib/vz/template/cache/ubuntu-12.04-x86_64-openssh.tar.gz .
เมื่อสร้างเสร็จจะเห็น Template ดังรูป
เข้ามาดูทาง Web UI กันบ้าง จะเห็น Template ที่พึ่งสร้างเสร็จขึ้นมาเรียบร้อย
จากนั้นให้สร้าง Container ปกติ โดยเลือก Template ที่เราพึ่งสร้างไปเมื่อสักครู่
จากนั้นให้ Start Container ที่สร้างขึ้นแล้ว ลอง ssh เข้าดู
เรียบร้อยจ้า
มาเล่น Docker Stats บน Docker 1.5 กัน
หลังจากที่รอมานาน Docker 1.5 ก็มีเครื่องมือเกี่ยวกับ Stats มาให้ หลังจากที่หันไปใช้ cAdvisor พักใหญ่ ในรุ่น 1.5 นี้ยังไม่มีเครื่องมืออย่างเช่น swarm, machine และ composer เข้ามาด้วย สำหรับท่านที่เป็น DevOps ก็ใช้เครื่องมือเดิมกันต่อไป :) มาดู Docker Stats กันก่อน เครื่องมือ Stats ที่ให้มาก็ธรรมดามากๆ สามารถเรียกดูข้อมูลการใช้ทรัพยากรของ Container ได้ทั้ง CPU, Memory, Network ซึ่งเพียงพอต่อการใช้งาน Stats สามารถใช้งานได้ผ่าน Docker CLI และผ่าน API สำหรับท่านที่ใช้ Docker รุ่นเก่า อัพเกรด Docker 1.5 กันก่อนโดยติดตั้ง package lxc-docker-1.5.0 ดังนี้
sudo apt-get install lxc-docker-1.5.0
สำหรับท่านที่ยังไม่มี Docker ก็ติดตั้งได้โดยใช้ curl-ssh ดังนี้
curl -sSL https://get.docker.com/ubuntu/ | sudo sh
สำหรับการใช้งานก็ง่ายมากๆ ใช้คำสั่ง
มาเล่น Ubuntu Core บน Raspberry Pi 2 กัน
Ubuntu Core รองรับ CPU ตระกูล ARMv7 ซึ่งสามารถใช้งานร่วมกับ Raspberry Pi 2 ใช้กับ Raspberry Pi 1 ไม่ได้เพราะใช้ ARM คนละเวอร์ชั่น นอกจากนี้ยังใช้งานร่วมกับ Odroid และ BeagleBone Black ได้อีกด้วย มาดู Ubuntu Core สำหรับ Raspberry Pi 2 กันก่อน ดาวน์โหลด Snappy Ubuntu Core ได้ที่หน้าดาวน์โหลด
จากนั้นสร้าง boot sdcard บน Linux ดังนี้
unzip 2015-02-03-pi-snappy.zip
มาเล่น Ubuntu Core บน Google Compute Engine กัน
มาเล่น Ubuntu Core บน Google Compute Engine กันบ้าง ตามที่ Canonical ประกาศว่า Ubuntu Core ทำงานบน Cloud ได้ บน IoT Devices ก็ได้ แต่ Snappy เหมือนจะไม่มีอะไรให้เล่นเลย ครั้งนี้มาลองใช้งาน Ubuntu Core บน Google Compute Engine และติดตั้ง MQTT Broker เพื่อรองรับงาน Internet of Thing กันดูบ้าง จะได้รู้กันไปเลยว่า Ubuntu Core ทำได้ ตัวอย่างอาจจะแปลกไปสักหน่อย ครั้งหน้าจะแนะนำบน Raspberry Pi 2 B+ ก็แล้วกันครับ ครั้งนี้มาลองเล่นบน GCE กันก่อน สร้าง project บน Google Developer Console ให้เรียบร้อย
สำหรับท่านที่ยังไม่มี command line tools แนะนำให้ติดตั้งให้เรียบร้อย สำหรับ Ubuntu 14.04 ติดตั้งตามนี้ได้เลย
มาใช้งาน Docker Machine ร่วมกับ Rackspace Cloud กัน
ครั้งที่แล้วเคยนะนำวิธีการใช้งาน Docker Machine ไปแล้วโดยใช้งานร่วมกับ Digital Ocean ครั้งนี้มาของเชื่อมต่อกับ Racspace Cloud กันดูบ้าง Docker Machine มีการพัฒนาเพิ่มขึ้นและรองรับการเชื่อมต่อกับ Public Cloud ได้หลายตัวมากขึ้น รวมถึง Rackspace ด้วย ครั้งนี้มาลองใช้ Docker Machine กันครับ ใครที่ยังไม่มี Docker Machine ก็ดาวน์โหลดที่ GitHub จากนั้นก็ติดตั้งตามปกติ
Docker Machine ต้องใช้ username, API Key และ region ในการสร้าง instance ใน Rackspace Cloud ในส่วน username, region คงไม่มีปัญหาอะไรเพราะ Rackspace มี region ไม่เยอะนัก ถ้าอยู่ในโซนเอเซียแนะนำใช้ region ที่ฮ่องกง (HKG) เพราะใกล้ที่สุด สำหรับ API Key ดูได้จากหน้า Account Setting
วิธีเปลี่ยน Container ID บน Proxmox VE
ถ้าเราต้องการเปลี่ยน ID ของ Container เรา ไม่ว่าจะด้วยสาเหตุใดก็ตาม เราสามารถทำได้โดยการแก้ไขไฟล์ config ไม่กี่ไฟล์ เราก็ได้ ID ที่เราต้องการแล้ว วิธีการทำง่ายๆ มีดังนี้ ตัวอย่างจะเปลี่ยน ID จาก 111 เป็น 222 ก่อนอื่นต้องมั่นใจว่า Container ที่เราจะเปลี่ยนนั้นทำงานอยู่ ดูได้โดยใช้คำสั่ง
vzlist -a
จากนั้น Backup VMID 111 ไปเก็บไว้ที่ /tmp/Dump.111 โดย
vzctl chkpnt 111 --dumpfile /tmp/Dump.111
มาเล่น NodeMCU กับ DHT22 กัน
ครั้งที่แล้วพาเล่น NodeMCU Devkit เบื้องต้นไปแล้ว ครั้งนี้มาลองต่อ sensor กันบ้าง เท่าที่หา sensor ได้มี DHT22 เอาไว้หากิน 1 ตัว DHT22 เป็น temperature sensor และ humidity sensor แบบดิจิตอลสามารถนำมาใช้งานร่วมกับ Devkit ได้ ซึ่งมีนักพัฒนาเขียน lua module เอาไว้ให้แล้ว มาต่อ DHT22 กับ NodeMCU ดังรูป
จากครั้งที่แล้ว NodeMCU จะเริ่มทำงานที่ไฟล์ init.lua ก่อนใช้เพื่อเชื่อมต่อ wifi เมื่อเชื่อมต่อได้แล้วจึงจะเรียก list.lua และ script.lua ทำงาน