สรุปการบ้าน Audition 2 [Day 1–3] — The Cloud Camp 2024
💡 เราเชื่อว่าการเรียนรู้ทำให้ชีวิตคุณดีขึ้น
Intro
เนื่องจากผมได้เข้าโครงการ The Cloud Camp Audition 2 ของ Jumpbox by คุณโจโจ้ โดยมีการสอนจำนวน 3 วัน และสอบ 1 วัน
ทางผมเองได้เล็งเห็นถึงประโยชน์ และความรู้ที่คุณโจโจ้มอบให้ จึงอยากทำสรุปไว้ทบทวนตัวเอง และแบ่งปันให้หับผู้ที่สนใจครับ
Rule
- Input = Output
- Ask Question
- Note Keyword
- Practice thinking about what you remember
Cloud Computing
Cloud คือ Computer ที่อยู่ที่นึงบนโลก
ยิ่งมีคนใช้งานเยอะขึ้น ก็ยิ่งทำให้ต้องใชการประมวลผลมากขึ้น ใช้ CPU, RAM มากขึ้น
ถ้าใช้เยอะมากในที่สุด Server ก็จะเต็ม/ล่ม เพราะต้องการใช้งาน Resource มากกเกินกว่าที่ Server จะรับไหว
ในสมัยก่อน ถ้าเกิดเหตุการณ์แบบนี้ขึ้น ทางผู้รับผิดชอบก็จะต้องไปร้านขาย HW เพื่ออัพเกรดตัว Server เพื่อให้มี Spec มากขึ้น เพื่อให้รองรับการใช้งานที่เพิ่มขึ้นได้ (เพิ่ม CPU เพิ่ม RAM เพิ่ม GPU)
แต่ Process การอัพเกรดแบบนี้
- ช้า
- ประสิทธิภาพเทียบกับราคาต่ำ
- มีปัจจัยเรื่อง Human Error มากมาย
จากข้างต้นจึงเกิดการพัฒนามาเป็น Cloud Tranformation
โดยใช้ Bot หรือระบบ Automation มาทำแทนคน
จึงเริ่มเข้าสู่ Cloud ERA Z(เริ่มต้นจาก AWS ปล่อย EC2 ปี 2013)
Cloud as known as Cloud Computing
มีคุณสมบัติ
- Reduce Cost ใช้เท่าไรจ่ายเท่านั้น
- Unlimited Storage มีพื้นที่ไม่จำกัด
- Scalable ขยายขนาดได้
- Security ปลอดภัย
Cloud Native
⚠️ Cloud Native is not the Cloud
Cloud Native ก็ไม่ใช่แค่เครื่องมือ มันเป็นอะไรที่มากกว่าเครื่องมือ
Native = Local
ใช้ความสามารถของ Cloud ให้เกิดประโยชน์สูงสุด
ในปัจจุบันเรียกว่า Hypervisor
ที่เรียกว่า Cloud Native นั้นเพราะต้องการให้เกิดประโยชน์สูงสุด
เป็นการจำลองเครื่องคอมพิวเตอร์ในคอมพิวเตอร์อีกที แล้วค่อยแบ่งให้คนมาใช้งาน
Cloud Native for Application
คือ โครงสร้างที่เราออกแบบ Application ให้สมบูรณ์ ที่เอาประโยชน์ของ Cloud มาใช้ให้เกิดประโยชน์สูงสุด
Cloud Native จริง คือยุคสมัย หนังสือต่างๆ ก็เขียนเรื่องนี้ เป็นทุกสิ่งต่างๆ รอบตัวเราที่กำลังมามากขึ้น
Cloud Native Maturity Matrix Tools
เป็นเครื่องมือที่ใช้เป็นตัวเปรียบเทียบ/ชี้วัดว่าตอนนี้ธุรกิจของเราอยู่จุดไหนแล้ว เป็น Cloud Native หรือยัง
Cloud Native เป็น Culture เป็น ยุคสมัยที่กำลังมาในทุกมุม ทุกด้าน
Convention
Symbol
Cloud Fundamental
- Cloud Characteristics
- Cloud Delivery Models
- Cloud Deployment Models
Cloud Characteristic
- On-demand usage < ใช้เท่าไรก็ใช้เท่าไร
2. Ubiquitous access < ใครก็สามารถเข้าถึงได้หลากหลาย ใช้งานพร้อมกันได้ (แต่ไม่ข้องเกี่ยวกัน)
3. Multi-tenant (resource pooling) < มีกี่องค์กรที่ใช้งานร่วมกันก็ได้ (แต่อยกอิสระต่อกัน) บนเครื่องเดียวกัน
4. Elasticity < ย่อ/ขยาย ขนาดได้ ตามปริมาณการใช้งาน ไม่ได้ขนาดคงที่ตลอด
โดยสามารถทำได้ 2 แบบ คือ
- Pre-Determined ตั้งเวลาชยายขนาดได้
- Runtime ทำตอนใช้งานจริง โดยมีตัววัดปริมาณการใช้งาน แล้วขยายตามเกฑณ์ที่ตั้งไว้
5. Measured usage < สามารถวัดปริมาณได้
- มีหน้าตาให้ดู
- มีระบบอัตดนมัติ
- มีตัววัดปริมาณการใช้งาน
- มีรายงานให้ดู
6. Resiliency < ถ้าพัง/ล่ม สามารถซ้อมตัวเองได้
มี 2 แบบ
- Multi Zone < แยกโซนกัน เช่น มี HW อยู่ที่กรุงเทพ กับ เชียงใหม่ เวลาที่ใดมีปัญหาก็สามารถใช้งานต่อเนื่องได้
- Multi Cloud < ใช้ Cloud หลายเจ้าเลย หากเกิดปัญหาขึ้นก็ใช้งานอีกเจ้าได้ทันที
Hypervisor on Real life
มี Software ของตัวเองโดยเฉพาะที่ไม่ต้องมี OS เอาไว้จัดการสร้างเครื่องจำลองต่างๆ บน HW ได้เลย
เบื้องหลัง Cloud Provider ต่างๆ ก็เป็นเหมือน Hypervisor เพื่อให้ Cloud User เข้ามาใช้งาน สร้าง VM ได้เอง โดยสามารถกำหนด Resource ได้เอง จะเอา CPU เท่าไร Ram เท่าไร Storage เท่าไร
Cloud Delivery Models
- Infrastructure-as-a-Service (IaaS)
- Platform-as-a-service (PaaS)
- Software-as-a-serivce (SaaS)
Share Responsibility Model
สีเทา คือ คนที่เข้ามาใช้งานเป็นคนทำ
สีม่วง คือ ผู้ให้บริการเป็นคนทำ
On-Premise < บน HW เราเอง เราต้องจัดการเองทั้งหมด
IaaS < AWS, Azure
PaaS < Serverless, Scalable
SaaS < Google Doc, Youtube, ChatGPT
IaaS
PaaS
SaaS
Sub Models
คือตัวแยกย่อยของ 3 ตัวข้างบน
เช่น GoogleDrive, Dropbox, Onedrive
Combining
ถ้าใช้ PaaS แต่ไปตั้งค่าถึงเครื่อง Server ได้
หรือ ถ้าใช้ SaaS แต่เราต้องติดตั้ง Application เอง
📌 Serverless เหมาะสำหรับคนใช้ไม่เยอะ ใช้การประมวลผลไม่ตลอดเวลา ประหยัดกว่า IaaS เหมาะสำหรับใช้งานเยอะ มีการประมวลผลตลอด ใช้รายเดือนประหยัดกว่า เนื่องจาก Serverless หรือ PaaS ต้องมีคนจัดการพวก OS ให้ ดังนั้นเขาจะคิดค่าบริการพ่วงไปด้วยตลอด
Cloud Deployment Models
- Public cloud < ผู้ให้บริการ Cloud สาธารณะ
- Private cloud < เราตั้ง Cloud ของตัวเอง ใช้เอง หรือใช้ในหน่วยงานเอง
- Multi-cloud < ใช้ cloud หลายเจ้า (รวมถึง Private cloud ด้วย)
- Hybrid cloud < ใช้ผสมกัน เช่น ถ้ามีข้อมูลความลับ ส่วนตัว sensitive data จะเป็น Provate cloud ในประเทศ แต่ถ้าข้อมูลไม่สำคัญ จะไปอยู่ที่ Public Cloud ได้
Recap
Linux Fundamental
- Basic Operating System
- Introduction to Shell
- Linux Core Concept
- Package Manager
- Vi Editer
Basic Operating System
แบ่งออกเป็น 2 แบบ
Commercial License OS
Open Source OS
ไม่เสียค่า License เพื่อเวลา Scale จะได้ไม่ต้องกังวลเรื่อง License
Linux Distribution
Linux Management with Shell
- CLI ช่องทางการติดต่อสื่อสารกับ User ภายใน command 1 บรรทัด
- GUL ช่อทางการติดต่อสื่อสารกับ User ด้วย Graphic
Kernel แปลงภาษา เป็นตัวติดต่อสื่อสาร/ควบคุม HW (System Core)
Introduction to Shell
- Filesystem Hierarchy Standard
- The Home Directory
- Basic Command and Arguments
- Text Shell Types
Filesystem Hierarchy Standard
/ = root
bin = binary (executable file)
usr = user
etc = อื่นๆ
lib = library
home = เก็บ User
opt = optional
Home Directory
User สามารถใช้งานพร้อมกันได้ โดยไม่ยุ่งเกี่ยวกัน