Author: Pornpansa

  • เช็ค Cached แล้วหรือยัง ? ปัญหายอดฮิตที่ทำให้ Linux ช้าลง

    เช็ค Cached แล้วหรือยัง ? ปัญหายอดฮิตที่ทำให้ Linux ช้าลง

    ทำไมจู่ ๆ Server ทำงานช้าลง ?  ความคิดเหล่านี้เกิดขึ้นทันทีเมื่อ Server เกิดอาการหน่วง ๆ หรือทำงานผิดปกติ ใครจะไปรู้ว่าสาเหตุสำคัญอีกหนึ่งสาเหตุ ที่มักพบกันบ่อย ๆ เมื่อเกิดปัญหา Server ช้า นั่นก็คือ “Cached” บนระบบ Linux ดังนั้น ขออนุญาตหยิบยกประเด็นนี้มาพูดถึง และอธิบายถึงสาเหตุ รวมไปถึงวิธีการแก้ปัญหากัน

    อย่างที่ทุกท่านทราบว่า Linux Server นั้น มีการใช้งาน Performance ที่ต่ำมากกว่า OS อื่น ซึ่งในส่วนนี้ท่านอาจใช้แค่ RAM : 1 GB ก็สามารถใช้งานได้ตามปกติแล้ว (Command Mode) แต่บางทีอาจพบว่า Server มีอาการช้า ๆ หรือ เกิดหน่วงขึ้นเมื่อมีการเรียกใช้ Command แต่เมื่อทำการ Restart เครื่อง อาการเหล่านี้ดันหายไป… หากพบว่าอาการที่เจอ มีลักษณะเป็นแบบนี้ นั่นบ่งบอกได้ว่า RAM มีการถูกใช้งานเยอะ แล้วเกิดการเก็บ Cached เอาไว้ 


    “What is Cached ?” 

    คือ ความจำประเภทนึงใน OS ที่เก็บการทำงานที่มีการใช้งานบ่อย ๆ เอาไว้ เพื่อเวลามีการใช้งานในรูปแบบเดิมจะสามารถทำงานได้เร็วยิ่งขึ้น

    อ้าว !? แล้วทำไม Cached ถึงทำให้ช้าละ มันควรทำให้เร็วขึ้นสิ

    นั่นก็เพราะว่า การที่เครื่องทำงานได้อย่าง Smooth นั้น ปกติมันก็ต้องใช้ RAM ในการทำงานครับ แต่ RAM ที่มีดันถูกใช้เก็บ Cached ไปหมดแล้ว จนทำให้เครื่องไม่มี RAM เหลือเพียงพอต่อการใช้งานนั่นเอง


    ประเภทของ Cache

    Clean Cache & Dirty Cache

    • Clean Cache คือ  ความจำที่มีการถูกเรียกใช้งานบ่อยหรือเราใช้เป็นประจำ ทำให้เครื่องทำงานได้เร็วยิ่งขึ้น
    • Dirty Cache คือ ความจำที่เคยถูกเรียกใช้งานหรือไม่ได้มีการใช้งานสม่ำเสมอ และไม่ได้ใช้งานอีกแล้ว

    อาการที่บ่งบอกว่า RAM ไม่เพียงพอต่อการใช้งาน

    1. เมื่อ SSH เข้าเครื่อง แล้วเกิดอาการค้างหรือเข้าไม่ได้ชั่วขณะ
    2. เครื่องมีอาการทำงานช้าหรืออาการหน่วง ๆ
    3. ใช้ Command พื้นฐานไม่ได้ เช่น Top แล้วค้าง
    4. ถ้ามีการใช้งานในรูปแบบ Web ตัว Website จะใช้งานได้ช้ากว่าปกติ

    วิธีตรวจสอบการใช้งาน RAM

    พิมพ์คำสั่งใน Command Line

    free -h

    • กรอบสีแดง – > แสดงค่าการใช้งานของ RAM หรือ Memory
    • กรอบสีฟ้า – > แสดงค่าการใช้งานของ Disk ที่มาทำงานแทน RAM

    อธิบายค่าของแต่ละ Column

    • total : แสดงค่าที่มีทั้งหมด (total= used+free+buff/cache)
    • used : แสดงค่าที่ถูกใช้งานทั้งหมด
    • free : แสดงค่าที่ไม่ถูกใช้งาน หรือยังไม่ถูกใช้
    • shared : แสดงค่าที่ถูกใช้งานแทน disk
    • buff/cache : แสดงค่าที่ถูกใช้งานโดย buffer และ cache
    • available : ค่าเริ่มต้นที่ถูกคาดการณ์ เมื่อapplicationนั้นไม่เคยถูกใช้งานมาก่อน

    หากต้องการแปลงหน่วย หรือ รายละเอียดเพิ่มเติม สามารถใช้ Command ด้านล่างเพื่อเข้าใจได้ง่ายขึ้น

    free –help

    วิธีแก้ไขปัญหา มี 2 วิธีหลักๆ

    1.หากต้องการ Clear ทุก Service แนะนำให้ Restart เครื่อง

    2.หากไม่สามารถ Restart เครื่องได้ สามารถทำได้ตามขั้นตอนด้านล่าง ดังนี้

    • ต้องกำหนดตัวเข้า root ก่อน โดยใช้คำสั่ง

    sudo -s หรือ sudo su

    • จากนั้นใช้คำสั่ง Clear Cache จะมี 3 รูปแบบ เลือกใช้อันใดอันนึง ดังนี้

    สำหรับ Pagecache: (Recommends)

    sync; echo 1 > /proc/sys/vm/drop_caches

    สำหรับ dentries and inodes:

    sync; echo 2 > /proc/sys/vm/drop_caches

    สำหรับ pagecache, dentries, and inodes: (not recommends)***

    sync; echo 3 > /proc/sys/vm/drop_caches

    ***เหมาะสำหรับคนที่เข้าใจโครงสร้างของ pagecache, dentries, and inodes นี้เป็นอย่างดี


    อธิบายเกี่ยวกับ Command ที่ใช้ 

    • sync : มีหน้าที่เปลี่ยน Clan Cache ให้กลายเป็น Dirty Cache
    • command ” ; ” : มีหน้าที่แยก Command แต่จะทำ Run Command แรกให้เสร็จก่อนถึงจะทำ Command ต่อไป
    • echo  <num> :  มีหน้าที่แสดงผลตามหมายเลข
    • drop_caches : มีหน้าที่ทิ้ง Clean Cache ให้ RAM ได้มีพื้นที่มากขึ้น

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

    top

    หลังใช้คำสั่ง “top” Command กด ”shift+m” เราก็จะเห็น Service ที่มีการเรียกใช้ RAM มากสุด หรือ น้อยที่สุด นั่นเอง

    หากพบว่าทำหมดทุกขั้นตอนนี้แล้ว แต่ Server ยังช้าอยู่ ขอแนะนำให้พิจารณาเพิ่ม RAM เพราะการใช้วิธีนี้จะตอบโจทย์ปัญหาที่ท่านเจอมากที่สุดและง่ายที่สุดด้วย หรืออาจเลือกใช้ Disk มาทำเป็น RAM ได้เช่นกัน

    Src: https://stackoverflow.com/questions/29870068/what-are-pagecache-dentries-inodes, https://www.tecmint.com/clear-ram-memory-cache-buffer-and-swap-space-on-linux/
    ภาพประกอบ  3  cached
    ภาพประกอบ  2  cached

    ติดตามข่าวสารใหม่ๆ หรือข้อมูลน่ารู้อีกมากมายได้ที่

      OpenLandscape Fanpage | https://www.facebook.com/openlandscapecloud/

      OpenLandscape Twitter | https://www.twitter.com/olscloud/

     OpenLandscape Cloud | https://openlandscape.cloud/

    ภาพประกอบ  4  cached

  • การใช้งาน OpenLandscape Cloud แบบเติมเงิน VS รายเดือน

    การใช้งาน OpenLandscape Cloud แบบเติมเงิน VS รายเดือน

    ข้อดีของการใช้ OLS Cloud แบบเติมเงิน นั่นคือ เรื่องของความง่ายในการควบคุมค่าใช้จ่ายภายในช่วงระยะเวลาที่เราใช้งานได้ เนื่องจากด้วยความที่เป็นระบบเติมเงิน เป็นการใช้งานที่มีอิสระในการใช้งานที่มากกว่า  การสร้าง VM หลายๆเครื่องไว้ใช้งาน หรือทำการเปิด-ปิดการใช้งาน VM บ่อยๆ  อาจทำให้มีค่าใช้จ่ายรวมกันในระยะเวลา 1 เดือนนั้นกลับสูงกว่าการใช้งานแบบรายเดือนเสียอีก และในบทความนี้จะพูดถึงว่าการใช้งานแบบรายเดือนจึงดูน่าสนใจกว่า
     
     

    (more…)

  • บริการคลาวด์ (Cloud) คืออะไร? ทำไมต้องใช้คลาวด์

    บริการคลาวด์ (Cloud) คืออะไร? ทำไมต้องใช้คลาวด์

    คลาวด์ คือ อะไร? คนส่วนใหญ่อาจจะเคยได้เห็นคลาวด์อย่าง iCloud จากกลุ่มตระกูล iPhone หรือ iPad หรือบริการ Google Drive ว่าเป็นเพียงบริการที่ฝากไฟล์งาน ไฟล์รูปภาพบนอินเทอร์เน็ต บริการเหล่านี้เป็นเพียงนี้บริการ cloud storage ซึ่งเป็นส่วนหนึ่งของบริการคลาวด์เท่านั้น

       คลาวด์ (Cloud) จริงๆแล้วหมายถึงอะไร ? แล้วจากมุมมองในเชิงธุรกิจ คลาวด์มีประโยชน์อย่างไร

    บริการคลาวด์  คือ บริการที่ผู้ใช้งานสามารถเลือกใช้ซอฟต์แวร์ และทรัพยากรด้านคอมพิวเตอร์ของผู้ให้บริการ เพื่อนำมาใช้งาน โดยที่เราไม่ต้องลงทุนซื้อทั้ง Hardware และ Software ไม่ต้องวางระบบ network เอง เพราะ ผู้ให้บริการเป็นผู้ดูแลระบบ network ให้ผู้ใช้งาน เป็นการลดต้นทุนและลดความยุ่งยากในการอัพเกรดระบบอีกด้วย และผู้ใช้งานสามารถจัดการข้อมูลบนคลาวด์ได้หลากหลายอุปกรณ์ที่สามารถเข้าถึงอินเตอร์เน็ตได้ เช่น โทรศัพท์มือถือ, Tablet, Notebook

    ในมุมมองของธุรกิจ บริการคลาวด์จะเป็นบริการที่ยืดหยุ่นต่อการใช้งาน รองรับการขยายตัวของธุรกิจ ค่าใช้จ่ายสำหรับระบบ cloud เป็นการจ่ายตามการใช้งานจริง ซึ่งตอบโจทย์สำหรับการใช้บริการในระยะเวลาสั้นๆ ในการใช้เท่าไหร่ จ่ายเท่านั้น หากความต้องการใช้งานมีมากขึ้นก็สามารถซื้อเพิ่มได้โดยที่ไม่ต้องอัพเกรดระบบให้ยุ่งยาก และยังช่วยให้เกิดความยืดหยุ่นในการใช้จ่ายด้านไอทีที่ตอบโจทย์ความต้องการทางธุรกิจได้มากยิ่งขึ้น รวมถึงการตัดปัญหาค่าใช้จ่ายแฝง เช่น ค่าไฟฟ้าสำหรับระบบ hardware การจ้างผู้ดูแลระบบมาดูแลทั้งระบบ network และ hardware อีกด้วย ดังนั้น ประโยชน์ที่ธุรกิจขนาดเล็ก ขนาดกลาง ขนาดใหญ่ รวมถึงสถาบันการศึกษาจะได้รับ คือ ลดต้นทุนทั้งทางด้านงบประมาณ ทรัพยากรบุคคลทางด้านไอทีของผู้ใช้งานและลดความยุ่งยากทางด้านไอที จึงสมควรใช้การบริการคลาวด์

    ติดตามข่าวสารใหม่ๆ หรือข้อมูลน่ารู้อีกมากมายได้ที่

      OpenLandscape Fanpage | https://www.facebook.com/openlandscapecloud/
      OpenLandscape Twitter | https://www.twitter.com/olscloud/
      OpenLandscape Cloud | https://openlandscape.cloud/

  • SSH Key เข้าใช้งาน Linux Server ด้วยโปรแกรม PuTTY

    SSH Key เข้าใช้งาน Linux Server ด้วยโปรแกรม PuTTY

    โดยปกติการ SSH แบบ Key Authentication เพื่อเข้าใช้งาน Linux Server
    บนระบบปฏิบัติการของ Windows นั้น จะมีขั้นตอนที่แตกต่างจากระบบอื่นๆอยู่พอสมควรค่ะ
    ดังนั้นในบทความนี้ …เราจะมาสอนวิธีการเหล่านั้น ให้กับผู้ที่ใช้ Windows กันค่ะ

    สิ่งที่ต้องการในการเข้าใช้งาน Linux Server

    หากมีครบทั้งสองข้อแล้ว ก็สามารถเข้า Linux Server ได้ โดยเริ่มทำตามตามขั้นตอนดังนี้ค่ะ


    1. เข้าใช้งาน โดยการกรอก IP ของ Linux Server ที่ต้องการจะเชื่อมต่อ Port การใช้งานเป็น 22

    2. เลือก Connection Type เป็น SSH

    3. เป็นส่วนของการบันทึกค่าที่ตั้งค่าไว้ เพื่อเพิ่มความสะดวกในการเข้าใช้งานครั้งต่อไป จะได้ไม่ต้องกรอกข้อมูลเพื่อทำการเชื่อมต่ออีก

    ssh key ด้วยโปรแกรม PuTTY 2

    4. คลิกที่ Connection > Data ใส่ Auto-login username เป็น username ในการเข้าใช้งาน Linux Server ที่จะเชื่อมต่อ

    หมายเหตุ : User ในการเข้าใช้งานจะส่งไปที่ Email ของผู้ใช้บริการ

    5. คลิกที่ Connection > SSH > Auth คลิกปุ่ม Browse เพื่อเลือกไฟล์ Private Key กลับไปหน้าแรก คลิกที่ Session เพื่อตั้งชื่อ Sessions ในส่วนของ Saved Sessions แล้วคลิกปุ่ม Save

    ssh key ด้วยโปรแกรม PuTTY 4

    6. คลิกปุ่ม Open เพื่อเริ่มการใช้งาน การเข้าใช้งาน Linux Server โดยโปรแกรม Secure Shell (SSH) เป็นครั้งแรก จะแสดงหน้าจอเตือน เกี่ยวกับ Key ที่ใช้ในการ SSH ดังรูป คลิกปุ่ม Yes เพื่อยืนยันความถูกต้อง

    ssh key ด้วยโปรแกรม PuTTY 5

    7.แสดงหน้าจอ พร้อมการใช้งาน Linux Server

    ติดตามข่าวสารใหม่ๆ หรือข้อมูลน่ารู้อีกมากมายได้ที่

      OpenLandscape Fanpage | https://www.facebook.com/openlandscapecloud/
      OpenLandscape Twitter | https://www.twitter.com/olscloud/
      OpenLandscape Cloud | https://openlandscape.cloud/

  • คลื่นไหน ไปนานเวอร์! เรื่องคลื่นๆในยุค 4.0 บทเรียนจากรถไฟฟ้า

    คลื่นไหน ไปนานเวอร์! เรื่องคลื่นๆในยุค 4.0 บทเรียนจากรถไฟฟ้า

    25-26-27 สามวันสุดระทึก ที่ต้องจารึกไว้ในประวัติศาสตร์ของชาวกรุงเทพ

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

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

     เหตุเกิดในวันที่ 25 มิถุนายน 2561

    ทั้งที่โดยปกติแล้ว มันควรจะเป็นเช้าวันจันทร์แห่งชาติอันแสนสดใสของชาวกรุงเทพ แต่แล้วจู่ๆก็เหมือนโดนปลุกให้ตื่นจากฝัน ทันทีที่ Account Twitter หลักของ BTS ได้มีการอัพเดททวิตว่า  “ขบวนรถล่าช้า ระบบอาณัติสัญญาณเกิดขัดข้อง”

    และหลังจากทวิตนี้ถูกแพร่ออกไป สิ่งที่ทุกคนสงสัยพร้อมๆกันโดยมิได้นัดหมายคือ…

     ระบบอาณัติสัญญาณ คืออะไร?

    ‘ระบบอาณัติสัญญาณ’ นั้นมีไว้ควบคุมระบบการเดินรถ และสั่งการระหว่างกัน จำง่ายๆแบบนี้ได้เลย ซึ่งการที่มันขัดข้อง หมายความว่า มันไม่สามารถติดต่อสื่อสารกันได้นั่นเองค่ะ ทำให้เราต้องหยุดเดิน อารมณ์เหมือน Signal Lost เหมือนตอนเรารอยูทูปโหลด พอสัญญาณขาด มันก็จะหยุดคลิปไว้ แล้วขึ้นเป็นวงกลมวิ่งๆ เบื้องต้นทาง BTS ก็เปลี่ยนมาควบคุม Manual เอง ซึ่งทำให้ระบบการจราจรระหว่างสถานีช้าลงกว่าการใช้ระบบอัตโนมัติอย่างแน่นอน


     กำเนิดเป็น hashtag ในตำนาน #ยกเลิกสัมปทานbts

    หลังจาก BTS ทวิตมาแบบนั้น คนกรุงเทพเริ่มมองหน้ากันเลิ่กลั่กละ รถไฟฟ้าดันมาเสียตั้งแต่ 6 โมงเช้าของวันจันทร์ แฮปปี้มันเดย์มากๆเลยทีเดียว ซึ่งดันเป็นช่วงเวลาที่ทุกคนต่างต้องรีบออกไปทำมากินกันซะด้วย บีทีเอสก็เลยได้รับคำอวยพรตามช่องทางโซเชี่ยลต่างๆกันอย่างล้นหลาม มีทั้งแบบฮาๆและมาเพื่อสาปแช่ง

    แน่นอนว่าเพจดังอย่างอีเจี๊ยบก็ออกมาร่วมบ่น นี่รถไฟฟ้าหรือแกงกะทิ

    ถึงกับเปลี่ยนชื่อสถานีให้เลยนะจ้ะ แบบนี้ก็ดูเข้าที

    เดี๋ยวก่อนสังคม! นั่นเพจ B2S!!

     ความจริงมีเพียงหนึ่งเดียว!

    แต่ความงงนั้นมีเยอะมากค่ะ..  โดยหลังจากที่ผู้เขียนได้ทำการติดตามข่าวนี้มาระยะหนึ่ง และพยายามค้นหาเบาะแสต่างๆ ว่าสาเหตุของการขัดข้องมันเกิดมาจากอะไรกันแน่? ตัวผู้เขียนเองก็รู้สึกงงๆอยู่ดี ซึ่งก็ได้เห็นจากการที่ต่างฝ่ายต่างก็ออกมาโต้กันไปโต้กันมา (โต้ยังกับแข่งวอลเลย์บอลอยู่) ดังนั้น…เพื่อให้ทุกคนค่อยๆเข้าใจเรื่องราว ผู้เขียนขอทบทวนเหตุการณ์เหล่านี้เป็นสามยกดังนี้ค่ะ

    ยกที่หนึ่ง:

    BTS หงายการ์ดใบแรก บอกสังคมว่า ที่ตัวฉันขัดข้องนั้น เป็นเพราะสัญญาณ DTAC-Turbo ที่เพิ่งเปิดให้ลูกค้าใช้บริการ มากวนกับระบบอาณัติสัญญาณของตัวเอง

    – – – –

    ยกที่สอง :

    DTAC สวนกลับในแฟนเพจของตัวเอง โดยบอกว่าน้องเทอร์โบไม่เกี่ยวนะคะคุณพี่ขา คุณพี่หยุดมโนก่อน!! น้องก็แค่ใช้คลื่นตามสิทธิ์ที่ได้ไปประมูลมาอะ จ่ายมาเองจ้ะ! น้องผิดตรงไหน! แล้วถ้าเกิดพี่ยังไม่เชื่ออีก งั้นน้องระงับสัญาณ 2300 MHz ให้เลยก็ได้

    หลังจากนั้น DTAC ก็ระงับจริงอะไรจริงจ้า ควักหัวใจออกมา เอาออกมาพิสูจน์กันไปเล้ย!

    – – – –

    ยกที่สาม :

    หลังจาก DTAC ระงับสัญญาณ 2300 MHz แต่ BTS ก็ยังขัดข้องอยู่… (จังหวะซิทคอมมากๆจ้ะ) กสทช ก็เลยต้องรีบเรียกทุกๆฝ่ายที่เกี่ยวข้องมาหารือด่วน ว่ามันเกิดอะไรขึ้นกันแน่ (สักทีจ้ะ) และสุดท้ายได้ข้อสรุป พร้อมทั้งทางแก้ปัญหา โดย BTS ให้สัญญาว่าจะแก้ปัญหาแล้วเสร็จในวันที่ 29 มิถุนายน 2561 Happy Ending (เหรอ)~

    – – – –


    จากเหตุการณ์ทั้งหมด ขอสรุปเป็นข้อมูลไว้ดังนี้ค่ะ
    [1] ระบบอาณัติสัญญาณ BTS ใช้คลื่นอะไร?

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

    “หนึ่งนาทีของเราไม่เท่ากัน” พี่เจมส์ได้กล่าวไว้


    ต้นเหตุเกิดจาก BTS นั้นได้เปลี่ยนมาใช้ “Bombadier” ซึ่ง
    เป็นระบบอาณัติสัญญาณที่มาแทนระบบเก่าของ Siemens โดยตัวระบบนี้ จะสื่อสารกันผ่านคลื่นย่าน 2400 MHz ขึ้นไป

    ซึ่งตัวคลื่น 2.4 GHz(=24000 MHz) และคลื่น 5 GHz เป็นอันรู้โดยทั่วกันทั้งหมู่บ้านว่ามันคือคลื่นสาธารณะนะจ้ะพี่น้อง แม้แต่ wifi ที่บ้านพี่ก็ใช้คลื่นนี้จ้า และแน่นอนว่าการเป็นคลื่นสาธารณะนั่นหมายความว่าย่อมไม่ได้รับการคุ้มครองใดๆทั้งนั้นจ้ะ ไม่ได้ประมูลมาเนอะ ใครอยากใช้ก็ใช้ ดังนั้นหากเกิดปัญหาคลื่นรบกวนกันผู้ใช้คลื่นต้องรับผิดชอบเองนะยู

    แหม…คือคลื่นย่าน 2400 MHz ที่ BTS เลือกใช้ให้รถไฟสื่อสารกัน ก็เป็นคลื่นที่มีคนใช้ด้วยไม่เยอะเลยจ้ะ
    ก็แค่ใช้การเชื่มต่อ WIFI, Bluetooth และ Microwave Link แม้แต่โดรนก็ใช้ย่านความถี่นี้เหมือนกัน
    …อ้าว ก็เกือบครบทุกอย่างแล้วนี่นา อิอิ

    ตอบปัญหาที่ค้างคาใจ

    [2] คลื่นของ DTAC TURBO
    ไปกวนกับระบบของ BTS จริงหรือ ?

    DTAC Turbo ได้เปิดให้ลูกค้าเริ่มใช้งานที่คลื่นความถี่ย่าน 2300 MHz
    บนแบนด์วิดท์ที่กว้างถึง 60 MHz (2310 – 2370 MHz)
    ซึ่งก็เกือบๆจะโดน 2400 MHz แต่ถ้ามาลองดูดีๆแล้ว มันก็ห่างกันตั้ง 30 MHz
    และถือว่าห่างพอจะไม่ซ้อนทับกันอยู่ดี

    ข้อมูลจาก กสทช.

    ในเมื่อความถี่ห่างกันตั้ง 30 MHz แต่ทำไมถึงไปกวนกันได้ ?

    จากผลการหารือร่วมกันเพื่อหาสาเหตุ กสทช ได้สรุปไว้ว่า…

    แม้ดูจากทางเทคนิคแล้วไม่น่าจะเกิดปัญหาอะไร แต่ด้วยทางบีทีเอสเองดันใช้ระบบที่ค่อนข้างเก่าด้วย  ตัวอุปกรณ์สื่อสารในระบบอาณัติสัญญาณ อาจจะเปิดรับสัญญาณกว้างเกินไปจากที่ตั้งไว้ จึงทำให้เกิดการลงมารับสัญญาณคลื่น 2300MHz(ปลายๆ) ของ DTAC เข้าไปใช้ด้วย

    ก็จับใจความได้ประมาณว่า…ตั้งไว้ 24000 MHz ขึ้นไป แต่ระบบเก่ามาก แถม BTS  เองก็ไม่ได้ติดตั้งอุปกรณ์ป้องกันการรบกวนสัญญาณด้วย ค่ามันก็เลยเป็นไปได้ที่จะ swing ลงมาที่ 2300 MHz ปลายๆ ของดีแทคที่เพิ่งเปิดให้ใช้บริการพอดี จึงทำให้เกิดการกวนกันของสัญญาณขึ้นมาซะงั้น

    ข้อมูลจาก กสทช.

    “ง่ายๆคือ  DTAC เขาก็ประมูลคลื่นมา ปล่อยสัญญาณตาม Range ปกติที่ประมูลมา แต่ดันงานเข้าไปกับเค้าด้วยซะงั้น”

     สรุปแผนที่จะใช้ในการแก้ปัญหาคืออะไร?

    หลังจากหารือร่วมกัน กสทช. จึงมีข้อสรุป ให้ระบบรถไฟฟ้าบีทีเอส ย้ายไปใช้คลื่นความถี่ช่วง 2485-2495 MHz แทน อารมณ์ประมานว่า ออกไปเสียเถิด ไปให้ไกลๆสายตา ฮ่าๆๆ สัญญาณก็จะห่างกันมากขึ้น ประมาณภาพนี้

    [3] สิบปากว่าไม่เท่าศึกษาเอง!
    มาทำความเข้าใจ แล้วลองเก็บไปวิเคราะห์กันดู

    ในเมื่อฟังเค้าเถียงกันไม่รู้เรื่องสักที ผู้เขียนเลยตัดสินใจหาข้อมูลเองค่ะ จากหลายๆด้าน หลายๆมิติที่สามสี่และห้า ประกอบกันเป็นข้อมูลความรู้พื้นฐานเกี่ยวกับคลื่นความถี่แบบต่างๆที่มีอยู่ตอนนี้ และสรุปมาให้ผู้อ่านได้ดังนี้ค่ะ

     Back to Basic!
    มาทำความรู้จักกับ คลื่นวิทยุ (Radio Frequency)
    ในรูปแบบต่างๆกันก่อน

    ‘คลื่นวิทยุ’ เป็นคลื่นแม่เหล็กไฟฟ้าที่มีความถี่สูง คุณสมบัติของคลื่นวิทยุนี้สามารถกระจายไปได้เป็นระยะทางใกล้หรือใกลนั้น ก็ขึ้นอยู่กับช่วงความถี่ ยิ่งความถี่ต่ำ ยิ่งส่งได้ดี ส่งไปได้ไกล ส่งได้ทะลุทะลวง ต่างกับความถี่สูง ที่มีความแรงมากก็จริง แต่ส่งได้ไม่ไกล อ้างอิงตามสูตรนี้ค่ะ

    “ความยาวคลื่น = ความเร็วแสง / ความถี่ (ความเร็วแสงมีค่าประมาณ 3×108 m/s)”

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

    ภาพนี้แสดงความยาวของคลื่นในย่านความถี่ต่างๆ ยิ่งความถี่น้อยยิ่งไปได้ไกล

    แต่ปัญหาหลักของคลื่นแบบ Wireless (ไร้สาย) ที่ต่างจากแบบ Wired(มีสาย)
    ก็คือ
    มีการรบกวนกันของสัญญาณ (Interference) สูง
    ซึ่งเป็นสาเหตุหลักที่ทําให้เกิด Transmission Error 
    คือการส่งสัญญาณเกิดขัดข้องนั่นเอง

     ประเทศไทยมีคลื่นสัญญาณย่านไหนบ้าง?

    โดยปกติแล้ว การแบ่งความถี่ที่จะเปิดให้ใช้บริการ อาจจะมีแตกต่างกันไปตามกฎหมายในแต่ละประเทศ
    (เช่นมีการห้ามนําอุปกรณ์บางอย่างไปใช้ข้ามประเทศ)

    ซึ่งหลักๆตอนนี้ที่ประมูลและใช้กันอยู่ก็จะมี 850 / 900 / 1800 / 2100  และน้องใหม่ 2300 MHz

    โดยแต่ละช่วงความถี่ก็จะมีอุปกรณ์ที่รองรับแตกต่างกัน รุ่นเก่าๆก็จะรับได้ที่ความถี่ต่ำๆ ส่วนรุ่นใหม่ๆถ้าออกภายใน 2-3 ปีนี้ ส่วนใหญ่ก็จะรับ 2300MHz ได้แล้วค่ะ

    (source: https://droidsans.com/nbtc-confirm-bts-2400mhz/)

     ทั้งหมดนี้คงจะเป็นอีกหนึ่งข้อพิสูจน์โดยการศึกษาจากทฤษฎี
    ที่แสดงให้เราเห็นค่อนข้างชัดเจน

    เราเองก็อาจจะพอสังเกตเองได้ว่า.. หลังจากรถไฟฟ้า BTS เริ่มเปลี่ยนมาใช้สัญญาณย่าน 24000 MHz ที่เป็นคลื่นสาธารณะ มันก็เริ่มเกิดอาการงอแง ขัดข้องบ่อยขึ้นเรื่อยๆ เนื่องจากเทคโนโลยีก็พัฒนาขึ้นเรื่อยๆ เสาสัญญาณก็วางถี่ขึ้นทุกวันๆ คนก็ใช้อินเตอร์เน็ต แลกเปลี่ยนข้อมูลผ่านสัญญาณแบบไร้สายกันมากขึ้นเช่นกัน แถมสถานีบีทีเอสก็ตั้งอยู่ในเมืองที่เจริญๆ มีการใช้สัญญาณกันอย่างอุ่นหนาฝาคั่ง อาทิ สุขุมวิท  สีลม และสยาม

    ทั้งนี้…ปัญหาที่เกิดไม่เคยได้รับการแก้ไขอย่างจริงจังสักที มันก็เริ่มสะสมขึ้นมาเรื่อยๆ จนกระทั่งมาระเบิดตู้มเอาตอน DTAC มาเปิดใช้คลื่นที่ใกล้เคียงนี่แหละค่ะ

    ขออนุญาตอ้างอิงจากสถิติอัตราการเสียของรถไฟฟ้า…

    ขอบคุณ infographic จาก ไทยรัฐออนไลน์

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

    Source:
    [1]  [2] [3] [4] [5] [6]

    ติดตามข่าวสารใหม่ๆ หรือข้อมูลน่ารู้อีกมากมายได้ที่

      OpenLandscape Fanpage | https://www.facebook.com/openlandscapecloud/
      OpenLandscape Twitter | https://www.twitter.com/olscloud/
      OpenLandscape Cloud | https://openlandscape.cloud/

  • 2 Step to Start! เปิดประตูสู่โลกออนไลน์ด้วย Domain & Hosting

    2 Step to Start! เปิดประตูสู่โลกออนไลน์ด้วย Domain & Hosting

    เคยสงสัยมั้ยกันมั้ยคะ? ถ้าเราอยากจะมีเว็บไซต์ของตัวเองสักเว็บนึง นอกจากการเขียนเว็บขึ้นมาแล้ว ในขั้นตอนของการนำเว็บขึ้นเพื่อ Public เป็นออนไลน์ให้เหล่าสาธารณะชนเข้ามาใช้งานเว็บเราได้เนี่ย ปกติเค้ามีขั้นตอนยังไงกันบ้างนะ

     ขอยกตัวอย่างจากประสบการณ์จริง…

    ตัวผู้เขียนเองก็เคยอยากมีเว็บของตัวเองค่ะ สมัยก่อนใครๆก็อยากมีเว็บของตัวเองเนอะ อาจจะไม่ใช่เว็บที่อลังการแบบ Alibaba หรือ Pantip อะไรขนาดนั้น แต่ตัวผู้เขียนเองอยากทำ ‘Web Portfolio’ ขึ้นมาเองค่ะ คือเป็นเว็บที่เก็บ resume ออนไลน์ของเรา (สมัยเรียนใครมีคือคูลมากๆ) ก็เลยไปศึกษาวิธีการเขียนเว็บแบบต่างๆมา จนกระทั่งเขียนเสร็จ

    คำถามต่อมาคือ…. จะไปทำให้เว็บมันออนไลน์ยังไงได้บ้าง?
    ถึงตอนนี้เส้นเลือดสมองเริ่มตึงละค่ะ เพราะพอ Search หาใน Google ผู้ให้บริการก็เยอะมาก
    แล้วก็งงมากว่าอะไรคือโดเมนเนม จดยังไง จดทำไม จดแล้วต้องทำไงต่อ ซื้อ Hosting เลยไม่ได้หรอ..

    จากปัญหาที่ตัวเองเจอ และจากที่เพื่อนๆของผู้เขียนเองสอบถามเข้ามาบ่อยครั้ง (คือเพื่อนก็อยากมีเว็บพอทคูลๆแบบเราบ้าง อิอิ) ก็เลยเกิดเป็นบทความนี้ขึ้นมาเพื่อช่วยให้ทุกคนเข้าใจว่าการนำเว็บขึ้นออนไลน์นั้นมีขั้นตอนยังไงบ้างในรูปแบบ 2 Step ง่ายๆที่เราต้องรู้ในการ Publishing Website ของเรา ตัวผู้เขียนเองก็ขอให้ผู้อ่านได้สาระดีๆจากบทความนี้ไม่มากก็น้อยนะคะ

     Before Start!

    โดยปกติแล้ว นักพัฒนาหรือเหล่าโปรแกรมเมอร์ จะเขียนเว็บ หรือเขียนเว็บแอปพลิเคชันต่างๆ บนเครื่องคอมพิวเตอร์ส่วนตัวของตัวเองค่ะ ซึ่งนั่นหมายความว่า การจะเข้าเว็บนั้น จะต้องเข้าผ่านเครื่องคอมพิวเตอร์ของโปรแกรมเมอร์คนนั้นเท่านั้นค่ะ

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

    ชื่อ : Domain Name ( www.domain.com , www.domain.co.th , etc….)
    ที่ตั้ง : Hosting ( Shared Host , Cloud Hosting , etc..)


    ตอกป้ายติดหน้าร้าน! ด้วย Domain Name
    ชื่อที่จะทำให้ผู้คนค้นหาคุณเจอ!

    ทุกคนเคยทำแบบนี้กันอยู่แล้วใช่มั้ยคะ  ทุกครั้งเวลาเราอยากจะเข้าไปค้นหาอะไรสักอย่าง เราก็จะพิม www.google.com หรือเวลาจะเข้าไปหากระทู้เด็ดๆอ่าน เราก็จะพิมพ์ www.pantip.com เวลาจะอัพเดทข่าวต่างๆวันนี้เราอาจจะพิมพ์ www.kapook.com พวกชื่อ google.com , pantip.com , kapook.com เหล่านี้เราเรียกว่า Domain Name นั่นเองค่า แต่ก่อนจะมาเป็น Domain Name เหล่านี้ เขามีขั้นตอนอย่างไรกันมาก่อนบ้าง ไปดูกันค่ะ

    วิธีการคือ

    • เข้าไปเช็ค Domain Name ที่เราต้องการจะใช้ ว่ามีคนใข้งานแล้วหรือยัง ที่ website https://whois.net/ (หรือ https://th.godaddy.com/ ก็ได้ค่ะ เพราะเป็นภาษาไทยน่าจะเข้าใจง่ายกว่า เมื่อเช็คเสร็จแล้วสามารถซื้อได้เลย)
    • เลือกระยะเวลาการจดโดเมนด้วย จะเป็นปีหรือสิบปีก็ว่าไป  โดเมนเนี่ย…ไม่ใช่ว่าซื้อแล้วชื่อนั้นจะเป็นของเราตลอดกาล โดยเราสามารถเลือกได้ว่าจะจองชื่อนี้กี่ปีโดยใช้ชื่อใครจอง อันนี้เป็นประเด็นที่ต้อง concern และตกลงกันให้ชัดเจน ในกรณีให้คนอื่นจดโดเมนให้ หรือจ้างให้คนอื่นทำเว็บให้ค่ะ
    • เลือกราคา เพราะแต่ละโดเมนราคาถูกแพงไม่เท่ากันค่ะ บนโลกนี้มีสิ่งที่เรียกว่าการจองโดเมนไว้ขายต่อ ฉะนั้น อย่าไป Search บนเว็บหา domain บ่อยๆ เพราะเว็บเหล่านี้อาจจะมีทริคโกงเล็กน้อยเก็บไว้ว่าเราสนใจโดเมนนี้ และแอบซื้อเก็บไว้รอปล่อยต่อ เมื่อเรามาดูอีกทีอาจจะเห็นว่าราคาขึ้นไปแล้ว T_T


     ประเภทของ Domain Name
    แบ่งได้เป็น 2 ประเภท

    1. โดเมน 2 ระดับ ชื่อโดเมน . ประเภทของโดเมน
      เช่น .com(บริษัท หรือ องค์กรพาณิชย์) .gov(องค์กรของรัฐบาล) .edu(สถาบันการศึกษา)
    2. โดเมน 3 ระดับ ชื่อโดเมน . ประเภทของโดเมน . ประเทศ
      เช่น .co.th(บริษัทประเทศไทย) .go.th(รัฐบาลประเทศไทย) .co.uk(บริษัทประเทศอังกฤษ)

    “แต่หลักๆที่เราใช้กันทั่วไปเลยก็คือ .com นั่นเองค่ะ เพราะถือว่าจำง่ายสุดแล้ว”


     อย่าเพิ่งสับสนกันนะคะ!

    หลายคนยังมีความเชื่อผิดๆอยู่คือ จดโดเมนเนมปุ้บ จบละไชโยโห่ฮิ้วว~ จริงๆคือไม่ใช่แบบนั้นนะคะ โดเมนเนมเหมือนเป็นแค่การแปะป้ายชื่อร้านไว้ที่หน้าร้านของคุณเฉยๆเพื่อให้ลูกค้าหาเจอ แต่พอเปิดประตูเข้าไป เราจะยังไม่เจออะไรเลย จนกว่าจะคุณจะเอาของมาวาง มาตกแต่งในร้านของคุณ การนำของไปวางให้คนเปิดร้านเข้ามาเจอ สิ่งนั้นคือ ‘Hosting’ ที่เรากำลังจะพูดถึงในข้อถัดไปค่ะ

     แล้วถ้าคิดชื่อไม่ออกอะ ไม่จดได้มั้ย?

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


    ถ้าไม่จด เวลาคนที่จะเข้าเว็บไซต์เรา ต้องใช้ NS มาค้นหาแบบนี้ค่ะ

    แต่ถ้าจด Domain Name ไว้ ก็ค้นหาโดยใช้ชื่อโดเมนนั้นได้เลยค่ะ

    ฉะนั้น… การจดย่อมดีกว่าแน่นอนค่ะ เพราะทำให้ง่ายต่อการจดจำขึ้นเยอะเลยทีเดียว หรือหากใครคิดว่าอยากทดลอง public ให้คนอื่นลองดูก่อน ก็สามารถใช้ตัว NS เพื่อให้เขาเข้ามาดูเว็บเราไปก่อนก็ได้ค่ะ แต่ก็ไม่แนะนำเท่าไร  แต่จริงๆเรื่องชื่อ Domain Name เนี่ย …ไว้พอคิดออกแล้วมาจดทีหลังก็ได้ค่ะ ก็ระวังเรื่องโดนชิงจดตัดหน้าแค่นั้นเอง


    หาที่วางของ อวดสายตาประชาชี
    ด้วย Hosting แบบต่างๆ

    ต้องบอกก่อนว่า การหาที่วางของ หรือวางเว็บไซต์ของเรา ก็มีที่วางหลากหลายแบบให้เลือกเช่นกันค่ะ มีทั้งแบบฟรี และแบบไม่ฟรี ในบทความนี้ขอไม่กล่าวถึงแบบฟรีนะคะ

    ในส่วนของ Hosting ตอนนี้ ก็มีผู้ให้บริการเยอะแยะมากมาย แต่เชื่อว่าหลายคนยังงงๆอยู่ว่าตัวเองควรจะเลือกใช้ Hosting แบบไหน ถึงจะเหมาะกับการใช้งานของเว็บตัวเองที่สุด เพราะฉะนั้นในบทความนี้ ขออธิบาย Concept คร่าวๆ และคุณสมบัติหลักๆ ตั้งแต่ Web Hosting แบบเดิมๆ ไปจนถึง Cloud Hosting ที่มีประสิทธิภาพการทำงานสูงที่สุดในขณะนี้ เพื่อให้ผู้อ่านทุกท่านได้ลองไปพิจารณาดูอีกทีว่าควรจะเลือกใช้บริการ Hosting ประเภทไหนให้เหมาะสมกับเว็บไซต์ของตัวเองที่สุดค่ะ

    Shared Hosting

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

    วิธีการติดตั้ง:
    ผู้ให้บริการจะติดตั้งให้

    เหมาะกับเว็บแบบไหน:
    เว็บ Content , เว็บ Blog , เว็บ Portfolio หรือเว็บที่ไม่ต้องรองรับโหลดจำนวนเยอะๆ หรือทำงานหนักมาก เน้นให้มีคนทยอยเข้าใช้งานเรื่อยๆ และเจ้าของเว็บต้องสามารถรับความเสี่ยงหากเว็บล่มเป็นเวลานานได้

    – –

    Dedicated Hosting

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

    วิธีการติดตั้ง:
    ผู้ใช้ต้องมีความรู้ด้านเทคนิคในการติดตั้งเอง

    เหมาะกับเว็บแบบไหน:
    สำหรับเว็บแอพพลิเคชัน หรือเว็บสำหรับองค์กร เนื่องจากมีประสิทธิภาพสูงสุด เสี่ยงน้อยกว่าแบบอื่นๆ แต่ก็มีราคาที่แพงสุดเช่นกัน

    – –

    VPS Hosting

    ราคากลางๆ เป็นการจำลองเซิร์ฟเวอร์เสมือน(VM) บนเครื่อง Server ที่ให้บริการอีกที โดยจะกั๊กส่วนของทรัพยากรตามที่เราเช่าเอาไว้ เมื่อมี VM อื่นๆในระบบพัง จะไม่กระทบกับ VM ของเราที่วางอยู่ที่ Server ตัวเดียวกันเหมือนกับ Shared Hosting (เว้นแต่ Server ตัวที่รัน VM นั้นจะพัง)

    แม้ลักษณะดูเผินๆจะคล้ายๆกับ Dedicated Server แต่ประสิทธิภาพไม่ดีเท่า เนื่องจากในเซิร์ฟเวอร์เครื่องนั้นๆ ยังคงมีการแบ่งพื้นที่ และทรัพยากร กับลูกค้าอื่นๆ ดังนั้นประสิทธิภาพยังคงด้อยกว่า Dedicated server อยู่ดี

    วิธีการติดตั้ง:
    ผู้ใช้ต้องมีความรู้ด้านเทคนิคในการติดตั้งเอง

    เหมาะกับเว็บแบบไหน:
    เหมาะกับเว็บที่มีผู้ใช้งานมาก ช่วยลดปัญหาเว็บช้าเวลามีผู้เข้าใข้งานเยอะ จุดเด่นคือมี Data Transfer ไม่จำกัด ดีกว่า Shared Hosting แต่ไม่เท่า Dedicated Hosting ค่าใช้จ่ายจึงอยู่ที่ระดับกลางๆ

    – –

    Cloud Hosting

    จริงๆแล้วคำว่าระบบ Cloud มันคือ Concept ของการวางระบบ Infrastructure สำหรับองค์กร ไว้ที่ Data Center ของผู้ให้บริการ (สำหรับองค์กรที่ต้องการระบบ Infrastructure แต่อาจจะไม่สะดวกในการสร้าง Data Center เอง) สามารถอ่านเพิ่มเติมได้ที่นี่ค่ะ บริการคลาวด์ (cloud) คืออะไร โดยในบทความนี้จะขอกล่าวถึงการนำระบบคลาวด์มาใช้ในแง่ของการวางเว็บไซต์ของเราเท่านั้นนะคะ

    – High Availability! –

    ในส่วนของตัวโครงสร้างการทำงานของระบบคลาวด์นั้นมีวิธีการจัดการทรัพยากรภายในระบบที่ดีมาก ทำให้ระบบฆ่าไม่ตาย ยิงไม่เดี้ยงง่ายๆ เนื่องจากมีการทำ Server Farm เอาไว้ด้วยกัน ในกรณีที่มีเครื่องใดเครื่องหนึ่งพัง ระบบจะทำการย้ายให้ไปทำงานในเครื่องใหม่ทันที โดยไม่ต้องรอเปลี่ยน หรือรอให้เครื่องเก่าซ่อมเสร็จก่อน ทำให้คุณไม่ต้องเสียเวลารอเลย และเว็บไซต์ของคุณก็จะสามารถทำงานต่อไปได้ไม่สะดุด หรือจะเรียกว่าเป็น Zero Downtime ก็ว่าได้

    – Scalability & only Pay-Per-Use! –

    การเลือกใช้บริการแบบ Cloud Hosting จะทำให้เรามีอิสระในการปรับขีดความสามารถ และขนาดทรัพยากรได้ตามภาระงาน เนื่องจากไม่มีข้อจำกัดในการขยายทรัพยากรสำหรับผู้ให้บริการ และค่าใช้จ่ายนั้นจะขึ้นกับการจ่ายตามที่ใช้จริง (Pay-Per-Use) เช่น พอถึงเวลาที่เรารู้ว่าคนจะกระหน่ำเข้าใข้งานเว็บเราเยอะๆช่วงไหน ก็ไปเพิ่มทรัพยากรแค่เฉพาะช่วงนั้นได้เลย และสามารถที่จะเลือกเช่าแบบระดับชั่วโมงก็ได้

     Web Hosting vs Cloud Hosting

    คำถามโลกแตกที่ปัจจุบันก็ยังมีหลายคนไม่เข้าใจค่ะ ว่าคลาวด์ต่างกับเว็บโฮสติ้งทั่วไปยังไง จะเปลี่ยนมาใช้ก็ยังงงงวย ว่าแล้วมันได้ประโยชน์อะไรเพิ่ม ขอเปรียบเป็นภาพง่ายๆแบบนี้ค่ะ

    ขอเปรียบเทียบกันง่ายๆแบบนี้ค่ะ
    Web Hosting เหมือนคนคนเดียวทำงาน ถ้าคนนั้นป่วย งานก็จะหยุดทันที
    ส่วน Cloud Hosting คือคนหลายคนช่วยกันทำงาน ถ้ามีคนใดคนนึงป่วย
    ก็จะมีคนอื่นๆที่เหลือทำงานแทนให้ งานก็จะเดินต่อไปได้ไม่มีสะดุดค่ะ

     ควรเลือกใช้อะไรถึงจะดีที่สุด?

    ตรงนี้ผู้เขียนมองว่าอยู่ที่ ‘ลักษณะของเว็บไซต์’ และ ‘งบประมาณ’’ ของเรามากกว่าค่ะ ว่าเหมาะกับการใช้งาน Hosting ลักษณะไหน แน่นอนว่าตอนนี้ Cloud คือตัวเลือกที่ดีที่สุดแน่นอน ด้วยคุณสมบัติที่อัพเกรดขึ้นมาเยอะแยะมากมาย แต่แน่นอนว่าบางคนอาจจะมีข้อจำกัดทางด้านงบประมาณ หากยังไม่เห็นภาพ ผู้เขียนขอยกตัวอย่างเป็น Case Study ง่ายๆกันดีกว่าค่ะ

    • เว็บธนาคาร -> ควรเลือก Cloud ค่ะ ต้องการความ Secure และความมั่นคงสูง เนื่องจากเกี่ยวข้องกับธุรกรรมทางการเงินล้วนๆ
    • เว็บคอนเทนต์ -> จะเลือกเป็น Web Hosting ถ้าแค่ทำบล็อคขำๆ คนทยอยเข้าไม่เยอะ หรือจะเลือกเป็น Cloud ก็ได้ค่ะ หากต้องการรับโหลดเยอะๆ คนเข้าอ่านพร้อมกันได้มหาศาล
    • เว็บพอตโฟลิโอ (portfolio) -> ใช้ Web Hosting จะเหมาะสมที่สุดค่ะ เพราะไม่ได้ให้คนเข้าอ่านพร้อมๆกัน ใช้แค่ตอนให้คนอื่นๆเข้ามาดูผลงานตัวเอง

    สุดท้ายแล้ว…. การจะเลือกใช้ Hosting รูปแบบไหนนั้น ผู้เขียนอยากให้คำนึง ‘ความเหมาะสม’ มากที่สุดก็พอค่ะ เพราะมันไม่มีรูปแบบที่ตายตัว ทุกอย่างสามารถพลิกแพลงใช้ด้วยกันได้หมดเลย แต่ถ้าหากมีงบเยอะหน่อยการเลือกใช้ Cloud ถือว่าเป็นการ Play Safe ที่สุดแล้วในตอนนี้


    ซึ่งทาง OpenLandscape เองก็เป็นผู้ให้บริการคลาวด์อีกหนึ่งทางเลือกในประเทศไทย
    ที่ให้บริการคลาวด์ด้วยราคาเริ่มต้นที่ถูก รองรับกับทุกระดับการใช้งาน
    หรือหากต้องการปรึกษาก่อน ก็สามารถที่จะติดต่อสอบถามได้เลยค่ะ
    แต่ถ้าคุณสนใจดูข้อมูล หรือราคาค่าบริการ สามารถดูได้เลยค่ะที่ https://openlandscape.cloud/

    ติดตามข่าวสารใหม่ๆ หรือข้อมูลน่ารู้อีกมากมายได้ที่

      OpenLandscape Fanpage | https://www.facebook.com/openlandscapecloud/
      OpenLandscape Twitter | https://www.twitter.com/olscloud/
      OpenLandscape Cloud | https://openlandscape.cloud/

  • 504 Gateway Timeout กับหน้าจองบัตรที่หายไป

    504 Gateway Timeout กับหน้าจองบัตรที่หายไป

    เคยใช่มั้ยคะ?

    ที่บางครั้งเวลาเราเข้าเว็บไซต์ต่างๆ แล้วต้องเจอกับสถานการณ์ เว็บพัง เว็บล่ม เข้าไม่ได้ ซึ่งหน้าเว็บมันก็จะบอก Code ซึ่งเป็นตัวเลขสามตัวมา เจอบ่อยๆหน่อยก็ 404 Page Not found แต่ว่าโค้ดพวกนี้นี่มันก็มีเยอะแยะมากมาย ซึ่งเราเองก็ไม่ได้ใส่ใจอะไรเพราะโค้ดมันเยอะเหลือเกินใครจะไปนั่งจำ  อย่างมากเจอ Error อะไร ก็ก้อปไปวางใน Google แล้วหาว่ามันคืออะไร

    แต่เนื่องจากล่าสุดได้มีเหตุการณ์ เว็บจองบัตรคอนเสิร์ต Wanna One ล่มค่ะ
    (ก็เหมือนอย่างที่เคยเป็นมากับเว็บจองตั๋วอื่นๆ) แต่ละคนก็วิเคราะห์กันไปต่างๆนาๆ ซึ่งก็มีทั้งที่ถูกและที่ต้องมีการปรับทัศนคติกันเพิ่มเติมสักหน่อย เพื่อให้ได้ข้อมูลที่ถูกต้อง แอดมินขออนุญาตหยิบเหตุการณ์นี้มาพูดถึง เพื่อไขข้อข้องใจ ในแบบฉบับมนุษย์อ่านได้ ยายอ่านก็เข้าใจ

    อะไรเอ่ย ยังไม่ทันได้จองก็หมดแล้ว!!?
    ( source : facebook.com/WannaOne1TheWorldinBKK/ )

     เรื่องมันเริ่มจากที่…

    เมื่อวันเสาร์ที่ 9 มิถุนายน 2018 ได้มีการเปิดจองบัตรคอนเสิร์ต Wanna One ที่เว็บไซต์ (https://www.wannaone1theworldinbkk.com/)
    โดยทางเว็บไซต์ได้เปิดให้จองตั้งแต่เวลา  10:00 น เป็นต้นไป…. ซึ่งพอถึงเวลาจองแล้วนั้น…..

    สวัสดีจ้า 504-Gateway Timeout
    (และอื่นๆ อีกมากมาย อาทิเช่น 503, 404)

    (source : https://twitter.com/DDnxShop/status/1005341740264329216)

     ในวันนั้นก็เกิดปรากฎการณ์ทางโซเชียลมากมาย  

    ตั้งแต่การที่ทุกคนร่วมใจกันสรรเสริญพี่ 504 จนติดอันดับเทรนด์บน Twitter เกิดการนำเลขไปแทงหวย เกิดกูรูผู้รู้ตื่นด้วยการพยายาม Inspect Element เข้าไปดู HTML เพื่อหา Root ของปัญหา (ได้หรอ 555)  และที่พีคสุดคือพี่ 504 Gateway Timeout แกดังจนถึงขนาดมีเสื้อเป็นของตัวเอง ภายในเวลาแค่ไม่กี่ชั่วโมงจ้า

    (source: https://twitter.com/Nook_0995/status/1005302892109000704)

    ติดเทรนด์อันดับ 3 ซะด้วย เท่ปะ

    เสื้อก็มาจ้า

    หมวกก็ด้วยจ้า

    เอาไปซื้อลอตเตอรี่ก็ได้จ้า?

    ดังนั้น .. เวลาเราเห็นโค้ด Error ต่างๆขึ้นมาบนหน้าจอ ก็ให้ระลึกไว้เสมอเลยค่ะ ว่าตัวเลขพวกนี้ไม่ได้ขึ้นมาเพื่อใบ้หวย หรือบอกสายรถเมล์ขสมก.แต่อย่างใด เพราะมันคือ “HTTP Status Code” ซึ่งเจ้า code เนี้ย มันก็คือตัวเลขที่ถูกส่งมาจากเซิร์ฟเวอร์อีกที เพื่อบอกผู้ใช้งานว่า มันเกิดความผิดปกติอะไรขึ้นกับเว็บไซต์ ณ ตอนนั้น

     มารู้จัก HTTP Status Code แบบต่างๆกันก่อน

    ไม่ต้องไปจำหมดก็ได้ แต่สรุปง่ายๆเลยว่า

    504 Gateway Timeout Error = Server Error

     504-Gateway Timeout
    คืออะไรกันแน่ มาทำไมให้อายบ้านนา!?

    เวลาเราเปิด Browser เพื่อเข้าไปดูเว็บไซต์อะไรก็ตาม แน่นอนว่าระบบข้างหลังบ้านต้องมีการติดต่อสื่อสารกันแน่นอนค่ะ โดย Computer หรือฝั่ง Client อย่างเราๆนั้น นั้นจะคุยกับ Server ผ่าน HTTP (Hypertext Transfer Protocol)  โดยฝั่ง Client จะส่ง Request ออกไป แล้ว Server ก็จะ Response กลับมา ตามภาพด้านล่าง


     สาเหตุที่ทำให้หน้าเว็บไซต์แสดงโค้ด 504

    เกิดจากตัว Server ที่ใช้ในการวางเว็บไซต์นั้นๆ เริ่มมีอาการเอ๋อๆขึ้นมา หลังจากถูกระดม Request จากมวลมหาประชาชน (End-User) ทำให้ระบบมีการจราจรที่แน่นหนามาก (คือมี Traffic สูง) อารมณ์เหมือนระบบจราจรที่ติดเป็นคอขวดกัน เลยส่งผลให้ Server เริ่มตอบสนองช้าลงเรื่อยๆ กระทั่งเครื่อง Client บางคนรอการตอบสนองนานเกินไป จนเกิด Timeout คือหมดเวลาแล้วเธอคงต้องไป~ ไว้ลองเข้าใหม่อีกทีนะจ้ะ

     พอนึกออกกันหรือยัง?

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

    ก็เลยกลายเป็นว่าน้อง Server ที่แสนบอบช้ำอยู่แล้ว ดันถูกกระหน่ำยิง Request ซ้ำเข้าไปเยอะๆอีก จนในที่สุดก็เกินกำลังที่น้องจะรับมือไหว หลังจากนั้นน้องก็จะเข้าสู่อาการโคม่าทันที ก็คือรีสตาร์ทตัวเองไปเลย จบ!! (แล้วเว็บก็ล่มในที่สุด) 

     ขอแบบง่ายๆค่ะพี่!

     เปรียบง่ายๆได้แบบนี้จ้า

    หากเปรียบสถานการณ์แบบนี้เป็นรายการเซอร์ไวเวอร์.. ก็เหมือนเราอยู่ตำแหน่งท้ายสุดของของตารางเลยค่ะ
    คืออยู่เกินจุดที่ Server มันรับได้ไปแล้ว โดยคนส่วนน้อยข้างบนคือคนที่เร็ว คนที่ไว และแต้มบุญค่อนข้างสูงด้วย
    และอย่าลืมว่าในขณะที่เราติดอยู่ในวังวน Timeout หน้าขาวซีดเป็นเอสี่ ตอนนั้นก็มีบางคนกำลังกดจากหน้าเคาท์เตอร์ไปด้วย แต่ก็นั่นล่ะค่ะ… มันไม่มีกฎตายตัวบอกว่าเราจะรอดได้ขึ้นไปติดบนๆของตารางมั้ย อยู่ที่จังหวะจริงๆ

     อ้าว! เป็นที่ Server แล้วตัว Web Sourcecode เกี่ยวมั้ย?

    ถึงแม้ดูเผินๆแล้วเหมือนปัญหานั้นจะเกิดจากฝั่ง Server เป็นหลัก แต่ทางฝั่งของ Web เองก็ต้องตรวจสอบ Code ของตัวเองด้วยเช่นกัน ว่าเขียนมาแบบไหน เลือกใช้ภาษาอะไรในการเขียน เพราะบางครั้งการเพิ่มจำนวนทรัพยากร Server เพียงอย่างเดียว อาจเป็นการแก้ไขที่ปลายเหตุมากกว่า เราต้องเช็คตัว Sourcecode ของเว็บไซต์ควบคู่ไปด้วย เพื่อให้สามารถใช้ทรัพยากรที่มีได้อย่างคุ้มค่าที่สุด

    พักฟังสาระสำคัญทางนี้!

    “การที่เราไปส่อง Web Sourcecode ผ่านการ Inspect Element หรือ View Pagesource ใน Web browser นั้น ไม่มีข้อมูลตรงไหนที่ตอบเราได้ว่าเว็บเขียนมาดีหรือไม่ดีเพียงพอในการรับโหลด คงมีเพียง Developer เท่านั้นที่รู้ตัวเองดีที่สุดค่ะ”

     ทำไมเว็บจองบัตรคอนเสิร์ตชอบล่ม? (และโหลดช้าเหลือเกินค่ะคุณพี่)

    เหตุก็เกิดมาจาก….

    “เปิดจองพร้อมกันวันที่ xx xxxx xxxx เวลา 10.00 น.”

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

    ซึ่งบางคนพอเห็นเริ่มช้าๆ ก็เลยใส่ท่า F5 มารัวๆ นี่ยังไม่รวมคนที่เปิดหลาย Device ทิ้งไว้ พอถึงเวลาก็กระหน่ำกดกันเข้าไปอีก
    นั่นหมายความว่า Server จะมีการรับก้อน Request มากมายมหาศาลในช่วงเวลานั้น จนเกินกำลังจะรับไหว แล้วสุดท้ายก็แพ้ไป….

    แล้วยิ่งกับบัตรคอนเสิร์ตวงต่างชาติทั้งหลายที่ดังระดับ Worldwide เนี่ย อย่าลืมว่ามีประชาชนชาติอื่นๆ
    เข้ามากดจองกับเรากันด้วยนะเออ…

    (source: https://www.youtube.com/watch?v=qTDqA_FVTV8&ab_channel=NEWS1)

    TCAS ก็ล่มบ่อยนะจ้ะ

    แน่นอนว่าเคสนี้ไม่ได้เกิดกับแค่เว็บกดบัตรคอน แต่รวมไปถึงเว็บที่ต้องมีการรองรับโหลดมหาศาล พร้อมๆกัน ภายในช่วงเวลาระยะหนึ่ง เช่น เว็บสมัครสอบ เว็บฟังผลสอบ เหล่านี้ก็ล้วนเคยล่มทั้งนั้นจ้า

     ในเมื่อ Server รับคนได้ไม่พอ ก็ไปหาวิธีเพิ่มสิพี่!

    คำถามต่อมาคือ แล้วใครจะยอมจ่าย? ในส่วนของวิธีการทำนั้นมีแน่นอนอยู่แล้วค่ะ ไม่งั้นเว็บที่ต้องมีความน่าเชื่อถือสูงๆอย่างธนาคารต่างๆเค้าจะอยู่กันได้ยังไง แต่ปัญหาก็คือ การทำให้เว็บไซต์สามารถออนได้ตลอดเวลา ฆ่าก็ไม่ตาย หรือทำให้มีความ High Availability (HA) มักต้องแลกมาด้วยค่าใช้จ่ายที่สูงขึ้นมาอีก ซึ่งบางองค์กรอาจจะมีข้อจำกัดในเรื่องความคุ้มค่าทางธุรกิจของเค้า เรื่องนี้ไม่มีใครตอบได้ นอกจากตัวผู้ให้บริการเอง ว่าเค้าให้ความสำคัญกับเรื่องนี้มากน้อยแค่ไหน หรือถ้าเกิดแล้วจะแก้ปัญหากันอย่างไร

     อย่าปล่อยให้ใครมาสาปเราก่อน!

    หากเราเป็นแค่ผู้ใช้บริการ เราก็คงจะทำอะไรมากไม่ได้ นอกจากแจ้งปัญหาที่เกิดขึ้นไปยังผู้ให้บริการ และรอผู้ให้บริการทำการแก้ปัญหา

    แต่ถ้าเราเป็นผู้ให้บริการล่ะ? ในเมื่อปัจจุบันเรามีวิธีการต่างๆมากมายในการแก้ปัญหานี้ได้ หากธุรกิจของคุณ
    นั้นมีลักษณะการให้บริการ ที่ต้องรองรับโหลดคนจำนวนมาก ในระยะเวลาหนึ่ง ทำไมเราไม่ลองหาวิธีแก้ไขมันดูหน่อย?  ซึ่งทาง OpenLandscape เองเราก็มีบริการและโซลูชันต่างๆที่ตอบโจทย​์ความต้องการนี้ด้วยนะ

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

    ติดตามข่าวสารใหม่ๆ หรือข้อมูลน่ารู้อีกมากมายได้ที่

      OpenLandscape Fanpage | https://www.facebook.com/openlandscapecloud/
      OpenLandscape Twitter | https://www.twitter.com/olscloud/
      OpenLandscape Cloud | https://openlandscape.cloud/

  • Kubernetes คือ อะไร ? หนทางสู่การทำระบบให้แกร่งกว่าที่เคย !

    Kubernetes คือ อะไร ? หนทางสู่การทำระบบให้แกร่งกว่าที่เคย !

    Kubernetes คือ อะไร ? หนทางสู่การทำระบบให้แกร่งกว่าที่เคย !

    Kubernetes คือ อะไร ?

    “Kubernetes” หรือ “K8s” คือ “Container Orchestration” เป็น OpenSource จาก Google ที่จะมาช่วยในการจัดการคอนเทนเนอร์ (เช่น Docker, LXC)  ซึ่ง K8s ไม่ได้เป็นเทคโนโลยีเดียวที่ใช้ในการจัดการคอนเทนเนอร์ เพราะยังมี Docker Swarm ที่ใช้จัดการคอนเทนเนอร์ได้เช่นกัน ซึ่งหน้าที่หลัก ๆ คือ ช่วยให้เราสามารถติดตั้ง (Deployment) จัดสรรทรัพยากร หรือเพิ่มลดทรัพยากรแบบอัตโนมัติได้ (Managing & Scaling) นอกจากนั้นยังช่วยให้ Application ที่ทำงานอยู่บนคอนเทนเนอร์สามารถทำงานได้อย่างต่อเนื่อง ด้วยระบบที่พร้อมใช้งานตลอดเวลา (Auto Self-Healing) พูดง่าย ๆ คือ สามารถทำระบบที่ฆ่ายังไงก็ไม่ตายนั่นเอง ! (โกงกว่านี้มีอีกมั้ย?)

    ภาพประกอบ 1 Kubernetes คือ

    จากภาพข้างต้นจะเห็นว่า Kubenetes เป็นการต่อยอดหลังจากที่เราสร้าง Container ให้กับ App แล้ว โดยสามารถอ่านเพิ่มเติมเกี่ยวกับ Docker ได้ที่บทความเปลืองเวลาเป็นวัน ๆ ไปทำไม ? ในเมื่อใช้ Docker ช่วยได้ ! ซึ่งเมื่อมี Container แล้วสามารถ Manage ยังไงให้ได้ประสิทธิภาพสูงสุด จึงเป็นที่มาของการนำ Kubernetes เข้ามาเพื่อควบคุม Container ทั้งหมดอีกที ด้วยวิธีการง่าย ๆ คือ สร้าง Config สั่งไว้แผ่นหนึ่ง (เป็นไฟล์ .yaml) เขียนคำสั่งให้ทำตามที่ต้องการ แล้วปล่อยให้ระบบควบคุมให้เราเองได้เลย ดังนั้นจึง Centralized มากขึ้น ลดการทำงานที่ซับซ้อนได้ แถมยังเป็นไปแบบ Automatic อีกด้วย ส่วนมันออโต้ได้ขนาดไหน ? เลื่อนลงไปอ่านกันต่อได้เลย

    ภาพประกอบ 2 Kubernetes คือ ภาพรวมการทำงานของ Kubernetes

    ยากไป ? งั้นมาดูเคสตัวอย่างกันเลยดีกว่า

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

    อีกสักเคส… คือ เราสามารถสั่งให้ Auto Scaling ได้ด้วย เช่น กำหนดไว้ว่าหาก CPU Usage เกิน 80% ให้ Auto Scale Up ขยายทรัพยากรให้ได้ทันที ดังนั้น Kubernetes ช่วยให้การจัดการของเราเป็นไปอย่าง Automatic มากขึ้น ช่วยประหยัดเวลาให้มีอิสระไปทำอย่างอื่นได้เพิ่มมากขึ้น


     The History Of Kubernetes

    ต้นกำเนิดของ K8s นั้นเกิดมาจาก Pain ที่บริษัท Google เจอมาตลอด ในการพยายามจะจัดการ Data Center ของตัวเองมานานกว่า 15 ปี (แต่ก็ยังไม่ยาวเท่าที่เรารอตอนจบโคนัน) เดิมเรียกระบบนี้ว่า “Borg” และจากความผิดพลาด ปัญหาต่าง ๆ ที่เคยเจอและแก้ไขมาตลอดระยะเวลายาวนาน ทุกอย่างกลายเป็น Lesson  Learned จนเกิดเป็น “Kubernetes” ขึ้นมา อีกทั้ง Google ไม่หยุดโชว์ความยิ่งใหญ่ด้วยการเปิดให้เป็น Opensource ที่ทุกคนสามารถนำไปใช้งานได้อีกด้วย


    จุดเด่นของ Kubernetes

    1. Container Clustering :  สามารถทำ Configuration  เพื่อสั่งระบบให้ทำงานตามที่ต้องการโดยอัตโนมัติ (เรียกได้อีกแบบว่าเป็นการกำหนด Desired State)
    2. Auto Scaling : รองรับการเพิ่มหรือลดทรัพยากรได้โดยอัตโนมัติตามความต้องการ
    3. Auto Self-healing : รองรับการทำงานแบบ HA เพื่อช่วยให้ระบบสามารถทำงานได้อย่างปกติ
    4. Auto Binpacking : จัดสรรทรัพยากรสำหรับคอนเทนเนอร์โดยอัตโนมัติ  
    5. Load Balancing : แบ่งการทำงานระหว่างคอนเทนนอร์ได้อย่างเหมาะสมและมีประสิทธิภาพสูงสุด
    6. Zero Downtime : รองรับการอัปเดตระบบแบบไม่มี Downtime
    7. Dashboard : มีแดชบอร์ดสำหรับควบคุมและบริหารจัดการทรัพยากร
    8. Community :  มีผู้ใช้งานจากทั่วโลกช่วยพัฒนาและอัปเดตฟีเจอร์ใหม่ ๆ อยู่ตลอดเวลา

     องค์ประกอบของ Kubernetes

    Cluster 

    ให้นึกภาพตามว่า K8s จะเข้ามาครอบมวลมหาประชา Server เอาไว้ ให้เสมือนว่ามันมีแค่ Server ใหญ่ ๆ เพียงเครื่องเดียว หากใช้ Cloud ต้องดูด้วยว่า Platform ของ Cloud นั้นรองรับไหม โดยหลักการ Cluster ของ K8s คือ สามารถจัดการให้เองว่าอะไรควร Run ไว้ที่ไหน โดย Node มีอยู่ 2 ประเภท คือ Master Node และ Worker Node ส่วนวิธีการทำงานร่วมกันของแต่ละส่วนนั้น จะขอกล่าวถึงในหัวข้อลำดับต่อไป

    ภากประกอบ 3 Kubernetes คือ
    What is Kubernetes to Datacenter
    (source : Mesosphere)
    ภากประกอบ 4 Kubernetes คือK8s Cluster Diagram
    (source : kubernetes.io)


    Deployment 

    k8s นั้นมีตัวละครหนึ่งที่เป็นพระเอกของเรื่องเลย คือ ตัว Kubernetes Deployment Controller ซึ่งคอยช่วยจัดการ Instance ต่าง ๆ ของแต่ละ Node ดังนั้นการนำ App ของเราไป Run ใน K8s จะต้องสร้างสิ่งที่เรียกว่า Deployment ก่อน เพื่อเป็นการกำหนด Configuration (การทำ Desired State เพื่อระบุว่าเวลาที่ทุกอย่างปกติดี ควรจะมีอะไร ทำงานยังไงบ้าง) โดยที่ K8s จะช่วยดูแลให้เป็นไปตาม Config ให้ตลอดเวลา หากเกิดความผิดพลาดสามารถ Auto Self-healing ตัวเองโดยอัตโนมัติ

    โดยการ Config ทำในไฟล์  .yaml


    Node and Pod

    “Container -> Pod  -> Worker Node -> Master Node ”

    Part l : Pod

    Pod เป็นหน่วยที่เล็กที่สุดของ K8s ซึ่งภายในแต่ละ Pod จะประกอบไปด้วย

    • Container หรือ อาจเป็นกลุ่มของ Container ก็ได้ ในบางกรณีที่ต้องการทำ Load-Balance ของข้อมูล
    • Resource ของ Container นั้น ๆ ยกตัวอย่างก็เช่น Storage, Network และ IP
    • Config ต่าง ๆ ของ Container แต่ละอัน Run ยังไง ให้คุยผ่าน Pod ตัวไหน เป็นต้น
    ภากประกอบ 5 Kubernetes คือ
    What object can be included in pod
    (source : kubernetes.io)

     Part ll : Worker Node or Minion

    Worker Node or Minion เป็นเหมือนสำนักงานย่อย โดยแต่ละ Node มี Process ชื่อ Kubelet ไว้สื่อสารกับ Master Node และมี Docker ในตัว เพื่อ Run Container และเนื่องจาก Pod จะ  Run อยู่บน Node เสมอ นั่นหมายความว่า ในแต่ละ Worker Node นั้นสามารถประกอบไปด้วย Pod หลาย ๆ ตัวได้

    ภากประกอบ 6 Kubernetes คือ
    Many pods can be included in the same worker node
    (source : kubernetes.io)

    Part lll : Master Node

    Master Node เป็นเหมือนศูนย์บัญชาการ คอยสั่งการ Node ลูกต่าง ๆ (Worker Node & Minion) ว่าต้องทำอะไรบ้าง ดังนั้นเวลาทำการแก้ไขหรือ Deploy ติดตั้งอะไร จะสั่งการผ่าน Node นี้เท่านั้น

    ภากประกอบ 7 Kubernetes คือ

    จากรูปด้านบนจะเห็นการทำงานของ Master Node ชัดเจนมาก ว่าทำหน้าที่อะไรบ้าง ทั้งในส่วนของการติดต่อกับ API, การ Controller Node ต่าง ๆ ให้ทำงานตาม Config (ที่เรากำหนด Desired State ตอนไป Deployment) ของเราโดยอัตโนมัติ, การทำ Scheduler เพื่อควบคุม Workload ของแต่ละ Node และเป็นตัวที่จะควบคุมการติดต่อสื่อสารของ Node ทั้งหมดด้วย

    Anatomy of Kubernetes Node

    ถ้าเปรียบเทียบองค์ประกอบของ K8s อยากให้จินตนาการง่าย ๆ ประมาณว่า
    Pod = เซลล์, Worker Node = อวัยวะต่าง ๆ ในร่างกาย, Master Node = สมอง ประมาณว่าเซลล์หลาย ๆ เซลล์ (Pod) ประกอบขึ้นมาเป็นอวัยวะต่าง ๆ (Worker Node) โดยแต่ละอวัยวะทำหน้าที่ของตัวเองซึ่งแตกต่างกันไป และอวัยวะต่าง ๆ ในร่างกายนั้นสามารถที่จะทำงานร่วมกันได้ โดยมีสมอง (Master Node) เป็นตัวควบคุมสั่งการทุกอย่าง


    ReplicaSet

    มีหน้าที่หลักคือทำให้  Pod มีจำนวนเท่ากับตอนที่เราสั่ง สามารถควบคุมดูแลตาม Config ที่ทำ Deployment ให้เป็นไปอย่าง Automatic คือ หากมีจำนวนมากไปจากที่กำหนดให้ทำลายทิ้ง หรือหากน้อยไปให้สร้างเพิ่ม (Self- Healing) อีกทั้งยังสามารถใช้ในการทำ Auto-Scale เพื่อใช้ประโยชน์ได้ เช่น กำหนดลงไปใน Config ว่า หาก CPU Usage Over 80% ให้สร้าง Pod เพิ่มขึ้นมาอีก เป็นต้น  

    ภากประกอบ 8 Kubernetes คือ

     Services

    เนื่องจากการทำงานของ k8s นั้นต้องมีการ Self-Healing อยู่ตลอดเวลา ดังนั้น k8s จึงมี Service ที่ทำหน้าที่กระจาย Load Balance ไปยังแต่ละ Pod สามารถทำหน้าที่เป็น API Gateway ในตัว นั่นทำให้เวลาเกิดการ เพิ่ม/ลด ของ Pod ตัวที่ทำการเรียกมายัง Pod ดังกล่าว จะไม่รู้สึกเลยว่าหลังบ้านของ Pod มีการเปลี่ยนแปลง เพราะ มี Service เป็นกลไกการทำงานและเป็นตัวกลางสื่อสารให้เอง (ตัวกลางแบบ Client to Pod และ Pod to Pod )

    Services มีส่วนสำคัญในการทำให้การอัปเดตระบบไม่มี  Down Time (Zero Down Time)


    โดยใน Service มีการใช้ Labels
    ซึ่งตั้งค่าเอาไว้ที่ Config File (.yaml)  โดย Set Label ไว้ที่แต่ละ Pod และไป Set ที่ Service อีกทีว่าถ้าเรียก Service นี้ จะให้เชื่อมต่อไปยัง Pod ที่มี Label อะไรบ้าง ดังตัวอย่างในภาพด้านล่าง

    ภากประกอบ 9 Kubernetes คือ

    โดยจากภาพตัวอย่าง คือ ผู้ใช้สามารถที่จะใส่ Label ไว้ที่แต่ละ Pod ได้ หลังจากนั้นนำไปบอก Service ว่าใน Service นี้จะให้กระจายโหลดไปยัง Pod อะไรก็ตามที่มี Label = Prod และ Label = Be หลังจากนั้นจะกระจายโหลดไปตาม Pod ที่ Label เป็น Prod และ Be ให้เองได้เลย ถึงแม้ Pod นั้นมี Label ของเวอร์ชันอยู่ด้วยก็ตาม ทำให้เหมาะในเรื่องของการอัปเดตเวอร์ชันแอปพลิเคชัน

    แต่ถ้าต้องการใช้ Service เรียกแบบระบุเวอร์ชันจริง ๆ ให้ Set Label และระบุ Version ที่ตัว Pod ที่ตัวการ แล้วบอก Service ให้กระจายโหลดไปเฉพาะ Pod ที่มี Label เป็นเวอร์ชันที่กำหนดไว้เท่านั้น

     พร้อมลุยหรือยัง!

    หากศึกษาและพร้อมที่จะลุยกันแล้ว สามารถเลือกศึกษาข้อมูลเพิ่มเติมได้ตามลิงก์ด้านล่างนี้ได้เลย

    source [1] [2] [3]

    ติดตามข่าวสารใหม่ๆ หรือข้อมูลน่ารู้อีกมากมายได้ที่

      OpenLandscape Fanpage | https://www.facebook.com/openlandscapecloud/
      OpenLandscape Twitter | https://www.twitter.com/olscloud/
      OpenLandscape Cloud | https://openlandscape.cloud/

  • เปลืองเวลาเป็นวัน ๆ ไปทำไม ? ในเมื่อใช้ Docker ช่วยได้ !

    เปลืองเวลาเป็นวัน ๆ ไปทำไม ? ในเมื่อใช้ Docker ช่วยได้ !

    Docker คือ “Software Container”

    Docker คือ อะไร Docker นั้นถือเป็นหนึ่งใน “Software Container” ที่เป็นการสร้าง “สภาพแวดล้อมเฉพาะ” ให้กับซอฟต์แวร์ต่าง ๆ และทำให้ซอฟต์แวร์เหล่านั้น สามารถทำงานได้โดยไม่ไปรบกวนกับซอฟต์แวร์ตัวอื่น ในระบบปฏิบัติการเดียวกัน โดยคุณสามารถนำ Container ไปติดตั้งบนคอมพิวเตอร์หรือเซิร์ฟเวอร์เครื่องอื่น ๆ ได้เลยทันที โดยที่โปรแกรมในนั้นยังทำงานได้ตามปกติ ไม่ผิดเพี้ยนไปจากเดิม

     

    ยกตัวอย่างง่าย ๆ … เช่น ตอนที่คุณเขียนเว็บไซต์ขึ้นมาบนเครื่องของคุณเอง คุณสามารถปรับเปลี่ยน Setting ค่าต่าง ๆ หรือดาวน์โหลดอะไรมาติดตั้งเพิ่มอีกมากมาย เมื่อต้องการนำไปขึ้น Production บน Server ต้องทำการโยกเอาก้อนทั้งหมดนั้นไป ทำให้ต้องเสียเวลาทำ Config ทุกอย่างบน Server ใหม่อีกครั้ง และบางทีระหว่างดำเนินการอาจเกิดข้อผิดพลาด ข้อมูลไม่ครบ ไฟล์หาย ข้อมูลตีกัน ทำให้เสียเวลากลับไปค้นหาว่าเกิดปัญหาตรงส่วนไหน รวมถึงต้องแก้ไขอะไรบ้าง เพียงเท่านี้ก็ทำให้คุณรู้สึกเหนื่อยแล้วใช้มั้ย ?

    หยุด ! วงจรชีวิตยาก ๆ ด้วย Docker

    การใช้ “Docker” เข้ามาช่วยในการแพ็ค Software เหล่านี้ เพื่อให้อยู่ในรูปแบบของ Container หลังจากนั้น คุณสามารถนำ Container ไปรันบนเครื่องไหนก็ได้ โดย Application ของคุณยังทำงานได้ปกติ ไม่ว่าจะนำไปรันบนเครื่อง Development หรือบน Production Server ไหนก็ตาม


     เสกงาน 1 วัน ให้เหลือแค่ 1 ชั่วโมงด้วย

     

    ภาพประกอบ 1 docker คือ

     

    ในปัจจุบันมีผู้ให้บริการ Software Container ให้เลือกใช้บริการมากมาย แต่ Docker ได้รับความนิยมมากที่สุด เพราะใช้งานได้ง่าย ด้วย 3 Steps Build, Ship and Run ที่มีประสิทธิภาพสูง แถมยังมี Community ใหญ่มาก ทำให้มี Q&A มากมายตามมาในภายหลัง เมื่อคุณพบปัญหาอะไรก็ไม่ต้องลอยเคว้งคว้างกลางทะเลอยู่คนเดียว

    (Build) Dockerfile : คือการที่นำ Sourcecode + Config ที่รวบรวมคำสั่งทุกอย่าง ที่ใช้ในการ Run แอป และนำไปสร้างเป็นไฟล์ Docker Image 

    (Ship) Docker Image : คือไฟล์ Image ของ Application ที่สร้างมาจาก Dockerfile โดยสามารถนำ Image ไปรันบนเครื่องไหนก็ได้ที่มี Docker

    (Run) Docker Container : เป็น Container ที่มี Application ตาม Image ที่ติดตั้งไว้ และสามารถเรียกใช้งาน Application ได้โดยง่าย


     ประโยชน์ที่ได้จากการใช้ Docker

     

    ภาพประกอบ 2 docker คือ

     

    (1) Save Time : สามารถลงโปรแกรมเพื่อใช้งาน ได้ภายในไม่กี่วินาทีเท่านั้น
    (2) Save Cost : ประหยัดค่าใช้จ่ายมากขึ้นเพราะใช้ทรัพยากรน้อยลง
    (3) Save Data Storage : ประหยัดพื้นที่เก็บ และติดตั้งระบบได้รวดเร็วกว่าการทำ VM ถึง 90%
    (4) Easy to Scale : สามารถขยายระบบได้ง่าย เพื่อรองรับจำนวนผู้ใช้งานที่มากขึ้น และยังสามารถดึง Resource ของเครื่องมาใช้ได้เต็มประสิทธิภาพ ซึ่งต่างกับ VM ที่มักจะติดขีดจำกัดของเครื่อง
    (5) Environment Managing : ด้วยรูปแบบที่เป็น Image สำเร็จรูป  ทำให้เราสามารถติดตั้งโปรแกรม หรือตั้งค่าระบบ ได้ภายในเวลาไม่กี่วินาที และเพียงแค่ไม่กี่คำสั่งเท่านั้น
    (6) Portability : ทำให้ย้ายไประบบ IT infrastructure อื่น ๆ ได้ง่าย  ไม่ต้องเสียเวลา Setup โปรแกรมใหม่ทีละเครื่อง และช่วยลด Error ที่อาจเกิดจาก การนำระบบขึ้น Production
    (7) Reduce Time-to-Market : ช่วยลดเวลาการนำแอปพลิเคชันต่าง ๆ เข้าสู่ตลาด
    (8) Community Hub : ด้รับการพัฒนาและอัปเดตฟีเจอร์ใหม่เรื่อย ๆ มี Community สำหรับแลกเปลี่ยนข้อมูลต่าง ๆ มากมาย


    ใครที่เหมาะกับการใช้ Docker ?

    เนื่องจากการใช้ Container Software ไม่ใช่เรื่องยากหรือไกลตัวอีกต่อไป การนำมาใช้ ล้วนมีแต่ข้อดีและเป็นประโยชน์ ดังนั้นจึงไม่ใช่แค่เรื่องของ Developer หรือ System Admin อีกต่อไป แต่องค์กรเองต้องเข้าใจและเห็นความสำคัญของเทคโนโลยีนี้เช่นกัน


    เริ่มศึกษายังไงดี ?

    การศึกษา Docker สามารถหาข้อมูลได้ทั่วไปตามอินเตอร์เน็ต แต่การศึกษาและนำมาใช้งานอย่างถูกต้องและปลอดภัยนั้น ต้องใช้เวลาทำความเข้าใจพอสมควร แต่หากใครยังสงสัย ว่าการใช้งาน Docker ต่างกับ VM แบบเดิม ๆ ที่ใช้งานอย่างไร แล้วอยากเริ่มต้นด้วยตนเองง่าย ๆ OpenLandscape Cloud ขอแนะนำวิธีศึกษาการใช้งานเบื้องต้นด้วยการดาวน์โหลด E-Book ที่ทาง Docker ได้จัดทำไว้ได้เลยที่นี่

    โดยเนื้อหาใน E-Book จะประกอบไปด้วย

    • ทำไม Container ถึงไม่ใช่ VM
    • เราสามารถนำ Container และ VM มาใช้ร่วมกันได้อย่างไร
    • การใช้ Container บน Physical Server และ Virtual Machine นั้นแตกต่างกันอย่างไร
    • เริ่มต้นใช้งาน Docker และ Container

    Source : [1] [2] [3] [4]

    ติดตามข่าวสารใหม่ ๆ หรือข้อมูลน่ารู้อีกมากมายได้ที่

      OpenLandscape Fanpage | https://www.facebook.com/openlandscapecloud/
      OpenLandscape Twitter | https://www.twitter.com/olscloud/
      OpenLandscape Cloud | https://openlandscape.cloud/