Skip to content

Instantly share code, notes, and snippets.

@Thanajade
Last active February 12, 2026 07:07
Show Gist options
  • Select an option

  • Save Thanajade/36bbabb98b4bf2f9bcb801f73ee5dc99 to your computer and use it in GitHub Desktop.

Select an option

Save Thanajade/36bbabb98b4bf2f9bcb801f73ee5dc99 to your computer and use it in GitHub Desktop.

นี่คือสรุปเนื้อหาโดยละเอียดจากการบรรยายของคุณเม (Cloud Engineer จาก Krungsri Nimble) โดยแบ่งเป็นหัวข้อหลักพร้อมรายละเอียดเชิงลึกครับ


1. วัฒนธรรม DevOps และการทำ Automation

DevOps คือวัฒนธรรม: ไม่ใช่แค่ชื่อตำแหน่ง แต่เป็นกระบวนการที่ทีม Development (ผู้เขียนโค้ด/ออกแบบ) และทีม Operation (ผู้วางระบบเซิร์ฟเวอร์) ทำงานร่วมกันเพื่อลดช่องว่าง (Gap) ในการทำงาน

CI (Continuous Integration): คือการนำโค้ดที่นักพัฒนาเขียนมา Build และตรวจสอบคุณภาพ (Code Quality) รวมถึงหาข้อบกพร่องของซอฟต์แวร์โดยอัตโนมัติ

  • CD (Continuous Deployment & Delivery):

Deployment: การนำแอปพลิเคชันขึ้นเซิร์ฟเวอร์โดยอัตโนมัติหลังจากผ่านขั้นตอน CI

Delivery: ความสามารถในการส่งมอบงานให้ลูกค้าได้อย่างต่อเนื่องและรวดเร็ว

Infrastructure as Code (IaC): การจัดการโครงสร้างพื้นฐาน (เช่น VM หรือ Server) ผ่านการเขียนโค้ดแทนการกดตั้งค่าด้วยมือ

  • ช่วยให้เห็นประวัติการแก้ไขผ่าน Git (Version Control)

  • ลดความผิดพลาดจากมนุษย์ (Human Error) และสามารถทำซ้ำ (Reproducible) ได้ง่าย

2. Cloud Computing และโมเดลการให้บริการ

ข้อดีของ Cloud: มีความยืดหยุ่นสูง จ่ายตามการใช้งานจริง (Pay-per-use) และขยายระบบ (Scale) ได้รวดเร็ว

  • การเพิ่มทรัพยากรบน Cloud ทำได้ในไม่กี่นาที ในขณะที่ On-premise อาจใช้เวลาจัดซื้อและติดตั้งนาน 1-2 เดือน

  • ประเภทของ Cloud:

Public Cloud: เข้าถึงได้ทั่วโลกผ่านอินเทอร์เน็ต เช่น AWS, Azure, Google Cloud

Local Cloud: ผู้ให้บริการภายในประเทศ เช่น INET, AIS, True IDC

Private Cloud: ระบบที่ล้อมรั้วไว้ใช้เฉพาะในองค์กรเพื่อความปลอดภัยสูงสุด ไม่สามารถเข้าถึงจากอินเทอร์เน็ตทั่วไปได้

Hybrid Cloud: การใช้งานร่วมกันระหว่าง Public และ Private Cloud

  • Service Models:

IaaS (Infrastructure as a Service): เช่าใช้ทรัพยากรพื้นฐาน เช่น Storage, Network และ VM

PaaS (Platform as a Service): เช่าใช้แพลตฟอร์มสำหรับรันแอปพลิเคชัน เช่น Google Service หรือ App Service

SaaS (Software as a Service): ซอฟต์แวร์สำเร็จรูปพร้อมใช้งาน เช่น Office 365, อีเมล, ปฏิทิน

3. Software Stack และบริการของ AWS ในงานจริง

  • เครื่องมือหลัก (Stack):

GitLab: ใช้เก็บ Source Code และทำ Version Control

Jenkins: ใช้เป็นเครื่องมือหลักในการรัน Pipeline สำหรับ Build และ Deploy

Harbor: ระบบเก็บ Docker Image แบบ Private (ใช้แทน Docker Hub เพื่อความปลอดภัยและความเป็นส่วนตัวขององค์กร)

SonarQube: ตรวจสอบคุณภาพโค้ด (Code Smell/Bugs) โดยทีมจะตั้งเกณฑ์ว่าต้องได้คะแนน "A" เท่านั้นถึงจะผ่าน

การสแกนความปลอดภัย: ใช้ Dependency Check เพื่อค้นหาช่องโหว่ (CVE) ใน Docker Image ก่อนนำไปใช้งาน

  • บริการ AWS ที่สำคัญ:

VPC (Virtual Private Cloud): เปรียบเสมือนการแบ่งห้องหรือคณะในมหาวิทยาลัย เพื่อแยกโปรเจกต์ออกจากกัน

EC2: เครื่องเซิร์ฟเวอร์เสมือน (VM) สำหรับรันระบบ

S3: ระบบเก็บข้อมูลประเภท Object Storage (ไฟล์รูปภาพ, วิดีโอ)

EKS (Elastic Kubernetes Service): บริการจัดการ Kubernetes บน AWS

4. การจัดการคอนเทนเนอร์ด้วย Kubernetes (K8s)

หัวใจสำคัญ: ทำหน้าที่เป็น Orchestrator หรือวาทยกรที่คอยควบคุมจังหวะการทำงานของคอนเทนเนอร์จำนวนมาก

  • ความสามารถหลัก:

Auto Scaling: เพิ่ม/ลดจำนวนโหนดอัตโนมัติตามโหลดของผู้ใช้งาน (เช่น เพิ่มโหนดในช่วงเวลาที่คนเข้าแอปธนาคารเยอะๆ และลดลงเมื่อคนใช้น้อยเพื่อประหยัดค่าใช้จ่าย)

Self-Healing: เมื่อระบบตรวจพบว่าคอนเทนเนอร์ทำงานผิดปกติ (Unhealthy) จะทำการลบและสร้างใหม่ให้เองโดยอัตโนมัติ

Zero Downtime: การอัปเดตเวอร์ชันใหม่จะทำแบบค่อยเป็นค่อยไป ทำให้ผู้ใช้งานไม่รู้สึกว่าระบบหยุดทำงาน

Load Balancing: กระจายการทำงานไปยังคอนเทนเนอร์หลายๆ ตัวเพื่อให้ระบบรับโหลดได้ดีขึ้น

5. การทำงานในธุรกิจธนาคารและความมั่นคงปลอดภัย

SLA (Service Level Agreement): ธนาคารมีข้อตกลงระดับการให้บริการที่เข้มงวด เช่น ระบบล่มได้ไม่เกินกี่นาทีต่อปี (หากเกินอาจมีค่าปรับหรือผลกระทบสูง)

  • DC/DR (Data Center & Disaster Recovery):

DC: ศูนย์ข้อมูลหลัก

DR: ศูนย์ข้อมูลสำรองกรณีเกิดภัยพิบัติ โดยปกติธนาคารจะมีสำรองไว้อย่างน้อย 3 แห่ง

  • ลำดับการซัพพอร์ต (Support Tiers):

Tier 1: Call Center รับเรื่อง

Tier 2: ทีม Monitor ตรวจสอบเบื้องต้น

Tier 3: ทีม Engineer (เช่น ทีมของคุณเม) ที่เป็นคน Implement และแก้ปัญหาเชิงลึก รวมถึงสลับระบบไปยังศูนย์สำรอง


ทักษะที่แนะนำสำหรับผู้ที่ต้องการเข้าสายงานนี้

การสื่อสาร (Communication): เป็นทักษะอันดับหนึ่ง เพราะต้องทำหน้าที่เป็นคนกลางในการ "แปลภาษาเทคนิค" ให้เป็น "ภาษาคน" เพื่อคุยกับทีม PM, Business และ Developer ให้เข้าใจตรงกัน

การเรียนรู้ด้วยตัวเอง: ทักษะการรีเสิร์ชเครื่องมือใหม่ๆ อย่างรวดเร็วเป็นสิ่งจำเป็น เพราะเทคโนโลยี Cloud เปลี่ยนแปลงตลอดเวลา

ความรู้พื้นฐาน: ควรศึกษาเรื่อง Network (OSI 7 Layers) ให้แม่นยำ เพราะจะช่วยให้ Debug ปัญหาได้ง่ายขึ้นมาก

คุณสนใจที่จะให้ผมช่วยเจาะลึกรายละเอียดเกี่ยวกับขั้นตอนการทำ Pipeline ใน Jenkins หรือวิธีการตั้งค่า VPC บน AWS เพิ่มเติมไหมครับ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment