Monday, June 30, 2014

Software Virtualization

Software Virtualization คืออะไร

     Software Virtualization ก็คือ ซอฟท์แวร์ที่ทำหน้าที่ในการสร้างเครื่องจักรกลเสมือนที่เราได้ทำการรู้จักกันในบทความก่อนหน้านี้มาแล้วนะครับ ในบทความนี้เราจะมาพูดถึงประเภทที่เป็นแบบ workstation กันนะครับ ในปัจจุบันนี้มีตัวที่เด่นๆอยู่ 2 เจ้านะครับ

     1.VMware Workstation ตัวนี้เป็นโปรแกรมของทางค่าย VMware(ชื่อก็บอกอยู่)นะครับ
     - จุดเด่นของตัวนี้นะครับ คือ มีความเสถรียร รองรับฮาร์ดแวร์เยอะ มีประสิทธิภาพในการทำงานด้วย vGPU,vCPU มากกว่า รองรับ OS เยอะ สร้างเครื่องเสมือนได้ทั้ง Windows, Linux และ Mac OSX จากประสบการณ์ในการใช้มาก็ ลื่นดีครับ ถ้ามีปัญหาอะไรก็หาได้มากมายทั้งจาก KB(knowladge base)ของทาง VMware เอง หรือใน google รวมทั้งยังเป็นที่ยอมรับในด้าน Virtualization มากกว่า
     - ส่วนข้อเสียหลักๆเลยนะครับคือ มันไม่ฟรีครับ มีราคาถึง $249 ก็ประมาณ 8000 ด้วยกันซึ่งแพงเอาเรื่องเลยนะครับ แต่ของทางค่ายนี้ก็มีตัวฟรีอยู่เหมือนกันนะครับ ก็คือ VMware Player ซึ่งจะใช้ feature ต่างๆได้ไม่ครบครับ
    เว็บไซต์ของทาง VMware ก็ http://www.vmware.com/ap/products/workstation/

     2.Oracle VM Virtual Box ตัวนี้เป็นของทางฝั่ง Oracle นะครับ
     ข้อดีของตัวนี้นะครับ
     - อย่างแรกเลยนะครับ คือ ฟรี 555
     - ใช้พื้นที่ในการติดตั้งน้อย
     - ใช้งานง่าย
     ส่วนข้อเสียนะครับ
     - OS บางตัวไม่รองรับฮาร์ดแวร์ที่สร้างจาก VirtualBox (ปัจจุบันแทบจะลองรับทุก OS ถ้าไม่ใช่ OS แปลกๆ)
     สนใจหาข้อมูลเพิ่มเติมได้ที่เว็บไซต์ของทางผู้ผลิต https://www.virtualbox.org/ เลยนะครับ

นี่ก็เป็นข้อมูล และความเห็นของผมคร่าวๆนะครับ ส่วนใครจะใช้แล้วถูกใจตัวไหนอันนี้ก็แล้วแต่สะดวกกันนะครับ ส่วนผมเอนไปทางค่าย VMware ค่อนข้างเยอะ เรียกว่าสาวกก็ได้นะครับ อาจเพราะทำงานคลุกคลีกับด้านนี้เยอะก็เป็นได้นะครับ ถ้าใครมีคำถาม หรืออยากแลกเปลี่ยนพูดคุยก็เชิญได้นะครับ ทั้ง email และ google+ ครับ สำหรับบทความนี้คงจบไว้เท่านี้ก่อน แล้วครั้งหน้าจะมาบอกวิธีติดตั้งและใช้งานของทั้งสองค่ายต่อไปครับ

Wednesday, June 25, 2014

ว่าด้วยเรื่อง Virtualization

Virtualization
ก่อนที่เราจะลงลึกกันเรามาทำความรู้จักกับเจ้าคำว่า Virtualization กันก่อนดีกว่า

VIRTUALIZATION

     ไอเจ้า virtualization ก็คือ สถาปัตยกรรมเครื่องจักรกลเสมือน หรือพูดให้ดข้าใจก็คือ ซอฟท์แวร์ที่ทำการสร้างคอมพิวเตอร์จำลองขึ้นมานั่นเอง

     แล้วจะจำลองเพื่ออะไร คือยังไง
     เทคโนโลยีนี้นะครับ ถูกสร้างขึ้นมาด้วยเหตุผลต่างๆเพื่อเพิ่มประโยชน์ในด้าน IT ครับโดยเหตุผลหลักๆก็เช่น
          - ใช้ทรัพยากรของเครื่องให้เต็มที่ ต้องบอกก่อนนะครับว่าโดยปกติแล้วเครื่องเซิฟเวอร์หนึ่งตัวนั้น ส่วนมากแล้วใช้ทรัพยากรของเครื่องเพียงแค่ 30-40% เท่านั้น และส่วนใหญ่จะใช้แค่หนึ่งบรการต่อหนึ่งเครื่องเซิฟเวอร์เท่านั้น ซึ่งเค้ามองว่ามันสิ้นเปลืองมาก เค้าจึงได้มีการคิดค้นเทคโนโลยีนี้ขึ้นมาเพื่อทำการลดต้นทุนและลดการใช้ทรัพยากรของโลกอีกด้วย (Green IT ก็เป็นคอนเซปท์ที่หลายเจ้าใช้กัน)
          - ง่ายต่อการบริหารจัดการ เพราะเทคโนโลยีนี้จะทำให้ทุกอย่างมาจัดการอยู่ที่จุดๆเดียวได้ครับโดยใช้ตัว management ในการเข้าไปจัดการ
          - Migration ง่ายต่อการเคลื่อนย้าย
          - High Availability ความต่อเนื่องของการให้บริการ อันนี้ก็เป็นจุดเด่นของ virtualize เช่นกันครับ

ทีนี้ก็รู้แล้วนะครับว่าเจ้า Virtualization มันคืออะไร

ทีนี้ จะแบ่ง virtualization เป็นสองประเภทนะครับ ตามการใช้งาน
1. Server Virtualization
2. Destop Virtualization ในที่นี้ไม่ได้หมายถึงการทำ Destop Virtualization อย่าง Vmware Horizon View นะครับ ผมจะพูดถึงแค่ตัว workstation

Server Virtualization
        Server Virtualization ก็คือการทำเครื่องแม่ข่ายเสมือน แล้วการที่จะทำได้ก็จะใช้ Hyperviser เป็นตัวกลางในการจัดการ
        ซึ่ง Hyperviser ก็แบ่งย่อยๆได้เป็น

1. Bare-metal คือ VMM ที่ติดตั้งอยู่บนฮาร์ดแวร์โดยตรง คือ Hardware > VMM > VM
      ข้อดีคือ สายบังคับบัญชาสั้น ใช้งานทรัพยากรระบบได้ดี ระบบความปลอดภัยดีกว่าเพราะไม่ต้องห่วงเรื่องระบบความปลอดภัยของ Host OS
      ข้อเสียคือ ฮาร์ดแวร์ที่รองรับมีน้อย เพราะไม่มีชั้นของ OS ให้เราสามารถติดตั้ง Driver ได้ แต่ในปัจจุบัน ด้าน Hardware vendor ก็ได้มีการจัดทำตัว Hyperviser แบบ custom install ให้แล้วมากมายครับ
      ตัวอย่างของประเภทนี้ก็ VMware ESXi ครับ
2. Hosted คือ VMM ที่ติดอยู่บน OS อีกทีหนึ่ง คือ Hardware > OS > VMM > VM
      ข้อดีและข้อเสียก็กลับกันกับแบบข้างต้นนั่นแล
      ส่วนของฝั่งนี้ก็เช่น Microsoft Hyper-V นั่นเองครับ

ส่วนด้าน Desktop ก็ส่วนมากจะใช้เพื่อทดสอบระบบ ทดสอบซอฟแวร์ต่างครับ โดยจะทำการติดตั้งซอฟท์แวร์ VMware workstaion ลงบนเครื่องแล้วทำการลง OS ลงไปครับ การทำวิธีนี้ทำให้ตัดปัญหาความยุ่งยากสำหรับผู้ที่ต้องการลงหลาย OS บนเครื่องเดียวกันครับ วิธีนี้จะไม่ต้องยุ่งยากทำ dual boot แต่แค่เปิดโปรแกรมและติดตั้ง OS ครับ แต่จะมีข้อเสียก็ตรงมันไม่ลื่นเท่าฮาร์ดแวร์จริงก็เท่านั้นเองครับ

สำหรับความรู้เบื้องต้นคงจบเพยีงเท่านี้ก่อนนะครับ แล้วจะมาต่อกันที่ค้างไว้ก็คือการลง OS บน VMware workstaion ครับ

Monday, June 23, 2014

ทำความรู้จักกับลินุกซ์(Linux) หนึ่งในระบบปฏิบัติการที่คนบางคนยังไม่รู้จัก




         ลินุกซ์ (Linux) และรู้จักในชื่อ จีเอ็นยู/ลินุกซ์ (GNU/Linux)เป็นระบบปฏิบัติการที่คนทั่วไปไม่ค่อยรู้จักนัก เพราะส่วนใหญ่จะเคยใช้แต่ windows ของ microsoft ลินุกซ์ (Linux) โดยทั่วไปเป็นคำที่ใช้ในความหมายที่หมายถึงระบบปฏิบัติการแบบยูนิกซ์ โดยใช้ลินุกซ์ เคอร์เนล เป็นศูนย์กลางทำงานร่วมกับไลบรารีและเครื่องมืออื่น ลินุกซ์เป็นตัวอย่างหนึ่งในฐานะซอฟต์แวร์เสรี และซอฟต์แวร์โอเพนซอร์สที่ประสบความสำเร็จและมีชื่อเสียง ทุกคนสามารถดูหรือนำโค้ดของลินุกซ์ไปใช้งาน, แก้ไข, และแจกจ่ายได้อย่างเสรี ลินุกซ์นิยมจำหน่ายหรือแจกฟรีในลักษณะเป็นแพคเกจ โดยผู้จัดทำจะรวมซอฟต์แวร์สำหรับใช้งานในด้านอื่นเป็นชุดเข้าด้วยกัน เริ่มแรกของของลินุกซ์พัฒนาและใช้งานในเฉพาะกลุ่มผู้ที่สนใจ ซึ่งในปัจจุบันลินุกซ์ได้รับความนิยมเนื่องมาจากระบบการทำงานที่เป็นอิสระ ปลอดภัย เชื่อถือได้ และราคาต่ำ จึงได้มีการพัฒนาจากองค์กรต่าง ๆ เช่น ไอบีเอ็ม ฮิวเลตต์-แพคการ์ด และ โนเวลล์ ใช้สำหรับในระบบเซิร์ฟเวอร์และพีซี เริ่มแรกลินุกซ์พัฒนาสำหรับใช้กับเครื่อง อินเทล 386 ไมโครโพรเซสเซอร์ หลังจากที่ได้รับความนิยมปัจจุบัน ลินุกซ์ได้พัฒนารับรองการใช้งานของระบบสถาปัตยกรรมคอมพิวเตอร์ในระบบต่าง ๆ รวมถึงในโทรศัพท์มือถือ และกล้องวิดีโอ ลินุกซ์มีสัญญาอนุญาตแบบ GPL ซึ่งเป็นสัญญาอนุญาตที่กำหนดให้ผู้ที่นำโค้ดไปใช้ต้องใช้สัญญาอนุญาตแบบเดิมต่อคือใช้สัญญาอนุญาต GPL เช่นเดียวกัน ซึ่งลักษณะสัญญาอนุญาตแบบนี้เรียกว่า copyleft

ความเป็นมา



          ผู้เริ่มพัฒนาลินุกซ์ เคอร์เนลเป็นคนแรก คือ ลินุส โตร์วัลดส์ (Linus Torvalds) ชาวฟินแลนด์ เมื่อสมัยที่เขายังเป็นนักศึกษาคอมพิวเตอร์ ที่มหาวิทยาลัยเฮลซิงกิ โดยแรกเริ่ม ริชาร์ด สตอลแมน (Richard Stallman) ได้ก่อตั้งโครงการจีเอ็นยูขึ้นในปี พ.ศ. 2526จุดมุ่งหมายโครงการจีเอ็นยู คือ ต้องการพัฒนาระบบปฏิบัติการคล้ายยูนิกซ์ที่เป็นซอฟต์แวร์เสรีทั้งระบบ ราวช่วงพ.ศ. 2533 โครงการจีเอ็นยูมีส่วนโปรแกรมที่จำเป็นสำหรับระบบปฏิบัติการเกือบครบทั้งหมด ได้แก่ คลังโปรแกรม (Libraries) คอมไพเลอร์ (Compiler)โปรแกรมแก้ไขข้อความ(Text Editor) และเปลือกระบบยูนิกซ์(Shell) ซึ่งขาดแต่เพียงเคอร์เนล(Kernel) เท่านั้น ในพ.ศ. 2533โครงการจีเอ็นยูได้พัฒนาเคอร์เนลชื่อ Hurd เพื่อใช้ในระบบจีเอ็นยูซึ่งในขณะนั้นมีปัญหาเกี่ยวกับความเร็วในการประมวลผล ในพ.ศ. 2534 โตร์วัลดส์เริ่มโครงการพัฒนาเคอร์เนล ขณะศึกษาในมหาวิทยาลัยแล้ว โดยอาศัย Minix ซึ่งเป็นระบบที่คล้ายกับ Unix ซึ่งมากับหนังสือเรื่องการออกแบบระบบปฏิบัติการ มาเป็นเป็นต้นแบบในการเขียนขึ้นมาใหม่โดย Torvalds เขาพัฒนาโดยใช้ IA-32 assembler และภาษาซี คอมไพล์เป็นไฟล์ไบนารี่และบูทจากแผ่นฟลอปปี้ดิสก์ เขาได้พัฒนามาเรื่อยๆจนกระทั่งสามารถบูทตัวเองได้ (กล่าวคือสามารถคอมไพล์ภายในลินุกซ์ได้เลย) และในปัจจุบันมีนักพัฒนาจากพันกว่าคนทั่วโลกได้เข้ามามีส่วนรวมในการพัฒนาโครงการ Eric S. Raymond ได้ศีกษากระบวนการพัฒนาดังกล่าวและเขียนบทความเรื่อง The Cathedral and the Bazaar ในรุ่น 0.01 นี้ถือว่ามีเครื่องมือที่เพียงพอสำหรับระบบ POSIX ที่ใช้เรียก ลินุกซ์ ที่รันกับ จีเอ็นยู Bash Shell และมีการพัฒนาอย่างต่อเนื่องและอย่างรวดเร็ว โตร์วัลดส์ยังคงมุ่งมั่นพัฒนาระบบต่อไป ซึ่งต่อมาก็สามารถรันบน X Window System และมีการเลือกนกเพนกวินที่ชื่อ Tux ให้เป็นตัวนำโชคหรือ Mascot ของระบบลินุกซ์

การใช้งาน
          การใช้งานดั้งเดิมของลินุกซ์ คือ ใช้เป็นระบบปฏิบัติการสำหรับเครื่องเซิร์ฟเวอร์ แต่จากราคาที่ต่ำ ความยืดหยุ่น พื้นฐานจากยูนิกซ์ ทำให้ลินุกซ์เหมาะกับงานหลาย ๆ ประเภท
          ลินุกซ์ ถือเป็นส่วนสำคัญของซอฟต์แวร์เซิร์ฟเวอร์ที่เรียกว่า LAMP ย่อมาจาก Linux, Apache, MySQL, Perl/PHP/Python ซึ่งเป็นที่นิยมใช้เป็นเว็บเซิร์ฟเวอร์ และพบมากสุดระบบหนึ่ง ตัวอย่างซอฟต์แวร์ซึ่งพัฒนาสำหรับระบบนี้คือ มีเดียวิกิ ซอฟต์แวร์สำหรับวิกิพีเดีย เนื่องจากราคาที่ต่ำและการปรับแต่งได้หลากหลาย ลินุกซ์ถูกนำมาใช้ในระบบฝังตัว เช่นเครื่องรับสัญญาณโทรทัศน์ โทรศัพท์มือถือ และอุปกรณ์พกพาต่าง ๆ ลินุกซ์เป็นคู่แข่งที่สำคัญของ ซิมเบียนโอเอส ซึ่งใช้ในโทรศัพท์มือถือจำนวนมาก และใช้แทนวินโดวส์ซีอี และปาล์มโอเอส บนเครื่องคอมพิวเตอร์พกพา เครื่องบันทึกวิดีโอก็ใช้ลินุกซ์ที่ดัดแปลงเป็นพิเศษ ไฟร์วอลล์และเราเตอร์หลายรุ่น เช่นของ Linksys ใช้ลินุกซ์และขีดความสามารถเรื่องทางเครือข่ายของมัน ระยะหลังมีการใช้ลินุกซ์เป็นระบบปฏิบัติการของซูเปอร์คอมพิวเตอร์มากขึ้น ในรายชื่อซูเปอร์คอมพิวเตอร์ TOP500 ของเดือนพฤศจิกายน พ.ศ. 2548 เครื่องซูเปอร์คอมพิวเตอร์ที่เร็วที่สุดสองอันดับแรกใช้ลินุกซ์ และจาก 500 ระบบ มีถึง 371 ระบบ (คิดเป็น 74.2%) ให้ลินุกซ์แบบใดแบบหนึ่ง เครื่องเล่นเกม โซนี่ เพลย์สเตชัน 3 ที่ออกในปี พ.ศ. 2549 รันลินุกซ์ โซนียังได้ปล่อย PS2 Linux สำหรับใช้กับเพลย์สเตชัน 2 อีกด้วย ผู้พัฒนาเกมอย่าง Atari และ id Software ก็เคยออกซอฟต์แวร์เกมบนลินุกซ์มาแล้ว

สำหรับทความนี้คงจบเพียงเท่านี้ แล้วครั้งต่อไปเราค่อยมาเรียนรู้วิธีใช้เจ้าลินุกซ์กันครับบ ^^