Nokia Lumia 1520 – 20MP PureView กับ Nokia Camera และ RAW File (DNG)

โนเกียได้เปิดตัว Nokia Lumia 1520 เมื่อ 2 เดือนก่อน ซึ่งเป็นมือถือรูปลักษณ์แบบ Phablet ที่มาพร้อมกับจอภาพขนาด 6 นิ้ว ความละเอียด Full HD อีกทั้งผนวกกับ กล้อง และเลนส์ Carl Zeiss ทำงานผ่านเซ็นเซอร์ขนาด 1/2.5” ความละเอียด 20 MP เทคโนโลยี PureView และ optical image stabilization (OIS) โดยเป็นการจับคู่กันอย่างลงตัวของมือถือจอภาพขนาดใหญ่ และกล้องถ่ายรูปพร้อมเลนส์ประสิทธิภาพสูง

WP_20131226_12_00_01_Pro wp_ss_20131226_0013c

โดยกล้อง และเลนส์ที่มีประสิทธิภาพสูงนั้น ต้องคู่กับแอพที่ชื่อ Nokia Camera ซึ่งเป็นแอพที่ได้รวมเอา Nokia Smart Cam และ Nokia Pro Cam เข้ามารวมกันในแอพเดียว เพื่อเพิ่มความสะดวกสบายในการเลือกใช้งาน คุณสมบัติเดิมจากทั้งสองแอพนั้น ได้ถูกถ่ายทอดมาครบครันใน Nokia Camera โดยเป็นทั้งแอพที่ช่วยในการ แต่งรูปที่ทำให้เราถ่ายภาพ ปรับแต่งภาพที่มีวัตถุเคลื่อนไหว ภาพแอ็คชั่นเคลื่อนไหว และเอฟเฟคสวยๆ ผ่านเลนส์แอพได้

WP_20131218_10_23_48_Pro

WP_20131226_12_16_24_Pro
(ภาพถ่ายโดย Nokia Lumia 920)

รูปลักษณะตัวเครื่องนั้นออกแบบที่หมดจด เต็มไปด้วยแนวการออกแบบที่ชื่อว่า minimalist โดยจะมุ่งเน้นใส่รายละเอียดตามความจำเป็น และประโยชน์เพื่อใช้งานตามความเหมาะสมเป็นหลัก

ภายในนั้นใช้ชิปประมวลผลกลาง Qualcomm MSM8974 Snapdragon 800 และชิปประมวลผลกราฟฟิก Adreno 330 ให้หน่วยความจำหลักมาถึง 2GB และพื้นที่เก็บข้อมูลหลักของเครื่องอีก 32GB และยังใส่ microSD Card เพิ่มได้อีกด้วย

Nokia Camera

Nokia Camera ซึ่งเป็นแอพที่ได้รวมเอา Nokia Smart Cam และ Nokia Pro Cam จากแอพที่พัฒนาแะใช้งานแยกกันมาแต่เดิม มารวมกัน โดยหน้าตาและการเรียกใช้ ทำงานทดแทนแอพ Camera หลักของ Windows Phone 8 (Lumia Blank) ได้ทันที

wp_ss_20131226_0008

การเข้าใช้งาน Nokia Camera ที่มาพร้อมกับ Windows Phone 8 (Lumia Black) นั้นเข้าผ่านปุ่ม shutter หลักของเครื่องได้ทันที เพราะ Nokia ตั้งค่าเข้า Nokia Camera ให้เป็นค่าเริ่มต้นจากโรงงานมาให้เลย ซึ่งหน้าแรกที่เจอคือส่วนติดต่อการถ่ายรูป 2 ส่วนหลักๆ คือส่วนปรับแต่ง (ด้านบน) และส่วนของการเลือกโหมดการถ่ายภาพ-สั่งการถ่ายภาพ (ด้านขวา) โดยเลือกได้ระหว่างโหมดการถ่ายภาพแบบ Picture, Video และ Smart

wp_ss_20131226_0009

ส่วนปรับแต่ง (ด้านบน) นั้นสามารถขยายออกมาเป็นตัวเลือก เพิ่มเติมได้มากมาย โดยปรับได้ดังนี้

  1. brightness ปรับแต่งแบบชัดเชยแสง แบบ 3 Stop (1/3, 1/6 และ 1)
  2. shutter speed ปรับแต่งค่าความเร็มชัตเตอร์ (1 ส่วนวินาที ถึงหลักวินาที)
  3. sensitivity ปรับแต่ค่าไวแสง แบบ ISO
  4. focus ปรับการโพกัสแบบอัตโนมัติกับแบบปรับเอง (automatic หรือ manual)
  5. white balance ปรับตั้งค่าสมดุลสีขาว
  6. flash on/off ปรับการใช้แฟลชในการถ่ายรูป

wp_ss_20131226_0002 wp_ss_20131226_0015

wp_ss_20131226_0016 wp_ss_20131226_0019

wp_ss_20131226_0020 wp_ss_20131226_0021

แน่นอนว่าบางคนไม่สะดวกในการปรับแต่งที่ส่วนปรับแต่ง (ด้านบน) ก็สามารถลากปุ่มสั่งการเข้ามาที่กลางจอภาพ จะมีส่วนปรับแต่งทั้งหมดแสดงออกมาให้ปรับแต่งได้ทัน โดยไม่ต้องไปยุ่งกับส่วนปรับแต่ง (ด้านบน) ให้ยุ่งยากแต่อย่างใด ซึ่งตรงนี้คงแล้วแต่ใครถนัด

wp_ss_20131226_0001

ในส่วนของ App Bar นั้น มีส่วนของ Expander (Ellipsis) ที่สามารถเลือกใช้งานเมนูอื่นๆ ที่ซ้อนอยู่เพิ่มเติมได้

wp_ss_20131226_0022 wp_ss_20131226_0023

  1. lenses – เป็นส่วนที่เรียกแอพเพื่อเรียกใช้ฟิตเตอร์ต่างๆ ในการตกแต่งรูปภาพที่ถ่ายเสร็จแล้ว
  2. front facing – เป็นส่วนสลับการใช้งานกล้องหน้า-หลัง
  3. timer – ตั้งเวลาถ่ายรูป
  4. bracketing – ตั้งค่าเพื่อถ่ายรูป “คร่อมแสง” โดยใช้เพื่อให้ความสว่างหลายระดับ แยกเป็นหลายภาพ (ถ่ายที่ละภาพ) โดยกดปุ่มชัตเตอร์ไล่ไปเรื่อยๆ ตัวแอพกล้องจะไล่ปรับความสว่างจากมืดสุดไปสว่างสุด ตามการตั้งค่า
  5. settings – การตั้งค่ารวมทั้งหมดของ picture, video และ smart
  6. tutorial
  7. feedback
  8. about

wp_ss_20131226_0029 wp_ss_20131226_0030

wp_ss_20131226_0031

ในส่วนที่น่าสนใจคือ settings เป็นส่วนที่ปรับแต่งค่าต่างๆ ใดมากมายกว่าแอพ Camera หลักของ Windows phone 8 ค่อนข้างเยอะ

ในส่วนของ pictures นั้นจะปรับแต่งได้ดังนี้

  1. ตั้งให้มีไฟส่องโดยใช้ไฟจากแฟลชที่มือถือ เพื่อส่องช่วยหาโฟกัสให้
  2. ตั้งค่าประเภทของเส้นกริดเพื่อช่วยจัดองค์ประกอบภาพ
  3. สัดส่วนของภาพ (16:9 หรือ 4:3)
  4. การเลือกประเภทของรูปภาพที่จะได้หลังจากถ่ายรูปเสร็จสิ้น (จะกล่าวต่อไปในตอน RAW File)
  5. การตรวจจับใบหน้า
  6. แสดงรูปภาพหลังจากถ่ายรูปเสร็จสิ้น

wp_ss_20131226_0024 wp_ss_20131226_0026

ในส่วนของ video นั้นจะปรับแต่งได้ดังนี้

  1. ตั้งค่าประเภทของเส้นกริดเพื่อช่วยจัดองค์ประกอบภาพ
  2. ความละเอียด ความเร็ว และสัดส่วนของวิดีโอที่จะบันทึก
  3. ตั้งค่าคุณภาพของเสียง
  4. ตั้งค่าการบันทึกเสียงจากไมล์ที่อยู่คู่กับกล้องหน้า

ในส่วนของ smart นั้นจะปรับแต่งได้เพียงแสดงรูปภาพหลังจากถ่ายรูปเสร็จสิ้นเท่านั้น เพาะการปรับแต่งจะเป็นแบบสำเร็จรูปไว้แล้ว

wp_ss_20131226_0027 wp_ss_20131226_0028

RAW File (DNG)

การตั้งค่าเพื่อบันทึกการถ่ายรูปของมือถือ Nokia Lumia 1520 (และ Nokia Lumia 1020) เพื่อให้บันทึกไฟล์ DNG (RAW) นั้น สามารถเข้าไปตั้งค่าได้ที่ pictures ในแอพ Nokia Camera ที่หัวข้อ Capture mode

จะมีตัวเลือกให้ทั้งหมด 3 ตัวเลือก

  1. บันทึกรูปภาพเป็นไฟล์ JPG เฉพาะขนาด 5 MP เท่านั้น โดยรูปที่ได้จะมีขนาด 5 MP โดยใช้การย่อภาพแบบ pixel oversampling จากเซ็นเซอร์ขนาด 20 MP ลง ภาพที่ได้จะมีขนาดไฟล์ที่เล็ก ทำให้ถ่ายภาพได้จำนวนมากๆ ได้ โดยไฟล์จะมีมีขนาดประมาณ 1.5MB – 3MB
  2. บันทึกรูปภาพเป็นไฟล์ JPG ทั้งขนาด 5 MP และ 16 MP ไปพร้อมๆ กัน โดยรูปที่ได้จะมีขนาด 5 MP และ 16 MP โดยใช้การย่อภาพแบบ pixel oversampling จากเซ็นเซอร์ขนาด 20 MP เช่นเดียวกับข้อแรก ภาพที่ได้จะมีขนาดไฟล์ที่เล็ก ทำให้ถ่ายภาพได้จำนวนมากๆ ได้ โดยไฟล์จะมีมีขนาดประมาณ 1.5MB – 3MB สำหรับ 5 MP และ 8 -11MB สำหรับ 16 MP
  3. บันทึกรูปภาพเป็นไฟล์ JPG ขนาด 5 MP และ DNG ขนาด 16 MP ไปพร้อมๆ กัน โดยรูปภาพ JPG ที่ได้จะมีขนาด 5 MP โดยใช้การย่อภาพแบบ pixel oversampling จากเซ็นเซอร์ขนาด 20 MP และไฟล์แบบ DNG ที่ปรับแต่งได้หลากหลายกว่า โดยภาพแบบ JPG ขนาด 5MP จะมีขนาดไฟล์ที่เล็ก ส่วน DNG นั้นจะมีขนาดของไฟล์ที่เท่ากันทุกภาพ ที่ 20.1 MB หรือเรียกว่า uncompressed RAW

เมื่อเลือกรูปแบบการบันทึก และถ่ายภาพไปแล้ว เราสามารถเข้าไปนำไฟล์ DNG ได้จาก folder ที่ชื่อ Camera Roll ใน Pictures ภายในหน่วยความจำของตัวเครื่อง Nokia Lumia 1520 (และ Nokia Lumia 1020)

wp_ss_20131226_0025

รูปแบบไฟล์ DNG หรือชื่อเต็มคือ Digital Negative เป็นรูปแบบไฟล์มาตรฐานเปิดจาก Adobe โดยเจ้าไฟล์ DNG นี้ถือเป็นไฟล์ RAW ในลักษณะมาตรฐานเปิด ซึ่งสามารถนำเอาไฟล์ DNG นี้ไปเปิดกับซอฟต์แวร์ที่สนับสนุนการเปิดไฟล์ DNG ได้ทันทีโดยไม่ต้องรอให้ผู้ผลิตกล่องนั้นๆ ทำซอฟต์แวร์เฉพาะออกมาพร้อมๆ กันไป (ซอฟต์แวร์เหล่านี้เรียก RAW Converter) โดยซอฟต์แวร์ที่ได้รับความนิยมในการเปิด DNG ได้แก่ Adobe Photoshop Lightroom หรือ Adobe Camera RAW เป็นต้น

จากตัวอย่างผู้เขียนได้เปิด Metadata (Exif) ของไฟล์ JPG และ DNG ผ่าน Adobe Bridge CC

2013-12-26_145153

2013-12-26_145215

โดยจาก metadata ถูกแปลงจากซอฟต์แวร์ที่ชื่อ Nokia RAW-to-DNG converter v01.00.06 จากภายในตัวแอพ Nokia Camera อีกทีเพื่อให้ได้ไฟล์ DNG ออกมา เพื่อเพิ่มความสะดวกในการนำไฟล์ DNG ไปใช้งานได้กว้างขว้างมากขึ้น

ข้อดีประการต่อมาในการใช้ไฟล์ DNG คือ การปรับแต่งแก้ไขไฟล์ DNG จะไม่ทำลายข้อมูลต้นฉบับ โดยผู้ปรับแก้สามารถปรับค่าคืนกลับตามเดิมได้โดยไม่ทำให้ข้อมูลเดิมเสียหาย (non-destructive) นั้นหมายรวมไปถึงการตั้งค่าที่กล้องจะไม่มีผลกับไฟล์ DNG แต่อย่างใด โดยเมื่อเราเปิดไฟล์ DNG ขึ้นมา จะต้องเป็นผู้ใช้งานเองที่เป็นผู้ปรับแต่งอีกครั้งเหมือนเราเป็นแอพที่เปิดไฟล์เหล่านั้นมาปรับแต่ง ฉะนั้น ถ้าเรานำไฟล์ DNG ไปเปิดในโปรแกรมต่างยี่ห้อ หรือแม้แต่ต่างเวอร์ชั่นกัน ก็จะอ่านค่าไม่เหมือนกัน แม้จะมีการบันทึก และปรับแก้ โทน สี ความคมชัดจะไม่เท่ากันเลย แต่สามารถปรับแต่งให้ทุกอย่างเหมือนกันได้ผ่านการปรับแต่งอย่างละเอียดโดยผู้ใช้งานเองอีกครั้ง

ซึ่งเจ้าไฟล์ DNG ของ Nokia Lumia 1520 นั้นมีขนาด 20.1 MB ทุกรูป ไฟล์มี resolution ที่ 5,376 x 3,024 pixel หรือ 16.3MP โดยให้จำนวนข้อมูลบิต (bit depth) ที่ 10 bit และ ICC profile (colour space) แบบ RGB

สำหรับด้าน JPG ให้จำนวนข้อมูลบิต (bit depth) ที่ 8 bit และ ICC profile (colour space) เป็น sRGB

การปรับแต่งไฟล์ DNG ผ่าน Camera RAW

โดยปรกติถ่ายใครได้เล่นไฟล์ RAW และใช้ DSLR อยู่แล้วคงไม่รู้สึกแปลกใหม่อะไรเท่าไหร่ แต่สำหรับคนที่ไม่ได้ใช้ และเคยได้สัมผัสอาจจะไม่รู้ถึงความสามารถ และการปรับแต่ง แน่นอนข้อเด่นแรกที่ได้บอกไปแล้วว่า

  1. เราสามารถการปรับแต่งแก้ไขไฟล์แล้วจะไม่ทำลายข้อมูลต้นฉบับ และสามารถปรับคืนค่าเดิมได้ (non-destructive)
  2. การทำปรับแต่งให้คมชัดขึ้น (sharpen) และการลดสัญญาณรบกวน (noise reduction) จากตัวประมวลผลภาพ (image processor) ไม่มีผลต่อไฟล์แบบนี้ นั้นหมายถึง ภาพอาจจะไม่คมชัด หรือมีสัญญาณรบกวนมากกว่าไฟล์ JPG ที่ได้มาคู่กัน ต้องใช้ซอฟต์แวร์อื่นๆ ปรับแต่งเพิ่มเติม
  3. จำนวนข้อมูลบิต (bit depth) ที่บันทึกลงในไฟล์นั้นมีข้อมูลที่มากกว่า เพราะ JPG มี 8 bit/channel ส่วน DNG มี 10 bit/channel ทำให้ JPG ไล่แฉดสีได้เพียง 256 แฉดสี ส่วน DNG สามารถไล่แฉดสีได้ถึง 1024 แฉดสีเลยทีเดียว ทำให้เวลาเราปรับแต่งแฉดสีใหม่หลังจากถ่ายภาพ ปรับโทน ดึง-เรียกกลับข้อมูลช่วงมืด-สว่างทำได้มากกว่าไฟล์ JPG
  4. ปรับแก้ไขสมดุลสีขาว (white balance) ได้ยืดหยุ่น และหลากหลายกว่าในระดับเคลวิน
  5. ปรับแต่งการใช้งาน ICC profile (colour space) ได้หลากหลาย ทั้ง ProPhoto RGB, Adobe RGB หรือ sRGB ได้
  6. ภายในไฟล์ DNG และไฟล์แบบ RAW โดยทั่วไปจะมีรูปภาพขนาดเล็ก (thumbnail) อยู่ภายในด้วย ทำให้เราดึงภาพเหล่านี้ออกมาโดยไม่ต้องแปลงภาพก่อน มักถูกนำไปใช้ตอนพรีวิวรูปภาพเป็นหลัก

แต่มีข้อที่เข้าใจผิดว่าการถ่ายรูปมาเพื่อให้ได้ไฟล์ DNG นี้จะได้ภาพที่คมชัดกว่า JPG นั้น เป็นความเชื่อที่ไม่ถูกต้องนัก เพราะการปรับแต่บนข้อมูลที่มากกว่า ไม่ได้เกี่ยวกับความคมชัด แต่เป็นเรื่องของความหลากหลาย จากจำนวนข้อมูลที่มากกว่าเพื่อปรับแต่งได้หลากลายกว่า

จากภาพตัวอย่างด้านล่าง ภาพจะออกโทนฟ้ามากไป (4550K) มีบางส่วหลุดช่วงสีสว่างออกไป (Highlight)

2013-12-27_001444

ผู้เขียนทำการปรับค่าเคลวินให้ออกไปโทนอุ่นเล็กน้อย (5250K) ทำการปรับแต่งค่าอื่นๆ เร่งความสว่าง ปรับค่าความเปรียบต่างของสี ฯลฯ

2013-12-27_001453

ภาพดูสว่างไปนิด และหลุดช่วงช่วงสว่างไปมากกว่าเดิม ทำการดึงกลับมาด้วย Tone Curve

2013-12-27_001506

สุดท้ายก็จะได้ภาพที่มีโทนสีอุ่นอื่น และมีช่วงสีโดยส่วนใหญ่ไม่หลุดไปทางช่วงสว่างและมีรายละเอียดเพิ่มมากขึ้น

2013-12-27_001528

จากด้านบนจะเป็นการปรับแต่งแบบง่ายๆ เร็วๆ เรามาดูตัวอย่างการปรับแต่งอีก 1-2 ตัวอย่าง โดยจะใช้งานร่วมกับ Adobe Photoshop CC ด้วย

จากตัวอย่างทั้งหมดต่อไปนี้จะใช้ Adobe Photoshop CC เพียงแต่ย่อรูปภาพลงมา และใช้การ Resapmle แบบ Bicubic Sharper (reduction) เพื่อเพิ่มความคมชัดของภาพ การทำการย่อรูปลง และทำ Resapmle ผ่านโปรแกรมภายนอกนั้น จะได้ภาพที่ดี และปรับแต่งได้หลากหลายกว่าในตัวมือถือมาก

โดยเราสามารถปรับแต่งในด้านการลดสัญญาณรบกวน (noise) ของภาพที่เราถ่ายได้อย่างหลากหลายมากด้วยเช่นกัน ซึ่งตรงนี้เราไม่จำเป็นต้องรอการแก้ไขตัวแอพจากผู้ผลิต เพื่อใช้ปรับแต่งหลังจากที่เราซื้อมา ซึ่งอาจจะไม่ถูกใจเราในอนาคต

image

ภาพด้านล่างนี้หลุดโทนสว่างมากไปเช่นเดียวกับด้านบน

2013-12-27_025720

เปิดมาแล้วไปปรับแต่งที่ Tone Curve เพิ่มดึงค่าด้านสว่างกลับเข้ามา

2013-12-27_030001

เปิดไฟล์ที่แก้ไขเสร็จแล้วใน Adobe Photoshop CC แล้วก็ปรับแต่งภาพในเรื่องอื่นๆ เพิ่มเติม (แล้วแต่ความชอบ)

WP_20131218_21_27_01_Raw__highres-wall

ตัวอย่างอื่นๆ ที่ใช้งานไฟล์ DNG ของ Nokia Lumia 1520 กับ Adobe Camera RAW และ Adobe Photoshop CC

2013-12-27_024129

WP_20131210_17_48_09_Raw__highres-wall

2013-12-27_022848

WP_20131207_17_58_31_Raw__highres-wall

2013-12-27_025223

WP_20131214_18_54_53_Raw__highres-wall

จากตัวอย่าง และการใช้งานจะเห็นได้ว่า การใช้ไฟล์ DNG ที่ได้จากกล้องถ่ายรูประดับบน ซึ่งถูกนำมาใส่ไว้ใน Nokia Lumia 1520 นั้น ทำให้เราสามารถสนุกกับการปรับแต่งรูปภาพได้อย่างมืออาชีพมากขึ้น บางครั้งโทนสี การปรับแต่งอัตโนมัติของแอพจนได้รูปภาพออกมา อาจจะไม่ถูกใจเรา การนำภาพ JPG มาปรับแต่งภายหลังอาจจะไม่ยืดหยุ่นเท่ากับไฟล์ DNG และการได้ไฟล์ DNG ยังสามารถช่วยแก้ไขข้อผิดพลาดหลายๆ อย่างหลังจากถ่ายรูปไปแล้วแม่นยำกว่า JPG อีกด้วย

เรื่องเล่าแสบๆ ของการจัดงานโดย SM True จากคอนเสิร์ตเดี่ยวครั้งที่สองของ Girls’ Generation ในไทย

นี่เป็นทัวร์คอนเสิร์ตเดี่ยวครั้งที่ 3 ของสาวๆ Girls’ Generation และเป็นครั้งที่ 2 ของพวกสาวๆ ในประเทศไทย รวมไปถึงเป็น World Tour ครั้งแรกของพวกสาวๆ ด้วย แน่นอนรอบนี้ก็หวั่นๆ ว่าจะได้จัดหรือไม่ เพราะเหตุการณ์ความไม่สงบทางด้านการเมือง กลัวจะซ้ำรอยในช่วง Asia Tour ครั้งแรกที่คนไทยเราพลาดไปเพราะเหตุการณ์คล้ายๆ กัน แต่ในครั้งนี้ก็ผ่านไปได้ด้วยดี ทำเอาโซวอนทุกคนมีความสุขกันทั่วหน้า ในเรื่องของการประสานงานในเพื่อไม่ให้เกิดเหตุการณ์เดิมๆ ซ้ำรอยการยกเลิกคอนเสิร์ตลงนั้น ต้องยกเครดิตในการประสานงานให้กับ SM True เค้าไปสักหน่อย

แน่นอนว่ามีดีก็ต้องมีแย่ เริ่มต้นตอนแรกในของ blog คอนเสิร์ตเดี่ยวครั้งที่สองของ Girls’ Generation ในไทยด้วย ความชุ่ย ไร้ความรับผิดชอบ และมาตรการรับมือที่ดีพอของ Thai Ticket Major และ SM True โดย Thai Ticket Major เป็นผู้จัดจำหน่ายตั๋วที่ทำให้เกิดความผิดพลาดของการเข้าจองตั๋วที่มีความผิดพลาด ล่ม และมีปัญหาบัตรเกิด จนทำให้คนจำนวนหนึ่งพลาดการดูคอนเสิร์ตครั้งนี้ไปเพราะความผิดพลาดที่ไม่น่าให้อภัยอย่างมาก อ่านต่อที่ตอนเก่าที่เขียนไว้อย่างละเอียดได้ที่นี่ ระบบ ไม่มีประสิทธิภาพ ไร้ความรับผิดชอบ และการให้เกียรติจาก ThaiTicketMajor กรณีบัตร GIRLS’ GENERATION World Tour ~Girls & Peace~ in BANGKOK แน่นอนว่าทาง Thai Ticket Major และ SM True แจ้งว่าจะมีเครื่องตรวจสอบบัตรที่ใช้ไม่ได้ก่อนเข้าคอนเสิร์ต แต่สรุปแล้ว ในวันแสดงจริง ไม่มีไอ้เครื่องที่ว่านั้นมาแสกนแต่อย่างใด เรียกว่าหลอกลวงต้มโซวอนให้ไปคืนบัตรเสียแบบนั้น (ผมก็คือหนึ่งในนั้น)

สำหรับการจัดการของ SM True ก่อนคอนเสิร์ตจะเริ่มที่ IMPACT ARENA เมืองทอง นั้น ส่วนตัวแล้วได้บัตรในส่วนโซน AR เจ้าปัญหา ดราม่าสุดๆ ซึ่งเป็นบัตรยืน โดยการจัดการค่อนข้างแย่มาก มีข้อกำหนดที่เพิ่งได้ประกาศก่อนวันงานไม่นาน (ถ้ารู้ว่าจัดห่วยแตกแบบนี้จะได้ไปหาที่นั่งราคาถูกกว่านี้) ซึ่งไม่เหมือนกันคอนเสิร์ตครั้งก่อน ที่มาก่อนเข้าก่อน แต่รอบนี้คือ ต้องไปเข้าแถวเพื่อรับคิวก่อนคอนเสิร์ตเริ่มตั้งแต่เที่ยงเป็นต้นไป และปิดการเข้าคิวตอนบ่าย 3 โมง โดยการรับคิวในระยะเวลาดังกล่าว จะใช้ลำดับของคิวตามหมายเลขบนบัตรเป็นหลัก เพราะฉะนั้น ต่อให้คุณมารับคิวตอนเที่ยง ได้คิวคนแรก แต่ถ้ามีคนที่มีเลขคิวอยู่ก่อนหน้าคุณ และเค้ามาตอนบ่ายสองกว่าๆ เค้าก็สามารถแซงคิวคุณได้ทันทีโดยใช้หมายเลขบัตรที่มีก่อนคุณ ฉะนั้น จะไปนั่งรอหรือไปก่อนการจัดคิวในช่วงก่อนบ่าย 3 ทำไม ให้เสียเวลา เพราะมาก่อนก็ไม่มีประโยชน์ และเนื่องจากบัตรผมเป็นบัตรเจ้าปัญหาดราม่า มันเลยเป็นเลขบัตรที่อยู่อันดับท้ายมากๆ ฉะนั้น เสียเวลา ไปเดินเล่น หรือนั่งสบายๆ ที่ร้านกาแฟดีกว่า ก่อนบ่าย 3 ค่อนมาแทรกคิวก็ได้

สรุปง่ายๆ ว่าถ้าคุณซื้อตั๋วยืน คุณอาจจะต้องไปตั้งแต่ 12:00 น. และรอในคิวตั้งแต่ประมาณ 13:30 น. ในแถวที่ร้อนๆ จนถึง 17:00 น. โดยประมาณเพื่อเข้าคอนเสิร์ต แล้วยืนต่อในคอนเสิร์ตสนุกสนานอีก 3 ชั่วโมง แหม่…. ><”

image

image

ต่อมาคือเรื่องการแจ้งข้อกำหนดในการพกสิ่งของส่วนตัวเข้าไปในคอนเสิร์ตนั้น เพิ่งจะประกาศอย่างละเอียดหลังจากขายบัตรไปแล้ว และไม่มีข้อความภาษาอื่นๆ นอกจากภาษาไทย (ผมดูแลโซวอนต่างชาติหลายคน ซึ่งต้องมาอธิบายให้เค้าทราบหลายๆ เรื่อง ด้วยภาษาที่สื่อสารได้ไม่มากนัก แต่พยายามสื่อสาร) ซึ่งไม่ใช่การแจ้งเตือนก่อนการซื้อตั๋ว หรือมีการประกาศล่วงหน้าอย่างเป็นการทั่วไปก่อนซื้อตั๋ว เช่นข้อกำหนดห้ามนำมือถือหน้าจอขนาด 5.5″ เข้าไป (จะบอกว่าประกาศก่อนก็ไม่ได้ เพราะไม่มีในประกาศใน facebook แน่ๆ) อีกทั้งก่อนคอนเสิร์ตเริ่ม ผมพก Tablet ขนาดเล็กที่หน้าจอเพียง 7″ ที่มีกล้องก็ห้ามเข้า แน่นอน ผมพก Tablet 7″ ไปเพื่อหวัง remote หรือเผื่อฉุกเฉินจากงานที่ทำ ก็ต้องฝากก่อนเข้าคอนเสิร์ตอย่างช่วยไม่ได้ ซึ่งอันนี้ถือว่ายอมรับในข้อกำหนดเพราะมันมีกล้อง (แต่ notebook เอาเข้าได้นะ ผมหล่ะเสียดาย พก notebook ไปก็จบ) แต่…. หลายๆ อย่างที่ขายหน้างาน ไม่ว่าจะเป็นถุงกระดาษที่ขายเพื่อให้โซวอนได้เอามาใส่โปสเตอร์ที่ได้จากการเล่นกิจกรรม ต่างๆ ตามบูทก็ห้ามเอาเข้าไปซะเฉยๆ แบบนั้น โดยไม่มีข้อกำหนดใดๆ บอกล่วงหน้า (เพิ่งมาบอกตอนกำลังเข้าประตู) แถมพวกถุงกระดาษ กระเป๋าบางส่วน ต้องวางไว้อย่างตามมีตามเกิด ไม่รู้มีเจ้าหน้าที่ดูให้ไหม เพราะไม่มีการจัดพื้นที่เพื่อรับฝากอย่างเป็นระบบแบบเดียวกับพวกอุปกรณ์ Tablet หรือพวกกล้องถ่ายรูป ใดๆ เลย ตามด้วยแท่งไฟ ผมซื้อแท่งไฟมาเชียร์สาวๆ ใช้มาตั้งแต่คอนเสิร์ตรอบที่แล้ว ก็เข้าได้ มารอบนี้อยู่ๆ เจ้าหน้าที่บอกยาวกว่าที่กำหนด ผมเลยแย้งไปด้วยอารมณ์ว่า รอบที่แล้วก็เอาเข้าได้ เอาไม้บรรทัดมาวัดก็ได้ว่ามันไม่เกิน เจ้าหน้าที่ก็เงิบเล็กๆ แล้วก็ปล่อยผ่านเข้ามา สรุปพูดง่ายๆ คือ คิดอยากจะห้ามก็ห้าม ไม่มีความพร้อมในการกระสานงาน ออกประกาศอย่างทั่วถึงและมีมาตรฐานที่ชัดเจน ทำให้คอนเสิร็ตครั้งนี้มีระบบการจัดการก่อนเข้าคอนเสิร์ตที่แย่มาก ส่วนตัวเหนื่อย และหมดแรงหนักกว่ารอบที่แล้วอย่างมาก

image

WP_20140111_12_51_43_Pro

WP_20140111_15_18_12_Pro

1493237_10152167298841753_1936381692_n

Windows Azure ตอนที่ 5 การติดตั้ง Linux และ Windows Server บน Windows Azure Virtual Machine

ระบบเครื่องประมวลผลเสมือนหรือ Virtual Machines (VM) เป็นหนึ่งในบริการโครงสร้างพื้นฐาน (IaaS) สำหรับให้เราปรับแต่งและนำระบบที่พัฒนาสำหรับใช้งานผ่านระบบอินเทอร์เน็ตและอินทราเน็ตขึ้นสู่บริการประมวลผลแบบกลุ่มเมฆ โดยบริการโครงสร้างพื้นฐานที่จัดเตรียมไว้ให้บนระบบประมวลผลแบบกลุ่มเมฆโดยระบบเครื่องประมวลผลเสมือนที่รองรับทั้ง Windows และ Linux

โดยผู้พัฒนาระบบที่ใช้ในบริการเครื่องประมวลผลเสมือนนี้มาประยุกต์ใช้งานเพื่อสร้างระบบที่ออกแบบได้เองตั้งแต่การเลือกใช้งานระบบปฏิบัติการ (Operating System) การตั้งค่าการสื่อสารระหว่างตัวเครื่องประมวลผลเสมือนติดตั้งซอฟแวร์สื่อสารระหว่างระบบ (Middleware) ซอฟต์แวร์ช่วยประมวลผลภาษาโปรแกรมมิ่ง (Software Runtime) ซอฟต์แวร์เพื่อรองรับโครงร่างการพัฒนาโปรแกรมคอมพิวเตอร์ (Software Framework) และระบบสำรองข้อมูลทั้งหมด ทำให้เราสามารถบริหารจัดการได้เสมือนเครื่องแม่ข่ายจริงๆ

การติดตั้ง Ubuntu Linux Server บน Windows Azure Virtual Machine

1. เลือกที่ NEW ที่หน้า Windows Azure Portal

2013-10-05_223623

2. เลือกที่ Compute ตามด้วย Virtaul Machine และเลือกที่ From Gallery

2013-10-05_224608_thumb

3. เลือก Ubuntu Linux Server รุ่นที่ต้องการจากหน้า Virtual machine image selection กดปุ่ม Next

2013-10-05_224718

4. กรอกข้อมูลตั้งค่า Virtual Machince ส่วนของคุณสมบัติเครื่องเสมือนได้แก่

4.1. ตัวเลือก Version Release Date ซึ่งเป็นรุ่นที่มีการรวบรวมการสร้างอิมเมจของตัวระบบปฏิบัติการนั้นๆ ซึ่งถ้าใช้วันที่ล่าสุด จะทำให้เราไม่ต้องอัพเดทแพตเยอะเกินความจำเป็น

4.2. ตั้งชื่อเครื่องเสมือนที่ Virtual Machine Name

4.3. เลือกขนาดของตัวเครื่อง (Size)

image_thumb[3]

4.4. เลือกชื่อเข้าระบบ (New user name)

4.5. เอาเครื่องหมายถูกที่ Upload compatible SSH key for authentication ออกไป

4.6. เลือก Provide a password และตั้งรหัสผ่านเข้าระบบจากตรงนี้

ตั้งค่าทั้งหมดเสร็จแล้วกดปุ่ม Next

2013-10-05_224947

5. กรอกข้อมูลตั้งค่า Virtual Machince ในส่วนของการใช้งานเครือข่ายได้แก่

5.1. Cloud Service เป็นตัวเลือกเพื่อผูกเข้ากับ Cloud Service ใหม่หรือผนวกตัว Virtual Machine ที่กำลังจะสร้างนี้ไปใช้งานร่วมกับ Virtual Machine เก่าโดยการผนวกเพื่อใช้งานร่วมกับ Virtual Machine เก่าจะสามารถใช้ความสามารถของ Load Balancer ได้ด้วย

5.2. Cloud Service DNS name ชื่อของ Cloud Service ที่จะใช้อ้างอิงเพื่อใช้งานกับ domain ชื่อ cloudapp.net

5.3. Subscription ชื่อของบัญชีผู้ใช้งานเพื่อเรียกเก็บค่าใช้ระบบ

5.4. Region/Affinity Group/Virtual Network โซนที่ต้องการนำ Virtual Machine นี้ไปใช้งาน

5.5. Storage Account ชื่อบัญชีผู้ใช้งานสำหรับจัดการเก็บ Virtual Machine ซึ่งไฟล์ Virtual Machine จะเป็นนามสกุล VHD ซึ่งเป็นตัวเดียวกับที่ใช้บน Windows Server

5.6. Availability Set เป็นการตั้งกลุ่มเพื่อทำการขยายระบบและรองรับการล่มของ Virtual Machine ซึ่งจะทำงานสอดคล้องกับ Cloud Service ในข้อที่ 5.1

2013-10-05_225355

6. ตั้งค่าการเข้าถึงผ่าน Port ของ Network ซึ่งเป็นการตั้งค่าให้สอดคล้องกับระบบรักษาความปลอดภัยของ Windows Azure ผ่านระบบ Firewall ด้วยการตั้งค่า Endpoint ซึ่งค่าเริ่มต้นของ Linux นั้นจะเป็น Port หมายเลข 22 ที่เป็น Secure Shell นั้นเอง

2013-10-05_225450_thumb

จากตัวอย่าง ถ้าเราต้องการใช้ Virtual Machine นี้ในการให้บริการเว็บก็เลือก HTTP เพื่อใช้ Port หมายเลข 80 เพื่อให้รองรับกับ Apache Web Server และ Port หมายเลข 21 เพื่อให้รองรับกับการส่งไฟล์ผ่าน FTP เป็นต้น

เมื่อทุกอย่างตั้งค่าครอบแล้วให้ตอบ OK หรือเครื่องหมายถูก ที่มุมขวาล่าง

2013-10-05_225435

7. จากตัวอย่างดังกล่าว เมื่อตอบตกลงให้สร้าง Virtual Machine แล้ว ให้รอจนกว่าจะ Provisioning เสร็จสิ้นแล้วขึ้นสถานะ Running

2013-10-05_225536

2013-10-05_225857

8. เมื่ออยู่ในสถานะ Running แล้วให้เข้าไปที่ Dashboard ของ Virtual Machine เครื่องที่เราสร้างขึ้นมา จะมีส่วนต่างๆ ในหน้า Dashboard นี้หลายส่วนให้เทำความเข้าใจ

8.1. web endpoint status ตั้งสถานะการตรวจจับการทำงานของ endpoint ที่ตั้งขึ้นมาเพื่อส่งสถานะไปแจ้งเมื่อมีการล่มเกิดขึ้นหรือโยกการเข้าถึงไปยังระบบอื่นๆ

8.2. autoscale status ตั้งค่าขยายระบบอัตโนมัติ โดยปรกติถ้าใช้งานเพียง Virtual Machine เดียวเราจะไม่สามารถตั้งค่าอะไรเพิ่มเติมได้ เพราะต้องคั้งค่า Availability Set เสียก่อน

8.3. usage overview จะแสดงจำนวน core ของ CPU ที่ใช้งานอยู่และสามารถขยายระบบออกไปได้ ถ้าตั้ง Availability Set ไว้จะเห็นจำนวน core ของ CPU ใน Available เพิ่มขึ้นมา

8.4. disk ส่วนแสดงรายการของ disk หรือไฟล์ VHD ที่เกี่ยวกับและทำงานร่วมกับ Virtual Machine เครื่องนี้

8.5. quick glance ใช้สำหรับแสดงสถานะของ Virtual Machine ได้แก่
status แสดงว่ากำลังทำงานอยู่หรือไม่
dns name ชื่อ DNS สำหรับใช้ในการติดต่อ ภายใต้ domain name ชื่อ cloudapp.net
host name ชื่อ host name ของระบบปฏิบัติการที่ติดตั้งอยู่
public virtual IP หมายเลข IP ภายนอกที่ใช้สำหรับติดต่อเข้ามา ใช้งานแทน dns name ได้
internal IP หมายเลข IP สำหรับควบคมผ่าน cloud agent ของ Windows Azure Portal
SSH details รายละเอียดสำหรับเชื่อมต่อผ่าน SSH
size คุณสมบัติของ Virtual Machine เครื่องนี้

8.6. matrix เป็นกราฟที่ใช้แสดงโหลดของ Virtual Machine เครื่องนี้ว่ามีการเคลื่อนไหวอย่างไรบ้าง

8.7. dashboard menu เมนูหลักในการจัดการ Virtual Machine ในส่วนต่างๆ

2013-10-05_230513_thumb[6]

9. ส่วนของ Endpoint เป็นส่วนที่ใช้สำหรับจัดการ Port เพื่อให้เราสามารถเชื่อมต่อกับ Virtual Machine ได้จากเครือข่ายภายนอก Windows Azure โดย Port ต่างๆ นั้นจะใช้ผ่านโปรแกรมหรือการเรียกใช้ตามที่ระบุไว้เท่านั้น ถ้าไม่มีการเปิดใน Endpoint นี้ก่อน จะทำให้การเข้าถึงในโปรแกรมหรือระบบที่ได้ติดตั้งลงใน Virtual Machine ที่ทำงานใน Port ดังกล่าว ใช้งานจากภายนอก Windows Azure ไม่ได้

2013-10-05_230538

10. การตั้งขนาดของ Virtual Machine สามารถกลับมาปรับได้จากหน้า Configure นี้ รวมไปถึงการตั้งค่า Availability Set เพื่อสร้างกลุ่มของการขยายและรองรับการล่มของระบบขึ้นมา ในส่วนของ monitoring นั้น เป็นส่วนที่ใช้สำหรับตั้งค่า web endpoint status ซึ่งเป็นที่เดียวกันในหน้า Dashboard

2013-10-05_230733

11. การเชื่อมต่อสามารถเข้าได้ผ่าน SSH Client อย่าง PuTTY โดยใช้ค่าจาก SSD Details มาใช้งานเพื่อเชื่อมต่อ ซึ่งเมื่อทำการเชื่อมต่อให้กดรับ rsa2 key fingerprint ก่อนเพื่อให้การเชื่อมต่อสำเร็จ

2013-10-05_230958

2013-10-05_231026

12. เมื่อเชื่อมต่อได้ ผ่านข้อมูลในข้อที่ 4. ก็จะเข้ามาในหน้า Shell ของระบบ เป็นอันเสร้จสิ้นการติดตั้ง Ubuntu Linux Server

2013-10-05_231141

 

การติดตั้ง Windows Server บน Windows Azure Virtual Machine

1. เลือกที่ NEW ที่หน้า Windows Azure Portal

2013-10-05_223623

2. เลือกที่ Compute ตามด้วย Virtaul Machine และเลือกที่ From Gallery

2013-10-05_224608

3. เลือก Windows Server รุ่นที่ต้องการจากหน้า Virtual machine image selection กดปุ่ม Next

2013-10-05_231605

4. กรอกข้อมูลตั้งค่า Virtual Machince ส่วนของคุณสมบัติเครื่องเสมือนได้แก่

4.1. ตัวเลือก Version Release Date ซึ่งเป็นรุ่นที่มีการรวบรวมการสร้างอิมเมจของตัวระบบปฏิบัติการนั้นๆ ซึ่งถ้าใช้วันที่ล่าสุด จะทำให้เราไม่ต้องอัพเดทแพตเยอะเกินความจำเป็น

4.2. ตั้งชื่อเครื่องเสมือนที่ Virtual Machine Name

4.3. เลือกขนาดของตัวเครื่อง (Size)

4.4. เลือกชื่อเข้าระบบ (New user name)

4.5. กรอกข้อมูลรหัสผ่าน (New password) และยืนยันรหัสผ่านอีกครั้ง

ตั้งค่าทั้งหมดเสร็จแล้วกดปุ่ม Next

2013-10-05_232502

5. กรอกข้อมูลตั้งค่า Virtual Machince ในส่วนของการใช้งานเครือข่ายได้แก่

5.1. Cloud Service เป็นตัวเลือกเพื่อผูกเข้ากับ Cloud Service ใหม่หรือผนวกตัว Virtual Machine ที่กำลังจะสร้างนี้ไปใช้งานร่วมกับ Virtual Machine เก่าโดยการผนวกเพื่อใช้งานร่วมกับ Virtual Machine เก่าจะสามารถใช้ความสามารถของ Load Balancer ได้ด้วย

5.2. Cloud Service DNS name ชื่อของ Cloud Service ที่จะใช้อ้างอิงเพื่อใช้งานกับ domain ชื่อ cloudapp.net

5.3. Subscription ชื่อของบัญชีผู้ใช้งานเพื่อเรียกเก็บค่าใช้ระบบ

5.4. Region/Affinity Group/Virtual Network โซนที่ต้องการนำ Virtual Machine นี้ไปใช้งาน

5.5. Storage Account ชื่อบัญชีผู้ใช้งานสำหรับจัดการเก็บ Virtual Machine ซึ่งไฟล์ Virtual Machine จะเป็นนามสกุล VHD ซึ่งเป็นตัวเดียวกับที่ใช้บน Windows Server

5.6. Availability Set เป็นการตั้งกลุ่มเพื่อทำการขยายระบบและรองรับการล่มของ Virtual Machine ซึ่งจะทำงานสอดคล้องกับ Cloud Service ในข้อที่ 5.1

2013-10-05_234002

6. ตั้งค่าการเข้าถึงผ่าน Port ของ Network ซึ่งเป็นการตั้งค่าให้สอดคล้องกับระบบรักษาความปลอดภัยของ Windows Azure ผ่านระบบ Firewall ด้วยการตั้งค่า Endpoint ซึ่งค่าเริ่มต้นของ Windows นั้นจะเป็น Port หมายเลข 3389 ที่เป็น Remote Desktop และ 5986 ที่เป็น PowerShell เพื่อ Remote เข้ามาได้

2013-10-05_234027

จากตัวอย่าง ถ้าเราต้องการใช้ Virtual Machine นี้ในการให้บริการเว็บก็เลือก HTTP เพื่อใช้ Port หมายเลข 80 เพื่อให้รองรับกับ IIS และ Port หมายเลข 21 เพื่อให้รองรับกับการส่งไฟล์ผ่าน FTP เป็นต้น

เมื่อทุกอย่างตั้งค่าครอบแล้วให้ตอบ OK หรือเครื่องหมายถูก ที่มุมขวาล่าง

2013-10-05_234041

7. จากตัวอย่างดังกล่าว เมื่อตอบตกลงให้สร้าง Virtual Machine แล้ว ให้รอจนกว่าจะ Provisioning เสร็จสิ้นแล้วขึ้นสถานะ Running

2013-10-05_234157

2013-10-05_234546

8. เมื่ออยู่ในสถานะ Running แล้วให้เข้าไปที่ Dashboard ของ Virtual Machine เครื่องที่เราสร้างขึ้นมา จะมีส่วนต่างๆ ในหน้า Dashboard นี้หลายส่วนให้เทำความเข้าใจ

8.1. web endpoint status ตั้งสถานะการตรวจจับการทำงานของ endpoint ที่ตั้งขึ้นมาเพื่อส่งสถานะไปแจ้งเมื่อมีการล่มเกิดขึ้นหรือโยกการเข้าถึงไปยังระบบอื่นๆ

8.2. autoscale status ตั้งค่าขยายระบบอัตโนมัติ โดยปรกติถ้าใช้งานเพียง Virtual Machine เดียวเราจะไม่สามารถตั้งค่าอะไรเพิ่มเติมได้ เพราะต้องคั้งค่า Availability Set เสียก่อน

8.3. usage overview จะแสดงจำนวน core ของ CPU ที่ใช้งานอยู่และสามารถขยายระบบออกไปได้ ถ้าตั้ง Availability Set ไว้จะเห็นจำนวน core ของ CPU ใน Available เพิ่มขึ้นมา

8.4. disk ส่วนแสดงรายการของ disk หรือไฟล์ VHD ที่เกี่ยวกับและทำงานร่วมกับ Virtual Machine เครื่องนี้

8.5. quick glance ใช้สำหรับแสดงสถานะของ Virtual Machine ได้แก่
status แสดงว่ากำลังทำงานอยู่หรือไม่
dns name ชื่อ DNS สำหรับใช้ในการติดต่อ ภายใต้ domain name ชื่อ cloudapp.net
host name ชื่อ host name ของระบบปฏิบัติการที่ติดตั้งอยู่
public virtual IP หมายเลข IP ภายนอกที่ใช้สำหรับติดต่อเข้ามา ใช้งานแทน dns name ได้
internal IP หมายเลข IP สำหรับควบคมผ่าน cloud agent ของ Windows Azure Portal
size คุณสมบัติของ Virtual Machine เครื่องนี้

8.6. matrix เป็นกราฟที่ใช้แสดงโหลดของ Virtual Machine เครื่องนี้ว่ามีการเคลื่อนไหวอย่างไรบ้าง

8.7. dashboard menu เมนูหลักในการจัดการ Virtual Machine ในส่วนต่างๆ

โดยในส่วนของเมนู Endpoint และ Configure นั้นไม่แตกต่างจากของ Linux แต่อย่างใดนัก

2013-10-05_235810

9. ในส่วนของการเชื่อมต่อเข้าไปยัง Virtual Machine เพื่อควบคุมนั้น สามารถดึง RDP profile จากในหน้า Windows Azure Portal ได้จากเมนู Connect ที่ด้านล่าง

2013-10-05_235906

10. เราจะได้ไฟล์ .rdp มา เมื่อ Save และ Open ไฟล์ดังกล่าว ตัว Windows ของเราจะทำการเชื่อมต่อกับ Virtual Machine ที่สร้างขึ้นมา

2013-10-05_235927

11. ตอบรับการเชื่อมต่อในคำแนะนำนี้

2013-10-05_235950

12. ใช้การเชื่อมต่อแบบกำหนดเอง ให้กรอกข้อมูลที่ข้อที่ 4.

2013-10-06_000047

13. ตอบรับ Certificate ของการเชื่อมต่อนี้

2013-10-06_000055

14. รอการเชื่อมต่อ และรอการตั้งค่าต่างๆ ครั้งแรกที่ได้เชื่อมต่อเข้าไป

2013-10-06_000105

2013-10-06_000121

15. เมื่อเชื่อมต่อเสร็จแล้ว เราก็สามารถควบคุม Virtual Machine ที่เป็น Windows Server ได้แล้ว

2013-10-06_000304

 

การเปิดใช้ SWAP Partition ของระบบปฏิบัติการ Linux บน Windows Azure

โดยปรกติแล้ว ถ้าเราลง Linux โดยทั่วไปจะมีการตั้ง SWAP Partition ไว้เป็นปรกติอยู่แล้ว แต่ถ้าอยู่บน Cloud นั้นตัวอิมแมจของระบบปฏิบัติการ Linux จะถูกปรับแต่งบางส่วนเพื่อไม่ให้สร้าง SWAP Partition ด้วยเหตุผลด้านพื้นที่ที่ต้องจองไว้และความไม่จำเป็นโดยทั่วไปของ Cloud อยู่แล้ว (ปรกติใช้ Cloud สำหรับ Compute ข้อมูลที่อาจจะไม่ได้ใช้หน่วยความจำเยอะ) เพราะไม่ใช่ทุกคนที่ลงระบบปฏิบัติการ ต้องได้ใช้ SWAP เสมอไป แต่ถ้าอยากลงก็มีทางให้อยู่ โดยการตั้งค่าต่อไปนี้ อ้างอิงอยู่บน Ubuntu Linux Server เพื่อให้สอดคล้องกับการติดตั้งระบบปฎิบัติการ Ubuntu Linux Server ด้านบน

1. จัดการ sudo ให้ตัวเองเป็น root ของระบบ

2. เข้าไปแก้ไข Windows Azure Linux Agent Configuration ซึ่งอยู่ที่ /etc/waagent.conf

3. เมื่อเปิดไฟล์ขึ้นมาจะตัวตั้งค่าอยู่พอสมควร ให้หาส่วนที่ขึ้นต้นด้วย ResourceDisk ซึ่งจะมีอยู่ทั้งหมด 5 ค่า

ResourceDisk.Format=y
ResourceDisk.Filesystem=ext4
ResourceDisk.MountPoint=/mnt/resource
ResourceDisk.EnableSwap=n
ResourceDisk.SwapSizeMB=0

4. เราจะปรับให้ใช้ SWAP ขนาด 2GB โดยปรับค่า 2 ตัวดังนี้

#เปิดการใช้ SWAP
ResourceDisk.EnableSwap=y

# 2GB หน่วยเป็น MB
ResourceDisk.SwapSizeMB=2048

5. เมื่อปรับแต่งตัวตั้งค่าทั้ง 2 ตัวแล้ว บันทึกไฟล์แล้วออกจากตัว editor

6. สั่ง Deprovision ด้วยคำสั่งด้านล่าง

azureuser@ns1:~$ waagent –force –deprovision
azureuser@ns1:~$ export HISTSIZE=0

7. เมื่อสั่งรันคำสั่งจบก็ exit ออกมา แล้วไปที่ Windows Azure Portal เพื่อสั่ง Restart ตัว Virtual Machines รอสัก 3-4 นาทีโดยประมาณ ระบบจะบูทกลับมาใหม่ ให้ remote กลับเข้ามา แล้วพิมพ์คำสั่ง swapon –s เพื่อตรวจสอบว่ามีไฟล์ SWAP ของระบบอยู่ที่ /mnt/resource/swapfile หรือไม่

2013-03-02_192724

Windows Azure ตอนที่ 4 การติดตั้ง WordPress, การปรับแต่ง PHP และการตั้งค่าในการขยายระบบบน Windows Azure Web Sites

จากตอนที่แล้ว “Windows Azure ตอนที่ 3 การติดตั้ง Drupal บน Windows Azure Web Sites” นั้น จะไม่ขอพูดในบางส่วนที่เป็นการอธิบายซ้ำซึ่งอยู่ในขั้นตอนที่ 1 – 30 ซึ่งจะใช้การตั้งค่าที่เหมือนกัน (ใช้ในการอ้างอิงได้ทุก CMS ของ PHP ด้วยซ้ำไป)

โดยจากขั้นตอนที่ 1- 30 จากบทความที่แล้ว เราจะมีข้อมูลดังต่อไปนี้

  • FTP host name , username และ password สำหรับการ FTP/FTPS เข้าไปวางไฟล์
  • Endpoint Information (MySQL hostname) และ Access Credentials (username และ password) ของฐานข้อมูล MySQL จาก cleardb

เมื่อเราได้ข้อมูลครบก็ทำการโอนย้ายไฟล์ของ WordPress ที่ดาวน์โหลดได้จาก wordpress.org/download

image

สำหรับการ FTP ไปวางไฟล์ ถ้าไม่ใช้ client ที่ติดมากับ Windows ก็ใช้สามารถใช้ client ของเจ้าอื่นๆ ได้ อย่างตัวอย่างนี้ก็ใช้ CuteFTP 9.0 ในการอัพโหลดไฟล์ได้เช่นกัน

โดยนำไฟล์ไปวางไว้ที่ /site/wwwroot

2013-09-30_160404

ทำการเข้าหน้าแรกของตัวเว็บที่ติดตั้งไฟล์ WordPress จากข้อที่แล้ว

2013-09-30_160450

นำข้อมูล Endpoint Information (MySQL hostname) และ Access Credentials (username และ password) ของฐานข้อมูล MySQL จาก cleardb มากรอกในหน้า database connection details นี้

2013-09-30_160551

สั่ง Run the install เพื่อติดตั้งฐานข้อมูลลง cleardb

2013-09-30_160650

เมื่อติดตั้งฐานข้อมูลเรียบร้อยแล้ว ก็กำหนดข้อมูลต่างๆ ของเว็บที่ทำจาก WordPress รวมไปถึง Username และ Password สำหรับเข้าไปจัดการ WordPress เสียก่อน

2013-09-30_160736

เมื่อกำหนดค่าเรียบร้อยก็ให้เข้าระบบ Dashboard ลอง WordPress ได้ทันที

2013-09-30_160827

2013-09-30_160920

 

การปรับแต่ง PHP บน Windows Azure Web Sites

1. การเปิดสร้าง rewrite rules เพื่อใช้ Custom URL ของ WordPress

เข้าไปที่ Dashboard ของ WordPress แล้วเลือกเมนู Settings และไปเมนูชื่อ Permalink

เสร็จแล้วตั้งค่า Permalink ได้ตามที่ต้องการ เสร็จแล้วกด Save

2013-09-30_174545

เมื่อ FTP เข้าไป จะเห็นว่าตัว WordPress จะสร้าง web.config ขึ้นมาให้ โดยภายในจะมี rewrite rules ที่เราตั้งไว้

2013-09-30_174800

โดยภายหลังจากสร้างไฟล์แล้ว ถ้าเราต้องการปรับแต่ง rewrite rules เพื่อใช้ Custom URL ก็สามารถทำผ่านไฟล์ web.config ได้ทันที

 

การเพิ่ม PHP Extension ใน Windows Azure Web Sites

ใน Windows Azure Web Sites นั้นเป็นระบบปฎิบัติการ Windows Server 2012 และระบบให้บริการเว็บ Microsoft Internet Information Services 8.0 (IIS 8.0) ซึ่งทำงานร่วมกับ PHP ที่ Compile ผ่าน MSVC9 x86 และทำงานผ่าน FastCGI API อีกทั้งยังทำงานแบบ Non Thread Safety ไว้ด้วย

การเข้าไปหา extension ใน https://downloads.php.net/pierre/ นั้นจึงต้องใช้ extension ที่เป็น nts ที่ย่อมาจาก Non Thread Safety และเป็นการ Compile แบบ VC9 x86 เช่นกัน

จากตัวอย่าง ทางผู้เขียนยกตัวอย่างการติดตั้ง extension ที่ชื่อว่า Memcache ลงบน PHP 5.3.19 บน Windows Azure Web Sites โดยเลือกชื่อว่า php_memcache-2.2.6-5.3-nts-vc9-x86.zip

2013-10-01_000520

ทำการแตกไฟล์ php_memcache-2.2.6-5.3-nts-vc9-x86.zip ออกมา จะได้ไฟล์ php_memcache.dll เสร็จแล้วนำไฟล์ไปวางไว้ที่ /site/wwwroot/bin

2013-09-30_181824

เข้าไปที่ Dashboard แล้วไปที่ CONFIGURE

2013-10-01_001903

เลื่อนลงมาที่หัวข้อ app settings แล้วใส่ค่าดังต่อไปนี้

KEY ใส่ค่าเป็น PHP_EXTENSIONS

VALUE ใส่ค่าเป็น bin\php_memcache.dll

ถ้าหากมีการกำหนดค่าของ extension มากกว่า 1 ตัวให้ใช้ comma (,) ขั้นไปเรื่อยๆ เช่น

bin\php_memcache.dll,bin\php_mongo.dll

โดยไฟล์ extension.dll ต้องอยู่ใน directory “/site/wwwroot/bin” เพื่อความสะดวกในการจัดการ

2013-09-30_181747

เมื่อตั้งค่าเรียบร้อยแล้วให้กด Restart

2013-09-30_182337

รอจนกว่าสถานะ Restart จะสำเร็จ

2013-09-30_182321

เมื่อแสดงผล phpinfo ใหม่อีกครั้ง extension ที่ใส่ลงไปจะมาให้เราเห็นใน phpinfo

2013-09-30_181846

ลองทำสอบใช้งานได้ตามโค้ด้านล่างก็จะสามารถใช้งานได้

2013-10-01_002648

 

การปรับแต่งค่า PHP.ini ใน Windows Azure Web Sites แบบ global setting

ในบางครั้ง ค่าเริ่มต้นของ phpconfig ที่ Windows Azure Web Sites ให้มา อาจจะไม่เพียงพอ หรือไม่เหมาะสม เช่นการแสดงผลความผิดพลาดที่ปิดไว้ หรือขนาดไฟล์ที่ให้รองรับการอัพโหลดเข้ามาที่ Windows Azure Web Sites เพียง 20MB ที่น้อยเกินไป เป็นต้น เราสามารถตั้งค่าพวกนี้ใหม่ได้ด้วยการใช้ไฟล์ชื่อ .user.ini โดยอัพโหลดเข้าไปไว้ใน /site/wwwroot เพื่อให้ Windows Azure Web Sites ใช้ค่าในไฟล์ดังกล่าวแทนค่าเริ่มต้นของระบบ

image

จากตัวอย่างได้ทดลองเปิดการแจ้งเตือนความผิดพลาด และเพิ่มขนาดไฟล์ที่รองรับการอัพโหลดเป็น 100MB ด้วยการตั้งค่าด้านล่าง

; User Settings
display_errors=On
upload_max_filesize=100M

เมื่อตั้งค่าเรียบร้อยแล้วก็ Restart ตัว Windows Azure Web Sites เพื่อให้ระบบอ่านค่าใหม่อีกครั้ง

2013-09-30_182836

2013-09-30_182911

 

ลักษณะการขยายระบบบน Windows Azure Web Sites

การเข้าไปปรับแต่งเรื่องการขยายระบบบน Windows Azure Web Sites นั้นสามารถทำได้ที่ หน้า Portal ของ Windows Azure โดยเข้าไปที่ Dashboard ของ Web Sites นั้นๆ แล้ว ไปที่เมนู SCALE เพื่อเลือกตัวเลือกรูปแบบสำหรับการขยายระบบ ซึ่งใน Windows Azure Web Sites นั้นจะมีรูปแบบสำหรับการขยายระบบอยู่ 3 รูปแบบคือ Free, Shared และ Standard

1. Free – เป็นการนำเว็บของเราไปไว้บน Virtual Machine บนระบบประมวลผลแบบกลุ่มเมฆ และให้เราใช้งาน CPU เพียง 1 Core โดยเป็นการให้ใช้งานในรูปแบบแชร์ทรัพยากรในการประมวผล ซึ่งจะให้ใช้งานฟรีโดยให้ระยะเวลาในการประมวลผลเพียง 1 ชั่วโมงต่อวันเท่านั้น และไม่สามารถขยายการใช้งานออกไป ด้วยการเพิ่มอินสแตนซ์ไม่ได้

2013-09-30_171614

2. Shared – เป็นการนำเว็บของเราไปไว้บน Virtual Machine บนระบบประมวลผลแบบกลุ่มเมฆ และให้เราใช้งาน CPU เพียง 1 Core โดยเป็นการให้ใช้งานในรูปแบบแชร์ทรัพยากรในการประมวผล ซึ่งจะให้ใช้งานโดยให้ระยะเวลาในการประมวลผลเพียง 4 ชั่วโมงต่อวันเท่านั้น (240 นาที) แต่สามารถขยายการใช้งานออกไปด้วยการเพิ่มอินสแตนซ์ได้มากทีสุดถึง 6 อินสแตนซ์ หรือทำให้ทำงานประมวลผต่อเนื่องได้ 24 ชั่วโมงเลยทีเดียว (4 ชั่วโมง x 6 อินสแตนซ์)

การเลื่อนปรับค่าทำได้ที่หน้า SCALE ด้วยการเลือก WEB SITE MODE ไปที่ SHARED แล้วไปเลื่อนปรับ INSTANCE COUNT ที่ด้านล่างตามจำนวนที่ต้องการ

2013-09-30_171647

3. Standard – เป็นการนำเว็บของเราไปไว้บน Virtual Machine บนระบบประมวลผลแบบกลุ่มเมฆ โดยเป็นการจอง Virtual Machine เป็นอินสแตนซ์ตามจำนวนและความสามารถที่ต้องการไว้เพียงระบบเดียวโดยคิดระยะเวลาการใช้งานเป็นชั่วโมงหรือนาที โดยขึ้นอยู่กับคุณสมบัติและความสามารถที่ได้เลือกขอใช้บริการ

สำหรับตัวเลือก Standard นี้จะมีตัวเลือกคุณสมบัติของ Virtual Machine ดังนี้

COMPUTE INSTANCE NAME

VIRTUAL CORES

RAM

Small

1

1.75 GB

Medium

2

3.5 GB

Large

4

7 GB

การเลือกปรับค่าทำได้ที่หน้า SCALE ด้วยการเลือก WEB SITE MODE ไปที่ STANDARD แล้วไปเลื่อนปรับ INSTANCE SIZE ตามคุณสมบัติที่ต้องการ

image

เมื่อเราเลือก Web Sites ตัวใดตัวหนึ่งเป็น Standard แล้ว เราสามารถเลือกให้ Web Sites อื่นๆ ที่เรามีอยู่ มาใช้งานอินสแตนซ์นี้ร่วมได้ด้วย

2013-10-01_011214

เมื่อเราเลือกแล้วว่าจะให้ Web Sites ตัวไหนบ้างใช้งาน Standard ที่เรากำหนด ก็มาถึงขั้นตอนการกำหนดการขยายระบบตามโหลดของหน่วยประมลผล หรือช่วงเวลาที่เรากำหนดได้อัตโนมัติ หรือการทำ Autoscale

 

การกำหนดขยายระบบแบบแปร่ตามการโหลดของหน่วยประมวล

จากภาพตัวอย่างจะเพิ่มอินสแตนซ์ที่มีคุณสมบัติแบบ Small (1 core, 1.75GB Memory) ระหว่าง 1 – 4 อินสแตนซ์ขึ้นมาตามโหลดของตัว Virtual Machine ที่มีอยู่ โดยใช้การวัดจากการโหลดของหน่วยประมวลผลที่ Virtual Machine โดยตั้งค่าให้อยู่ระหว่าง 60 – 80% ความหมายของตัวต่ำสุด-สูงสุดคือ

1. ถ้าโหลดต่ำกว่า 60% ก็จะทำการลดอินสแตนซ์ลงจนถึงค่า INSTANCE COUNT ที่ตั้งไว้

2. ถ้าโหลดสูงถึง 80% จะสร้างอินสแตนซ์เพิ่มขึ้นมาเรื่อยๆ แต่ไม่เกินค่า INSTANCE COUNT ที่ตั้งไว้ จนกว่าโหลดจะลงมาในระดับต่ำกว่า 80%

image

 

การกำหนดขยายระบบแบบแปร่ตามช่วงเวลาที่ตั้งไว้

2013-09-30_171826

สิ่งแรกที่ต้องทำก่อนคือตั้งค่าเวลาที่จะใช้ในการขยายระบบ เพื่อกำหนดช่วงเวลา โดยไปที่ “set up schedule times

2013-09-30_171906

การตั้งค่า Set up schedule times นั้นมีตัวเลือก

1. Different scale settings for day and night – ให้สามารถแยกระหว่างเวลาทำงการ (day) กับเวลาเลิกทำการ (night)

2. Differnet scale settings for week days and weekends – ให้แยกเวลาระหว่างวันทำการ (weekdays; วันจันทร์-ศุกร์) กับวันหยุด (weekends; วันเสาร์-อาทิตย์)

3. Time ตั้งเวลาว่าเวลาทำการจะเริ่มต้นเมื่อไหร่

4. Time zone กำหนด Time zone ที่ใช้อ้างอิง

2013-09-30_172213

จากตัวอย่างเมื่อผมเลือกทั้งหมด โดยกำหนดว่าเวลาทำการคือ 8:00 ถึง 20:00 เป็นเวลาทำการ และเลือกตั้งให้ขยายระบบแยกกันระหว่างเวลาทำการ เวลาเลิกการ วันทำการและวันหยุด โดยเมื่อเราตั้งเสร็จแล้ว ที่ EDIT SCALE SETTINGS FOR SCHEDULE จะมีตัวเลือกเพิ่มมา 3 ตัวเลือก คือ Week Day, Week Night และ Weekend

Week Day (วันทำการจันทร์-ศุกร์ เวลา 8:00 – 20:00) จะเพิ่มอินสแตนซ์ที่มีคุณสมบัติแบบ Small (1 core, 1.75GB Memory) จำนวน 4 อินสแตนซ์ขึ้นมาคงที่ตลอดระยะเวลาดังกล่าว

2013-09-30_172445

Week Night(วันทำการจันทร์-ศุกร์ เวลา 20:01 – 7:59) จะลดอินสแตนซ์ที่มีคุณสมบัติแบบ Small (1 core, 1.75GB Memory) ลงเหลือจำนวน 1 อินสแตนซ์คงที่ตลอดระยะเวลาดังกล่าว

2013-09-30_172508

Weekend (วันทำการเสาร์-อาทิตย์ เวลา 00:00 – 23:59) จะปรับอินสแตนซ์ที่มีคุณสมบัติแบบ Small (1 core, 1.75GB Memory) กลับมาที่จำนวน 2 อินสแตนซ์คงที่ตลอดระยะเวลาดังกล่าว

2013-09-30_172549

จากตัวอย่างข้างตอนสำหรับการขยายระบบทั้งแบบแปร่ตามโหลดของหน่วยประมวลผลและแบบแปร่ตามช่วงเวลา เราสามารถนำมาผสมกันเพื่อใช้ในการตั้งค่าขยายระบบแปร่ตามช่วงเวลาและขยายระบบแปร่ตามหน่วยประมวผลได้พร้อมๆ กันด้วย

 

การตั้งค่าขยายระบบแบบแปร่ผันตามโหลดของหน่วยประมวลและแปร่ตามช่วงเวลา

ทำการตั้งค่าเวลาที่จะใช้ในการขยายระบบ เพื่อกำหนดช่วงเวลา

1. ไปที่ “set up schedule times” ตามข้อที่ปรับแต่งเรื่องช่วงเวลาในการขยายระบบเสียก่อน

2013-09-30_172213

2. แล้วเลือก Week Day, Week Night และ Weekend ตามช่วงเวลาที่ต้องการปรับขยายระบบ

3. เลือก SCALE BY METRIC โดยเลือกที่ CPU จะมีตัวเลือก TARGET CPU ขึ้นมาเพิ่มเติมจาก INSTANCE COUNT ที่มีอยู่ก่อนแล้ว

Week Day (วันทำการจันทร์-ศุกร์ เวลา 8:00 – 20:00)

ระบบเพิ่มอินสแตนซ์ที่มีคุณสมบัติแบบ Small (1 core, 1.75GB Memory) จำนวน 2 – 6 อินสแตนซ์ขึ้นและลง โดยแปร่ตามการโหลดของหน่วยประมลผลตั้งแต่ 70 – 90 % ของระบบ

2013-09-30_172700

Week Night(วันทำการจันทร์-ศุกร์ เวลา 20:01 – 7:59)

ระบบเพิ่มอินสแตนซ์ที่มีคุณสมบัติแบบ Small (1 core, 1.75GB Memory) จำนวน 1 – 2 อินสแตนซ์ขึ้นและลง โดยแปร่ตามการโหลดของหน่วยประมลผลตั้งแต่ 70 – 90 % ของระบบ

2013-09-30_172833

Weekend (วันทำการเสาร์-อาทิตย์ เวลา 00:00 – 23:59)

ระบบเพิ่มอินสแตนซ์ที่มีคุณสมบัติแบบ Small (1 core, 1.75GB Memory) จำนวน 1 – 4 อินสแตนซ์ขึ้นและลง โดยแปร่ตามการโหลดของหน่วยประมลผลตั้งแต่ 70 – 90 % ของระบบ

2013-09-30_173237

จากทั้งหมดที่ได้กล่าวมาในชุดบทความ Windows Azure นี้ มุ่งเน้นเรื่องราวการทำความเข้าใจระบบประมวลผลแบบกลุ่มเมฆ รูปแบบบริการต่างๆ ของ Windows Azure การคิดราคา และยกตัวอย่างการนำเว็บไซต์ขึ้นสู่ระบบ Windows Azure โดยมุ่งเป็นตัวอย่างในการขยายระบบอย่างง่ายเพื่อความเข้าใจในขั้นตอนการสร้าง ปรับแต่ง และนำระบบขึ้นบนบริการย่อยที่ชื่อ Windows Azure Web Sites ทำให้เห็นการติดตั้งเว็บไซต์ที่มีตัวช่วยให้สามารถรองรับโหลดขนาดใหญ่ อีกทั้งยังมีความฉลาดในการขยายตัวเองได้ตามรูปแบบที่ได้ตั้งค่าไว้ด้วย

Windows Azure ตอนที่ 3 การติดตั้ง Drupal บน Windows Azure Web Sites

ในตอนที่ 3 นี้ เราจะมาพูดถึงการติดตั้ง Drupal บน Windows Azure Web Sites กัน โดยต้องย้อนกลับไปสักหน่อยว่า Windows Azure Web Sites เป็นบริการแพลตฟอร์ม (PaaS) สำหรับให้เรานำเว็บไซต์ที่พัฒนาขึ้นมาไปไว้บนบริการประมวลผลแบบกลุ่มเมฆ ซึ่งจะมีระบบฐานข้อมูล พื้นที่ และระบบเครือข่ายที่ถูกติดตั้งไว้รองรับการใช้งานไว้พร้อม เรามีหน้าที่เพียงนำระบบที่พัฒนาและฐานข้อมูล ขึ้นไปติดตั้งและใช้งานได้ทันที

โดยสำหรับ Drupal นั้นสามารถติดตั้งและใช้งาน Windows Azure Web Sites ได้ทันทีโดยไม่ต้องปรับแต่งตัวโค้ดพื้นฐานใดๆ ซึ่งใน Windows Azure Web Sites นั้นได้รองรับ PHP ทั้ง versions ที่ 5.3 และ 5.4 ผ่าน PHP/FastCGI บน Internet Information Services (IIS) ใน Windows Server

สำหรับในการติดตั้งขึ้นบน Windows Azure Web Sites นั้น สามารถติดตั้งและนำระบบขึ้นได้ผ่านทาง FTP, FTPS, WebMatrix และ Git โดยจะทำการบันทึกตัวเว็บไซต์ของเราไว้ใน File System Storage ของตัว Windows Server ที่เรากำลังใช้งานอินสแตนซ์ตัวนั้นอยู่ โดยจำกัดพื้นที่ 1GB สำหรับแบบฟรีหรือแบบแชร์การใช้งาน (Free/Shared instance) ส่วนสำหรับอินสแตนซ์แบบจองโหลดการใช้งาน (Reserved instance) จะได้พื้นที่ถึง 10GB โดยถ้าต้องการใช้งานมากกว่านี้ทาง Microsoft แนะนำให้ใช้งานผ่าน Windows Azure Storage แบบ “บลอบ” (Blob, Binary Large Object) ซึ่งจะรองรับพื้นที่ให้บริการถึง 100TB ต่อ 1 บัญชีพื้นที่ข้อมูล

สำหรับการใช้งานฐานข้อมูลนั้นมีตัวเลือกในการใช้งานฐานข้อมูลอยู่ 2 แบบคือ ระบบการจัดการฐานข้อมูลเชิงสัมพันธ์ (RDBMS) และระบบฐานข้อมูลที่ไม่ใช่ภาษาสอบถามเชิงโครงสร้าง (NoSQL) โดยใน Drupal จะใช้ระบบการจัดการฐานข้อมูลเชิงสัมพันธ์ที่ชื่อ MySQL ซึ่ง Microsoft มีพันธมิตรที่ชื่อ ClearDB เพื่อให้บริการรองรับกับ MySQL ในชื่อของ ClearDB MySQL database cluster โดยระบบการจัดการฐานข้อมูลเชิงสัมพันธ์นี้จะทำงานบนระบบประมวลผลกลุ่มเมฆทั้งหมด

เรามาดูกันว่า การติดตั้ง Drupal เพื่อใช้งานบน Windows Azure Web Sites ทำกันอย่างไร

1. ทำการ Login เข้า Windows Azure Portal เสียก่อน โดยจะพบกับหน้า all items

1

2. เลือกที่ตัวเลือก WEB SITES ด้านซ้ายเพื่อดูรายการ web sites ที่มีอยู่ในระบบ Windows Azure ของเรา สำหรับการสร้างเว็บไซต์เพิ่มขึ้นใน Windows Azure ให้เลือกที่ NEW มุมซ้ายล่างของ Windows Azure Portal

2

3. จะมีตัวเลือกในการสร้างขึ้นมา ให้เลือก COMPUTE ตามด้วย WEB SITE และแนะนำให้เลือก CUSTOM CREATE

3

4. จะเปิดหน้าต่าง Create Web Site ขึ้นมา ในแต่ละช่องมีความหมายดังต่อไปนี้

URL ให้เลือก sub domain ที่จะใช้งานภายใต้ชื่อ .azurewebsites.net

SUBSCRIPTION เลือกบัญชีสำหรับใช้ในการคิดค่าใช้จ่ายของระบบ

REGION ระบุว่าจะให้ตัวไฟล์ที่เราพัฒานั้นไปอยู่ในพื้นที่ใดของศูณย์ข้อมูลของ Azure สำหรับประเทศไทย ใกล้ที่สุดคือ East Asia ซึ่งอยู่ที่ฮองกง

DATABASE เป็นตัวเลือกที่ระบุว่าจะมีการใช้ฐานข้อมูลหรือไม่ โดย Drupal ที่เราติดตั้งลงไปนั้นใช้ MySQL เราจึงเลือก Create a new MySQL database

DB CONNECTION STRING NAME ใช้ค่าเริ่มต้นคือ DefaultConnection

Publish form source control เป็นสำหรับใช้ในการดึงชุดคำสั่งโปรแกรมมาจาก source code control อย่าง SVN หรือ GIT มาติดตั้งและใช้ในการส่งชุดคำสั่งขึ้นไปในระบบ Windows Azure Web Site แทนการใช้ FTP ได้อีกทางหนึ่งด้วย

เมื่อกรอกข้อมูลทั้งหมดครบแล้วเลือกลูกศรไปด้านขวา เพื่อทำการตั้งค่าอื่นๆ ต่อไป

4

5. มาถึงขั้นตอนการสร้างฐานข้อมูล MySQL กัน ขอย้อนกลับไปนิดนึงว่า Microsoft นั้นมีพันธมิตรที่ชื่อ ClearDB เพื่อให้บริการรองรับกับ MySQL ในชื่อของ ClearDB MySQL database cluster เพราะฉะนั้นการตั้งค่าตรงนี้ในตัว Windows Azure Portal จะไปทำการสร้างให้ถึง ClearDB โดยเราไม่ต้องเข้าไปสร้างเองแต่อย่างใด

ในตัวช่องกรอกข้อมูลนั้นเพียงแต่กรอก ชื่อฐานข้อมูลในช่อง NAME และเลือกพื้นที่ที่ฐานข้อมูลนี้อยู่ในช่อง REGION ซึ่งแนะนำให้ใช้ในพื้นที่เดียวกับที่ตัวเว็บไซต์อยู่เพื่อความเร็วในการดึงข้อมูลข้ามระหว่างเครื่อง เพราะตัวพื้นที่เว็บไซต์ที่เราใช้กับฐานข้อมูลนั้นจะอยู่คนละเครื่องกัน

เมื่อตั้งค่าทั้งสองจบให้ติ๊กที่ “I agree …” เพื่อยอมรับข้อตกลงของ ClearDB แล้วคลิ้กที่เครื่องหมายถูก เพื่อทำการสร้างเว็บไซต์หนึ่งเว็บบน Windows Azure Web Sites

5

6. รอสถานะของการสร้างตัว web sites เพียงสักครู่หนึ่ง ก็จะมีรายชื่อของตัวเว็บไซต์ที่เราสร้างไว้ตั้งแต่ด้านบนเพิ่มขึ้นมาใน Windows Azure Portal ของเรา

เมื่อทุกอย่างสำเร็จให้เลือกที่ชื่อเว็บไซต์ที่เราได้สร้างขึ้นมาเพื่อเข้าไป dashboard ของเว็บไซต์ของเราใน Windows Azure Web Sites

6

7. ในหน้า dashboard จะเป็นส่วนหลักและสรุปว่ามีการทำงานอะไรบ้างเช่น CPU TIME, DATA IN/OUT, ERRORS และ REQUEST เพื่อใช้ในการปรับปรุงหรือใช้ตัดสินใจขยายระบบเมื่อมีการใช้งานหนักๆ ได้อย่างทันที โดยรองรับการรายงานเป็นแบบช่วงเวลาต่างๆ กันไป

7

8. สำหรับในส่วนอื่นๆ ในหน้า dashboard ก็มีส่วน

endpoint สำหรับเปิด-ปิด-ตั้งค่า การตรวจสอบการทำงานของตัวเว็บไซต์

autoscale status สำหรับใช้ในการขยายระบบได้อัตโนมัติเมื่อมีการใช้งานหนักๆ ได้ทันทีโดยไม่ต้องให้นักพัฒนาหรือผู้ดูแลมาปรับขยายด้วยตัวเอง

usage overview เป็นส่วนแสดงการใช้งานระบบต่างๆ ว่ามีโควต้าและการใช้งานไปเท่าไหร่แล้ว

linked resources เป็นส่วนที่แสดงการเชื่อมต่อกับระบบภายนอก ซึ่งในตัวอย่างจะเป็นว่าเราได้เชื่อมต่อกับ ClearDB ที่เป็น MySQL database ซึ่งเมื่อมีการแก้ไข หรือลบตัวเว็บไซต์นี้ออกจาก Windows Azure Web Sites ตัว linked resources เหล่านี้จะถูกแก้ไข-ลบเช่นกัน

quick glance เป็นส่วนของการให้ข้อมูลสถานะ ค่าสำหรับเข้าใช้งาน การตั้งค่าหรือโหลดตัวช่วยในการส่งไฟล์ต่างๆ เข้าไปในตัวระบบ

8

9. โดยเริ่มต้นแล้วนั้น Windows Azure WEeb Sites จะตั้งค่า username และ password สำหรับการใช้ FTP/FTPS ไว้ให้เราแล้ว แต่แน่นอนว่าถ้าใช้ publish profile ของ Windows Azure ซึ่งใน Microsoft Visual Studio นั้นรองรับก็จะสะดวกดี แต่เมื่อเราใช้งานผ่านเครื่องมืออื่นๆ ที่ไม่ได้รองรับ เราจึงต้องมากำหนดค่าต่างๆ เหล่านี้เอง โดยไปที่ Set up deployment credentials ในหัวข้อ quick glance

9

10. ตัว Windows Azure Portal จะแสดงหน้าต่างให้เรากำหนค่า username และ password สำหรับการ FTP/FTPS เข้าไปใช้งานแทนที่ค่าเริ่มต้นของระบบที่ได้กำหนดไว้ให้เราตั้งแต่ตอนสร้างบัญชีนี้ขึ้นมา

10

11

11. เมื่อเรากำหนดส่วนของการสร้างไฟล์ได้แล้ว ก็มาถึงการเข้าถึงส่วนของฐานข้อมูล MySQL กันบ้าง โดยให้ไปที่ โดยให้ไปที่หัวข้อ linked resources แล้วคลิ้กลิ้งค์เพื่อเลือกชื่อฐานข้อมูลที่เราได้กำหนดไว้ตอนเราได้เริ่มต้นสร้างขึ้นมาในข้อแรกๆ

12

12. ตัว Windows Azure จะเปิดหน้าต่างของ browser ใหม่ขึ้นมา แล้วพาเราไปหน้าเว็บ ClearDB เพื่อทำให้เราจัดการฐานข้อมูลนี้จากหน้าเว็บนั้นแทนใน Windows Azure Portal ของ Microsoft โดยในหน้าที่เราเปิดมาครั้งแรกจะเจอหน้า Performance ทันที

13

13. แน่นอนว่าเราต้องการข้อมูลส่วนของ hostname, username และ password ของ MySQL เพื่อนำไปติดตั้ง Drupal ซึ่งข้อมูลทั้งหมดจะอยู่ที่ Endpoint Information ที่อยู่ถัดไปอีก 2 เมนูจาก Performance

เข้ามาในหน้า Endpoint Information เราจะเห็น Hostname อยู่ในตาราง Cluster Gateway Information ที่อยู่ด้านบน พร้อมทั้งรายละเอียด Max connections และ Max Queries/Hour ซึ่งเป็นโควต้าสำหรับ Free Account ซึ่งมาพร้อมกับพื้นที่ให้ 20MB สำหรับ database จำนวน 1 ตัว

สำหรับ username และ password จะอยู่ที่ตาราง Access Credentials ที่อยู่ด้านซ้ายล่างของหน้า Endpoint Information

14

14. หลังจากข้อที่ 10. เราได้แก้ไข username และ password สำหรับการเข้าไป FTP/FTPS แล้ว เราก็มาดูข้อมูลสำหรับส่วนของ hostname ที่ใช้ในการเชื่อมต่อผ่าน FTP/FTPS โดยอยู่ในหัวข้อ Quick glance ข้อย่อย FTP HOST NAME และ FTPS HOST NAME เพื่อนำไปเชื่อมต่อสำหรับการนำไฟล์ต่างๆ ขึ้นไปบน Windows Azure Web Sites

15

15. เมื่อเราได้ข้อมูลที่จำเป็นทั้งหมดครบแล้ว ก็ถึงเวลาสำหรับการติดตั้งตัว Drupal โดยก่อนอื่น เข้า https://drupal.org/downlaod เพื่อเข้าไปดาวน์โหลดตัว drupal ตัวล่าสุดมารอไว้ในเครื่องของเราเสียก่อน

31

16. ทำการสร้างตัวเชื่อมต่อ FTP จาก Network Location บน Windows (อ้างอิง Windows 8) เสียก่อน

โดยไปที่ Computer (My Computer) แล้วเลือก Add a network location

หมายเหตุ:นักพัฒนาอาจจะใช้ FTP Client ตัวอื่นๆ ก็ทำได้เช่นกัน โดยอาศัยข้อมูลข้างต้นที่ได้เกริ่นไปก่อนหน้านี้ในการสร้าง FTP profile ของแต่ละ client

16

17. จะได้หน้าต่างต้นรับว่าเรากำลังจะสร้าง Network Location ใหม่บน Windows ให้กด Next

18. ในหน้านี้เป็นหน้าที่เลือกประเภทว่าเราจะสร้าง Network Location แบบใด ซึ่งตอนนี้เรามีเพียงแบบเดียวคือ Choose a custom network location ซึ่งนักพัฒนาบางคนอาจจะมีมากกว่านี้ แต่ให้เลือกตัวเลือกนี้ แล้วกด Next

17 18

19. ในหน้าต่อมานี้จะให้เราใส่ internet หรือ network address ให้เราเอาข้อมูล FTP HOST NAME ใน dashboard ของ ของ Windows Azure Web Sites มาใส่ในช่อง Internet or network address แล้วกด Next

20. หน้ากำหนด username ให้กรอก Username ที่อยู่ใน DEPLOYMENT / FTP USER ในหัวข้อ Quick glance ลงไปในช่อง Username แล้วกด Next

19 20

21. มาในหน้าของการตั้งชื่อ network location ก็ตั้งชื่อตามที่ต้องการแล้วกด Next

22. เป็นหน้าสรุปข้อมูลการเชื่อมต่อทั้งหมด แนะนำให้เลือก Open the network location when I click Finish. เมื่อเสร็จสิ้นทั้งหมดแล้วกด Finish

21 22

23. เมื่อกด Finish แล้ว File Explorer จะเปิดหน้าต่างใหม่เพื่อทำการเชื่อมต่อ ซึ่งจะเห็นหน้าต่าง Log on as ขึ้นมาเพื่อถาม username และ password เราจึงกรอก password ที่ได้กำหนดไว้ในข้อที่ 10. ลงไป และถ้าไม่ต้องการให้มีการถาม password ซ้ำอีกให้เลือก Save password แล้วจึงกด Log On

24. ถ้าทั้ง hostname, username และ password ตรงตามที่ได้ตั้งไว้ เราจะเข้ามาถึงภายใน Windows Azure Web Sites และพร้อมที่จะนำไฟล์เว็บไซต์ที่เราพัฒนานั้นๆ ขึ้นไปแล้ว

image 23

25. สำหรับ folder ที่ใช้ในการจัดเก็บไฟล์นั้น จะอยู่ที่ site\wwwroot ภายใน Windows Azure Web Sites เมื่อเราเข้าไป จะเจอไฟล์ hostingstart.html อยู่หนึ่งไฟล์

24

26. ทดสอบสร้างไฟล์ PHP มาหนึ่งไฟล์ชื่อ phpinfo.php เพื่อสร้างสอบว่าใช้งาน PHP ได้และมี PHP เป็น version อะไรจากใน site\wwwroot

27. เมื่อสร้างไฟล์เรียบร้อย เราก็เข้าไปที่ https://xxxx.azurewebsites.net/phpinfo.php เพื่อตรวจสอบ PHP version และการเข้าถึงตัวเว็บไซต์ที่เราสร้างนั้นถูกต้องหรือไม่ (ตัวอย่างคือ https://testdrupalweb.azurewebsites.net/phpinfo.php)

25 26

28. เมื่อทดสอบเสร็จแล้ว แน่นอนว่าเราต้องการใช้ PHP version 5.4 สามารถที่จะเข้าไปเปลี่ยนแปลง version ได้ที่ CONFIGURE ซึ่งอยู่ถัดจากเมนู DASHBOARD ของ Windows Azure Web Sites ไปอีกสองเมนู จะเจอ PHP VERSION เราสามารถปรับไปใช้ PHP version 5.4 ได้จากตัวเลือกนี้

27

29. เมื่อเลือก PHP VERSION เป็น 5.4 แล้ว ให้กด SAVE และรอจนกว่าสถานะการเปลี่ยนแปลงจะจบการทำงานที่ด้านล่าง

28

29

30. เมื่อสถานะการเปลี่ยนแปลงเสร็จสิ้น ให้ลอง refresh หน้า phpinfo.php ที่เราสร้างขึ้นอีกครั้ง จะเห็นการเปลี่ยนแปลงเป็น PHP version 5.4 แทนที่แล้ว

30

ข้อควรระวัง: ซึ่งแนะนำว่าเมื่อตรวจสอบเรียบร้อยแล้วให้ลบออกไป เนื่องจากใน Environment Variable ที่ชื่อ MYSQLCONNSTR_DefaultConnection มีข้อมูลการเชื่อมต่อฐานข้อมูลที่เป็น linked resources ที่เราได้สร้างไว้อยู่ จึงไม่ปลอดภัยที่จะมีไฟล์นี้คงไว้ในระบบของเรา

image

31. เมื่อตอนนี้เราปรับแต่งตัว version ของ PHP เรียบร้อยแล้ว ก็ได้เวลาในการนำไฟล์ Drupal ขึ้นไป โดยใช้ Network Location ของ File Explorer

วิธีก็ไม่ยากอะไร เราคลายไฟล์บีบอัดของ Drupal ออกมา แล้วทำการลากไปวางที่ site\wwwroot ที่ Network Location ที่เราได้สร้าง แล้วรอจนกว่าจะ copy ไฟล์ (ใน FTP Client ตัวอื่นๆ จะเรียกว่า upload) เข้าไปที่ Windows Azure Web Sites ที่เรามีบัญชีอยู่

32

32. เมื่อ copy ไฟล์เข้ามาที่ Windows Azure Web Sites ที่เรามีบัญชีอยู่เรียบร้อย ให้เปิดหน้าเว็บที่เราได้มีบัญชีอยู่ขึ้นมา ตัว Drupal จะพาเราเข้าหน้า install.php ให้ทันที ก็ทำการติดตั้งตามขั้นตอนของ Drupal ตามปรกติดังต่อไปนี้

ในขั้นตอนการเลือก profile ให้เลือก Standard แล้วกด Save and continue

33

33. เลือก language ให้เลือก English (built-in) แล้วกด Save and continue

34

34. ในส่วนของฐานข้อมูลนั้น

Database type ให้เลือก MySQL, MariaDB, or equivalent

Database name ให้กรอกข้อมูลที่ได้กรอกไว้ในข้อที่ 5. ลงไป

Database username ให้กรอกข้อมูลที่ได้ระบุไว้ในข้อที่ 13. ลงไป

Database password ให้กรอกข้อมูลที่ได้ระบุไว้ในข้อที่ 13. ลงไป

ให้ขยาย ADVANCED OPTIONS ออกมา แล้วแก้ไข Database host ให้กรอกข้อมูลที่ได้ระบุไว้ในข้อที่ 13. ลงไป

แล้วกด Save and continue

35

35. ถึงขั้นตอนการ install ตัว Drupal ในขั้นตอนนี้รอการติดตั้งสักพัก

36

36. เมื่อการติดตั้งจบ ให้ทำการกรอกข้อมูลของเว็บต่างๆ ลงไปให้ครบ

37

37. ในส่วนสำคัญคือ time zone ให้เลือก time zone ที่เหมาะสมกับพื้นที่ในการใช้งานให้ถูกต้อง แล้วกด Save and continue

38

38. การติดตั้ง Drupal เสร็จสมบูรณ์แล้วในขั้นตอน ให้คลิ้กลิ้งค์เข้าหน้าเว็บไซต์ผ่าน Visit your new site

39

39. จะเจอหน้าตาของ Drupal ที่คุ้นเคยและเราเป็น administrator ของระบบทันที

40

40. ตรวจสอบความเรียบร้อยอีกครั้ง แนะนำให้ไปที่ Reports และเลือกที่ Status report เพื่อตรวจสอบข้อมูลอื่นๆ ว่ามีการติดตั้งหรือค่าสิทธิ์การเข้าถึงที่ผิดพลาดหรือไม่อีกครั้ง

41

จากข้อมูลทั้งหมดนี้ จะเห็นได้ว่า Windows Azure Web Sites นี้ได้รวบรวมบริการประมวลผลแบบกลุ่มเมฆมาเป็นชุดสำหรับใช้งานได้ทันทีสำหรับเว็บไซต์โดยไม่ต้องลงมือติดตั้งระบบเองให้ยุ่งยากซับซ้อนแต่อย่างใด ซึ่งเหมาะสมกับคนที่ต้องการพัฒนาเว็บที่รองรับการขยายขึ้น-ลงได้อย่างหลากหลาย

โดยในตอนหน้าจะมาพูดถึงการติดตั้ง WordPress บน Windows Azure Web Sites และการขยายระบบขึ้น-ลง (Scale up-down) เพื่อรองรับการโหลดของระบบที่เปลี่ยนแปลงตลอดเวลา