วันศุกร์ที่ 18 พฤศจิกายน พ.ศ. 2559

รู้จักกับ Microsoft Azure (IaaS) Part 1

     สวัสดีครับทุกท่านสำหรับบทความของผมตอนนี้จะเป็นเรื่องราวของ Introduction To Microsoft Azure (IaaS) โดยผมจะอธิบายตั้งแต่คอนเซปของ Cloud ที่มาที่ไปต่างๆ จนมาถึงตัวของ Microsoft Azure ครับ และเพื่อไม่ให้เป็นการเสียเวลาเรามาเริ่มกันเลยครับผม


บทที่ 1:  ทำความรู้จักกับ Cloud Computing

ก่อนที่จะพาทุกท่านไปทำความรู้จักกับ Microsoft Azure   ผมอยากจะอธิบายเรื่องราวและที่มาที่ไปของ Cloud รวมถึงรายละเอียดต่างๆ ที่สำคัญเพื่อเป็นการวางพื้นฐานความรู้และความเข้าใจให้ท่านผู้อ่านได้ทราบกันเสียก่อนครับ  ณ ปัจจุบันนี้หลายๆ องค์กรเริ่มให้ความสนใจ, วางแผนและเตรียมพร้อมสำหรับการปรับปรุงพัฒนาระบบไอทีที่มีอยู่ในดาต้าเซ็นเตอร์ที่มีอยู่ให้รองรับกับเทคโนโลยี Cloud Computing   โดยเมื่อไม่กี่ปีที่ผ่านมาองค์กรได้นำเอาเทคโนโลยี Virtualization เข้ามาใช้งานใน Datacenter โดยนำเอาแนวคิดการยุบเครื่อง Physical ที่เป็นเซิรฟเวอร์มาเป็น Virtual Machines เพื่อช่วยองค์กรให้สามารถใช้ทรัพยากรของระบบ (ซีพียู, แรม, ดิสก์ และอื่นๆ ) ได้อย่างมีประสิทธิภาพและลดค่าใช้จ่ายในการบริหาร, จัดการและตลอดจนการดูแลรักษา  และจากยุคของ Virtualization ได้ไม่นานก็เข้าสู่ยุคของ Cloud Computing ซึ่งมีแนวคิดหลักในการบริหารและจัดการทรัพยากรได้อย่างมีประสิทธิภาพและมีความยืดหยุ่นเพื่อรองรับกับความต้องการทางธุรกิจได้อย่างทันเวลา  ดังนั้นเรื่องราวของ Cloud จึงเป็นเริ่มเป็นสิ่งที่หลายๆ องค์กรเริ่มหาข้อมูลศึกษากันอย่างจริงจัง เพื่อที่จะวางแผนที่จะนำเอาแนวคิดและเทคโนโลยี Cloud เข้ามาปรับเปลี่ยนและพัฒนาดาต้าเซ็นเตอร์ให้มีความทันสมัยและมีความยืดหยุ่นในการบริหารและจัดการ และสามารถรับมือกับการเปลี่ยนแปลงรวมถึงความต้องการทางธุรกิจได้อย่างรวดเร็ว

Cloud Computing คืออะไร?

ก่อนอื่นเรามาทำความรู้จักกับคำว่า “Cloud Computing” กันก่อนครับ  มันคือแนวคิดในการรวบรวมเอา Computing Resources และ Services  (ไม่ว่าจะเป็นเครื่องเซิรฟเวอร์, เน็คเวิรค์, สตอเรจ, เว็ปเซิรฟเวอร์, ดาต้าเบส และอื่นๆ อีกมากมาย) มาอยู่ในที่เดียวกันหรือใน Pool เพื่อทำการบริหารและจัดการโดยผู้ให้บริการ (Cloud Service Vendors) และถูกใช้หรือใช้บริการโดยผู้ใช้บริการ (Tenants)  และให้บริการผ่านทางอินเตอร์เนต
จากคำนิยามข้างต้น ต้องบอกว่าอันที่จริงแล้วคำนิยามของ Cloud Computing นั้นมีอยู่มากมายครับ  แต่สำหรับผมแล้วผมได้พยายามเรียบเรียงให้ท่านผู้อ่านสามารถทำความเข้าใจได้ง่ายว่า Cloud Computing คือ  รูปแบบหรือแนวคิดของการนำเอาทรัพยากรหรือ Computing Resources ต่างๆ ที่มีอยู่มาเป็น Shared Pool หรือนำมารวมกันเพื่อรองรับกับความต้องการและให้บริการได้ทันที (On-Demand) โดยที่ผู้ให้บริการ (Cloud Service Providers หรือ Vendors) สามารถบริหารและจัดการได้อย่างรวดเร็ว  สำหรับ Computing Resources ที่ผมกล่าวถึงคือ Servers, Storages, Networks, Applications และ Services ต่างๆ ครับ  จากเดิมที่ทรัพยากรหรือ Computing Resources
เหล่านี้จะมาจากการที่องค์กรได้ซื้อมาเมื่อมีโครงการใหม่ๆ เกิดขึ้น และจะมาเป็นระยะๆ จะมากหรือน้อยขึ้นอยู่กับความต้องการของโครงการนั้นๆ  ซึ่งด้วยเหตุนี้ทำให้ใน Datacenter ขององค์กรนั้นมีจำนวนของ Servers, Storages, Networks มากขึ้นเรื่อยๆ ซึ่งก่อให้เกิดปัญหาหลายๆ อย่างเช่น  การใช้งานทรัพยากรเหล่านี้ได้ไม่เต็มประสิทธิภาพ, ทำให้การบริหารจัดการและดูแลทำได้ยากและก่อให้เกิดค่าใช้จ่ายในการดูแลมากขึ้น เนื่องจากมีหลายหลายยี่ห้อของ Computing Resources และปัญหาอื่นๆ อีกมากมายครับ  แต่ด้วยแนวคิดของ Cloud เป็นการนำเอา Computing Resources ทั้งหมดมา Pool รวมกันและวางแผนสำหรับการรองรับกับความต้องการของธุรกิจ  โดยที่ไม่ใช่เป็นการซื้อ Computing Resources เหล่านี้มาทุกครั้งเมื่อมีโครงการใหม่ๆ เกิดขึ้น  ดังนั้นทำให้การบริหารจัดการต่างๆ  ขององค์กรมีประสิทธิภาพและมีความยืดหยุ่นมากขึ้น อีกทั้งยังช่วยองค์กรประหยัดค่าใช้จ่ายอีกด้วยครับ หลังจากที่รู้จักกับ Cloud แล้ว


คุณลักษณะที่สำคัญของ Cloud Computing (Cloud Essential Characteristics)

เรื่องต่อมาที่ผมอยากให้ท่านผู้อ่านทราบคือ Cloud Essential Characteristics หรือคุณลักษณะของ Cloud ซึ่งถูกกำหนดโดย NIST ซึ่งเป็นหน่วยงานกลางที่ดูแลและจัดการเรื่องของ Cloud Computing โดย NIST ได้กำหนด Cloud Computing ของใครก็ตามจะต้องมีคุณลักษณะที่ผมจะอธิบายต่อจากนี้ครับ ไม่ว่าจะเป็น Private, Public หรือ Hybrid Cloud ก็จะต้องมีคุณสมบัติดังต่อไปนี้ครับ ซึ่งทาง NIST เป็นผู้กำหนดคุณสมบัติดังกล่าวสำหรับผู้ให้บริการ (Cloud Service Providers หรือ Vendors) ว่าจะต้องมีคุณสมบัติดังกล่าวนี้ครับ
 
1. Resource Pooling/Multi-Tenancy
2. On-Demand & Self-Service
3. Rapid Elasticity
4. Measured Services
5. Broad Network Access
 
ผมขออนุญาตอธิบาย Essential Characteristics ของ Cloud เป็นข้อๆ ดังนี้ครับ  เริ่มด้วย Resource Pooling/Multi-Tenancy  นั้นคือการนำเอา Computing Resources ต่างๆ มารวมกันหรือ Pool กันเพื่อให้บริการลูกค้าหลายๆ ราย โดยไม่มีผลกระทบในเรื่องของประสิทธิภาพ, การขยาย และความปลอดภัย  ข้อต่อมาคือเรื่องของ On-demand & Self-Service  ผู้ใช้งานสามารถขอหรือใช้บริการได้ทันทีตามความต้องการด้วยตัวเอง เช่น ถ้าผู้ใช้งานต้องการ Virtual Machines เพื่อใช้งานแอพพิเคชั่นต่างๆ  สามารถใช้ได้ทันที ไม่ต้องรอให้ผู้ดูแลมาจัดการให้ ซึ่งต้องใช้เวลา เป็นต้น 
 
 
หัวข้อต่อมาคือ Rapid Elasticity  คือ Cloud จะสามารถรองรับการร้องขอการใช้งาน Resources เพิ่มและลดได้ตามความต้องการ เช่น ผู้ใช้งานสามารถสร้างหรือร้องขอ Virtual Machine เพิ่มขึ้นมาและให้ทำงานแบบเดียวกับ Virtual Machine ที่ทำงานอยู่แล้วได้ทันที เพื่อรองรับโหลดของผู้ใช้งานที่เข้ามาใช้งานเป็นจำนวนมากในช่วงเวลาหนึ่งๆ   และสามารถลด Virtual Machine ดังกล่าวได้ทันทีเมื่อไม่ต้องการ  หัวข้อต่อมาคือ Measured Service เมื่อผู้ให้บริการได้ให้บริการ Computing Resources ต่างๆ  ให้กับลูกค้าหรือผู้ใช้บริการแล้ว  จะต้องสามารถเก็บข้อมูลรายละเอียดของการใช้งาน Computing Resources ต่างๆ  ที่ลูกค้าแต่ละรายได้ใช้ไป เพื่อนำไปจัดทำเป็นรายงานและเก็บค่าบริการ (Charge Back)ต่อไป  และหัวข้อสุดท้ายคือ Broad Network Access คือ ผู้ใช้งานสามารถใช้งาน Cloud จากที่ใดก็ได้ครับ ซึ่งทำให้เกิดความสะดวกต่อการใช้งานและบริการของ Cloud ครับ 
ดังนั้นไม่ว่าจะเป็น Cloud Services ของค่ายหรือบริษัทใดๆ ก็แล้วแต่จะต้องสามารถหรือมีคุณลักษณะตรงตามที่ NIST ได้กำหนดเอาไว้ครับ  เพราะจากที่ผ่านมามีลูกค้าถามว่า เราจะทราบได้อย่างไรว่าบริษัทที่มานำเสนอโซลูชั่นของ Cloud Services นั้นเป็น Cloud จริงหรือไม่ คำตอบคือ ต้องให้บริษัทนั้นอธิบายหรือแสดงเอกสารว่า Cloud Services ของเค้านั้นมีคุณลักษณะตาม NIST หรือตามที่ผมได้อธิบายไว้ก่อนหน้านี้ครับผม และเรื่องต่อมาที่จำเป็นจะต้องทราบอีกคือเรื่องของ Cloud Services Model ครับ ซึ่งก็คือรูปแบบต่างๆ ของ Cloud ที่ให้บริการครับ  เพราะที่ผ่านมาส่วนใหญ่ผมได้ยินแต่ว่า จะวางแผนและทำ Private, Public หรือ Hybrid Cloud บ้าง ทั้งที่ยังไม่รู้จัก Model หรือรูปแบบของการให้บริการของ Cloud Computing เลยครับ
รูปแบบการให้บริการ Cloud (Cloud Service Models)
เรื่องต่อไปคือ Cloud Computing Service Models คือ รูปแบบของการจัดการ Computing Resources ครับว่าจะมีรูปแบบในการบริหารและจัดการอย่างไร  ซึ่งมีอยู่ด้วยกัน  3 แบบ คือ 
1. Infrastructure as a Service (IaaS)
2.Platform as a Service (PaaS)
3. Software as a Service (SaaS)
 
 
ผมขอเริ่มจาก On-Premises ส่วนที่อยู่ซ้ายสุดของรูปด้านบนครับ  ท่านผู้อ่านจะเห็นว่าสี่เหลี่ยมต่างๆ ซึ่งแทนถึง Computing Resources เป็นสีฟ้าทั้งหมดนั่นหมายความว่าองค์กรของท่านผู้อ่านเป็นผู้ดูแลและจัดการเองทั้งหมดครับ  ไม่ว่าจะเป็นเรื่องของ Servers (Hypervisor Servers), Storages, Networks, Virtual Machines, Applications และอื่นๆ ครับ รวมถึงการดูแลรักษาด้วยครับ  โดยระบบและส่วนประกอบทั้งหมดจะอยู่ในดาต้าเซ็นเตอร์ขององค์กรของท่านเอง ซึ่งดาต้าเซ็นเตอร์ส่วนใหญ่จะเป็นแบบนี้ครับ คือ เป็นดาต้าเซ็นเตอร์ที่มี Virtualization เทคโนโลยี (Hyper-V, VMWare และอื่นๆ) ใช้งานอยู่และต้องการต่อยอดหรือปรับปรุงให้รองรับกับ Cloud ครับ ซึ่งเราสามารถเรียกว่าเป็นการ Deployment IaaS ที่เป็นแบบ Off-Premises มาดูรูปแบบการให้บริการ Cloud กันเลยครับ
 
1. Infrastructure as a Service (IaaS)
IaaS คือรูปแบบของ Cloud โดยที่ผู้ให้บริการ (Cloud Service Providers หรือ Vendors) ได้เตรียม Computing Resources หรือทรัพยากร ตลอดจนเซอร์วิสต่างๆ  หรือจะเรียกว่าเป็น Virtual Environment ให้กับผู้ใช้บริการ (Tenants) เพื่อสร้าง Infrastructure ของตัวเอง  จากนั้นผู้ใช้บริการสามารถสร้างและจัดการ Virtual Machines, Applications, Data และอื่นๆ ทั้งหมดเองครับ รวมถึงการดูแลรักษาไม่ว่าจะเป็นการอัพเดท Patches ให้กับ Virtual Machines และการเก็บข้อมูล  หรืออธิบายง่ายๆ คือ เราแค่จ่ายตังค์ค่าเช่า Computing Resources เพื่อเอาไปสร้าง Infrastructure และทำการสร้าง Virtual Machines, Storages, Networks  และอื่นๆ ของเราหรือขององค์กร ซึ่งเราเรียกคอนเซปการ Deployment ที่ผมอธิบายนี้ว่าเป็น IaaS ที่เป็นแบบ On-Premises ครับ  ตัวอย่างของผู้ให้บริการ IaaS คือ Microsoft Azure และ Amazon’s Elastic Computing (EC2) ครับ
 
2.  Platform as a Service (PaaS)
PaaS คือรูปแบบของ Cloud Service Model โดยที่ผู้ให้บริการ (Cloud Service Providers หรือ Vendors) ได้เตรียม Computing Resources และ Environment หรือสภาพแวดล้อมต่างๆ เอาไว้ให้เรียบร้อยแล้ว นั่นรวมถึง Virtual Machines, OS, Platform สำหรับการพัฒนาแอพพิเคชั่นตลอดจนการดูแลรักษาครับ ส่วนผู้ใช้งานรับผิดชอบเรื่องเดียวเลยคือ การเขียนหรือพัฒนาแอพพิเคชั่นและข้อมูลเท่านั้นครับ เพราะฉะนั้นรูปแบบของ Cloud Service Model นี้จึงเหมาะกับนักพัฒนาแอพพิเคชั่นครับ เพราะทางผู้ให้บริการได้เตรียมทุกอย่างไว้พร้อมสำหรับการพัฒนาแล้ว ตัวอย่างของผู้ให้บริการ Pass คือ Microsoft Azure, Google AppEngine เป็นต้น ครับ
 
3.  Software as a Service (SaaS)
SaaS คือรูปแบบของ Cloud Service Model โดยที่ผู้ให้บริการ (Cloud Service Providers หรือ Vendors) ได้เตรียมทุกอย่างเอาไว้ให้ผู้ใช้บริการหมดแล้วครับ ผู้ใช้บริการมีหน้าที่เพียงแค่เข้าใช้งานและกำหนดการเข้าถึงข้อมูลต่างๆ และกำหนดว่าจะให้ใครเข้าใช้งานบ้าง แค่นั้นครับ   SaaS ปัจจุบันที่ตอนนี้มีให้บริการแล้ว เช่น Office 365, Microsoft Intune, OneDrive และอื่นๆ เป็นไงบ้างครับ ท่านผู้อ่านพอจะคุ้นๆ หรือเคยได้ยินกันบ้างมั๊ยครับ
 
 
รูปแบบการนำเอา Cloud ไปใช้งาน (Cloud Deployment Models)
เอาล่ะครับเมื่อท่านผู้อ่านได้รู้จักและเข้าใจเรื่องของ Cloud กันแล้ว ไม่ว่าจะเป็น Characteristics และ Model แล้ว เรื่องต่อมาที่ผมจะนำเสนอต่อมาก็คือ Cloud Deployments Model ครับ  โดยมีหลากหลายรูปแบบครับ แต่ที่นิยมใช้กันจะมีอยู่ 3 แบบครับ คือ
1. Private Cloud
2. Public Cloud
3. Hybrid Cloud
เริ่มที่รูปแบบที่ได้รับความสนใจและนิยมมากที่สุดรูปแบบหนึ่งครับ Private Cloud คือ การที่นำเอา Computing Resources นั้นมา Pool กัน (Resource Pooling ตามคุณลักษณะของ Cloud Computing ที่ผมได้อธิบายไปก่อนหน้านี้) และให้บริการกับผู้ใช้งานนั้นๆ ในองค์กร นั่นหมายความว่า นั่นคือ Private Cloud ขององค์กรนั้นๆ 
 
 
และในปัจจุบันเริ่มมีหลายๆ องค์กรในบ้านเราได้ทำการพัฒนาปรับปรุงระบบไอทีและดาต้าเซ็นเตอร์ ให้มาเป็น Private Cloud แล้วครับ และมีอีกหลายๆ องค์กรที่กำลังเตรียมพร้อมและวางแผนที่จะมาใช้ Private Cloud ครับ มีสิ่งหนึ่งที่ท่านผู้อ่านจะต้องทราบก่อนที่จะปรับเปลี่ยนระบบมาเป็น Private Cloud นั้น สิ่งแรกที่จะต้องทำคือ ปรับเปลี่ยนระบบจากที่ทำงานอยู่ใน Physical Servers มาเป็น Virtual Machines หรือเรียกว่า Server Virtualization เสียก่อนนะครับ จะทำก่อนหรือจะทำไปพร้อมๆ กับตอนที่วางแผนและทำ Private Cloud ก็ได้ครับ  สำหรับการทำ Server Virtualization ก็คือการย้ายระบบที่รันหรือทำงานอยู่ใน Physical Servers มาทำงานบน Virtual Machines แทน โดยสามารถใช้งาน Hyper-V ซึ่งเป็น Role หนึ่งที่อยู่ใน Windows Sever 2012 หรือ Windows Server 2012 R2
  ครับ สำหรับส่วนที่เป็น Private Cloud นั้นคือส่วนของการ Deployment ในส่วนของการบริหารและจัดการ Data Center ที่ได้ย้ายจาก Physical มาเป็น Virtualization แล้ว ซึ่งความสามารถในการบริหารและจัดการนั้นเป็นไปตาม Characteristics ที่ผมได้อธิบายไว้ตอนต้นครับ  ในส่วนนี้ท่านผู้อ่านสามารถใช้ชุด System Center 2012 R2 ได้เลยครับ  เพราะฉะนั้นท่านผู้อ่านจะต้องทำการบริหารจัดการและดูแล Computing Resources ทั้งหมดเองครับ  ซึ่งเรียกว่า Private Cloud แบบ On-Premises (ดูรายละเอียดจากข้างต้นครับ)  ในทางกลับกันถ้าหากท่านผู้อ่านไม่อยากจะดูแล Computing Resources เองหรือมีงบประมาณจำกัด ก็สามารถเช่าได้จากผู้ให้บริการ (Cloud Provider) เช่น Microsoft Azure, Amazon EC2  ได้ครับ ซึ่งเราเรียกว่า Private Cloud แบบ Off-Premise ครับ
Public Cloud คือ รูปแบบการ Deployment ของการให้บริการ Computing Resources โดยที่ผู้ให้บริการ (Cloud Providers) ได้เตรียมไว้ให้กับผู้ใช้บริการหลายๆ รายครับ เช่น Microsoft Azure เป็นต้น  Hybrid Cloud คือ รูปแบบของการ Deployment ที่เกิดจากการรวมกันของ Private และ Public Clouds เพื่อให้องค์กรสามารถให้ผู้ใช้งานเข้าถึงหรือใช้บริการแอพพิเคชั่นหรือ Services ต่างๆ จาก Clouds โดยใช้ Single-Sign-On (SSO) เช่น ผู้ใช้งานสามารถใช้ User Name และ Password เดียวเข้าถึงข้อมูลหรือ Services ต่างๆ ทั้งที่อยู่ใน Private Cloud และ Cloud Services อื่นๆ เช่น Office 365 เป็นต้น
โปรดติดตาม Part 2 เร็วๆ นี้ครับผม.....
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

ไม่มีความคิดเห็น:

แสดงความคิดเห็น