สวัสดีครับท่านผู้อ่านที่รักทุกท่าน ห่างหายไปนานมากเพราะช่วงปีที่ผ่านมางานล้นมือจริงๆครับ ไม่มีเวลามานั่ง Update ข่าวสารใน blog เลย (หรือข้อแก้ตัวหว่า อิอิ) เข้าเรื่องเลยแล้วกันครับ วันนี้ผมจะมาให้ความรู้ทุกท่านรู้จัก Windows Azure ครับ (อ่านว่า อะซัว) จริงๆ Microsoft เปลี่ยนชื่อเป็น Microsoft Azure แว้ว
Microsoft Azure คืออะไร Azure (อ่านว่า อะซัว) อย่าสะกดผิดนะครับ ฮ่าๆ เป็น Platform ระบบปฏิบัติการสำหรับระบบคลาวด์ คลาวด์คือ Service ของ Microsoft ที่เราไม่ต้องสนใจว่า Server อยู่ที่ไหน จะพังเมื่อไหร่ Microsoft ดูแลให้หมดครับและมี Datacenter อยุ่หลายที่ ทั้งเอเชีย ยุโรบ อเมริกา ของไมโครซอฟท์ (Microsoft) ไว้สำหรับรันโปรแกรม หรือ จัดเก็บข้อมูลแบบ Online ทำงานอยู่บนเครือข่าย อินเตอร์เน็ตความเร็วสูง สามารถรองรับรูปแบบประเภทของโปรแกรมได้หลากหลาย และขนาดของโปรเซสของโปรแกรมและปริมาณข้อมูลที่มีขนาดมหาศาล ผ่านระบบของ Cloud Computing (การทำงานด้วย Server หลาย ๆ เครื่อง) โดยบริการหลัก ๆ ก็เช่น Web Sites (ใช้สำหรับรันเว็บไซต์) , Virtual Machines (สร้าง VM Ware ทั้ง Windows และ Linux), Cloud Services (จัดเก็บข้อมูลและรันโปรแกรมต่าง ๆ ) , Mobile Services (จัดเก็บพวกข้อมูลที่เขียนร่วมกับ App มือถือ Smart Phone) และก็มี Service อื่น ๆ อีกหลายตัว โดยบริการ Cloud Service ดังกล่าวทั้งหมดนี้เราเรียกภายใต้ชื่อว่า Microsoft Azure
หน้าตา Windows Azure กับ Management Portal ไว้จัดการกับ Service ต่าง ๆ ครับ
การใช้งาน Microsoft Azure จะมาพร้อมกับเครื่องมือต่างๆ ที่ช่วยในการบริหารการจัดการระบบโดยอัตโนมัติ ทำให้เราไม่ต้องเสียเวลามากสำหรับการที่จะเรียนรู้หรือปรับระบบมาใช้กับ Azure ดังนั้นทำให้นักพัฒนาสามารถทุ่มเทกับการพัฒนาแอพพลิเคชั่นของตัวเองได้อย่างเต็มที่โดยไม่ต้องกังวลกับสภาพแวดล้อมว่าจะรองรับกับแอพพลิเคชั่นที่พัฒนาขึ้นหรือไม่และ Server ที่ Run App อยู่จะให้บริการได้อย่างต่อเนื่องหรือไม่ และ Microsoft Azureเป็นในลักษณะของ SaaS (Software As A Services) ใช้แค่ไหนก็จ่ายเท่าจำนวนเงินที่ใช้ ควบคุม Budget ได้ด้วยตัวเอง (เหมือนค่าน้ำค่าไฟครับ คือใช้มากจ่ายมากใช้น้อยจ่ายน้อย )
Windows Azure ออกแบบรองรับทั้ง Microsoft Visual Studio และมาตรฐานหรือภาษาโปรแกรมมิ่งต่างๆ ที่ได้รับความนิยม เช่น SOAP, REST, XML, Java, PHP และ Ruby ในการใช้งาน Windows Azure เราสามารถที่จะใช้งานด้วยการย้ายโปรแกรมของเราไปใช้งานบน Cloud ได้ทันที โดยไม่ต้องปรับแต่งหรือเรียนรู้สภาพแวดล้อมใหม่ เพราะเราสามารถเลือกที่จะใช้ Service ที่เราคุ้นเคยได้ เช่น Virtual Machines ในกรณีที่เรามีเว็บไซต์ที่รันด้วย Linux , PHP และ MySQL เราก็สามารถเลือกที่จะติดตั้งและใช้งาน Linux , PHP และ MySQL ได้เช่นเดิม เพียงแต่อาจจะปรับรูปแบบการเข้าถึงและจัดการเพียงเล็กน้อยเท่านั้น
ข้อดีของการใช้ Microsoft Azure
- เลือกใช้เฉพาะ Service ที่เราต้องการครับ เช่น Web Site , Virtual Machines หรือ Cloud Services หรืออื่น ๆอันไหนไม่ใช้ก็ไม่เสียค่าใช้จ่ายครับ
- จ่ายเฉพาะปริมาณที่ใช้ (เหมือนค่าน้ำค่าไฟหรือใครไม่จ่ายค่าไฟบ้างครับ ฮ่าๆ) สามารถกำหนด ค่าใช้จ่าย ควบคุมค่าใช้จ่ายที่เกิดขึ้นได้ สามารถขยาย-ลด ขนาดของทรัพยากรได้ตลอดเวลา
- ลดภาระการ Maintenance Hardware และการเสื่อมของ Hardware เพราะ Microsot Azure เป็นผู้ทำหน้าที่นี้เอง คือ ตรงจุดนี้น่าสนใจมากครับ คือเวลาที่เราจะ Run App สักระบบนึงสิ่งที่เราต้องมานั่งกังวลว่า Server จะ มีปัญหามั้ย ไฟจะดับมั้ย น้ำจะท่วมมั้ย แม้กระทั่งไฟจะใหม้หรือเปล่า ซึ่งปัญหาที่ผม List มานั้นมีทั้งมีมนุษย์สามารถควบคุมได้และควบคุมไม่ได้ ซึ่งตรงนี้ถ้าเราใช้ Microsoft Azure เราไม่ต้องกังลวเลยครับ เพราะ Azue จะดูแลให้เราหมดครับ ข้อแค่ internet เราใช้ได้ก็พอ
- ง่ายต่อการใช้งาน สามารถย้าย Application ของเราไปใช้งานบน Azure ได้อย่างง่ายดาย
ไม่ว่าจะภาษา .NET Java PHP Python และ Ruby หรืออื่น ๆ ก็สามารถนำ Application เหล่านั้นไปรันบน Windows Azure ได้ คือ หมายความว่า ถ้าเรามีระบบเดิมอยู่ ไม่ว่าจะเป็นการเขียนโปรแกรม หรือ Database แม้กระทั้ง VM เองเราสามารถนำข้อมูลของเราย้าย online ไปเก็บที่ Azure ได้ครับ
- ในกรณีที่พัฒนาด้วย .NET Framework จะมี Tool ที่สามารถ deploy publish ไปใช้บน Windows Azure แบบง่ายสุด ๆ (DEV หรือ โปรแกรมเมอร์คงชอบมากๆ)
- มีเครื่องมือที่สามารถจัดการกับ Service ต่าง ๆ ผ่าน Web Browser เช่น Management Portal ที่จะช่วยจัดการกับ Service ได้อย่างง่ายดาย
- รองรับขนาดของโปรแกรมที่ใหญ่ขึ้น โดยจำนวน Process จะขยายรองรับตามขนาดของโปรแกรมที่ใหญ่ขึ้น เพราะฉะนั้นโอกาสเกิด Load นั้นน้อยมาก
- Data Center เป็น International เพราะฉะนั้นจะเป็นผลดีในการเข้าถึงข้อมูลได้จากทั่วโลก การทำการตลาดของกลุ่มเป้าหมาย ในประเทศต่าง ๆ ได้ Ddata Center ของ Microsoft ถ้าใน เอเชียก็จะมี ที่สิงคโปร์ ฮ่องกง ครับ รวมถึงทางยุโรป อเมริกากด้วยครับ
- เพิ่มโอกาสทางธุรกิจในต่างประเทศ และรักษามาตรฐานการเชื่อมต่อกับข้อมูลที่เป็นมาตรฐาน
- ไม่ต้องกลัวข้อมูลศูนย์หาย เพราะ Microsoft Azure มี Node อยู่หลายแห่ง คือในกรณีที่เกิดปัญหาขึ้นกับแห่งใดแห่งหนึ่ง Node อื่น ๆ จะสามารถทำงานแทนกันได้ทันที บางครั้ง Downtime ที่เกิดขึ้น แม้แต่ วินาทีเดียวในบางบริษัทก็ทำให้เกิดการสูญเสียทางธุรกิจได้ครับ เพราะการติดต่อสื่อสารในบางบริษัทจะต้องสามารถติดต่อสื่อสารกันได้ 24 ชม
- อัตราการ Downtime หรือ Server ล่มนั้นน้อยมาก เพราะมีการรับประกัน Uptime 99.99%
มีมาตรฐานเรียบง่าย เชื่อถือได้ ปลอดภัยสูง และทรงพลังในการที่จะใช้งาน มั่นใจว่า Application จะได้
ทำงานในสภาพแวดล้อมที่ดีที่สุด ตรงจุดนี้เป็นข้อดีมากๆ ที่ Azure มีอยู่หลาย Node ถึงแม้ไฟ้จะให้ที่ Node ใด Node นึง (ผมสมมุติเฉยๆนะครับ ซึ่งเกิดขึ้นได้ยาก) ก็ยังมีอีกลาย node ที่สามารถทำงานได้เพราะข้อมูลถูกเรพพลิเคตถึงกันหมดครับ
สรุป Windows Azure เป็น Solution ที่เข้ามาจัดการในรูปแบบของ Application ที่ทำงานผ่านระบบ Internet ความเร็วสูง ที่ต้องการความเสถียร มาตรฐาน และความปลอดภัย ถ้าจะสรุปให้เข้าใจง่าย ๆ เช่น ปกติแล้วเรามีเว็บไซต์ หรือพื้นที่จัดเก็บข้อมูลบน Server เราก็จะต้องมี Domain และ Host / FTP แบบ Shared หรือใช้แบบ Delicate Server , VPS ซึ่งปัญหาที่เราพบเจอก็คือ ปัญหาการล่มของเว็บไซต์ อาจจะเกิดจาก ปัญหาจาก Data Center , Server หรือ ปัญหาจากการโหลดของ Server เนื่องจากโปรแกรมและ Database มีขนาดใหญ่ขึ้น และปัญหาอื่นของ Data Center ในประเทศไทยที่เจอประจำคือ ไฟดับ แอร์ไม่เย็น และทางด้านเน็ตเวิร์ค ซึ่งปัญหาทั้งหมดนี้ Windows Azure ก็เป็นทางเลือกหนึ่งที่น่าสนใจ และจะเป็นเทคโนโลยี่ในอนาคตที่น่าสนใจมาก ครับ