Codding Gun

Cloud Computing คืออะไร?

Cloud Computing คือ บริการให้เช่า server, network และบริการอื่นๆ ผ่านทาง internet เราสามารถเลือกใช้ cloud service ให้เหมาะสมกับงานของเรา ข้อดีของการใช้งาน cloud คือเราจะสร้าง resource แต่พอใช้งานและขยายตัวไปตามปริมาณการใช้งานของ User ทำให้เราจ่ายแต่เท่าที่ใช้งานเท่านั้น รวมทั้งยังไม่ต้องมานั่งปวดหัวกับการทำ IT Operation อีกด้วย

ลักษณะของ Cloud Computing

สิ่งที่บ่งบอกว่าบริการที่เรากำลังใช้งานอยุ่นั้นเป็น Cloud หรือไม่ให้ดูลักษณะของการใช้งาน ซึ่ง ISO/IEC 17788 ได้นิยามลักษณะของ Cloud ไว้ 6 รูปแบบด้วยกันคือ

  1. On-Demand เราจะจ่ายตามปริมาณการใช้งาน เราจะสร้าง server ขึ้นมาเมื่อเราต้องการใช้งาน
  2. Broad network access เราสามารถใช้งาน cloud ผ่านทาง internet
  3. Resource pooling ผู้ให้บริการจะสร้าง data center ใหญ่ๆขึ้นมาเพื่อให้ ลูกค้าแบ่ง resource ไปใช้งาน แล้วคิดค่าบริการตามปริมาณการใช้งาน
  4. Rapid elasticity สามารถ ขยายตัวได้อย่างรวดเร็วตามความต้องการของลูกค้า
  5. Measured services Resource ต่างๆที่เราสร้างขึ้นบน cloud จะมาพร้อมกับ metrics(ตัววัด) มากมายที่พร้อมให้เรานำไปใช้ Monitor การทำงานของ service ต่างๆได้อย่างง่ายดาย
  6. Multi-tenant มีผู้ใช้งานหลายคน ไม่ได้มีแค่เราคนเดียวที่ใช้งาน Cloud Service นี้

Cloud Actors

role ที่เกี่ยวข้องกับ cloud computing จะมีอยู่ 2 role ด้วยกันคือ

  1. Cloud Service Provider(CSP) ผู้ให้บริการ cloud service ต่างๆ เช่น AWS, Azure หรือ Google Cloud Platform(GCP)
  2. Cloud Service Customer(CSC) ลูกค้าที่เข้าไปใช้บริการ cloud service

ในการใช้งาน cloud เราจะต้องแบ่งงานกันทำระหว่าง Cloud Service Provider(CSP) กับ Cloud Service Customer(CSC) เมื่อเกิดปัญหาขึ้นมาจะได้รู้ว่าใครต้องทำอะไร(Shared Responsibility Model)

AWS Shared Responsibility Model
AWS Shared Responsibility Model

AWS คือ Cloud Service Provider ผู้ทำหน้าที่ดูแลความปลอดภัยของ Hardware และ Software ใน Layer ด้านล่าง เพื่อให้ลูกค่้าที่เข้ามาใช้บริการมี Infrastructure ที่มีความแข็งแรงและปลอดภัย

Cloud Service Customer เราในฐานะของผู้ใช้บริการก็ต้องมีหน้าที่คอยดูแลความปลอดภัยของ Content ที่เรานำไปใส่ไว้ใน Cloud ไม่ว่าจะเป็น Application, Data หรือ Configuration ในจุดต่างๆ

Cloud ทำงานยังไง?

หลักการทำงานของ Cloud คือผู้ให้บริการ(CSP)จะสร้าง data center ขนาดใหญ่ไว้ในประเทศต่างๆทั่วโลก หลังจากนั้นผู้ใช้บริการ(CSC) จะเข้าไปสร้าง resource ที่เค้าต้องการตามปริมารการใช้งาน ซึ่งบน cloud จะสร้างทุกอย่างเป็น virtualization ทั้ง Virtual machine(VM), Virtual storage และ Virtual network ซึ่งการเป็น virtualization นีั้ทำให้เราสามารถเลือกใช้บริการได้ตามความต้องการ

Region และ Availability Zone

Cloud Service Provider(CSP) จะสร้าง data center ไว้ตามสถานที่ต่างๆ(Physical location) โดยจะแบ่งออกเป็น

  1. region เป็นกลุ่มของ data center ที่แบ่งแยกตามพื้นที่ เช่น Asia Pacific (Bangkok) หรืออาจแบ่งเป็นถูมิภาคเช่น southeast-asia ซึ่ง region
  2. Availability Zone(AZ) เป็น physical location หรือ data center ที่อยู่สถานที่เดียวกัน ซึ่งใน 1 region จะประกอบไปด้วยหลาย Availability Zone(AZ)

Cloud มีการให้บริการแบบไหนบ้าง?

เราสามารถแบ่งประเภทการให้บริการของ cloud ออกเป็น 3 กลุ่มใหญ่ๆ ตามมาตรฐาน NIST 800-145 ดังนี้

  1. Infrastructure as a Service(IaaS) การใช้งาน service โดยสร้าง virtual machine และ virtual network ขึ้นมาเอง
  2. Platform as a Service(PaaS) เราใช้บริการแบบกึ่งสำเร็จรูปที่ cloud service provider เตรียมไว้ให้ เช่น Database as a Service(DaaS) อย่าง Relational Database Service(RDS)
  3. Software as a Service(SaaS) ใช้บริการแบบสำเร็จรูปเลย เราเตรียมไปแค่ source code ที่ต้องการ deploy หรืออาจเป็น software สำเร็จรูปแบบ online อย่าง saleforce ก็ได้ ใน level นี้ผู้ใช้บริการเป็นเหมือน end-user ที่ไม่ต้องดูแลอะไรมาก

นอกจากนี้เรายังแยกประเภทการบริการออกเป็นแบบอื่นๆ ตามเทคโนโลยีทีี่มีคนนิยมใช้อีกหลายประเภท ดังนี้

  1. Container as a Service(CaaS) เราสามารถนำ container ไป deploy ลงในบริการในกลุ่มนี้ได้เลย
  2. Function as a Service(FaaS) เป็นการ deploy application แบบ serverless คือเราไม่ต้องตั้ง server แค่มี code ก็สามารถนำไป run ใน FaaS ได้เลย
  3. Security as a Service(SECaaS) เป็นการใช้บริการ Security Service ต่างๆ เช่น (Security Incident and Event Management)SIEM หรือ Web Application Firewall(WAF) เพื่อทำให้ Web application ของเราปลอดภัยขึ้น
  4. AI as a Service(AIaaS) การใช้งาน AI เป็นส่วนหนึ่งของการทำงาน ณ ปัจจุยันไปแล้ว ดังนั้นเราอาจนำ AI มาใช้งานผ่านทาง AIaaS ได้ง่าย ไม่ต้องเตรียม infrastructure ให้ยุ่งยาก ยกตัวอย่างเช่น Azure ML ของ Microsoft

Cloud Computing มีกี่ประเภท?

เราสามารถเลือกใช้งาน cloud ได้หลายรูปแบบมากๆ โดยจะแบ่งออกเป็นกลุ่มใหญ่ๆ ดังนี้

  1. Public Cloud เป็น cloud service ที่เราเห็นอยู่ทั่วไป ใครอยากใช้ก็สามารถสมัครเข้าไปใช้บริการได้ เช่น AWS, Azure และ Google Cloud Platform(GCP)
  2. Private Cloud เป็น cloud service ที่ใช้งานแบบส่วนตัวภายในองค์กร เช่น Fedex ได้พัฒนา cloud service ขึ้นมาใช้แค่ภายใน Fedex เท่านั้น
  3. Community Cloud เป็น cloud service ที่ใช้ในกลุ่มหรือสมาคมของตัวเอง(มีหลายองค์กร)
  4. Hybrid Cloud เป็นรูปแบบของการใช้งานแบบผสมระหว่าง on-cloud กับ on-prem(ตั้ง physical server เองภายในองค์กร)
  5. Multiple Cloud เป็นรูปแบบการใช้งาน public cloud หลายๆที่ผสมกัน เช่นเรา authen ด้วย Azure AD ก่อนเข้าไปใช้งาน Web Application ที่อยู่บน AWS เป็นต้น

ผู้ให้บริการ Cloud Computing มีใครบ้าง?

แล้วคราวนี้เราจะใช้บริการ cloud ของที่ไหนดี เราเลยรวบรวม Top 3 ของ cloud service provider มาแนะนำกัน

  1. Amazon Web Service(AWS) เป็น cloud service ที่แรกที่เปิดให้บริการมีประสบการณ์มาอย่างยาวนาน ราคาสูงแต่มี service ให้เลือกใช้งานค่อนข้างเยอะ
  2. Microsoft Azure เป็น cloud service จากค่าย Microsoft ถือได้ว่ามีการเติบโตอย่างต่อเนื่องเน้นที่ลูกค้าองค์กรที่ใช้งาน product ของ Microsoft อยู่แล้ว จุดเด่นคือ Azure Active Directiory(Azure AD) ที่สามารถ Sync กับ AD ภายในองค์กรได้
  3. Google Cloud Platform(GCP) เป็น cloud service ที่ถือส่าราคาถูกที่สุดเมื่อเทียบกับ AWS และ Azure

อ่านบทความอื่นๆเกี่ยวกับ Cloud Computing ได้ที่นี่

Phanupong Permpimol
Follow me