คุณเคยประสบปัญหาเหล่านี้หรือไม่ ที่พอเปลี่ยนเครื่องทำงานใหม่หนึ่งครั้งก็ต้องมานั่งปวดหัวกับเรื่อง Environment หรืออยากทำงานแล้วใช้ Package ครั้งเดียวแต่ต้องมาลงอะไรวุ่นวาย หรือกระทั่งเขียนโปรแกรมที่ระบุระบบปฏิบัติการแล้วเราไม่มี
ปัญหาเหล่านี้จะหมดไปด้วยบริการใหม่ของ Microsoft – GitHub นั่นก็คือ Github Codespaces นั่นเอง ด้วยการใช้งานเซิฟเวอร์ปกติ บวกกับเทคโนโลยี Container เลยทำให้ Environment ของเพื่อนๆ ที่กำลังใช้อยู่นั้นเป็นเหมือนเดิมและพร้อมใช้งานอยู่ตลอดเวลาอีกด้วย
เนื้อหาอัพเดทแล้ว
สำหรับเพื่อน ๆ ที่สนใจใช้บริการ พร้อมกับค่าบริการที่ถูกต้องแล้วหล่ะก็ อ่านต่อได้ที่สตอรี รีวิว Github Codespaces: เครื่องไม่แรงก็โค้ดได้!
ทำไมต้อง Github Codespaces
จากปัญหาระดับโลกที่พอจะเปลี่ยน Repository ครั้งหนึ่งก็จะต้องไปดูแลว่าเดี๋ยวจะปน Environment กัน เลยมีระบบการจัดการ Package ของแต่ละภาษาโปรแกรมมิ่งที่จะทำให้แต่ละโปรเจ็กต์นั้นไม่มีความเกี่ยวข้องกัน แต่นี่คือวิธีใหม่ที่จะแยกทุกอย่าง (ทุกอย่างจริงๆ กระทั่งเครื่องให้บริการ) เพียงแค่เพื่อนๆ มีอินเตอร์เน็ตอยู่ตลอดเวลาเท่านั้นเอง
ไม่ต้องมาคอยจัดการ Package เองอีกต่อไป
ข้อดีของมันนั่นก็คือการที่เรานั้นไม่ต้องไปยุ่งวุ่นวายเกี่ยวกับการ Install Environment ที่เราอาจจะได้ใช้หรือไม่ได้ใช้อีก รวมไปถึงเพื่อนๆ ที่ใช้ Windows และมีความรู้สึกว่าการใช้ Linux กับโปรเจ็กต์นั้นดีกว่า การที่ GitHub Codespaces มีเซิฟเวอร์ Linux ให้เราใช้งานนั้นก็จะมาตอบโจทย์ในจุดนี้ครับ
และเมื่อไหร่ที่เราไม่ต้องการ Environment อันนี้แล้วก็แค่กดลบเท่านั้น ไม่ต้องจัดการอะไรมาก ไม่ต้องมานั่งลบ Package ที่เรา Install ไว้ในเครื่องเหมือนเมื่อก่อนอีกต่อไป ทำให้เราประหยัดเวลาในการมานั่งจัดการ Package ต่างๆ ที่อาจจะมีการเปลี่ยนแปลงไปในเครื่องอุปกรณ์ของแต่ละคนไปได้หมดจดเลย
ใช้งาน Codespaces จากที่ไหนก็ได้
กับอุปกรณ์ที่ยังไม่ได้ดาวน์โหลดพวก Text Editor หรือพวก Version Control ก็สามารถใช้ Github Codespaces ได้ เพราะครั้งนี้เราสามารถทำทุกอย่างผ่าน Internet Browser อย่าง Google Chrome, Firefox, Safari ได้เลย ไม่ต้องดาวน์โหลดอะไรเพิ่มเติม เป็นการเพิ่ม Elasticity ในการทำงานไม่ใช่น้อยเลยทีเดียวครับ
Github Codespaces = เครื่องคอม + ฟีเจอร์ของ Visual Studio Code
ใน Github Codespaces ก็เหมือนเป็นการให้บริการ Visual Studio Code บนเว็บไซต์ด้วยเครื่องให้บริการในลักษณะให้เช่าเลย ซึ่งนอกจากความน่าสนใจของ Codespaces แล้ว ฟีเจอร์ที่ขาดไปไม่ได้เลยนั่นก็คือ Extensions ที่ทำให้เราสามารถไปหาดาวน์โหดใส่ Visual Studio Code ได้ ทำให้เพื่อนๆ นั้นไม่พลาดกับฟีเจอร์ความฉลาดของพวก Extensions ไปเลย
สมัครใช้งาน GitHub Codespaces
เนื่องจาก GitHub Codespaces นั้นยังไม่เปิดให้เพื่อนๆ เข้ามาใช้งานอย่างเต็มรูปแบบ เลยต้องมีขั้นตอนในการขอใช้งานนิดหนึ่ง เพียงทำการเข้าไปยัง GitHub Codespaces (https://github.com/features/codespaces) เพื่อนๆ ก็จะเห็นหน้านี้ครับ
แล้วก็ทำการกดปุ่ม Request Early Access เพื่อขอ Early Access ให้กับบัญชีผู้ใช้งาน GitHub ที่ล็อคอินอยู่ครับ หากว่าทาง GitHub พร้อมให้บริการ GitHub Codespaces กับเพื่อนๆ แล้ว ก็จะมีอีเมล์ส่งมาให้เพื่อยืนยันการขอ Early Access และเพื่อนๆ ก็จะสามารถใช้งาน GitHub Codespaces ได้ทันที
วิธีการใช้ GitHub Codespaces ผ่าน GitHub.com
ขั้นตอนต่อไปก็ให้เพื่อนๆ ทำการกดไปที่ New Codespaces และเลือก Repository ที่ต้องการทำงาน และระบบก็จะทำการเปิด Codespaces อันใหม่ให้ โดยหน้าต่างก็จะขึ้นดังภาพประกอบด้านล่างนี้ครับ
สำหรับใครที่อยากไปเปิด Codespaces ผ่าน Visual Studio Code แทนบนเว็บเบราเซอร์ก็สามารถทำได้เลย ด้วยการกดที่ปุ่ม ‘Open in Visual Studio Code’ สีเขียวๆ นั่นแหละ แต่ถ้าไม่ได้เปิดในขั้นตอนนี้ก็ไม่เป็นไร เพราะก็สามารถเข้าไปเปิดผ่านหน้าเว็บ (ภาพประกอบด้านล่าง) ได้
ส่วนในเรื่องของ Interface ก็จะเป็นอะไรที่คุ้นเคย บวกกับถ้าว่าเพื่อนๆ เปิด Settings Sync เข้าไปด้วยแล้ว มันก็จะใช้ Profile ที่เราตั้งไว้ใน Visual Studio Code ให้มา apply ในหน้า Codespaces ด้วยเช่นกัน
วิธีการใช้ GitHub Codespaces ผ่าน Visual Studio Code
ขั้นตอนแรกคือการดาวน์โหลด Extension ที่ชื่อว่า Github Codespaces ผ่านหน้าแท็บ Extensions Marketplace โดยสิ่งที่จะขึ้นมาบนหน้าจอนั่นก็คือปุ่มสีเขียวมุมล่างซ้ายที่เป็นไอคอนเหมือน ><
และเมื่อเสร็จแล้วก็ให้ทำการกดที่ไอคอน >< และจะมีการถามหาว่าต้องการอะไร เช่น สร้าง Codespaces อันใหม่, เปิด Codespaces อันเดิม, ลบ Codespaces อันเดิม
ส่วนเราก็ให้ทำการสร้าง Codespaces ครับ และมันจะทำการถามว่าต้องการ Clone Repository อันไหน และด้วย Branch ไหน ก็ให้เลือกตามความต้องการได้เลยครับ
ประสบการณ์ในการใช้งาน
ในเรื่องของการเขียน code ผมก็รู้สึกถึงความหน่วงอยู่ประมาณหนึ่ง เนื่องจากว่า code นั้นก็ยังอยู่บน cloud ทำให้มันต้องพึ่งพากับการเชื่อมต่ออินเตอร์เน็ตอย่างเดียวเลย เช่นกันกับการพิมพ์คำสั่งบน Terminal ครับ ซึ่งตัวผมเองยังไม่มีความรู้สึกว่าการหน่วงนั้นเป็นปัญหากับการเขียนโค้ดแต่อย่างใด
แต่สำหรับความเร็วในการดาวน์โหลดพวก Package นั้น ผมถือว่ามันเร็วมากๆ เลยนะ เช่นกันแหละครับที่มันมาพร้อมกับการพึงพาอินเตอร์เน็ต แต่ครั้งนี้เป็นการพึ่งพากับเน็ตฯ ของเซิฟเวอร์นั้นๆ เลยทำให้มันรู้สึกเร็วเป็นพิเศษนั่นเอง
อีกทั้งว่าผมเป็นผู้ใช้งาน Windows แต่ก็ไม่ได้อยากใช้ Windows ในการ develop อะไรซักอย่าง ผมมักจะใช้ Ubuntu VM ในการพัฒนาทุกครั้ง แต่เมื่อมี Github Codespaces แล้วก็ทำให้ผมรู้สึกว่าผมสามารถทำงานบน Windows ได้แบบไหลลื่น ไม่จำเป็นต้องมีปัญหาเรื่อง Package วุ่นวายอีกต่อไป และก็ใช้หน้าต่างอื่นๆ เป็น Windows ได้เหมือนเคย
แล้วเรื่องราคาหล่ะ
ตอนนี้ Github Codespaces สามารถใช้งาน Instance ประเภท Standard ได้ฟรีพร้อมกันสูงสุด 2 อัน จนกว่าจะมีการเปิดตัวอย่างเป็นทางการ โดยประเภท Standard (ซึ่งมากับ CPU 4 core, 8GB RAM และ 32GB SSD) ก็เพียงพอแล้วสำหรับการใช้งานทั่วๆ ไป
ส่วนตัวแล้วการใช้ Standard ก็ทำให้ผมสามารถที่จะรันโค้ดและจัดการเรื่อง Dependency ได้ดีกว่าเครื่องคอมพิวเตอร์ที่ผมใช้เสียอีก ดังนั้นเพื่อนๆ ที่ต้องการลองใช้งาน GitHub Codespaces ก็ไม่ต้องเป็นกังวลว่าจะไม่เพียงพอต่อความต้องการหรือเปล่า
เนื้อหาอัพเดทแล้ว
สำหรับเพื่อน ๆ ที่สนใจใช้บริการ พร้อมกับค่าบริการที่ถูกต้องแล้วหล่ะก็ อ่านต่อได้ที่สตอรี รีวิว Github Codespaces: เครื่องไม่แรงก็โค้ดได้!
ประเภท Instance (Linux) | ราคา/ชั่วโมง |
---|---|
Basic (2 core, 4GB RAM, 32GB SSD) | ยังไม่ประกาศ |
Standard (4 core, 8GB RAM, 32GB SSD) | ฟรี (2 Environment) |
Premium (8 core, 16GB RAM, 32GB SSD) | ยังไม่ประกาศ |
โดยในอนาคตจะมีการเปิดตัว Instance ประเภทอื่นๆ และระบบปฏิบัติการอย่าง Windows ซึ่งน่าจะมีความชัดเจนในส่วนนี้หลังจาก GitHub CodeSpaces ออกจาก Public Early Access
แล้วตกลงคุ้มหรือว่าไม่คุ้ม
ซึ่งถ้าลองคำนวณดูแล้ว หากว่าเราทำงาน 20 วัน วันละ 7 ชั่วโมง (เนื่องจากว่า Codespace จะไม่นับเวลาตอนที่ไม่ได้ทำงานอยู่ (Idle) ) ก็จะตกเดือนละ 13.5 ดอลลาร์สหรัฐ (คำนวณจากการใช้เซิฟเวอร์ Basic) แต่นั่นก็คือราคาที่ท่านต้องจ่ายสำหรับการเช่า 1 server แต่ผู้ใช้งานหลายคนก็สามารถใช้งานเซิฟเวอร์เดียวกันได้พร้อมกันอยู่ดี ถ้าเรียกว่ามันเป็นค่าใช้จ่าย ผมมองว่ามันเป็นเงินที่จ่ายเพื่อลดปัญหาที่จะเกิดขึ้นเนื่องจากเครื่อง develop แตกต่างกัน ซึ่งก็อาจจะใช้เวลาเป็นวันในการแก้ไขหนึ่งครั้งเลยทีเดียว
ทำให้มุมมองของผมเองกับ Codespace นั้นไปในมุมมองที่ว่า Codespace เป็นบริการที่น่านำไปใช้งานกับองค์กรและพวกสตาร์ทอัพเป็นอย่างมาก เพราะบริการจะช่วยในเรื่องของ Growth Hacking ได้ดีเลยทีเดียว ลดเวลาปัญหาให้กับ dev และให้เวลากับการสร้างผลิตภัณฑ์ได้เป็นอย่างดี