มาเล่น 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

Continue reading

มาเล่น 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 และรูปภาพง่ายๆ แค่นี้

Continue reading

มาเล่น Ubuntu Core บน Azure กัน

Ubuntu Core เปิดตัวมาได้ระยะหนึ่งแล้วซึ่งทาง Canonical ตั้งเป้าไว้เอาไว้ว่า เอามาใช้เป็นระบบปฏิบัติการสำหรับ virtualization และ cloud นอกจากนี้ยังสามารถเอาไปใช้กับ Embedded System รองรับ CPU ตระกูล ARM ด้วย Ubuntu Core สามารถใช้งานผ่าน Cloud Service Provider อย่างเช่น AWS, Azure ได้แล้ว ณ ช่วงเวลาที่เขียน how-to นี้ Ubuntu Core ยังอยู่ในช่วง Alpha 2 หากเข้าไปดูรายการ image ใน service catalog จะยังไม่มีให้ใช้ทั้ง Azure และ AWS ดังนั้นช่วงนี้อาจจะต้องใช้ command line กันไปก่อน หาก Ubuntu Core ออกตัวจริงมาแล้ว จึงจะสามารถใช้งานผ่าน service catalog ได้ง่ายมากขึ้น

มาลอง Ubuntu Core บน Azure กัน อันดับแรกติดตั้ง Azure CLI กันก่อนดังนี้

sudo apt-get update

sudo apt-get -y install nodejs npm nodejs-legacy

sudo npm install -g azure-cli

azure account download

Continue reading

มาเล่น CoreOS บน Azure กัน

แถลงข่าวกันมาหลายเดือนตอนนี้ CoreOS มีให้บริการบน Azure แล้ว สำหรับท่านที่เป็นแฟน CoreOS และ Docker พลาดไม่ได้เลยกับบริการนี้บน Azure ซึ่งคุณไม่ต้องกังวลเรื่องติดตั้ง CoreOS บน Azure อีกต่อไป และที่สำคัญสามารถใช้งาน Docker ได้เลย ไม่ต้องเขียน Cloud Config ให้ยุ่งยากอีกต่อไป สามารถเรียกใช้ etcd และ fleet ได้เลย สำหรับการใช้งาน CoreOS ก็ง่ายมากๆ เข้าไปที่ Azure Gallery จากนั้นคลิกสั่ง deploy กันได้เลย ง่ายๆ แค่นี้

เลือก Create Virtual Machine จาก Gallery

Continue reading

มาเล่น Bluemix บริการ PaaS จาก IBM กัน

Bluemix เป็นบริการ Cloud Computing ของ IBM ซึ่งเน้นในด้าน Platform as a Service (PaaS) โดยใช้ Cloud Foundry ซึ่งเป็น OpenSource มาพัฒนาต่อและให้บริการ สำหรับท่านที่ใช้ Cloud Foundry มาก่อนก็ใช้งานเหมือนๆ กัน แต่ Bluemix สามารถใช้งานได้ทั้งในรูปแบบ cli ผ่าน Cloud Foundry Cli ปกติ และการทำงานผ่านหน้าเว็บไซต์ Bluemix โดยตรง platform ที่ให้บริการใน Bluemix มี 4 platform หลักคือ java, node.js, ruby on rails และ ruby sinatra นอกจากนี้จะเป็น service, add-on ซึ่งสามารถเพิ่มเข้ามาได้ในภายหลังได้ นอกจากนี้ยังมี boilerplates ที่รวมเอา runtime และ service เข้ามาให้บริการร่วมกันสร้างเป็นบริการเฉพาะทาง เช่น Internet of Things platform, Mobile Cloud, Node Cached Starter, Big Data และอื่นๆ อีกมากมาย

สำหรับการใช้งาน Bluemix ต้องสมัครสมาชิกก่อน สมัครได้ฟรีโดยไม่ต้องใช้บัตรเครดิต แต่ใช้งานได้ฟรี 30 วัน หากติดใจอยากให้งานต่อแนะนำให้ติดต่อเซล เพื่อขอเปิด Pay Account ครับ หากไม่คิดจะใช้งานต่อ แนะนำให้รีบเอาข้อมูลออกมาก่อนหมดระยะเวลาใช้งานฟรี 30 วัน ไม่อย่างนั้นจะไม่มีโอกาสเอาข้อมูลกลับมานะครับ อันนี้ประสบการณ์ตรง :P เอาล่ะ เมื่อสมัครสมาชิกกันแล้วก็เริ่มใช้งานกันได้ อย่างที่บอกคือ ถ้าเคยใช้ Cloud Foundry มาก่อนไม่ยอกเลยครับ ขั้นแรกไปดาวน์โหลด Cloud Foundry CLI กันก่อน เลือก Binary หรือ Installer ก็ได้ เลือกให้ตรงกับระบบปฏิบัติการที่คุณใช้นะครับ Continue reading

มาติดตั้ง OpenShift Origin เล่นกัน

OpenShift เป็น Platform as a Service พัฒนาโดย RedHat ซึ่งนำแนวคิดการพัฒนา PaaS โดยไม่พึ่งพาการทำ Multi Tenant โดยใช้ VM แต่ใช้ Kernel Control Group, Namespace และ SELinux เป็นตัวแบ่ง Tenant ให้แต่ละ Application ทำงานแทนการใช้ VM ทำให้โครงสร้างของ OpenShift แตกต่างจาก PaaS ตัวอื่นๆ อย่างชัดเจน OpenShift ใช้ Gear แทน Application ของผู้ใช้ ซึ่งใน 1 Gear จะมีส่วนประกอบไปด้วย Code ของ Application, Git Repository, Application Environment และ Cargtride ที่เป็น Application Runtime, ฐานข้อมูล, Jenkins Server สำหรับทำ CI และ HA Proxy สำหรับทำ Load balance ระหว่าง Gear และรองรับการทำ Elastic Scale ผ่าน HA Proxy นอกจากนี้ยังสร้าง domain name จาก namespace ที่กำหนดให้โดยผู้ใช้ให้อีกด้วย ใครสนใจเรื่อง Architecture เข้าไปอ่านในเว็บ OpenShift กันได้

OpenShift แบ่งรุ่นบริการออกเป็น 3 รุ่น คือ

  • OpenShift Origin เป็นโอเพนซอร์สสามารถเข้าร่วมพัฒนาได้
  • OpenShift Enterprise เป็นรุ่น Enterprise ติดตั้งผ่าน RHEL Repository
  • OpenShift Online เป็นบริการออนไลน์บน openshift.com

OpenShift สามารถติดตั้งได้บน RedHat Enterprise Linux และ Fedora สำหรับ Linux Distribution อื่น เอา ไฟล์ spec+source ไป build package เอาเอง T_T

วิธีการติดตั้ง OpenShift ทำได้ 2 วิธี

ถ้าอยากลองเล่น OpenShift ก็สามารถลงทะเบียนเข้าใช้งานที่ OpenShift Online ได้ฟรี สำหรับการติดตั้งแบบง่ายๆ ก็คงหนีไม่พ้น Puppet ครั้งนี้ใช้ Fodora 19 ติดตั้งแบบ Command Line และ Developer Tools อ้อ ลืมบอกไปว่าเราจะติดตั้งแบบง่ายที่สุดคือมี broker+node+console ในเครื่องเดียวกัน ใครสนใจติดตั้งแบบอื่น ตามลิงค์ได้ที่ท้ายบทความ หลังจากติดตั้ง Fedora 19 แล้วก็ติดตั้ง Puppet ดังนี้

yum install -y --nogpgcheck http://yum.puppetlabs.com/puppetlabs-release-fedora-19.noarch.rpm

เนื่องจากเราจะใช้ mcollective และ activemq ของ OpenShift Origin ดังนั้นต้องไปตั้งค่า exclude ไว้ใน repo ของ puppet โดยแก้ไขไฟล์ /etc/yum.repo.d/puppetlabs.repo ใส่ค่า exclude=*mcollective* activemq ต่อท้ายทุกๆ repo ในไฟล์ puppetlabs.repo จากนั้นตั้งติดตั้ง puppet และเครื่องมือที่ต้องใช้

yum install -y puppet facter tar httpd-tools

จากนั้นติดตั้ง puppet module ดังนี้

puppet module install puppetlabs/ntp

puppet module install puppetlabs/stdlib

puppet module install openshift/openshift_origin

ติดตั้ง Bind และสร้าง TSIG Key

yum install -y bind

สร้าง TSIG Key ให้ domain ของคุณ ในกรณีนี้ใช้เป็น example.com ถ้าไม่ชอบก็สามารถเปลี่ยนเป็น domain ที่คุณต้องการได้

/usr/sbin/dnssec-keygen -a HMAC-MD5 -b 512 -n USER -r /dev/urandom -K /var/named example.com

cat /var/named/Kexample.com.*.key | awk '{print $8}'

คุณจะได้ค่า Key หน้าตาแปลกๆ แบบนี้ Mczfz277B5ykcPB4mAurZtZMhmXV6g== ให้จดเอาไว้ แล้วสร้าง config ชื่อ openshift_origin.pp ดังนี้

แก้ไฟล์ config ตามค่าที่คุณต้องการ เช่น domain, bind key เป็นต้น ใน config ผมกำหนดให้ puppet ติดตั้ง Cartridge แค่ PHP, PHPMyAdmin, MariaDB และ HAProxy เพื่อความรวดเร็ว เมื่อได้ไฟล์ config กันแล้ว ก็สั่งให้ puppet ทำงานดังนี้

puppet apply --verbose openshift_origin.pp

ระหว่างนี้ก็นั่งรอครับ ประมาณครึ่งชั่วโมง T_T ถ้าไม่มี Error ตัวแดงๆ ก็เป็นอันใช้ได้ เมื่อติดตั้งเสร็จให้ reboot เครื่องแล้ว เปิด browser ไปที่ http://broker.example.com/console

OpenShift จะถาม username และ password ใส่ openshift, password จากนั้นก็ใช้งานตามปกติ

ลิงค์ที่น่าสนใจ

Cloud Specialist เทอม 2 เรียนอะไรบ้าง

เข้าช่วงเทอม 2 ของการเรียน Cloud Specialist ที่มหาวิทยาลัยมหิดล เรียนจบไป 1 เทอมรู้สึกได้เลยว่าเหมือนการเรียนในมหาวิทยาลัยก็เลยรู้สึกเบื่อๆ กับการเรียนนิดหน่อย อ่ะ เข้าเรื่อง เทอม 2 นี้จะเรียนเกี่ยวกับ Virtualization และ Security ซึ่งในเทอมแรกเรียนเรื่อง Cloud Technology และ Cloud Architect กันไปแล้ว เทอมนี้ก็จะเริ่มมาลงลึกเรื่องของ Virtualization ว่าอะไรที่สามารถทำ Virtual ได้บ้าง มันทำงานอย่างไร และจะทำแบบนั้นได้อย่างไร ซึ่งเนื้อหาหลักๆ ก็จะครอบคลุมเรื่อง Compute, Storage และ Network เป็นหลัก ส่วนเรื่อง Security ก็จะมาดูว่า Security ในแต่ละส่วนจะตรวจสอบได้อย่างไร และจะ patch อย่างไร ใครสนใจเรื่องไหนก็ฝากคำถามมากับผมได้ครับ เผื่อช่วงนั้นอาจจะตั้งใจเรียนเป็นพิเศษ ;P

หมดไป 1 เทอมกับ Cloud Specialist

ผมเรียน Cloud Specialist มาครบ 1 เทอม รู้สึกว่าไม่ค่อยมีความสามารถด้านเทคนิคในส่วนของ Cloud Computing มากขึ้นเท่าไร แต่มีความรู้ฝั่งทฤษฎีมาถมช่องโหว่ในสมองให้ทึบมากยิ่งขึ้น ซึ่งก็ไม่ได้ช่วยให้เกิดแนวความคิดในการ “ทำเงิน” หรือแนวทางที่จะ “ช่วย” ผู้ประกอบการธุรกิจซอฟต์แวร์ในบ้านเราสักเท่าไรนัก ก็อย่างที่ทราบกันหลักสูตรนี้เน้นไปที่ Private Cloud ในส่วน Infrastructure as a Service เป็นหลักซึ่งไม่ค่อยเกิดประโยชน์เท่าไรนักกับคนที่ต้องการสร้าง Innovation ในรูปแบบของซอฟต์แวร์

โดยรวมๆ คอร์สนี้สร้างปัญหาให้กับผมมากกว่าเพราะต้องคอยย้อนอดีตสลับโหมด 4 คน กลับไปมา เพื่อทำในส่วน System Admin, Network Admin, Distributed Storage, Virtualization ซึ่งเหนื่อยพอดู ซึ่งจริงๆ แล้วความรู้พื้นฐานเหล่านี้ควรจะเก็บไว้ในใจว่าในอดีตมันมีสิ่งเหล่านี้ และเราเรียนรู้จากอดีตว่ามันเป็นอย่างไร มันมีบทสรุปที่ชัดเจนอย่างไร สิ่งที่สำคัญที่สุด คือ เราจะใช้ Cloud Computing แต่ละ Service Model ไม่ว่าจะเป็น IaaS, PaaS ให้ “คุ้มค่า” และ “ทำเงิน” ได้อย่างไร และเรียนรู้ที่จะพัฒนา SaaS สร้าง Software Innovation ใหม่บนโมเดลธุรกิจแบบใหม่ สร้าง “ผลกำไร” มากขึ้นและ “ยั่งยืน” ได้อย่างไร นั่นคือสิ่งที่สำคัญ

ไม่ต้องแปลกใจ Cloud Computing เป็นการรวมวิชาหลากหลายเข้ามารวมกัน สมัยเมื่อ 5 ปีที่แล้วผมก็ปะติดปะต่อ ความรู้พื้นฐานเหล่านี้พร้อมเรียนรู้เรื่อง Cloud Computing จากเครื่องมือที่มีอยู่ ไม่ว่าจะเป็น Amazon Web Service, OpenNebula, Eucalyptus เป็นต้น ทำให้รู้ว่าองค์ประกอบต่างๆ ที่เราต้องไปค้นหาต่อมันมีอะไรบ้าง และได้เรียนและเล่นมาระดับหนึ่ง การที่ได้ย้อนกลับไปเล่นและลองสิ่งที่ผ่านมาเกือบๆ 5 ปี มันเป็นเรื่องที่ไม่น่าสนุกเท่าไร มันกลายเป็นคำถามว่าทำไมไม่ก้าวไปข้างหน้า เรียนรู้สิ่งใหม่ สร้างและพัฒนาสิ่งใหม่ๆ ให้เกิดขึ้น

 

เก็บตก AWS Cloud Kata Bangkok 2013

วันนี้ลางานไปงานสัมนา AWS Cloud Kata for Start-ups and Developer งานนี้จัดขึ้นที่โรงแรม Centerpoint Hotel & Resident ติดกับ Terminal 21 สิ่งที่ผมสนใจในงานนี้มี 2 อย่าง อันแรกคือระบบลงทะเบียนผ่าน PeaTix ผมชอบมากๆ สะดวกและรวดเร็ว แค่ลงทะเบียนผ่านหน้าเว็บหรือผ่าน Mobile App คุณก็จะได้ QR Code มา 1 อันพร้อมหมายเลขที่นั่ง ทำให้ผมสงสัยว่าตอนเข้างานสัมนาเขาจะทำยังไง จะ Scan QR Code มั๊ยหรือยังไง สิ่งที่น่าสนใจอย่างที่ 2 คือเนื้อหาของสัมนาของ AWS Kata มักจะเน้นไปที่เปิดโอกาสให้ได้ลองเล่นและทดลองใช้งาน AWS และอย่างที่บอกงานนี้เหมาะสำหรับ Start-ups และ Developers ทำให้ยิ่งอยากรู้ว่า ทีม AWS APAC จะทำอย่างไรหรือมีแนวทางนำเสนออย่างไร นอกจากนี้ก็เป็นเรื่องเกี่ยวกับ Start-ups ล้วนๆ ในเรื่องของ Venture Capital, Funding และ Pitching

พอเข้าไปในงานเจอผู้นำแก๊ง Joe Ziegler ผมเคยฟัง Joe บรรยายในงาน AWS Summit ที่อินเดีย ก็รู้เลยว่างานนี้สนุกแน่ เปิดงานด้วยใครใช้ Amazon บ้าง เริ่มจากวิดีโอ NASA JLP และแคมเปนจ์ใหม่ชื่อ Activate เมื่อเช้าเพิ่งดูใน Youtube T_T เป็นแคมเปนจ์เพื่อช่วยเหลือ Start-up ในการเข้าถึงแหล่งข้อมูลและเครื่องไม้เครื่องมือต่างๆ ในการใช้งาน AWS หลังจากนั้นก็เข้าสู่ช่วง Customer Speaker มี Stamp มาเล่าเกี่ยวกับการเริ่มใช้ AWS ว่าเริ่มอย่างไร และ Wongnai มาเล่าเรื่องการใช้งาน Elastic Scaling ของ Wongnai และบริการอื่นๆ ที่ Wongnai เล็งไว้ว่าจะใช้งานในอนาคต หลังจากนั้นก็เข้าเนื้อหาของ Markku Lepistö มาอธิบายเกี่ยวกับ AWS ว่ามีบริการอะไรบ้าง จะใช้งานขั้นเริ่มต้นได้อย่างไร (MVP:Minimum Viable Product) แล้ว Lean Start-up กับ AWS ทำได้อย่างไร อ้อแนะนำหนังสือ Lean Start-up ลองหามาอ่านนะครับสนุกมาก ตบท้ายด้วย Joe Ziegler มา Live Demo เรื่องทำ App พร้อมรองรับ Elastic Scaling แบบไม่ต้องสนใจเรื่อง Infrastructure บลาๆ มากนัก ด้วย Elastic Beanstalk อันนี้ช่วยให้เข้าใจเกี่ยวกับ Benefit ของ Cloud และ AWS ได้ง่ายมากคุณมีหน้าที่แค่เขียน App เท่านั้นส่วนอื่นๆ Elastic Beanstalk จัดการให้ และ Live Demo ก็สนุกสไตล์ Joe Ziegler ล่ะครับ

เนื่องจากเวลาสัมนาช้ากว่ากำหนดมากและเย็นมากแล้ว ผมก็เลยไม่ได้อยู่สัมนาต่อ ในหัวข้อ Getting to Profitability on AWS ที่จะพูดถึงเรื่อง Total Cost of Ownership (TCO), The six best practices for cost aware architecting ซึ่งเรื่อง Cost Aware Architecting เป็นหัวข้อที่เป็นคำตอบที่ว่าใช้ AWS อย่างไรไม่ให้เสียตังค์เยอะนั่นเอง เรื่องนี้เคยเข้า Live Webinar มาแล้วรอบนึงก็เลยกลับบ้านก่อน แฮะๆ

 

แปะ Slide AWS Cloud Kata ที่ฮ่องกงเอาไว้ให้ เพราะคล้ายๆ กันกับ AWS Cloud Kata ที่กรุงเทพ

 

Slide ของ Pieter Kemps มีเนื้อหาครอบคลุมแทบจะทุกเรื่อง รวมไปถึงเรื่อง Cost Aware Architecting ด้วย

 

ไหนๆ ก็จะ blog เรื่อง AWS แล้วก็เอาให้หมดเลยละกัน อันนี้เป็น Video + Webinar

 

A Walk through the AWS Cloud App Hosting on AWS

 

Getting Started With AWS Elastic Beanstalk

 

Running Your Startup’s Sign Up Form on AWS Elastic Beanstal

 

 

 

 

How to Reduce Your Spend on AWS

 

Total Cost of (Non) Ownership in the Cloud

 

สิ่งที่อยากเล่นใน OpenStack Havana

ผมใช้ Havana ตั้งแต่ช่วงเดือนกันยายนที่ผ่านมา ดึงจาก Trunk ของ OpenStack ทดลองเอง ทำให้รู้สึกได้เลยว่าของเล่นใหม่ใน Havana อย่าง Heat, Trove, Ceilometer น่าสนใจ ก็เลยอยากตั้งเป้าไว้กับการทดลองในอนาคด ดังนี้

  • Heat พร้อม Auto Scaling Stack + Application
  • Live Migration จาก Ceilometer Alert
  • LBaaS ลองบน Havana Dev แล้วยังไม่สะใจ
  • Docker as Hypervisor อันนี้ขาดไม่ได้ อยากรู้ว่าทำ Orchestration ผ่าน Heat ไปยัง Docker ได้ยังไง
  • ใช้ Identity Service จากแหล่งอื่น เช่น Google, Facebook เป็นต้น มาแทน Login ของ Horizon เดิม
  • DNSaaS ใช้ชื่อ vm host มาสร้างเป็น DNS record ให้อัตโนมัติ
  • CPU Entitlement (ยังหาวิธีไม่ได้)

เรื่องอื่นๆ ที่ยังคาใจ

  • Foreman
  • Fuel
  • Juju กับ OpenStack
  • OCCI กับ OpenStack
  • Console on Mobile เหมือนกับ AWS Console on Mobile, Cloud Hub

เอาแค่นี้ก่อนครับ ถ้าว่างและมีเครื่องลองอาจจะได้ทดสอบกัน :)