สอบถามหลักสูตรเลือกช่องทางที่สะดวก ทีมงานตอบเองทุกช่อง
LINE @itgeniusตอบเร็วที่สุด · จ–ศ 9:00–17:00 น.
โทรศัพท์
02-570-8449สำนักงาน088-807-9770มือถือ
อีเมลและโซเชียล
contact@itgenius.co.thสำหรับใบเสนอราคาและเอกสารFacebookitgeniusonlineYouTubeitgeniusengขอคำปรึกษาจัดอบรมให้ทีม
พัฒนาเว็บไซต์ · WDC-112

Building Microservices with Python

หลักสูตร Building Microservices with Python เป็นการอบรมสร้าง Microservices ด้วย FastAPI ตั้งแต่การแบ่ง Service ต่อ PostgreSQL ใช้ Nginx เป็นทางเข้าเดียว สื่อสารผ่าน HTTP และ RabbitMQ จนถึง JWT และ Tracing เหมาะกับนักพัฒนา Python และนักไอทีที่ดูแลระบบ จบแล้วรันระบบหลาย Service ด้วย Docker Compose ได้

อัปเดตล่าสุด
ราคาเริ่มต้น 8,550 บาท / ท่าน 9,500 −10% ยังไม่รวม VAT 7% · มีราคาหมู่คณะ
PDFดาวน์โหลด Course Outline
  • ระยะเวลา18 ชั่วโมง · 3 วัน
  • รูปแบบออนไซต์ / ออนไลน์สด
  • รอบถัดไปเปิดตามคำขอ
  • ใบรับรองมี Certificate

ภาพรวมหลักสูตร

Microservices คือการแบ่งระบบออกเป็น Service ขนาดเล็กหลายตัว แต่ละตัวดูแลงานของตัวเอง มีฐานข้อมูลของตัวเอง และพัฒนา ทดสอบ และ Deploy แยกกันได้ แต่ยังทำงานร่วมกันเป็นระบบเดียว แนวทางนี้ช่วยให้หลายทีมทำงานคู่ขนานและขยายเฉพาะส่วนที่มีภาระสูงได้ แต่ก็ตามมาด้วยเรื่องที่ต้องจัดการ เช่น การสื่อสารระหว่าง Service ข้อมูลที่กระจายอยู่หลายที่ และการติดตามปัญหาข้ามระบบ Python กับ FastAPI เป็นตัวเลือกที่นิยมเพราะเขียนเร็ว อ่านง่าย และรองรับงานแบบ Async

หลักสูตรนี้พาสร้าง Microservices ด้วย FastAPI ตั้งแต่แนวคิดและการแบ่ง Service สร้าง REST API ที่ตรวจข้อมูลด้วย Pydantic ต่อ PostgreSQL ด้วย SQLAlchemy 2.0 เลือกรูปแบบการจัดการข้อมูล รัน Service ด้วย Docker Compose ให้เรียกกันผ่าน HTTP และผ่าน RabbitMQ ด้วย FastStream ใช้ Nginx เป็นทางเข้าเดียว ยืนยันตัวตนด้วย JWT ทำ Health Check, Log และ Tracing เขียน Test แล้วรวมทั้งระบบใน Workshop (อบรม 3 วัน วันละ 6 ชั่วโมง รวม 18 ชั่วโมง ระดับ Intermediate)

สิ่งที่คุณจะได้รับ

  • เข้าใจข้อดี ข้อเสีย และการแบ่งระบบเป็น Microservices ตามขอบเขตงาน
  • สร้าง REST API ด้วย FastAPI และ PostgreSQL ได้
  • เลือกรูปแบบการจัดการข้อมูล เช่น Database per Service และ API Composition ได้
  • รัน Microservices หลายตัวด้วย Docker Compose ได้
  • จัดการทางเข้าและการกระจายภาระด้วย Nginx ได้
  • สื่อสารระหว่าง Service ทั้งแบบ HTTP และผ่าน Message Broker ได้
  • ยืนยันตัวตนข้าม Service และติดตามระบบด้วย Log และ Tracing ได้
  • เขียน Test และสร้าง Pipeline สำหรับ Build Image ได้

หลักสูตรนี้เหมาะสำหรับ

  • นักพัฒนา Python ที่ต้องการแยกระบบเป็น Microservices
  • นักไอทีและผู้ดูแลระบบที่ต้องรันและดูแลระบบหลาย Service
  • นักวิชาการและผู้สอนที่ต้องการเข้าใจสถาปัตยกรรม Microservices
  • ทีมที่มีระบบ Monolith และกำลังวางแผนแยกระบบ

พื้นฐานของผู้เข้าอบรม

  • เขียนภาษา Python ได้ และเข้าใจฟังก์ชันกับ Class เบื้องต้น
  • เข้าใจการทำงานของเว็บแอปพลิเคชันและ HTTP เบื้องต้น
  • ใช้ฐานข้อมูลและคำสั่ง SQL เบื้องต้นได้
  • นำโน้ตบุ๊กที่ติดตั้ง Docker Desktop ได้มาด้วย

หัวข้อการฝึกอบรม

รายละเอียดหลักสูตร

หลักสูตรนี้เป็นฉบับปรับปรุงใหม่ปี 2026 ของหลักสูตร Building Microservices with Python อบรม 3 วัน วันละ 6 ชั่วโมง รวม 18 ชั่วโมง (09:00-16:00 น.) รูปแบบบรรยายพร้อม Lab ระดับ Intermediate ฉบับนี้ขยายจากเดิมที่สร้าง Movies และ Casts Service แล้วรวมด้วย Nginx ให้ครบงาน Microservices จริง ใช้ FastAPI รุ่นปัจจุบันกับ Lifespan, SQLAlchemy 2.0 แบบ Async กับ Alembic และจัดการโปรเจกต์ด้วย uv เพิ่มการเรียกกันด้วย httpx พร้อม Timeout และ

Retry การสื่อสารผ่าน RabbitMQ ด้วย FastStream, Saga และ Outbox, JWT, OpenTelemetry, Test และ GitHub Actions โดยยังคงแกนเดิมคือแนวคิด Microservices, REST API ด้วย FastAPI กับ PostgreSQL, Database per Service, Shared Database, API Composition, Docker Compose และ Nginx เป็นทางเข้าเดียว หลักสูตรนี้เน้น Python ต่างจาก Building Microservices with NestJS และ Microservices with Spring Boot ทุก Lab ใช้เครื่องมือโอเพนซอร์สหรือใช้ฟรี ผู้เรียนได้ Lab Guide และซอร์สโค้ดทั้งระบบกลับไปใช้งานต่อ

Day 1 แนวคิด Microservices และสร้าง Service แรกด้วย FastAPI

Section 1: รู้จัก Microservices

  • Monolith เทียบกับ Microservices ข้อดีและข้อเสียที่ต้องรับมือ
  • เมื่อไรควรแยกระบบ และเมื่อไรยังไม่ควร
  • แบ่ง Service ตามขอบเขตงาน (Bounded Context)
  • ทำไมต้อง Python และ FastAPI สำหรับ Microservices
  • Workshop: แบ่งระบบจองตั๋วภาพยนตร์ออกเป็น Service

Section 2: Lab: เตรียมเครื่องมือ

  • ติดตั้ง uv และสร้างโปรเจกต์ Python 3.14
  • ติดตั้ง Docker Desktop และทดสอบ Docker Compose
  • โครงสร้าง Repository ที่มีหลาย Service
  • รัน FastAPI ด้วยคำสั่ง fastapi dev และดูเอกสาร API อัตโนมัติ
  • Lab: Service แรกที่ตอบ Health Check

Section 3: Lab: REST API ด้วย FastAPI

  • Path, Query และ Request Body พร้อม Type Hint
  • ตรวจข้อมูลด้วย Pydantic v2 และแยก Schema รับกับ Schema ส่ง
  • แยกโครงสร้างด้วย APIRouter และ Dependency Injection
  • จัดการ Error และ Status Code ให้เป็นมาตรฐาน
  • Lab: Movies API ที่เพิ่ม ค้นหา แก้ไข และลบได้

Section 4: Lab: ใช้ PostgreSQL กับ FastAPI

  • รัน PostgreSQL 18 บน Docker
  • SQLAlchemy 2.0 แบบ Async และการจัดการ Session ผ่าน Dependency
  • สร้างและอัปเดตตารางด้วย Alembic Migration
  • เปิดและปิดการเชื่อมต่อด้วย Lifespan ของ FastAPI
  • Lab: Movies Service ที่เก็บข้อมูลลง PostgreSQL

Section 5: รูปแบบการจัดการข้อมูลของ Microservice

  • แยกฐานข้อมูลต่อ Service (Database per Service)
  • ใช้ฐานข้อมูลร่วมกัน (Shared Database) และความเสี่ยง
  • รวมข้อมูลผ่าน API (API Composition)
  • การคัดลอกข้อมูลบางส่วนและ Eventual Consistency
  • Workshop: ออกแบบข้อมูลของ Movies และ Casts Service
Day 2 รันหลาย Service และให้สื่อสารกัน

Section 6: Lab: Microservice บน Docker

  • เขียน Dockerfile สำหรับ FastAPI ที่ใช้ uv
  • สร้าง Casts Service พร้อมฐานข้อมูลของตัวเอง
  • รวม Movies, Casts และฐานข้อมูลด้วย Docker Compose
  • Network, Volume, Environment Variable และ healthcheck
  • Lab: รันทั้งสอง Service ด้วยคำสั่งเดียว

Section 7: Lab: เรียกกันผ่าน HTTP

  • เรียก Service อื่นด้วย httpx แบบ Async
  • Timeout และ Retry อย่างมีขอบเขต
  • แนวคิด Circuit Breaker และการตอบกลับเมื่อปลายทางล่ม
  • API Composition รวมข้อมูลภาพยนตร์กับนักแสดง
  • Lab: หน้ารายละเอียดภาพยนตร์ที่ยังตอบได้แม้ Casts ล่ม

Section 8: Lab: Nginx เป็น API Gateway

  • ใช้ Nginx ให้เข้าถึงทุก Service ผ่าน Host Address เดียว
  • กำหนดเส้นทางตาม Path ไปยังแต่ละ Service
  • Load Balancing เมื่อรัน Service หลาย Instance
  • จำกัดอัตราการเรียก (Rate Limit) และ Header ที่ส่งต่อ
  • Lab: Gateway ของระบบจองตั๋วภาพยนตร์

Section 9: Lab: สื่อสารผ่าน RabbitMQ

  • การสื่อสารแบบ Synchronous เทียบกับ Asynchronous
  • Queue, Exchange และ Routing ของ RabbitMQ
  • เขียน Publisher และ Subscriber ด้วย FastStream
  • ส่ง Event เมื่อข้อมูลเปลี่ยนและรับใน Service อื่น
  • Lab: Booking Service ส่ง Event ให้ Notification Service

Section 10: Transaction ข้าม Service

  • ทำไมใช้ Transaction เดียวข้ามหลายฐานข้อมูลไม่ได้
  • Saga แบบ Choreography และ Orchestration
  • Outbox Pattern ป้องกัน Event หาย
  • Idempotency และการรับ Message ซ้ำ
  • Lab: จองที่นั่งและคืนที่นั่งเมื่อชำระเงินไม่สำเร็จ
Day 3 ความปลอดภัย การติดตามระบบ Test และ Workshop

Section 11: Lab: ยืนยันตัวตนข้าม Service

  • Auth Service ออก Token ด้วย OAuth2 และ JWT
  • ตรวจ Token ที่ Gateway หรือในแต่ละ Service
  • ส่งข้อมูลผู้ใช้ต่อระหว่าง Service อย่างปลอดภัย
  • เก็บค่าลับและรหัสผ่านอย่างถูกวิธี
  • Lab: ป้องกัน Booking API ให้ใช้ได้เฉพาะผู้ที่เข้าสู่ระบบ

Section 12: Lab: ติดตามระบบ

  • Health Check และ Readiness ของแต่ละ Service
  • Structured Log และ Correlation ID ข้าม Service
  • Tracing ด้วย OpenTelemetry และดูเส้นทาง Request ใน Jaeger
  • Metrics ที่ควรเก็บ เช่น จำนวน Request และเวลาตอบสนอง
  • Lab: หาว่า Request ที่ช้าติดอยู่ที่ Service ไหน

Section 13: Test สำหรับ Microservices

  • Unit Test และ API Test ด้วย pytest และ TestClient
  • แทนที่ Dependency ด้วย dependency_overrides
  • Integration Test กับฐานข้อมูลบน Docker
  • Contract Test ป้องกัน API เปลี่ยนแล้ว Service อื่นพัง
  • Lab: ชุด Test ของ Movies และ Booking Service

Section 14: Build และ Deploy

  • สร้าง Image ทุก Service อัตโนมัติด้วย GitHub Actions
  • ตั้ง Tag และเก็บ Image ใน Container Registry
  • Docker Compose สำหรับเซิร์ฟเวอร์จริงและการอัปเดตทีละ Service
  • ภาพรวมเมื่อระบบโตขึ้น เช่น Kubernetes
  • Lab: Pipeline ที่รัน Test แล้ว Build Image

Section 15: Workshop: ระบบจองตั๋วภาพยนตร์

  • รวม Movies, Casts, Booking, Auth และ Notification Service
  • เชื่อมทุกอย่างผ่าน Nginx, RabbitMQ และ PostgreSQL
  • ทดสอบกรณีปกติและกรณีที่ Service ล่ม
  • ใช้ AI Assistant ช่วยอ่าน Log และอธิบายโค้ด โดยตรวจผลเองทุกครั้ง
  • Workshop: นำเสนอสถาปัตยกรรมและสาธิตระบบที่รันได้จริง

รอบอบรมและรูปแบบการอบรม

สำหรับบุคคล — รอบอบรมทั่วไป

ขณะนี้ยังไม่มีรอบอบรมเปิดรับสมัคร ลงชื่อจองไว้ได้เลย ทีมงานจะติดต่อกลับเป็นกลุ่มแรกเมื่อเปิดรอบถัดไป หรือสอบถามทางไลน์ หรือโทร 02-570-8449 หรือ 088-807-9770

สำหรับองค์กร — In-house / Private Training

  • ปรับเนื้อหาให้ตรงกับเครื่องมือและงานจริงของทีม
  • เลือกวันเอง อบรมที่บริษัทหรือออนไลน์สด
  • ออกใบเสนอราคาในนามนิติบุคคลให้ฝ่ายจัดซื้อ
ขอใบเสนอราคาอบรมองค์กร

วิทยากรผู้สอน

คำถามที่พบบ่อย

Microservices ต่างจากระบบแบบ Monolith อย่างไร มีข้อดีข้อเสียอะไร

Monolith คือระบบที่ทุกฟังก์ชันรวมอยู่ในแอปเดียวและ Deploy พร้อมกัน ส่วน Microservices แยกระบบเป็นบริการเล็กหลายตัว แต่ละตัวดูแลงานเฉพาะเรื่องและคุยกันผ่าน API หรือ Message Broker ข้อดีคือพัฒนาและ Deploy แยกกันได้ และขยายเฉพาะส่วนที่มีโหลดสูง ข้อเสียคือระบบซับซ้อนขึ้น ต้องดูแลเครือข่าย ข้อมูลที่กระจายหลายฐาน Transaction ข้ามบริการ และการติดตามปัญหาข้ามบริการ ระบบเล็กจึงมักเริ่มจาก Monolith ที่แบ่งโมดูลชัดเจนก่อน

Database per Service กับ Shared Database ต่างกันอย่างไร

Database per Service คือแต่ละบริการมีฐานข้อมูลของตัวเอง บริการอื่นเข้าถึงข้อมูลได้ผ่าน API หรือ Event เท่านั้น ทำให้แต่ละทีมเปลี่ยนโครงสร้างข้อมูลได้อิสระ แต่การดึงข้อมูลข้ามบริการต้องใช้วิธีอย่าง API Composition และต้องยอมรับ Eventual Consistency ส่วน Shared Database ให้หลายบริการใช้ฐานข้อมูลเดียวกัน เริ่มง่ายและ Join ข้อมูลได้ตรง แต่การแก้ตารางหนึ่งอาจกระทบหลายบริการ

ใช้ Nginx เป็นทางเข้าเดียวให้หลาย Service ใน Docker Compose ทำอย่างไร

เพิ่ม Nginx เป็นอีก Service ในไฟล์ compose.yaml และเปิดพอร์ตเดียวออกสู่ภายนอก จากนั้นเขียนค่า location ใน nginx.conf แยกตาม Path เช่น /api/movies และ /api/casts แล้วใช้ proxy_pass ชี้ไปยังชื่อ Service กับพอร์ตภายใน เพราะ Docker Compose สร้างเครือข่ายที่เรียกกันด้วยชื่อ Service ได้ ถ้ารัน Service หลาย Instance ใช้ upstream กระจายภาระได้ แล้วสั่ง docker compose up ผู้ใช้จะเรียกทุกบริการผ่าน Host เดียว

หลักสูตร Building Microservices with Python เหมาะกับใคร ต้องมีพื้นฐานอะไรมาก่อน

เหมาะกับนักพัฒนา Python นักไอที ผู้ดูแลระบบ นักวิชาการ และทีมที่กำลังวางแผนแยกระบบเป็น Microservices ควรเขียนภาษา Python ได้ เข้าใจการทำงานของเว็บแอปพลิเคชันและ HTTP เบื้องต้น เคยใช้ฐานข้อมูลและคำสั่ง SQL มาบ้าง และนำโน้ตบุ๊กที่ติดตั้ง Docker Desktop ได้มาด้วย

เรียนจบหลักสูตร Building Microservices with Python แล้วทำอะไรได้บ้าง

แบ่งระบบเป็น Microservices และเลือกรูปแบบการจัดการข้อมูลที่เหมาะสม สร้าง REST API ด้วย FastAPI ที่เชื่อมต่อ PostgreSQL รันหลาย Service ด้วย Docker Compose ใช้ Nginx เปิดให้เรียกทุกบริการผ่าน Host เดียว ให้ Service สื่อสารกันทั้งผ่าน HTTP และ RabbitMQ ยืนยันตัวตนด้วย JWT ติดตามระบบด้วย Log และ Tracing และเขียน Test กับ Pipeline สำหรับ Build Image ผู้ผ่านการอบรมได้รับใบประกาศนียบัตร (Certificate of Completion) ที่มีเลขที่ของตัวเองและตรวจสอบออนไลน์ได้

เรียน Building Microservices with Python ต้องใช้เครื่องมืออะไรบ้าง

ใช้ Python 3.14 จัดการโปรเจกต์ด้วย uv สร้าง API ด้วย FastAPI, Pydantic v2, SQLAlchemy 2.0 และ Alembic เรียก Service อื่นด้วย httpx ส่ง Message ด้วย FastStream รัน PostgreSQL 18, RabbitMQ, Nginx และ Jaeger บน Docker Desktop เขียน Test ด้วย pytest และใช้ GitHub Actions ทุกตัวเป็นโอเพนซอร์สหรือใช้ฟรี ควรใช้โน้ตบุ๊ก RAM 16 GB ขึ้นไปเพราะต้องรันหลาย Container พร้อมกัน

บทความที่เกี่ยวข้อง