ComputeSection 088 min read10 questions

Other Compute

Lambda, ECS, Fargate, Lightsail & more

หมวด Other Compute Services รวบรวม compute options นอกเหนือจาก EC2 — ตั้งแต่ container services (ECS, Fargate, EKS, ECR), serverless (Lambda, API Gateway), batch processing (AWS Batch) ไปจนถึง Lightsail สำหรับ beginners ครอบคลุมทุกแบบที่ข้อสอบ CLF-C02 ต้องรู้

ในหน้านี้13 sections
  1. 01Docker Overview
  2. 02Amazon ECS (Elastic Container Service)
  3. 03AWS Fargate
  4. 04Amazon ECR (Elastic Container Registry)
  5. 05Amazon EKS (Elastic Kubernetes Service)
  6. 06Serverless Concept
  7. 07AWS Lambda
  8. 08Amazon API Gateway
  9. 09AWS Batch
  10. 10Amazon Lightsail
  11. 11ECS vs EKS vs Fargate Comparison
  12. 12Lambda Summary
  13. 13Other Compute Summary
01

Docker Overview

Docker คือ software platform สำหรับ deploy applications ใน containers — package app + dependencies เข้าด้วยกัน ทำให้รันได้ทุกที่บนทุก OS โดยไม่มีปัญหา compatibility

  • รันได้ทุก OS (Linux, Windows, Mac) — ไม่มีปัญหา compatibility ระหว่างเครื่อง
  • Predictable — ทำงานเหมือนกันทุกที่ ลดปัญหา "it works on my machine"
  • ทำงานน้อยลง, maintain ง่ายขึ้น, deploy เร็วขึ้น
  • ใช้ได้กับทุก programming language และทุก OS
  • เหมาะกับ microservices architecture และ modern app deployment

Docker Repositories

Public: Docker Hub (https://hub.docker.com) — public registry ที่ใหญ่ที่สุด | Private: Amazon ECR (Elastic Container Registry) — private registry บน AWS

Docker vs Virtual Machine (VM)

Docker containers share kernel และ resources กับ host OS — เบา เร็ว รัน containers ได้หลายตัวบน server เดียว มี efficiency มากกว่า VMs ที่ต้องรัน full OS แยก

02

Amazon ECS (Elastic Container Service)

Amazon ECS คือ container orchestration service ของ AWS — ใช้ launch Docker containers บน AWS โดย AWS จัดการ start/stop containers ให้

  • Launch Docker containers บน AWS = launch ECS Tasks
  • ใน EC2 Launch Type: เราเป็นคน provision และ maintain EC2 instances ที่รัน containers
  • AWS จัดการ start/stop containers ให้บน infrastructure ของเรา
  • Integrate กับ ALB (Application Load Balancer) สำหรับกระจาย traffic ไปยัง containers
  • Integrate กับ IAM, CloudWatch, ECR และ AWS services อื่นๆ
03

AWS Fargate

AWS Fargate คือ launch type ที่ให้รัน Docker containers บน AWS โดยไม่ต้องจัดการ infrastructure เลย — เป็น serverless สำหรับ containers

  • Serverless — ไม่มี EC2 instances ให้ดูแล, ไม่ต้อง provision/patch/scale
  • AWS จะรัน containers ให้ตาม CPU + RAM ที่เรากำหนด
  • ง่ายกว่า ECS + EC2 มาก — เหมาะกับทีมที่ไม่อยากดูแล server
  • จ่ายเฉพาะ resource ที่ container ใช้จริง (per-second billing)
  • ใช้ได้กับทั้ง ECS และ EKS
04

Amazon ECR (Elastic Container Registry)

Amazon ECR คือ private Docker image repository บน AWS — ใช้เก็บ Docker images ก่อนนำไป deploy ผ่าน ECS หรือ EKS

  • Private repository สำหรับ Docker images (มี public option ด้วย — ECR Public)
  • Fully integrated กับ ECS — pull images ได้เร็วเพราะอยู่ใน AWS network
  • Backed by Amazon S3 — เก็บ images บน S3 (durable + encrypted at rest)
  • Access ควบคุมด้วย IAM — security ดี, กำหนดได้ว่าใคร push/pull images ได้
  • รองรับ image scanning หา vulnerabilities อัตโนมัติ
05

Amazon EKS (Elastic Kubernetes Service)

Amazon EKS คือ managed Kubernetes service บน AWS — ช่วยรัน Kubernetes clusters โดยไม่ต้อง manage control plane เอง

  • Managed Kubernetes — AWS จัดการ control plane (API server, etcd, scheduler) ให้
  • Compatible กับ on-premises Kubernetes 100% — migrate มาได้ง่าย
  • เหมาะเมื่อ ทีมรู้จัก Kubernetes อยู่แล้ว หรือต้องการ multi-cloud portability
  • รองรับทั้ง EC2 Nodes (จัดการเอง/managed groups) และ Fargate (serverless)
  • ใช้ K8s ecosystem ทั้งหมด: kubectl, Helm, add-ons ต่างๆ

EKS vs ECS

EKS = open-source Kubernetes (portable, K8s ecosystem) | ECS = AWS proprietary (ง่ายกว่า, integrate AWS ดี) — ทั้งคู่รองรับ Fargate

เมื่อไรเลือก EKS

ใช้ K8s อยู่แล้ว, ต้องการ multi-cloud, มีคน expertise K8s, ต้องการ migrate from on-prem Kubernetes

06

Serverless Concept

Serverless = paradigm ที่ developer ไม่ต้อง manage servers เลย — แค่ deploy code/functions แล้ว AWS จัดการที่เหลือ

  • เริ่มต้นจาก FaaS (Function as a Service) เช่น AWS Lambda
  • ปัจจุบันรวม managed databases, messaging, storage ที่เป็น serverless ทั้งหมด
  • Serverless ไม่ได้แปลว่าไม่มี server — แค่ developer ไม่ต้อง manage หรือ provision เอง
  • AWS จัดการ scaling, patching, availability ให้อัตโนมัติ
  • Pay per use — ไม่ใช้ก็ไม่จ่าย (ส่วนใหญ่)

AWS Serverless Services ที่เคยเรียน

S3 (storage) | DynamoDB (NoSQL DB) | Fargate (containers) | Lambda (functions) | Aurora Serverless (relational DB)

ไม่ใช่ Serverless

EC2, RDS (ปกติ), ECS + EC2 Launch Type, EKS + EC2 Nodes — services เหล่านี้ยังต้อง provision/manage instances

07

AWS Lambda

AWS Lambda คือ virtual functions — รัน code โดยไม่มี servers, รันสั้นๆ (max 15 นาที), ทำงาน on-demand, scaling อัตโนมัติ

Amazon EC2

Virtual servers ใน cloud — ทำงานตลอดเวลา, sized ตาม RAM/CPU, scaling = manual (เพิ่ม/ลด instances เอง หรือ ASG)

AWS Lambda

Virtual functions — on-demand, run สั้นๆ (max 15 นาที), scaling อัตโนมัติ, ไม่มี server ให้ดูแล

  • Pay per request + compute time — Free tier: 1M requests/เดือน + 400,000 GB-seconds ฟรี
  • Integrated กับ AWS services เกือบทั้งหมด
  • Event-driven — function ทำงานเมื่อมี event เข้ามาเท่านั้น
  • รองรับหลาย languages: Node.js, Python, Java, C#, Go, Ruby, Custom Runtime
  • Monitoring ผ่าน CloudWatch
  • RAM สูงสุด 10GB per function — ยิ่ง RAM เยอะ → ได้ CPU + network bandwidth เพิ่มขึ้นด้วย

Common Lambda Triggers

API Gateway, S3 (events), DynamoDB Streams, CloudWatch Events / EventBridge, SQS, SNS, Kinesis

Common Use Cases

Serverless API backends, image/file processing on S3 upload, scheduled cron jobs, real-time stream processing, event-driven automation

08

Amazon API Gateway

Amazon API Gateway คือ fully managed service สำหรับ create, publish, maintain, monitor และ secure APIs ที่ scale ใหญ่ — เป็น serverless และ scalable

  • Serverless + scalable — ไม่ต้อง manage server
  • รองรับ RESTful APIs และ WebSocket APIs (real-time)
  • ฟีเจอร์ครบ: security, authentication, API throttling, API keys, monitoring
  • ใช้ร่วมกับ Lambda เป็น serverless REST API ที่นิยมที่สุด
  • Integrate ได้กับ Lambda, EC2, on-prem services, AWS services อื่นๆ
09

AWS Batch

AWS Batch คือ fully managed service สำหรับรัน batch processing jobs ที่ scale ใหญ่ (รันได้ 100,000+ jobs)

  • Batch job = job ที่มี start และ end ชัดเจน (ไม่ใช่ continuous service)
  • AWS Batch launch EC2 instances หรือ Spot Instances ให้แบบ dynamic ตามจำนวน jobs
  • Provisions CPU + memory ที่เหมาะสมกับแต่ละ job อัตโนมัติ
  • Jobs ถูกกำหนดเป็น Docker images และรันบน ECS
  • เราแค่ submit jobs — AWS จัดการ scheduling, scaling, retry ให้

AWS Batch

ไม่มี time limit | runtime อะไรก็ได้ (ผ่าน Docker) | ใช้ EBS / Instance Store | รันบน EC2-based infrastructure

AWS Lambda

มี time limit (15 นาที) | runtime จำกัด (ที่ AWS รองรับ) | temporary disk เท่านั้น | Serverless สมบูรณ์

10

Amazon Lightsail

Amazon Lightsail คือบริการที่รวม virtual servers + storage + databases + networking ในที่เดียว ราคาถูกและ predictable — ง่ายกว่า EC2/RDS/ELB/EBS มาก เหมาะกับ beginners

  • Low + predictable pricing — ราคาเริ่มต้นไม่กี่ดอลลาร์/เดือน
  • Simpler กว่าใช้ EC2 + RDS + ELB + EBS แยก
  • เหมาะกับ beginners ที่ยังไม่คุ้นกับ AWS services
  • มี templates สำเร็จรูป: LAMP, Nginx, MEAN, Node.js, WordPress, Magento, Joomla และอื่นๆ
  • High Availability ได้ แต่ไม่มี auto-scaling
  • Limited integrations กับ AWS services อื่นๆ (ไม่เหมือน EC2 ที่ integrate ลึก)

Use Cases

Simple web applications, websites (เช่น WordPress), dev/test environments, small business apps, การเรียนรู้ AWS เบื้องต้น

ไม่เหมาะกับ

Production workloads ขนาดใหญ่ที่ต้อง auto-scaling, high traffic, deep AWS integrations → ใช้ EC2 + Auto Scaling แทน

11

ECS vs EKS vs Fargate Comparison

AWS มี container services หลายตัว ต้องแยกให้ออกว่าตัวไหนเป็น orchestrator, ตัวไหน serverless, และเลือกใช้ตอนไหน:

Amazon ECS

Container orchestrator: ใช่ (AWS proprietary) | Control plane: AWS manages | Launch types: EC2 + Fargate | เลือกเมื่อ: ใช้ AWS เป็นหลัก, ต้องการความง่าย, ไม่มี K8s expertise

Amazon EKS

Container orchestrator: ใช่ (Kubernetes) | Control plane: AWS manages K8s control plane | Launch types: EC2 Nodes + Fargate | เลือกเมื่อ: ใช้ K8s อยู่แล้ว, ต้องการ multi-cloud portability

AWS Fargate

Container orchestrator: ไม่ใช่ (เป็น compute engine) | Control plane: ไม่มี (serverless) | Launch types: ใช้ร่วมกับ ECS หรือ EKS | เลือกเมื่อ: ต้องการ serverless containers, ไม่อยาก manage EC2

Amazon ECR

Container orchestrator: ไม่ใช่ (เป็น registry) | ใช้เก็บ Docker images | ใช้ร่วมกับ ECS หรือ EKS | Backed by S3, controlled by IAM

12

Lambda Summary

AWS Lambda = serverless Function as a Service (FaaS) — สรุปประเด็นหลักที่ข้อสอบชอบถาม:

  • Serverless FaaS — focus ที่ code, ไม่ดูแล server
  • Billing = (compute time) × (RAM allocated) + จำนวน requests — pay per use จริงๆ
  • Language support: Node.js, Python, Java, C#, Go, Ruby + Custom Runtime
  • 15-minute limit — ถ้านานกว่านี้ใช้ ECS/Fargate/Batch แทน
  • Use cases ยอดฮิต: S3 thumbnail generation, serverless cron (CloudWatch Events), REST API ที่อยู่หลัง API Gateway
13

Other Compute Summary

สรุป Other Compute Services ทั้งหมดที่ต้องรู้สำหรับ CLF-C02 — แต่ละ service มีจุดแข็งและ use case ต่างกัน เลือกให้เหมาะกับ workload

ECS

AWS-native container orchestration — รัน Docker containers บน EC2 หรือ Fargate

Fargate

Serverless compute engine สำหรับ containers — ไม่ต้อง provision EC2 เอง

EKS

Managed Kubernetes — เหมาะกับทีมที่ใช้ K8s อยู่แล้วหรือต้องการ multi-cloud

ECR

Private Docker image registry บน AWS — backed by S3, controlled by IAM

Lambda

Serverless FaaS — รันสั้นๆ (max 15 นาที), event-driven, pay per execution

API Gateway

Managed REST/WebSocket APIs — มักใช้คู่ Lambda เป็น serverless API

AWS Batch

รัน batch jobs ขนาดใหญ่บน EC2/Spot ผ่าน Docker — ไม่จำกัดเวลา

Lightsail

บริการรวม VM + DB + networking ราคาถูก predictable เหมาะ beginners

  • Short event-driven function → Lambda
  • Long-running batch jobs (>15 นาที) → AWS Batch
  • Containers แบบ serverless → Fargate (กับ ECS หรือ EKS)
  • ใช้ Kubernetes อยู่แล้ว → EKS
  • AWS-native + ง่าย → ECS (EC2 หรือ Fargate launch type)
  • Simple website / dev-test → Lightsail
ทดสอบ

คำถามทบทวน

10 ข้อ — เลือกคำตอบเพื่อดูเฉลยและคำอธิบาย

ข้อ 1 / 10คะแนน 0

Amazon ECR ทำหน้าที่อะไรในระบบ container ของ AWS?