แนวโน้มซอฟท์แวร์ยุคใหม่กับอุตสาหกรรมโทรคมนาคม (ตอนที่ 1)

2011-04-11
dr.jay jootar

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

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

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

โอเพนซอร์สซอฟท์แวร์: เวลาพูดถึงโอเพนซอร์สซอฟท์แวร์เรามักนึกถึง OpenOffice ซึ่งเป็นแอพพลิเคชั่นที่สามารถใช้งานแทน Microsoft Office ได้ จริงๆแล้วโอเพนซอร์สซอฟท์แวร์ที่มีความสำคัญและมีบทบาทอย่างสูงมีอยู่อีกมาก แต่ส่วนใหญ่ไม่ใช่ซอฟท์แวร์ที่ไว้ให้ End user ใช้งานแต่เป็นซอฟท์แวร์ที่เป็นส่วนประกอบเอาไปใช้สร้างแอพพลิเคชั่นให้ End user ใช้งานอีกต่อหนึ่ง

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

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

ภาษาคอมพิวเตอร์ยุคใหม่: ผมเชื่อว่าท่านผู้อ่านที่อยู่รุ่นเดียวกับผมที่ได้มีโอกาสได้เรียนการเขียนโปรแกรมภาษาคอมพิวเตอร์สมัยเรียนหลายๆคนคงมองการเขียนโปรแกรมเป็นเหมือนยาขม หลังจากเรียนจบไปแล้วก็อย่าได้มาพบเจอกันอีกเลย การที่หลายๆคนคิดอย่างนั้นเป็นเพราะภาษาคอมพิวเตอร์ในยุคเก่าอย่าง C, C++, Java นั้นเป็นภาษาที่ออกแบบมาเป็น"เครื่องมือที่สั่งคอมพิวเตอร์ให้ทำงาน" ด้วยแนวคิดนี้ทำให้ภาษาที่ออกแบบมานั้นจะมีรายละเอียดปลีกย่อยมากมายที่เกี่ยวกับวิธีการทำงานของคอมพิวเตอร์ ซึ่งปุถุชนเดินดินธรรมดาอาจจะรู้สึกผิดธรรมชาติเพราะวิธีที่คนคิดกับเครื่องทำงานนั้นค่อนข้างจะแตกต่างกันมากพอดู

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

ภาษาประเภทนี้ถึงขนาดทำให้คนธรรมดาที่ไม่ได้เป็นโปรแกรมเมอร์สามารถนำเอาความเชี่ยวชาญซึ่งอยู่ในหัวของเรานั้นทำออกมาให้อยู่ในรูปซอฟท์แวร์ได้ ซึ่งถ้าสามารถทำให้อยู่ในรูปซอฟท์แวร์ได้ก็หมายถึงเราสามารถขยายผลนำความเชี่ยวชาญของเรานั้นเอาไปต่อยอดให้เกิดผลในวงกว้างขึ้นได้ ทำธุรกิจต่อยอดได้มากขึ้น ตัวอย่างของภาษาประเภทนี้เช่น Python, Ruby เป็นต้น

ความสำคัญของภาษายุคใหม่พวกนี้คือการลดต้นทุนในการพัฒนา เนื่องจากเป็นภาษาที่ง่ายในการเรียนรู้ทำให้ระยะเวลาในการอบรมพนักงานลดลง เนื่องจากเป็นภาษาที่ง่ายในการเขียนทำให้ใช้ระยะเวลาในการพัฒนาสั้นลง มีการทำศึกษาหลายๆชิ้นพบว่าภาษายุคใหม่พวกนี้ทำให้ระยะเวลาการพัฒนาลดลงเมื่อเทียบกับภาษาแบบเดิมถึง 5-10 เท่า ลองคิดดูซิครับว่าถ้าต้นทุนในการทำธุรกิจลดลงถึง 5-10 เท่าจะมีผลอย่างไรกับธุรกิจท่าน

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

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

การใช้เฟรมเวอร์คช่วยประหยัดต้นทุนและระยะเวลาในการพัฒนาซอฟท์แวร์ได้อย่างมหาศาล โดยเฉพาะอย่างยิ่งในซอฟท์แวร์ที่รูปแบบที่ใช้กันบ่อยๆ เฟรมเวอร์คที่มีการใช้กันอย่างแพร่หลายมากที่สุดคือเว็บแอพพลิเคชั่นเฟรมเวอร์คซึ่งก็คือ เฟรมเวอร์คที่ใช้สร้างเว็บไซต์และเว็บแอพพลิเคชั่น ที่ดังๆเช่น CakePHP, Rails, Django นอกจากนี้ตัวอย่างในสมาร์ทโฟนคือโกโก้เฟรมเวอร์ค (Cocoa) ที่ใช้ในการพัฒนาแอพพลิเคชั่นบนเครื่องตระกูล iOS เช่น iPhone, iPad เป็นต้น

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

บทความนี้ได้มีการตีพิมพ์ใน Telecom Journal