Isriya Paireepairit / mk / markpeak
A Thai tech geek. Co-founder of Blognone and SIU. Blogging on almost everything.
บล็อกนี้เป็น followup จากที่คุยกับคุณ Chanwit ณ Manchester ทาง IM นำไอเดียมาพัฒนาต่อเป็นบล็อก (แต่ยังไม่ละเอียดขนาดเป็นบทความได้)
คุณ Chanwit ถามผมว่าคิดยังไงกับ Google App Engine
สารภาพตามตรงว่าตอนที่ตอบคือไม่รู้ ตอบไปมั่วๆ :P ผ่านไปวันสองวันมีเวลาทบทวน ความคิดเริ่มตกตะกอนขึ้นมาอีกนิด
ในแง่ผลิตภัณฑ์ App Engine คงไม่มีอะไรใหม่ ถ้าว่ากันตามจริงมันคือ Amazon Web Service (S3, EC2, SimpleDB) แบบรวมแพกเกจ โดยใช้เซิร์ฟเวอร์ของกูเกิลแทน อีกยี่ห้อที่พอยกมาเทียบได้คือ Grid-Service ของ MediaTemple
ในแง่ตัวเทคโนโลยีก็ไม่มีอะไรใหม่เช่นกัน App Engine เป็นการ leverage เทคโนโลยีหลายๆ อันที่กูเกิลพัฒนามานานแล้ว อย่างเช่น GWS (เว็บเซิร์ฟเวอร์ - Apache เวอร์ชันโมดิฟาย), GFS (file system), BigTable (database) ให้คุ้มค่าจ้างนักพัฒนา ส่วนฮาร์ดแวร์ยิ่งแล้วใหญ่ เป็นการ leverage เซิร์ฟเวอร์ฟาร์มของกูเกิล ที่ลงทุนไปแล้วมากมาย (ลดสัดส่วนของ fixed cost)
แต่ความน่าสนใจมันอยู่ตรงที่ความเป็นกูเกิลของ Google App Engine ซึ่งพอมารวมๆ กันแล้ว อาจเป็นสัญญาณบ่งชี้ได้ว่า Space Race ของ Software as a Service เริ่มขึ้นแล้ว
ปัจจุบันนี้เราเกือบพูดได้ว่า client-server นั้นตายแล้ว และ web application นั้นกินตลาดเกือบทั้งหมด แอพพลิเคชันใหม่ๆ ในยุค Web 2.0 อย่าง Gmail, GDocs, Salesforce, Basecamp นั้นพิสูจน์ตัวเองแล้วว่า web application ทำงานซีเรียสได้จริง และทำงานร่วมกันได้ (โดยส่วนใหญ่เป็น REST)
ปัญหาอยู่ที่กว่าจะพัฒนา web application ขึ้นมาจนกระทั่งมันติดต่อกันด้วย REST ได้นั้น ต้องมีรากฐานหรือ stack ที่สูงมาก นับตั้งแต่ระบบไฟใน data center ไปจนถึงเวอร์ชันของเฟรมเวิร์ค ซึ่งมองในแง่เศรษฐศาสตร์แล้ว cost มันสูงและซ้ำซ้อน
ธรรมชาติของปัญหานี้แก้ได้ด้วยการ consolidation หรือแชร์ทรัพยากรเพื่อให้ประสิทธิผล (efficiency) สูงขึ้น นำส่วนนี้ไปลด cost ซึ่งตัวอย่างที่เห็นกันทั่วไปอย่างเช่น ระบบขนส่งมวลชน หรือการสร้างห้องน้ำสาธารณะ สำหรับด้านไอทีเราเห็นการ consolidation กันมาหลายแบบหลายชั้น เช่น
ถ้าใช้กรอบของการ consolidation มามอง บริการอย่าง S3 ก็เสมือนเป็นชุดของ consolidation หลายๆ อย่าง ตั้งแต่ data center, server, os, package management, backup, load balance จนมาถึงระดับแอพพลิเคชันนั่นคือให้บริการ file system นั่นเอง
เพียงแต่สิ่งที่ App Engine ต่างออกไป คือนโยบายในการใช้งาน และข้อกำหนดในการสร้างเว็บแอพพลิเคชัน
ตอนนี้ App Engine ยังมีแต่รุ่นไม่คิดเงิน โดยให้พื้นที่และ CPU time เพียงพอต่อการใช้งานทั่วๆ ไปของคนส่วนใหญ่ (ซึ่งเราเดาได้ไม่ยากว่า อนาคตเวอร์ชันเสียเงิน จะออกมาสำหรับคนที่ต้องการใช้เกินลิมิต) สำหรับด้านแอพพลิเคชัน App Engine ใช้วิธีควบคุมสิทธิ์บางส่วน (เช่น รันใน sandbox) เพื่อแลกกับความง่ายในการดูแล (ซึ่งส่งผลให้เสถียรภาพของระบบโดยรวมดีขึ้น) ในขณะเดียวกันก็ไม่เข้มงวดจนถึงขั้น no compromise คือยอมให้รันไลบรารีอื่นๆ เองได้ตราบที่ไม่ขัดกับนโยบายเรื่อง Sandbox และอำนวยความสะดวกให้แก่นักพัฒนา โดยเตรียมเฟรมเวิร์คที่นิยมกันอยู่แล้วอย่าง Django มาให้เสร็จสรรพ
นโยบายและโปรโมชันของแต่ละเจ้าก็จะต่างกันออกไป อย่างของ Grid-Service ก็คล้ายๆ กันแต่เป็น Rails ส่วนของ EC2 เอง ถ้าจำไม่ผิดก็มีเวอร์ชันที่ลง RHEL มาให้พร้อมใช้งาน
ในยุคที่ซอฟต์แวร์ฝั่งเซิร์ฟเวอร์เป็นโอเพนซอร์สเกือบทั้งหมด ไม่มีใครได้เปรียบเหนือใครมากนัก (กูเกิลมี GFS แต่อีกไม่นานก็คงมีคนเอา Hadoop มาสู้) ปัจจัยชี้เป็นชี้ตายจึงมีอยู่ 2 เรื่อง คือ เสถียรภาพของเซิร์ฟเวอร์ กับ support
สำหรับเรื่องเสถียรภาพของเซิร์ฟเวอร์ ผมเคยเขียนไว้ในเรื่อง Red Shift ว่าสุดท้ายแล้ว จะมีแต่รายใหญ่เท่านั้นที่เหลือรอด เพราะการทำเซิร์ฟเวอร์ให้ดีๆ นั้นลงทุน fixed cost สูง (ค่าสถานที่ ค่าไฟ ค่า engineering expertise) และต้องอาศัย economy of scale ถึงจะอยู่รอด
ส่วนเรื่อง support นั้นเป็นประเด็นที่คุณ Chanwit ชี้ช่องมา คือตัวซอฟต์แวร์เป็นโอเพนซอร์ส ใครๆ ก็หามาใช้ได้อย่างเท่าเทียม แต่บุคคลากรและความเชี่ยวชาญนั้นเป็นอีกเรื่อง ความเชี่ยวชาญในตัวซอฟต์แวร์พอที่จะทำ commercial support ไม่ได้หากันง่ายๆ ช่วงหลังนี้เราจึงเห็นปฏิบัติการ "ซื้อแหลก" ของผู้เล่นรายใหญ่ในตลาดนี้ ตั้งแต่
ผมคิดว่าการซื้อกิจการกันไปมาจะยังมีต่อไปอีก 4-5 ปี เพราะยังเป็นตลาดใหม่ (แต่ไม่ใช่ใหม่กิ๊ง) จนถึงภาวะตลาดเริ่มสมดุล เหลือผู้เล่นรายใหญ่ไม่มากนักในช่วงหลังจากนั้น และคาดว่าใน list ข้างต้นที่ยกมา เราจะเห็นการดีลกันเองสัก 2-3 ดีลในไม่ช้า
ปัจจัยสนับสนุนสำคัญอีกประการหนึ่งคือมาตรฐานกลางของ virtual machine จะเห็นว่าใน list นี้มีบริษัทด้าน virtualization ถูกซื้อกันค่อนข้างเยอะ เนื่องจากมันเป็นเทคโนโลยีสำคัญของ SaaS (คือลบขีดจำกัดของ OS stack ที่ต่างกัน) แต่ virtualization เองก็ยังเป็นเทคโนโลยีที่เพิ่งเริ่มบูม vm ของแต่ละค่ายยังทำงานข้ามกันไม่ได้ เท่าที่จำได้ หลายยี่ห้อกำลังพยายามตกลงหามาตรฐาน vm กลางอยู่ ถ้าเห็นข่าวประกาศความสำเร็จด้าน vm กลางเมื่อไร แปลว่าเราใกล้ SaaS เข้ามาอีกขั้น เพราะตอนนั้นตลาด virtualization จะแข่งกันที่ประสิทธิภาพอย่างเดียวแล้ว
รู้สึกว่าชักออกทะเล ขอสรุปเลยละกัน
Space race อีกด้านที่น่าสนใจ คือเครื่องมือในการพัฒนา lightweight application แบบใหม่ๆ ไม่ว่าจะเป็น RIA (AIR, Silverlight) หรือมือถือ (iPhone, Android) ซึ่งจะหาเวลาและความขยันเขียนถึง
Add new comment