เริ่มต้นสร้างแอปพลิเคชันโดยทำการเลือก Cartridge ดังนี้ PHP 5.4, MySQL 5.5, phpMyAdmin 4 และตั้งชื่อแอปพลิเคชันด้วยคำสั่ง

rhc app-create (app-name) php-5.4 mysql-5.5 phpmyadmin-4

โดยเปลี่ยนค่า (app-name) เป็นชื่อของแอปพลิเคชัน เช่น

rhc app-create basicphp php-5.4 mysql-5.5 phpmyadmin-4

ทำการดูและคัดลอกค่า ชื่อฐานข้อมูล(Database Name), ชื่อผู้ใช้ (Username), รหัสผ่าน (Password) ของฐานข้อมูลมาเก็บไว้ด้วยคำสั่ง

rhc app show –a (app-name)
Continue reading

ห้องปฏิบัติการวิจัย vasabilab ภาควิชาวิทยาการคอมพิวเตอร์ มหาวิยาลัยธรรมศาสตร์ มีความประสงค์จะจัดการอบรม OpenStack Tutorial และ OpenStack Birthday Party ในวันจันทร์ที่ 21 ถึงวันพุธที่ 23 กรกฎาคม 2557 ที่ ตึก บร 2 ภาควิชาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี มหาวิทยาลัยธรรมศาสตร์ ศูนย์รังสิต โดยมีกำหนดการข้างล่าง

ผู้สนใจสามารถสอบถามรายละเอียดได้ที่ kasiditchanchio@gmail.com และจองที่นั่งได้โดยใส่ข้อมูลที่ Registration Web Page หรือส่ง ชื่อ นามสกุล หน่วยงานในสังกัด และเบอร์โทรศัพท์ มาที่ kasiditchanchio@gmail.com ภายในวันที่ 15 กรกฎาคม 2557

  • ภาษาที่ไช้ในการอบรม: ไทย
  • ค่าใช้จ่ายในการอบรม 1,000 บาท สำหรับ บุคคลทั่วไป
  • นิสิต นักศึกษา สามารถเข้าอบรมได้ฟรี

เมื่อจบการอบรมแล้วผู้เข้าอบรมจะได้รับ Certificate of OpenStack Training จากคณะวิทยาศาสตร์และเทคโนโลยี มหาวิทยาลัยธรรมศาสตร์


Continue reading

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 ดาวน์โหลดจาก link ได้ครับ แก้ไข 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 จากนั้นก็ใช้งานตามปกติ

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

วันนี้ลางานไปงานสัมนา 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

How to Reduce Your Spend on AWS

Total Cost of (Non) Ownership in the Cloud

หลังจาก blog เรื่องแหล่งความรู้ OpenStack ไป ก็นึกสนุกทำ OpenStack Cheat Sheet ไป 2 เวอร์ชั่น และมีปัญหาจุกจิกกับ Neutron (Quantum) ที่ Lab Cloud Specialist เนื่องจาก Network Architecture ของ Lab ผิดไปจากที่ OpenStack Guid แนะนำไว้ก็เลยทำให้เกิดอาการงงกับ Neutron และปัญหาหนึ่งที่พยายามจะ Debug ก็คือ OpenVSwitch ซึ่งมันก็ดีนะ แต่ Debug งงมาก ก็เลยไปค้นคำถามจาก RedHat OpenStack ได้ข้อมูลที่น่าสนใจดังนี้

  • PackStack All-in-One DIY Configuration อธิบายว่าเกิดอะไรขึ้นกับ OpenVSwitch ในแต่ละขั้นตอนและวิธีการ Debug
  • Networking in too much detail อันนี้อธิบายแต่ละจุดของ Network ในส่วน Instance, Compute Host และ Network Host
  • OpenStack Networking with Neutron on RDO อันนี้เป็น Video อธิบาย้กี่ยวกับ Neutron เครื่องมือในการตรวจสอบและ Debug OpenVSwitch

ผมได้มีโอกาสไปเรียน Cloud Computing Specialist ทำให้ผมพบว่า การติดตั้ง OpenStack มันยุ่งจัง ยิ่ง service ของ OpenStack ยิ่งมากขึ้น ก็ต้อง config มากขึ้น อืมมม จริงๆ ก็ไม่ใช่เรื่องแปลกอะไรอ่ะนะ แต่สำหรับคนที่ต้องการสนองความอยากรู้อย่างผม เจ้าหมี Grizzly ก็เล่นเอาถอดใจเหมือนกัน วันนี้็เลยอยากมาแนะนำวิธีการติดตั้งแบบง่ายๆ สำหรับคนที่อยากรู้ว่า OpenStack เป็นยังไงเพื่อจะได้ทดลองเล่นได้ ก่อนจะถึงขั้นตอนติดตั้ง ต้องแนะนำสักหน่อยว่า OpenStack เป็น Cloud Management Platform ประกอบไปด้วย service ที่ทำหน้าที่แตกต่างกัน ดังนี้

  1. Nova ทำหน้าที่จัดการส่วน Compute และ Orchestration อะไรที่ต้องยุ่งกับ VM ก็ดูตัวนี้
  2. Glance ทำหน้าที่เป็นตัวจัดการ Image Respository ของ VM ที่เราจะเอามาใช้งาน
  3. Cinder ทำหน้าที่เป็นตัวจัดการ Block Storage เอาไว้แปะกับ VM เพิ่ม Disk และเก็บข้อมูล
  4. Keystone ทำหน้าที่เป็น Identity Management และ Tenant ให้กับระบบ
  5. Swift ทำหน้าที่เป็น Object Storage เก็บไฟล์ หรือทำ Archive Block Storage ได้
  6. Neutron ทำหน้าที่เป็น Network Sevice จัดการเรื่อง Virtual Switch/Router/Network ได้
  7. Ceilometer ทำหน้าที่เป็น Meter วัดการใช้งาน resources ไม่ว่าจะเป็น CPU, Memory, Storage และ Network ได้
  8. Heat ทำหน้าที่เป็น Orchestration Tools โดยเตรียม Config ต่างๆ ไว้เป็น Template ใช้ในการ Deploy App ได้ง่ายๆ อันนี้ลอกมาจาก Cloud Formation ของ Amazon AWS
  9. Horizon เป็น Dashboard ทำงานผ่านเว็บ ช่วยให้เราไม่ต้องใช้ Command Line เยอะจนเกินไป

สำหรับผู้ที่อยากลองเล่น OpenStack มี 3 ช่องทางให้เลือก คือ

  1. ติดตั้งเอง
  2. ลองเล่นจาก TryStack
  3. ลองเล่นจาก Cloud Provider อย่าง Rackspace, HP Cloud เป็นต้น


สำหรับผู้ที่อยากติดตั้งเองมีอีก 3 ช่องทางให้เลือก

  1. ติดตั้งจาก Package ที่ Linux Distribution มีให้แล้ว Config ทีละ Service ไปเรื่อยๆ Config เหนื่อย ถ้าขยันก็อาจเลือกวิธีนี้ได้ :)
  2. ติดตั้งจากเครื่องมือ DevOps อย่าง เช่น Chef, Puppet, Juju, Crowbar, Foreman เป็นต้น
  3. ติดตั้งจากเครื่องมือสำหรับนักพัฒนาอย่าง DevStack วิธีนี้เหมาะสำหรับ คนที่อยากรู้เฉยๆ restart เครื่องแล้ว service หายนะจ๊ะ

เยอะไปหรือเปล่า T_T เอาเป็นว่าผมเลือกวิธีง่ายๆ และสามารถเอาไปลองเล่นได้นานๆ วิธีที่ว่าคือ การติดตั้งผ่านเครื่องมือ DevOps ซึ่ง RedHat ได้เลือกใช้ Puppet มาเป็นเครื่องมือสำหรับการติดตั้ง OpenStack บน RedHat Enterprise Linux, Fedora 19+ และ CentOS มาดูวิธีการติดตั้งกัน สิ่งที่ต้องมี ได้แก่

  1. RedHat Enterprise Linux 6 Mini หรือ CentOS 6.4 Mini ก็ได้
  2. เครื่องคอมพิวเตอร์ที่มี CPU 2 Cores, RAM 2GB, HDD 160GB เป็นอย่างต่ำ มีสัก 2 เครื่อง ต่อ LAN และออกเน็ตได้

โดย LAN เป็น Network 192.168.0/24 เครื่อง Controller มี IP เป็น 192.168.0.10 เครื่อง Node 1 มี IP เป็น 192.168.0.11

เริ่มจาก Cluster Controller (All in One)

ติดตั้ง CentOS 6.4 Mini ให้เรียบร้อย จากนั้นติดตั้ง RedHat OpenStack Repository ดังนี้

sudo yum install -y http://rdo.fedorapeople.org/openstack-grizzly/rdo-release-grizzly.rpm

จากนั้นติดตั้ง PackStack เครื่องมือที่ใช้ติดตั้ง OpenStack

sudo yum install -y openstack-packstack

เพื่อความแน่ใจ reboot เครื่อง 1 รอบ ให้ Kernel ใหม่ทำงาน จากนั้นก็ ติดตั้ง OpenStack ได้เลยโดยใช้คำสั่ง

packstack --allinone --os-quantum-install=n

รอจนกว่าการติดตั้งจะเสร็จ ตัวติดตั้งจะแจ้งว่าเข้าใช้งาน Dashboard ได้จาก URL อะไร และ Username, Password อะไร

สำหรับเครื่อง Node ทำแบบเครื่อง Controller ติดตั้ง packstack จากนั้น copy file packstack-answer-XXXXXX-XXXX.txt มาไว้ที่เครื่อง Node แก้ไขไฟล์นี้ในส่วน CONFIG_NOVA_COMPUTE_PRIVIF, CONFIG_NOVA_NETWORK_PRIVIF จาก lo เป็น eth0 , CONFIG_NOVA_COMPUTE_HOSTS เป็น IP ของเครื่อง Node คือ 192.168.0.11 แก้ CONFIG_NOVA_NETWORK_FLOATRANGE จาก 10.3.4.0/22 เป็น 192.168.0.128/26 จากนั้นสั่งติดตั้งตาม answer file ดังนี้

packstack --answer-file=packstack-answer-XXXXXX-XXXX.txt

หลังจากการติดตั้งเสร็จ มาลอง Service กันหน่อย ใช้คำสั่ง

source keystone_admin

เพื่อเปิด console และตั้งค่า Environment ให้เครื่องมือบน Command Line จากนั้นใช้คำสั่ง

nova-manage service list

เพื่อดูว่า service ทั้งหมดทำงาน หรือใครอยากจะทดสอบ เป็นราย service โดยการ list ข้อมูลออกมาก็ได้ เช่น nova list, glance index, cinder list เป็นต้น ถ้าลองแล้วไม่มี Error ก็ถือว่าใช้ได้ ลืมบอกไปว่าถ้าจะทำให้ VM ที่สร้างขึ้นมา ต่อกับโลกภายนอกได้ ต้องตั้ง Floating IP แต่ PackStack กำหนดค่าให้เราสำเร็จ ซึ่งเป็นค่าที่ผิด T_T ต้องมาแก้กันก่อน โดยลบของเก่าออกก่อน

nova floating-ip-bulk-delete 10.3.4.0/22

และเพิ่ม Floating IP ที่ถูกต้องลงไป

nova floating-ip-bulk-create 192.168.0.128/26

จากนั้นสร้าง SSH Key สำหรับใช้งานกัน :)

nova keypair-add mykey > mykey.pem

ดาวน์โหลด VM Image สมมติว่าเป็น Ubuntu ละกัน

wget http://cloud-images.ubuntu.com/precise/current/precise-server-cloudimg-amd64-disk1.img

และลงทะเบียนเข้าไปใน Glance ดังนี้

glance image-create --name 'precise' --disk-format qcow2 --container-format bare --is-public true < precise-server-cloudimg-amd64-disk1.img

กำหนด security group ให้ ssh และ ping ได้

nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0

nova secgroup-add-rule default tcp 22 22 0.0.0.0/0

เมื่อมีของครบแล้วก็เริ่ม start vm กันได้ โดยใช้คำสั่ง

nova image-list

ดูว่า precise image id เป็นเท่าไร จากนั้นสั่ง boot ด้วยคำสั่ง

nova boot --image <image-id> --key-name mykey --flavor m1.small --security-groups default myprecise

ใช้คำสั่ง nova list ก็จะพบว่า vm ชื่อ myprecise กำลังเริ่ม start แล้ว เมื่อเข้าสู่สถานะ running ก็สามารถ ssh เข้าไปได้ อ้อ ก่อนอื่นกำหนด Floating IP ให้ VM เสียก่อน โดยใช้คำสั่ง

nova add-floating-ip myprecise 192.168.0.129

ใช้คำสั่ง nova list ดูว่า floating ip ไปเกาะกับ vm ของเราหรือยัง ถ้าเกาะเรียบร้อยแล้วก็สามารถ ssh เข้าไปได้โดยใช้คำสั่ง

ssh -i mykey.pem ubuntu@192.168.0.129

เอาแค่นี้ก่อน คุณสามารถใช้งาน OpenStack จาก Dashboard ได้นะครับ

สำหรับใครที่อยากใช้ OpenStack แบบจริงๆ จังๆ หรือต้องการทำ Private Cloud ใช้ในองค์กร แนะนำให้ไปเรียนกับ ClusterKit หรือ อ.อาณัติ หรือ ซื้อบริการ RedHat OpenStack, Ubuntu OpenStack ได้จากตัวแทนจำหน่ายใกล้บ้านท่านครับ :)

หลายคนอาจเจอปัญหาอาการ 503 Service Unavailable บน OpenShift หลังจาก Deploy PHP App ทุกครั้งที่มีการ Deploy app ผ่าน git push OpenShift จะเอาไฟล์ที่ push ไปวางแทนที่ revision เดิมและเริ่มกระบวนการ Deploy และจะทะยอย Stop และ Start Service ต่างๆ ใน Cartridge ที่เรามี เช่น Web Server, MySQL เป็นต้น เนื่องจาก OpenShift จะต้องรอ Service ในแต่ Cartridge เริ่มทำงานก่อน ทำให้เราเจอหน้า 503 Service Unavailable ในการ Deploy PHP App ไม่จำเป็นต้อง Stop และ Start Service ใน Cartridge ต่างๆ ก็ได้เพราะภาษา PHP เป็นภาษา Script เราสามารถแก้ปัญหานี้ได้ง่ายๆ โดยใช้วิธีที่เรียกว่า Hot Deploy

การทำ Hot Deploy จะเป็นการสั่งให้ OpenShift ไม่ต้องสนใจเรื่อง Start/Stop Cartridge มีวิธีการง่ายๆ คือ สร้างไฟล์ hot_deploy ใน markers

$ touch YourAppName/.openshift/markers/hot_deploy

$ git commit -am "Adding hot deploy marker"

$ git push

ผมได้กลับมาใช้ OpenStack อีกรอบ หลังจากที่เคยใช้รุ่น Essex เป็นรุ่นที่ Horizon เพิ่งเสร็จใหม่ๆ ก่อนหน้านี้ก็ใช้ command line มาตลอดจำได้เพราะใช้บ่อย ผ่านไปเกือบ 2 ปีกลับมาใช้รุ่น Grizzly ที่เคยใช้คำสั่งใน command line ได้ก็ลืมหมด ก็เลยคิดว่าทำ Cheat Sheet ไว้สักหน่อยน่าจะดี ผมก็เลยถือโอกาส แชร์เอาไว้ให้ได้ดาวน์โหลดไปแปะข้างฝาละกันนะครับ สำหรับท่านที่สนใจร่วมทำ Cheat Sheet ก็ขอ Share เอกสารผ่าน Google Drive ได้ครับ

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

Thai MongoDB เปิดบริการ MongoDB as a Service รายแรกของประเทศไทย ให้บริการ MongoDB บน SSD Serverv ให้ความเร็วในการการเข้าถึงข้อมูลได้รวดเร็ว พร้อมบริการสำรองข้อมูลรายวัน (Daily Backup) และสามารถเรียกคืนข้อมูลได้คลอดเวลา (Restore) บริการพิเศษสำหรับผู้ที่ต้องการแยกผู้ใช้บริการออกจากกันด้วย Dedicate MongoDB Instance ไม่ต้องแชร์กับผู้ใช้รายอื่น และบริการช่วยเหลือเมื่อเกิดปัญหาในการใช้งานระบบ

บริการดีๆ แบบนี้ห้ามพลาด ติดต่อสอบถามรายละเอียดได้ที่ Thai MongoDB