วันพุธที่ 11 กันยายน พ.ศ. 2556

              Cloud computing

Cloud Computing คืออะไร

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

  โดยให้คอมพิวเตอร์ที่ทำงานร่วมกัน เชื่อมโยงและแบ่งกันประมวลผล ซึ่งคอมพิวเตอร์ที่ร่วมประมวลผลหลายๆ เครื่องไม่จำเป็นต้องตั้งอยู่บริเวณเดียวกัน แต่เชื่อมต่อกันผ่านระบบเครือ-ข่ายแบบกริด (Grid) คอมพิวเตอร์ที่ประมวลผลในกลุ่มที่เราเรียกว่า Cloud นี้ อาจจะเป็นคอมพิวเตอร์ที่ไม่ได้มีระบบปฏิบัติการและทรัพยากรเหมือนกัน และหน้าจอของผู้ใช้งาน (User Interface) จะแสดงผลที่รวดเร็วตามความต้องการของระบบที่ร้องขอไป โดยที่ผู้ใช้ไม่จำเป็นต้องรู้ว่า เบื้องหลังนั้นระบบจะทำงานกันอย่างไร)หากมองย้อนกลับไป Cloud computing หรือการประมวลผลแบบกลุ่มเมฆนั้น เคยผ่านตาเรามาบ้างหรือไม่ ให้พิจารณาที่ Google Application ที่เห็นชัดเจนที่สุดคงจะเป็น Google Earth, Google Maps และ Google Docs ซึ่ง Google Earth หากเรา เชื่อมต่ออินเทอร์เน็ตเมื่อไร เราสามารถชมภาพถ่ายดาวเทียมผ่าน Application ตัวนี้ ถัดมา Google Maps เป็น Platform Application ที่อำนวยความสะดวกในเรื่องการค้นหาสถานที่และลักษณะทางภูมิศาสตร์ ทั้งยังมี Feature ตั้งแต่การหาเส้นทาง หาตำแหน่งพิกัดที่ตั้งขององค์กร หรือสถานที่ที่เราต้องการ สุดท้าย Google Docs เป็น Application ที่จำลองโปรแกรมด้าน Office Platform โดยไม่ต้องติดตั้งซอฟต์แวร์ใดๆ
Application ทั้งหมดทำงานผ่าน Browser ตอบโจทย์ด้าน Cloud computing ได้ชัดเจนที่สุด ไม่ต้องเสียเวลาจัดสรรทรัพยากร ประหยัดงบบริษัทเพราะไม่ต้องหาซอฟต์แวร์ด้าน Office มารองรับ สามารถทำงานได้ใกล้เคียงกับซอฟต์แวร์ด้าน Office Platform มาตรฐานทีเดียว
หากพิจารณา Google Application ทั้งหลายแล้ว เป็นระบบที่ใหญ่และทำงานหนักพอสมควร แต่เวลาที่ประมวลผลใช้เวลาน้อยนิด ผู้ใช้งานไม่จำเป็นต้องติดตั้งอะไรมากมายนอกจาก Browser มาตรฐานที่เราใช้กันเป็นประจำ ผนวกกับเทคโนโลยี Web 2.0 ทำให้ระบบจัดสรรผู้ใช้งานในปริมาณมาก ไม่เกิดช่องว่างระหว่างการประมวลผล ขยายผู้ใช้งานได้เรื่อยๆ หากเกิดความต้องการในการใช้ระบบหรือที่เรียกว่า Scalability
ข้อดีในส่วนนี้ ทำให้แยกการทำงานของผู้ใช้ และการทำงานของเครื่องคอมพิวเตอร์ ที่ร่วมประมวลผลผ่านเครือข่าย Cloud อย่างชัดเจน การแสดงผลที่ปรากฏจึงดูเสถียรและมีประสิทธิภาพ
Cloud computing จะเป็น Business Model ที่ยอมรับจากหลายบริษัท เพราะนอกจาก Application ที่จำลองการทำงานของซอฟต์แวร์ขนาดใหญ่ (Virtualized) แล้วในต่างประเทศยังมีหลากหลายองค์กรที่พยายามหรือทำการพัฒนาระบบปฏิบัติการ เสมือน หรือระบบจำลอง Operating System ซึ่งเป็นอีกแนวทางหนึ่งที่รองรับธุรกิจ
กลุ่มเป้าหมายที่เห็นได้ชัด คือกลุ่มธุรกิจขนาดย่อมที่มีทุนไม่มากนักในการติดตั้งระบบปฏิบัติการ ตัวอย่างการจำลองระบบปฏิบัติการ ที่สามารถยกตัวอย่างให้เห็นภาพได้ดีที่สุด น่าจะเป็น Open Source ตัวหนึ่งที่มีชื่อว่า EyeOs ซึ่งเป็นระบบ Web Base Operating System ซึ่งมีหน้าจอการทำงานที่ใกล้เคียงระบบปฏิบัติการหลักๆ อย่าง Microsoft Windows หรือ Linux เลยทีเดียว
โดยคุณสมบัติการทำงานของ EyeOs นั้นจำลองความสามารถทุกอย่างที่ระบบปฏิบัติการมาตรฐานมี ตั้งแต่การ Upload รูปภาพไปไว้บนหน้าจอ Desktop ของ EyeOs เล่น Game และ Chat ผ่านเครือข่ายกับกลุ่มเพื่อน สร้าง Document ผ่าน Text Editor  บนระบบ สามารถเปิด Browser ภายใน EyeOs ผ่าน Browser อีกที และที่สำคัญลูกเล่นที่น่าสนใจ คือมีระบบ FTP (File Transfer Protocol) อย่างง่ายในตัว สามารถเชื่อมต่อและ Upload ไฟล์งานที่แก้ไข โดยไม่ต้องเสียเวลาเปิดโปรแกรมบนเครื่องของเรา
หากต้องการทดลองระบบปฏิบัติการผ่าน Browser ตัวนี้สามารถหาข้อมูลเพิ่มเติมได้ที่เว็บไซต์ http://eyeos.orgหรือผู้เขียนได้ติดตั้งไว้ให้ทดสอบที่ http://space.daydev.com
ใน อนาคตอันใกล้ หาก Cloud computing เป็นที่ยอมรับเมื่อใดแล้ว เทรนด์ของเทคโนโลยีในชีวิตประจำวันของเราจะเปลี่ยนไป ไม่แน่ในวันข้างหน้าเครื่องคอมพิวเตอร์ของเราอาจจะเหลือแค่ Browser เพียงโปรแกรมเดียว และระบบปฏิบัติการที่เราใช้งานกันนั้นอาจจะย้ายไปประมวลผลผ่านเครือข่าย Cloud เมื่อนั้นทุกอย่างที่เราคุ้นเคยในชีวิตประจำวันจะเข้าสู่คำว่า Online อย่างแท้จริง

วันพุธที่ 4 กันยายน พ.ศ. 2556

Cloud computing คือ

Tag: 
เนื่องจากทางมหิดล ได้เปิดหลักสูตรระยะยาว (4 ภาคเรียน ระยะเวลา 48 สัปดาห์) เป็นหลักสูตร Cloud specialist โดยที่หลักสูตรนี้จะเน้นไปที่ Cloud Infra โดยมีผู้เรียนทั้งหมด 15 คน จากองค์กรต่างๆ ซึ่งผมเองก็เป็นหนึ่งในนั้น ที่ SIPA ส่งไป (อันนี้ต้องขอบคุณที่สำนักงานด้วยครับ ที่ให้โอกาส) ผมก็เลยคิดว่าจะนำความรู้ที่ได้มาถ่ายทอดต่อให้กับเพื่อนๆ ที่สนใจ อีกทั้งยังได้เป็นการจดบันทึกปในตัว
ในเทอมแรกก็จะเป็นวิชา Cloud 101 และ Cloud 102 ผมเพิ่งเรียนสัปดาห์แรกไป ซึ่งก็เป็นเรื่องของ Fundamental (แหงอยู่แล้ว)

นิยามของ Cloud

ยังคงเป็นที่ถกเถียงของหลายๆ ท่าน และบางท่านก็ยังงงๆ หรือบางท่านก็ฉวยโอกาสในกระแสของ Cloud computing มาเคลมแต้มให้บริการของตนเองที่ใช้งานผ่าน Internet ได้ ว่าเป็น Cloud เสียเลย
นิยามที่ได้มาจากสัปดาห์แรกที่ไปเรียนมา Cloud computing จะต้อง
  • ยืดหยุ่น ย่อ/ขยายได้
  • แบ่งปันทรัพย์ยากร เพื่อใช้งานร่วมกันได้ (อันนี้ผมชอบมาก เพราะช่วยลดโลกร้อน)
  • เข้าถึงได้ผ่านอินเทอร์เน็ต บริหารจัดการได้จากหลายอุปกรณ์
  • ทำเองได้ คือ ลูกค้าติดต่อกับผู้ให้บริการน้อยที่สุด อยากได้อะไรทำเอง คลิกเอง
  • สามารถ Track ได้ ว่าลูกค้าเรียกใช้ทรัพยากรอะไรใบระบบบ้าง ซึ่งจะต้องเอาข้อมูลส่วนนี้ไปคิดเงิน

Cloud มีกี่ประเภท

อันนี้หลายๆ ท่านรู้อยู่แล้ว
  • IaaS = Infrastructure as a Service คือ ให้บริการในระดับของ Infra structure
  • PaaS = Platform as a Service คือ ให้บริการระดับแพลตฟอร์ม เช่น Google App Engine
  • SaaS = Software as a Service ให้บริการซอฟต์แวร์ เช่น บริการต่างๆ ของ Google (Docs, Mail)
ภาพอธิบาย Cloud service ประเภทต่าง
WxHfxMd

ผมค่อนข้างชอบภาพอันนี้ เพราะมันอธิบาย Cloud ในประเภทต่างๆ ได้ชัดเจนดี

การย่อขยาย (Scaling)

การขยายความสามารถของ Cloud จะมี 2 แบบด้วยกันคือ
  • Horizontal scaling การขยายในแนวนอน ง่ายๆ คือ เพิ่มปริมาณ เช่น เพิ่มเครื่อง เพิ่มฮาร์ดดิสก์
  • Vertical scaling การขยายในแนวตั้ง คือ เพิ่มพลัง เช่น เพิ่มแรม เพิ่ม CPU เพิ่ม Core CPU เป็นต้น

ปัญหาของ Cloud ในปัจจุบัน

จากที่เรารู้จัก Cloud มา เหมือนว่ามันจะมีแต่ข้อดี แต่จริงๆ แล้วมันก็ยังมีปัญหาใหญ่อันนึงในตอนนี้คือ ขาดความเป็น Open Standard อันนี้ถ้าใช้งานในระดับ Infra จะนึกไม่ออก แต่ถ้าคุณพัฒนาซอฟต์แวร์โดยใช้งาน PaaS คุณจะไม่สามารถย้ายค่ายได้อย่างง่ายดายนัก (คือ Vendor lock-in นั่นล่ะครับ) เช่น ถ้าคุณพัฒนาซอฟต์แวร์บน PaaS ของ Amazon คุณจะต้องเรียกใช้ API ของ Amazon แล้วถ้าวันหนึ่งคุณอยากย้ายไปใช้ Google App Engine แทน ซอฟต์แวร์ที่คุณพัฒนาโดยเรียกใช้ API ของ Amazon ก็จะไม่สามารถทำงานบน App Engine ได้
ทคโนโลยี DLNA คืออะไร?
         คำว่า DLNA  ย่อมาจากคำว่า  Digital Living Network Alliance นั่นเองครับ โดยหลักการที่น่าจะพอมองเห็นภาพง่ายๆก็คือ การทำให้อุปกรณ์อิเล็คทรอนิคส์ใดๆที่สามารถเชื่อต่อกับอินเตอร์เน็ท และรองรับระบบ DLNA ได้นั้น สามารถเชื่อมต่อถึงกันได้ทั้งหมด ไม่ว่าจะเป็น คอมพิวเตอร์ Notebook โทรศัพท์มือถือ โทรทัศน์ เครื่องเล่น บลูเรย์  หรือแม้แต่ AVRที่มีระบบ network ที่น้าๆใช้ดูหนังกันอยู่นี่ล่ะครับ โดยสามารถทำให้เชื่อมต่อถึงกันได้ทั้งหมด หากต้องการจะดึงรูป เล่นเพลง หรือวีดีโอจากมือถือไปแสดงผลบนจอโทรทัศน์ ก็สามารถทำการแชร์ได้อย่างง่ายดาย โดยไม่ต้องต่อสายให้ยุ่งยาก   1140
      ทำไมผมถึงอยากนำเสนอการเล่นแบบ DLNA นี้  ก็เพราะว่า เครื่องเล่นทั้งในระบบ โฮมเธียเตอร์ และ 2 แชแนลบางตัว บางรุ่นนั้น รองรับระบบนี้เกือบทั้งหมดแล้วนั่นเองครับ
เครื่องเล่น บลูเรย์ สมัยนี้ที่มีช่องต่อสายแลน เกือบทั้งหมดรองรับระบบนี้แล้วครับ AVR หลายๆรุ่นที่มีช่องต่อสายแลนก็รองรับแล้วเช่นกันครับ  สิ่งที่เราซื้อไปใช้งานนั้น สามารถใช้งานได้ในอีกรูปแบบ โดยที่อาจยังไม่รู้ ครับ ผมจึงมานำเสนอเผื่อตรงใจและ ตรงแนวน้าๆ  ก็จัดการลงมือได้เลยครับ ^^
      เมื่อเรา Stream file โดยการเซ็ทตามกระทู้ด้านล่างนี้เสร็จเรียบร้อยนั้น ไม่ว่าเครื่องเล่นใดๆ ที่รองรับระบบ DLNA ก็จะสามารถดึงไฟล์ เหล่านั้น มาเล่นได้ โดยอิสระครับ (AVR ยังยอมให้เล่นได้แค่ เพลง อันเนื่องมาจาก จรรยาบรรทางการค้าครับ  {Z})



 บันทึกการเข้า