ในยุคที่ทุกสิ่งทุกอย่างขยับขึ้นไปอยู่บนกลุ่มเมฆ ท่าทีของบริษัทไอทีหลายๆ แห่งก็ชัดเจนว่าไม่พลาดกระแสนี้ สำหรับยักษ์ใหญ่อย่างไมโครซอฟท์ เราเห็นความพยายามผลักดันแพลตฟอร์มอย่าง SkyDrive/Office 365/Azure มาสักระยะหนึ่งแล้ว ความพยายามนี้เริ่มชัดเจนตอนที่ Windows Server 2012 เปิดตัว เพราะไมโครซอฟท์ประกาศว่าเราเข้าสู่ยุคของ Cloud OS เต็มตัว
ผมมีโอกาสสัมภาษณ์คุณ Zane Adam ผู้บริหารระดับสูงของไมโครซอฟท์ที่ดูแลเรื่องยุทธศาสตร์กลุ่มเมฆโดยตรง (ตำแหน่งอย่างเป็นทางการคือ Senior Director, Cloud and Platform Strategy) คุณ Zane บินมาพูดในงานสัมมนาที่เมืองไทยพอดี เลยถือโอกาสสอบถามว่าจริงๆ แล้วไมโครซอฟท์คิดหรือมีแผนการอะไรกับกลุ่มเมฆกันแน่
คุณ Zane บอกว่าแนวคิดของกลุ่มเมฆไม่ใช่เรื่องใหม่ มันเป็นพัฒนาการของวงการไอทีที่ต้องการแก้ปัญหาด้านโครงสร้างพื้นฐานในการประมวลผล ในอดีตเซิร์ฟเวอร์ส่วนมากมักวางเสปกให้แรงเกินความต้องการเฉลี่ย (over allocate) เพื่อรองรับกรณี peak load ที่นานๆ จะเกิดขึ้นที ผลก็คือเซิร์ฟเวอร์ส่วนใหญ่กลับถูกใช้งานไม่คุ้มศักยภาพ (underutilized ไม่ถึง 10% ด้วยซ้ำ) และการวางสเปกแรงก็ทำให้งบประมาณเกินอีกด้วย
ปัญหาข้างต้นแก้ด้วยเทคโนโลยีด้าน virtualization ที่เข้ามาช่วยเรื่อง utilization และงบประมาณ นอกจากนี้การรันเครื่องเสมือนก็มีผลพลอยได้เรื่องความสะดวกในการบริหารจัดการอีกด้วย
พอมาถึงยุคของกลุ่มเมฆ คนส่วนใหญ่มักคิดถึง Amazon EC2 เป็นหลัก แต่รูปแบบการใช้งานของ EC2 เป็นการนำคอมพิวเตอร์ตามท้องตลาด (commodity hardware) มารันระบบปฏิบัติการทั่วๆ ไปอย่างลินุกซ์ ทุกอย่างอยู่บน virtualization ที่ดูแลโดย Amazon อีกทีหนึ่ง
ปัญหาของกลุ่มเมฆแบบของ Amazon คือไม่ยืดหยุ่นพอ เนื่องจากมีข้อจำกัดที่ขนาดของ virtual machine รวมไปถึงการย้ายงานข้ามศูนย์ข้อมูลหรือข้ามประเทศ ซึ่งต้องเปลี่ยนวิธีคิดและวิธีการออกแบบระบบปฏิบัติการอย่างมาก ซึ่งไมโครซอฟท์พยายามแก้ปัญหานี้ด้วย Azure ที่วางตัวเองเป็น platform as a service (PaaS) มองการประมวลผลทั้งองค์รวมเป็นเสมือนระบบปฏิบัติการหนึ่งตัว แล้วให้แอพพลิเคชันมาทำงานบน Azure อีกที ปัญหาเรื่องการขยายตัวเพื่อรองรับโหลดแบบเดียวกับใน infrastructure as a service (IaaS) จึงหมดไป
แพลตฟอร์ม Azure ของไมโครซอฟท์ไม่ได้สนใจแค่วินโดวส์ แต่ต้องการนำระบบประมวลผลทุกอย่างย้ายขึ้นไปอยู่บนกลุ่มเมฆให้หมด ซึ่งผลิตภัณฑ์ของไมโครซอฟท์เองอย่าง SQL Server หรือ SharePoint ก็ย้ายไปอยู่บน Azure เช่นกัน
แต่คำว่า "ทุกอย่าง" ของไมโครซอฟท์ไม่ได้จำกัดแค่ผลิตภัณฑ์ของตัวเอง เมื่อไม่นานมานี้เราจึงเห็นข่าว Windows Azure รองรับแพลตฟอร์มคู่แข่งทั้ง Linux/Python/Java ด้วย
ผมถามคุณ Zane ว่าไมโครซอฟท์ต้องการอะไรกันแน่ ถึงได้เปิดให้แพลตฟอร์มไอทีคู่แข่งมารันบน Azure ได้ด้วย ซึ่งคำตอบของคุณ Zane ก็คือในแง่ธุรกิจแล้ว ลูกค้าจะใช้แพลตฟอร์มไหนก็ตามบน Azure ไมโครซอฟท์ก็มีรายได้จากค่าเช่าบริการอยู่ดี ซึ่งการเปิดให้แพลตฟอร์มที่หลากหลายสามารถทำงานได้บน Azure ยิ่งทำให้ Azure มีความน่าสนใจในสายตาของลูกค้ามากขึ้น
คุณ Zane บอกว่าวิธีคิดของไมโครซอฟท์คือมอบ "โครงสร้างพื้นฐาน" ที่เสถียรและมีประสิทธิภาพให้ แล้วผู้ใช้มีสิทธิเลือกเองว่าจะรันอะไรบนนั้นอีกที ไมโครซอฟท์ยุคนี้มองว่าทุกอย่างเป็นเรื่องของ choice ที่คุณ Zane ย้ำกับผมอยู่บ่อยครั้งตลอดการสัมภาษณ์
แต่ตัวคุณ Zane เองยอมรับว่าไม่ใช่ทุกคนที่ต้องการขึ้นกลุ่มเมฆในตอนนี้ (ส่วนอนาคตไม่แน่) ดังนั้นยุทธศาสตร์ผลิตภัณฑ์ของไมโครซอฟท์ในปัจจุบันจึงเป็นการตอบโจทย์ทั้งกลุ่มเซิร์ฟเวอร์ภายในองค์กร (on premise/private cloud) และบริการกลุ่มเมฆบนอินเทอร์เน็ต (private cloud)
สิ่งที่เราเห็นในช่วง 2-3 ปีนี้จึงเป็นการวาง stack ของเทคโนโลยีแบบขนาน (ดูภาพประกอบ) ฝั่งที่เป็นเซิร์ฟเวอร์ภายในองค์กรแบบเดิมๆ ก็อิงบน Windows Server ในขณะที่ฝั่งกลุ่มเมฆอยู่บน Windows Azure โดยไมโครซอฟท์พยายามให้บริการหรือแอพที่อยู่บน stack ทั้งสองนี้เป็นตัวเดียวกันให้มากที่สุดเท่าที่เป็นไปได้ ใช้เครื่องมือบริหารจัดการตัวเดียวกัน เพื่อช่วยอำนวยความสะดวกของลูกค้าในการย้ายแอพหรือข้อมูลของตัวเองข้ามไปมาระหว่าง stack ได้ตามต้องการ
นี่จึงเป็นเหตุว่าช่วงหลังๆ ไมโครซอฟท์มีผลิตภัณฑ์คู่ขนานตลอดเวลา เช่น
วิธีคิดของไมโครซอฟท์จึงเป็นว่า "จะมาแบบไหน เรารับได้หมด" นั่นเอง แอพเดิมๆ ขององค์กรหรือที่เรียกว่า legacy application สามารถรันบนเซิร์ฟเวอร์แบบเดิมๆ หรือจะเช่า virtual machine แบบ IaaS บน Windows Azure ก็ได้ ส่วนแอพที่จะพัฒนาขึ้นมาใหม่และต้องการให้ยืดหยุ่นพอสำหรับอนาคต ไมโครซอฟท์ก็แนะนำให้เขียนบน Azure แบบ PaaS
คุณ Zane บอกกับผมว่านอกจาก "ความครบครัน" ในแง่แพลตฟอร์มที่ไมโครซอฟท์มีให้แล้ว สิ่งที่ไมโครซอฟท์มั่นใจว่าทำได้ดีคือเสถียรภาพและประสิทธิภาพของกลุ่มเมฆ ซึ่งเป็นผลมาจากประสบการณ์ด้านเซิร์ฟเวอร์ในศูนย์ข้อมูลมากว่า 20 ปี และประสบการณ์สร้างบริการบนกลุ่มเมฆที่มีคนใช้เยอะๆ อย่าง Xbox Live ทำให้บริษัทมีความเชี่ยวชาญด้าน high availability มาก ทั้งการทำงานข้ามเซิร์ฟเวอร์ ข้ามคลัสเตอร์ และข้ามศูนย์ข้อมูล
ตัวเลขของไมโครซอฟท์บอกว่ามี CDN ในทุกภูมิภาคสำคัญของโลก เพื่อช่วยลดปัญหา lag และ latency (ใกล้สุดอยู่ที่สิงคโปร์) ผมลองถามไปว่ามีแผนการเปิด CDN ของ Azure ในไทยหรือไม่ คำตอบที่ได้คือขึ้นกับปริมาณลูกค้าในประเทศนั้นๆ เป็นหลัก ถ้าคนไทยใช้ Azure เยอะจริงก็มาแน่นอน
ตัวอย่างลูกค้าไทยที่ใช้ Azure ในปัจจุบันคือบริการอีบุ๊ก OOKBEE และ Semantic Touch ผู้สร้างระบบอีคอมเมิร์ซ BentoWeb (BentoWeb สร้างด้วย LAMP ที่ทำงานบน Azure อีกทีหนึ่ง)
คุณ Zane บอกว่าเขาไม่กลัวคู่แข่งที่เป็นแพลตฟอร์มกลุ่มเมฆแบบ IaaS อย่าง Amazon เลย เพราะต่อให้ลูกค้าไม่ใช้ Azure และหันไปเช่าเครื่องบน EC2 ไมโครซอฟท์ก็ได้เงินจากลูกค้าของ EC2 บางส่วนที่เลือกใช้ระบบปฏิบัติการวินโดวส์อยู่ดี
คุณ Zane ปิดท้ายอย่างน่าสนใจว่าเทคโนโลยีกลุ่มเมฆมักถูกมองว่าช่วยลดค่าใช้จ่าย และขยายความสามารถในการรับโหลดเป็นหลัก แต่จริงๆ แล้วมันมีประโยชน์ในเรื่องการขยายบริการท้องถิ่นออกไปสู่โลกกว้างด้วย เพราะบริการอย่าง OOKBEE ถ้าไม่อยู่บน Azure และต้องการขยายตลาดในต่างประเทศ (เช่น ข่าว OOKBEE ไปมาเลเซีย) การทำระบบศูนย์ข้อมูลและโครงสร้างในต่างประเทศนั้นไม่ง่ายและต้องใช้เวลา แต่ในยุคของกลุ่มเมฆแบบนี้ก็สามารถให้บริการลูกค้าในต่างประเทศได้ทันที
Comments
"คุณ Zane บอกว่าเขาไม่กลัวคู่แข่งที่เป็นแพลตฟอร์มกลุ่มเมฆแบบ IaaS อย่าง Amazon เลย เพราะต่อให้ลูกค้าไม่ใช้ Azure และหันไปเช่าเครื่องบน EC2 ไมโครซอฟท์ก็ได้เงินจากลูกค้าของ EC2 บางส่วนที่เลือกใช้ระบบปฏิบัติการวินโดวส์อยู่ดี"
มีแต่ได้กับได้จริงๆ
ชอบย่อหน้าสุดท้ายจริงๆ ครับ "เรื่องการขยายบริการท้องถิ่นออกไปสู่โลกกว้าง"
IaaS นี่ Infrastructure as a service รึเปล่าครับ
ใช่ครับ
ใช่ครับ
ถ้าบรอดแบรนด์ในประเทศไทยดีกว่านี้ อัพโหลดได้เร็ซกว่านี้ คงจะได้ใช้ระบบคลาวด์ได้คุ้ม
ดูรูปที่ตั้ง datacenter แล้วคิดถึง ring of fire
Windows Azure = Web Hosting หรือ Sharing ใช่ไหมครับ
Microsoft Cloud หมายถึง การฝาก Application ไว้ที่ Hosting, Sharing หรือ Data Center
Windows Server 2012 คือ การรองรับในการเพิ่ม CPU, Memory และ Virtual Machine เพื่อเพิ่มจำนวนการ Sharing ให้มากขึ้น ซึ่งหมายถึงการเพิ่มศักยภาพให้ Windows Azure ด้วย
กลุ่มเซิร์ฟเวอร์ภายในองค์กร (on premise/private cloud) และบริการกลุ่มเมฆบนอินเทอร์เน็ต (private cloud)
แก้เป็น
กลุ่มเซิร์ฟเวอร์ภายในองค์กร (on premise/private cloud) และบริการกลุ่มเมฆบนอินเทอร์เน็ต (public cloud)
ไม่นึกเลยว่าจะไปตั้งศูนย์ที่ Papua New Guinea ว่าแต่ทำไมไปที่นี่หล่ะมีข้อดีตรงไหนนะ
ช่วงนี้ Azure ทำตลาดในกลุ่ม startup บ่อย บอกว่ารองรับ opensource ด้วย ถ้าใช้ virtual machine จะลงอะไรก็ได้เลย
กำลังเขียนเว็บไซต์ใหม่พอดี เบื่อ EC2 กำลังจะหาที่ใหม่ฝากชีวิต เข้าไปเปิดแอคเคาน์ Azure จะทดลองใช้ หน้าตากับเสป็คดูดีมาก เริ่มถูกใจ แต่พอเจอ tutorial + documentation มีแต่ .NET ผมร้องจ๊าก หนีไปใช้ Google App Engine + Django ทันที
ทั้งๆ ที่จริงๆ แล้วถ้าจะให้แฟร์ GAE นี่มัน lock in หนักกว่า Azure อีก แถมยังบังคับโฮสต์แอปในอเมริกาด้วยซ้ำ แต่ไม่รู้ทำไมแฮะ รู้สึกวางใจมากกว่าการจะเลือกใช้ solution ของไมโครซอฟท์ สงสัยเพราะกลัวแนวคิดแบบที่คุณ Zane ว่า "ต่อให้ลูกค้าไม่ใช้ Azure และหันไปเช่าเครื่องบน EC2 ไมโครซอฟท์ก็ได้เงินจากลูกค้าของ EC2 บางส่วนที่เลือกใช้ระบบปฏิบัติการวินโดวส์อยู่ดี"
แนวคิดแบบนี้ (ที่สะท้อนออกมาให้เห็นตั้งแต่ documentation) ทำให้ผมรู้สึกว่า ต่อให้ใช้ GAE แล้วติดปัญหา หรือต้องการ migrate ก็ยังมี community support คอยช่วยเหลือกันเองอยู่ แต่ถ้าใช้กับไมโครซอฟท์แล้ว ต้องการ support ต้องวิ่งเข้าหาไมโครซอฟท์อย่างเดียว ซึ่งบริษัทเล็กๆ ที่ทำงานอย่างกองโจรแบบผม ไม่ต้องการวุ่นวายกับ enterprise solution แบบนั้น
สรุป ผมคิดว่าไมโครซอฟท์ยังไม่ประสบความสำเร็จในการซื้อใจนักพัฒนานะ (นี่เป็นความรู้สึกส่วนตัวล้วนๆ) แต่จริงๆ แล้ว dev ขนาดเล็กแบบผม อาจไม่ใช่ลูกค้าเป้าหมายของเขาก็ได้ ไม่รู้เหมือนกัน
คิดว่าเป้าหมายหลักของ MS คงเป็น Mid/Laege Enterprise แหละครับ เจ้านี้ไม่ค่อยมองอะไรเล็กๆ
แล้วรูปแบบการ support แบบนี้ไม่เหมาะกับองค์กรขนาดเล็กจริงๆเหมือนขี่ช้างจับตั๊กแตน แต่กับองค์กรขนาดกลางขึ้นไปมันเป็นอะไรที่เหมาะกว่า community support เช่นกัน
น่าจะเป็นแบบนั้นแหละครับ
แต่สมัคร Azure ไปแล้วเซอร์ไพรส์อยู่เหมือนกัน ที่ไม่กี่วันถัดมามีเมลจาก support แบบ assign ชื่อพนักงานซัพพอร์ตมาให้เลย (เหมือนคอนแทคขายประกัน ยังไงยังงั้น) แถมชวนให้โทรไปคุยด้วย ขึ้นหัวเมลมาว่า direct phone support number (แต่ไม่ยักกะมีเบอร์โทรให้ =_=)
ก็ถือว่าเป็นความพยายามที่ดีครับ แต่ผมก็ยังคิดว่า ถ้ามี doc ดีๆ ให้ ผมคงแก้ปัญหาอะไรได้เร็วกว่าพยายามคุยกับ support อยู่แล้ว (ใน scale เล็กๆ นี้ ปัญหาส่วนมากอยู่ที่ตัวเราเองทั้งนั้น) ซึ่งตรงนี้ยังเป็นจุดอ่อนของไมโครซอฟต์ครับ ในขณะที่คู่แข่งทางกูเกิลนั้น ออกโปรดักส์มาไม่ทันไร ก็มี community ช่วยเขียน tut, doc ให้เพียบ อยากพอร์ตกับอะไรมีคนทดลองมาหมดแล้ว ทำตามอย่างเดียว สบาย
แต่ถ้าเป็นองค์กรใหญ่ๆ หน่อย ที่พนักงานเข้าเช้าออกเย็น เว็บเจ๊ง แอปช้า ไม่ใช่หน้าที่กรู การพึ่งพา support จากไมโครซอฟท์ก็คงสะดวกและจำเป็นกว่าจริงๆ นั่นแหละครับ
มี offer ให้รายย่อยเหมือนนี่.. นอกจากบาง service จะมีตัวฟรีให้แล้ว (เช่น azure website) ส่วนอื่นๆ ที่เหลือยังมีโควต้าให้ทดลองใช้ได้ 3 เดือน แล้วถ้าไปสมัคร websitespark นี่ต่อโควต้าเพิ่มได้อีกปีนึง [www.windowsazure.com/en-us/pricing/member-offers/websitespark-benefits/]
ส่วนเรื่องฝ่าย support นั่นเค้าเขียนมาบอกว่าถ้าสนใจจะโทรคุยให้เมลไปบอกเบอรและนัดเวลาก่อน จากนั้นเค้าถึงจะโทรกลับมาอีกทีนินา ไม่ใช่ว่าเราโทรไปได้ทุกเมื่อ คือเค้าแจ้งชื่อตัวเองเฉยๆ ไม่ใช่ว่าถูก assign ชื่อมาผูกกับเราแบบพวกประกัน (โหมดนั้นมีแต่ต้องจ่ายเงินเพิ่ม เข้าใจว่างั้นนะ ไม่ได้ตอบกลับเค้าเหมือนกัน ไม่มีไรจะคุยเพราะไม่ติดอะไร ใช้มาค่อนปีมีพึ่ง support หนเดียวตอนจะขอย้าย subscription กับ account ที่ผูกอยู่กับ instance)
ถ้าใช้ ecosystem ของ microsoft อยู่ ส่วนตัวคิดว่า official doc มันโอเคอยู่แล้วนะ ส่วน community แม้ไม่ active เท่าฟากกูเกิล แต่พวกคนใน forum ของ msdn กับ stackoverflow นี่ตอบไวเหมือนกัน ไม่ใช่ว่าเงียบร้าง.. ส่วน ecosystem อื่นๆ (เช่น php, java) ยังไม่ได้ลองกับ azure เลยขอ no comment
โอ้ความรู้ใหม่เลย ขอบคุณครับ
ถ้ายังไม่ได้สมัคร ต้องขอแสดงความเสียใจด้วยด้วยครับ.. เค้าพึ่งเลิกรับสมัคร websitespark หมาดๆ เลย
(www.zdnet.com/microsoft-shutters-its-websitespark-developer-program-7000012481/)
ส่วนใครที่สมัครไว้แล้วยังใช้ได้ต่อจนหมดอายุ.. หรือเผลอๆ ต่อยาวไปหมด มีนา 2014 เหมือนกันหมด (ไม่แน่ใจ ยังไม่ได้อ่านแบบละเอียด แล้วก้อไม่แน่ใจด้วยว่าจะมี program อะไรมาทดแทนมั้ย ขออภัยด้วยครับ)
ผมเคยได้ Call ตรงจาก Azure Team จาก UK แต่พอดีว่าตอนนั้นไม่สะดวก เค้าเลยอีเมลมาขอติดต่อกลับ แต่ลืมไม่ได้ติดต่อกลับ ผ่านไป 1 เดือน ก็เมลมาสอบถามว่ามีอะไรจะให้ช่วยหรือเปล่า ใช้งานเป็นอย่างไรบ้าง แต่ก็ยังไม่ได้ติดต่อกลับ เค้าคงเฟลไปแล้วมั้ง (แต่อยากให้ช่วยขอส่วนลดให้หน่อย ฮาๆๆๆ)
เรื่อง document อันนี้เห็นด้วยครับ เพราะตัวเองก็ใช้ Linux บน Azure แต่หา docs ยากเหลือเกิน แถม docs บางตัวไม่ทันสมัยและทันกับระบบที่เปลี่ยนไป ต้องใช้กำลังภายในพอสมควร แต่โชคดีที่ผมใช้ .Net เป็นด้วย เลยพอจะเดาๆ แปลงๆ มาใช้กับ Linux ได้อยู่เนืองๆ
ฮ่าๆ พูดแล้วนึกถึงสมัยเด็กๆ ไม่มีกูเกิลไม่มี Stack Overflow ต้องใช้ซีดี MSDN จากพันทิป อ่านยากชิบเป๋ง เป็นความหลังฝังใจมาจนถึงทุกวันนี้
โหสุดยอดครับ ท่าน
@ Virusfowl
I'm not a dev. not yet a user.