Docker คือซอฟต์แวร์สาย PaaS (platform as a service) ที่ช่วยให้นักพัฒนาสามารถสร้างและ deploy applications ต่างๆ ในรูปแบบของ Containers
เหล่า Containers จะช่วยให้นักพัฒนา deploy ตัว app ได้ง่ายดายและสะดวกสบาย เพราะการ deploy ทำได้ในรูปของ package เดียว นอกจากนี้ Docker ยังช่วยให้นักพัฒนาสบายใจได้ว่า application จะ run อย่างสมบูรณ์บน Linux ไม่ว่าจะผ่านการ customize รูปแบบใดก็ตามมาครับ
ส่วน Kubernetes หรือ K8s คือระบบแบบ open-source ที่ช่วยในการพัฒนา, scale และบริหาร containers อย่างอัตโนมัติ หน้าที่ของ Kubernetes นั้นเราเรียกรวมๆ ว่า container-orchestration ครับ
ทั้ง Docker และ Kubernetes นั้นมีความสำคัญยิ่งกับวงการ DevOps หรือแม้กระทั่งวงการ IT ทั่วไปในปัจจุบัน เพราะบริษัทต่างๆ ล้วนแต่เริ่มนำเทคโนโลยี container มาใช้กับ Applications ของตนอย่างรวดเร็ว
จากการสำรวจของ Portworx พบว่าในปี ค.ศ.2019 บริษัทมากถึง 87% ได้ใช้เทคโนโลยี container เพิ่มขึ้นจาก 55% เมื่อปี ค.ศ.2017 ครับ ตัวเลขนี้น่าจะเพิ่มขึ้นจนเข้าใกล้ 100% ในที่สุด
ดังนั้นถ้าคุณต้องการจะเป็นนักพัฒนา apps, วิศวกรซอฟต์แวร์ หรือ DevOps Engineer การมีทักษะและความเข้าใจใน Docker และ Kubernetes จะกลายเป็นสิ่งที่ขาดไม่ได้ในอนาคตอย่างแน่นอนครับ
ในโพสนี้ เราจะมาดูกันว่ามีคอร์สสอน Docker และ Kubernetes ออนไลน์ไหนบ้างที่น่าเรียนครับ
ข้อควรทราบก่อนสมัคร
- ราคาของแต่ละคอร์สอาจะเปลี่ยนแปลงไปได้ (โดยเฉพาะ Udemy ที่กระหน่ำลดราคา 90%) ดังนั้นโปรดตรวจสอบอย่างละเอียดอีกครั้งก่อนที่จะสมัครคอร์สใดๆ
- คุณควรจะมีความรู้ทั่วไปในการใช้คำสั่งอย่าง Command Line/Terminal รวมไปถึงพื้นฐาน Linux อย่างเช่น SSH หรือ Shells ในการเรียน อย่างไรก็ดีบางคอร์สจะมี requirement พิเศษเพิ่มเข้ามาด้วย ในส่วนนี้ผมจะระบุไว้ในแต่ละคอร์สครับ
- โดยมากแล้วในคอร์สจะสอนควบคู่กันทั้ง Docker และ Kubernetes แต่บางคอร์สอาจจะเน้นเจาะลึกตัวใดตัวหนึ่งเท่านั้น ผมแนะนำให้คุณลองพิจารณาความต้องการของคุณให้ดีก่อนที่จะสมัครครับ
แพลตฟอร์มสอนการใช้งาน Docker และ Kubernetes
คอร์สสอน Docker และ Kubernetes ที่ผมจะแนะนำจะอยู่ในแพลตฟอร์มอย่าง Udemy และ Coursera ถ้าคุณยังไม่ทราบเงื่อนไขหรือรูปแบบคอร์ส ผมแนะนำให้อ่านเพิ่มเติมก่อนสมัครที่บทความแพลตฟอร์มเรียนออนไลน์ของผมครับ
อย่างไรก็ดีตัวเลือกที่ผมมองว่ายอดเยี่ยมที่สุด และจะแนะนำเป็นลำดับแรกคือคอร์สของ The Linux Foundation ครับ
The Linux Foundation
The Linux Foundation คือองค์กรไม่แสวงผลกำไรที่ดูแลการพัฒนาของ Linux และซอฟต์แวร์แบบ Open-source ที่เกี่ยวข้องโดยตรง ดังนั้นถ้าคุณอยากได้คอร์สเรียน Docker และ Kubernetes ออนไลน์ชั้นยอดที่สอนโดยผู้เชี่ยวชาญ คุณสามารถหาได้จากที่นี่เลยครับ
คอร์สที่น่าสนใจมีหลายคอร์สด้วยกัน โดยมีรายละเอียดดังต่อไปนี้
1. Containers Fundamentals
คอร์สแบบละเอียดสุดๆ ที่จะสอนความรู้เทคโนโลยี Container ที่น่าสนใจตั้งแต่ระดับเริ่มต้น และมีเนื้อหามากถึงกว่า 40 ชั่วโมงด้วยกัน อย่างไรก็ดีตัวคอร์สจะไม่ได้ใช้วีดิโอครับ คุณจะเรียนจากแบบฝึกหัดและการทำ Lab อย่างมากมาย เรียกได้ว่าหลังจากเรียนจบแล้ว การทำงานโดยใช้ Docker ถือว่าเป็นเรื่องกล้วยๆ เลยก็ว่าได้
สิ่งที่คุณจะได้เรียนในคอร์สมีดังต่อไปนี้
- พื้นฐานของการทำ Virtualization
- Container Standards/Runtimes
- Image/Container Operations
- การสร้าง Container Images
- Container Networking/Storage
- และอื่นๆ อีกมากมาย
โดยรวมแล้วภายในคอร์สนี้คุณจะได้สร้าง App ในหลาย Container โดยใช้งาน Docker, Docker API และ Docker Image ครับ ซึ่งตัวคอร์สจะปูพื้นฐานสำหรับการเรียน Docker Swarm และ Kubernetes ต่อไปได้เป็นอย่างดี
ค่าเรียนคอร์สนี้จะอยู่ที่ $299 หรือประมาณ 8,970 บาทครับ โดยคุณจะเข้าถึงคอร์สได้เป็นเวลา 1 ปีด้วยกัน
2. Kubernetes Fundamentals
คอร์สนี้จะทำหน้าที่สองอย่างในเวลาเดียวกันครับ นั่นคือให้ความรู้ Kubernetes พื้นฐาน และเตรียมผู้เรียนให้พร้อมกับการสอบ Certfication อย่าง CKA (Certified Kubernetes Administrator) ซึ่งถ้าคุณเรียนคอร์สนี้จบแล้ว คุณจะพร้อมสำหรับการสอบเลยครับ
ในส่วนของเนื้อหาในคอร์สจะมีดังต่อไปนี้
- ทำความรู้จักกับ Kubernetes และการใช้งานเบื้องต้น
- โครงสร้างของ Kubernetes
- เจาะลึกในส่วนของ API
- การจัดการ State
- Volumes/Services/Ingress
- Scheduling, Logging, Troubleshooting
- Helm
- การจัดการในเรื่องความปลอดภัย
- และอื่นๆ อีกมากมาย
รวมแล้วคุณจะได้เรียนเนื้อหาที่มีความยาวกว่า 35 ชั่วโมงด้วยกัน คุณจะได้เข้าใจโครงสร้างและการติดตั้ง Kubernetes Cluster อย่างละเอียดถี่ถ้วนอย่างที่หาไม่ได้ที่อื่น นอกจากนี้ในคอร์สยังมีตัวอย่างและโปรเจคอีกมากมายให้คุณได้ทำด้วย หลังจากจบคอร์ส คุณจึงสามารถใช้งานหรือสร้าง Kubernetes ของตนเองได้เลยครับ
ราคาคอร์สอยู่ที่ $299 แต่ถ้าคุณสมัครสอบด้วย ราคาทั้งหมดจะอยู่ที่ $499 ซึ่งจะได้รับส่วนลดค่าสอบ $100 ครับ
Udemy
คอร์สที่ 3-9 เป็นคอร์สของ Udemy
Udemy เป็นหนึ่งในแพลตฟอร์มที่ดีที่สุดในการเรียน Docker และ Kubernetes ออนไลน์อย่างไม่ต้องสงสัย เพราะมีคอร์สอันยอดเยี่ยมที่จัดทำโดยผู้เชี่ยวชาญให้เลือกเรียนมากมาย
แต่สิ่งที่ดีงามที่สุดคงหนีไม่พ้น การลดราคาแบบหนักหน่วงทุกสัปดาห์ที่จะทำให้คอร์สลด 90% เหลือแค่ 300 –500 บาทเท่านั้นเอง เพราะฉะนั้นคุณไม่ต้องไปหาคอร์สสอน Docker และ Kubernetes ราคาหลายพันบาทอีกต่อไปครับ
ถ้าเกิดว่าคอร์สไม่ลดราคา ผมแนะนำให้สมัครแจ้งเตือนกับผมเอาไว้เพื่อรับทราบช่วงเวลา หรือว่าจะรอ 2-5 วันแล้วค่อยซื้อเวลามีโปรโมชั่นครับ
อย่างไรก็ตามหลายคนอาจจะรู้สึกว่าคอร์สมันเยอะเหลือเกิน จะเรียนคอร์สไหนดีนะ ในส่วนนี้ไม่ต้องกังวลเลย เพราะผมได้หาคอร์สดีๆ มาให้คุณแล้วเรียบร้อยนั่นเองครับ
3. Docker Mastery: with Kubernetes +Swarm from a Docker Captain
คอร์สสอนทั้ง Docker และ Kubernetes ของ Bret Fisher ผู้เชี่ยวชาญสาย DevOps ประสบการณ์ 20 ปีที่มีความชำนาญพิเศษในการใช้งาน Docker นอกจากนี้เขายังเป็น “Docker Captain” หรือผู้เชี่ยวชาญที่ทาง Docker Inc. ให้การยอมรับอย่างเป็นทางการด้วยครับ
ดังนั้นไม่ต้องสงสัยเลยว่าเขาจะสอนความรู้ดีๆ ที่ถูกต้องแม่นยำให้กับคุณได้อย่างแน่นอน
สิ่งที่คุณจะได้เรียนในคอร์สมีดังต่อไปนี้
Docker Part
- แนะนำการทำงานของ Docker ที่เราควรทราบและการติดตั้ง Docker
- การสร้างและใช้งาน Docker Container คุณจะได้เข้าใจโครงสร้างต่างๆ อย่างละเอียด
- การสร้าง Container Images
- Lifecycle ของ Container และวิธีจัดการที่ถูกต้อง
- Multi-container Tool
- พื้นฐานของ Docker Swarm (ใช้ในการทำ orchestration เช่นเดียวกับ Kubernetes)
- การใช้ Docker Swarm ใน Workflow ของคุณ รวมไปถึงอธิบายในส่วนของ Lifecycle
- Image Storage, Distribution
- Docker Security
- แนะนำฟีเจอร์ใหม่ใน Docker 19.03
- DevOps กับ Docker
- และอื่นๆ อีกมากมาย
Kubernetes Part
- อธิบายว่า Kubernetes คืออะไร ทำไมคุณถึงควรนำมาใช้งาน และการเปรียบเทียบกับ Docker Swarm
- Install Kubernetes + First Pod
- Kubernetes Ports และการจัดการเบื้องต้น
- YAML Objects สำหรับการสร้างไฟล์ Kubernetes Config
- อนาคตของ Kubernetes
สำหรับคอร์สนี้ถือว่าแน่นมากในส่วนของเนื้อหาครับ โดยเฉพาะส่วน DevOps กับ Docker ที่ผู้สอนจะตอบคำถามที่หลายคนน่าจะสงสัยอย่างละเอียด อย่างเช่นคุณควรจะออกแบบ Apache Web Server แบบไหน เช่นหลาย Sites ใน Container เดียว หรือหลาย Container ดีเป็นต้น
อย่างไรก็ดีผมว่าเนื้อหาในส่วนของ Kubernetes จะน้อยไปหน่อย คุณอาจจะต้องเรียนคอร์สที่ 7 เพิ่มเติมครับ
นอกจากเนื้อหาแบบวีดิโอจำนวน 19.5 ชั่วโมงแล้ว คุณยังจะได้ลองทำแบบฝึกหัดจำนวนมากที่ช่วยยกระดับทักษะการใช้งาน Docker และ Kubernetes หลังจากที่คุณเรียนจบ คุณจะมีความรู้เพียงพอสำหรับตำแหน่งนักพัฒนาทั่วไปหรือ sysadmin เลยครับ
คอร์สนี้ได้คะแนนรีวิวไป 4.6/5.0 จากนักเรียนเกือบ 200,000 คน
4. Docker and Kubernetes: The Complete Guide
คอร์สสอน Docker และ Kubernetes ของ Stephen Grider ครูสาย software development ที่เคยทำหน้าที่บรรยายให้กับวิศวกรหน้าใหม่ในบริษัทชั้นนำมานานหลายปี
ในฐานะที่เคยเรียนคอร์สที่ Stephen สอนมาแล้ว ผมต้องบอกเลยว่าคอร์สของเขาคุณภาพเยี่ยมจริงๆ ทุกอย่างจะสอนแบบเป็นลำดับขั้นตอนทำให้คุณไม่งง นอกจากนี้สำเนียงของเขาก็ยังฟังง่ายแบบเจ้าของภาษาชาวอเมริกันด้วยครับ
สิ่งที่เขาจะสอนคุณในคอร์สนี้ได้แก่
Docker Part
- Install Docker และแนะนำพื้นฐานของ Docker
- ใช้ Docker Client ในการควบคุม Containers
- สร้าง Custom Images ผ่านทาง Docker Server
- ใช้ Docker Compose กับ Local Containers ต่างๆ
- สอนการสร้าง CI/CD Workflow อันทรงประสิทธิภาพ (ใช้ GitHub, TravisCI และ AWS)
- การทำ Integration และ Deploy โดยใช้ AWS
- การสร้าง Application ที่มี container มากกว่า 1 ตัว (ใช้ Node, Redis, React และ PostgreSQL)
- การทำ “Dockerizing” ตัว services ต่างๆ
- การ Deploy ตัว multi-container app ไปยัง AWS
- และอื่นๆ อีกมากมาย
Kubernetes Part
- แนะนำ Kubernetes สร้าง Kubernetes Cluster ในเครื่องของคุณ
- วิธีจัดการ set ของ Containers จำนวนมาก
- การสร้าง Multi-container app โดยใช้ Kubernetes
- จัดการ traffic โดยใช้ Ingress controllers
- Kubernetes Production Deployment (ใช้ Google Cloud)
- HTTPS Setup บน Kubernetes
- และอื่นๆ อีกมากมาย
สำหรับคอร์สนี้คุณจะได้เรียนทั้ง Docker และ Kubernetes อย่างละเอียดมาก พร้อมทั้งได้ลองทำจริงด้วย โดยคุณจะได้ deploy app ของคุณไปยัง AWS และ Google Cloud ครับ (เตรียมเครดิตการ์ดไว้ใส่ข้อมูล แต่ไม่ต้องจ่ายเงินเพิ่มแต่อย่างใด)
โดยส่วนตัวผมมองว่าคอร์สนี้โครงสร้างดีมาก เพราะเนื้อหา Docker และ Kubernetes ใกล้เคียงกัน ไม่ได้เอนไปทางส่วนใดส่วนหนึ่งแต่อย่างใด
คอร์สนี้มีความยาว 21.5 ชั่วโมง และได้คะแนนรีวิวสูงถึง 4.6/5.0 จากนักเรียนกว่า 158,000 คน
5. Docker & Kubernetes: The Practical Guide
ถัดมาคอร์สนี้มีชื่อที่เหมือนกับคอร์สที่สองมาก แต่จริงๆแล้วจัดทำโดย Maximilian Schwarzmuller นักพัฒนาที่เรียนรู้ทุกอย่างด้วยตนเองจาก scratch จนมาเป็นระดับมืออาชีพครับ
ในปัจจุบันเขาเปิดสถาบันออนไลน์ที่สอนเทคโนโลยีต่างๆ เป็นของตัวเอง นักเรียนของเขาใน Udemy มีมากถึง 1.2 ล้านคนเลยทีเดียว
สาเหตุที่ผมชอบผู้สอนคนนี้คือ เขาดูแลคอร์สแต่ละคอร์สของเขาอย่างดีมาก โดยเขาจะอัพเดตเนื้อหาใหม่ที่ทันสมัยอยู่ตลอดเวลา โดยไม่มีการทิ้งผู้เรียนเลยครับ ดังนั้นในอนาคตถ้า Docker และ Kubernetes มีอัพเดตใหม่ๆ คุณสามารถกลับมาเรียนคอร์สนี้ได้เลย โดยไม่ต้องไปหาคอร์สใหม่ครับ
คุณภาพเสียงในคอร์สจัดว่าดีมาก เช่นเดียวกับสำเนียงของเขาที่เข้าใจง่ายมากแบบไม่มีอุปสรรคเลยครับ
สิ่งที่คุณจะได้เรียนในคอร์สนี้คือ
Docker Part
- การ Set Up Docker และพื้นฐาน Docker เบื้องต้น
- การสร้าง Docker Image & Docker Container
- การจัดการข้อมูลและ Volumes
- Cross Container Communication (การสื่อสารระหว่าง Container ด้วยกัน และ Container กับ WWW และ Local Host)
- ใช้ Docker ในการสร้าง Multi-container apps และการทำ Dockerizing
- การใช้ Docker Compose
- การใช้ Utility Containers และการ Execute ตัว commands ใน containers
- ทำโปรเจคด้วยการใช้ Docker กับ PHP
- การ Deploy ตัว Docker Containers ของเราให้ใช้งานได้ (ใช้ AWS และ MongoDB)
- และอื่นๆ อีกมากมาย
Kubernetes Part
- พื้นฐานของ Kubernetes + Core Concepts
- การจัดการข้อมูลและบริหาร Volumes โดยใช้ Kubernetes
- Kubernetes Networking/Communication
- การ Deploy โดยใช้ AWS
ด้วยเนื้อหากว่า 23.5 ชั่วโมง ทำให้คอร์สนี้สอน Docker และ Kubernetes อย่างละเอียดที่สุดใน Udemy ไปโดยปริยายครับ
ภายในคอร์สมี Demo จำนวนมากที่ช่วยให้คุณได้ศึกษาและพัฒนาทักษะ เมื่อเรียนจบคอร์สแล้ว คุณจะพร้อมสำหรับการใช้ Docker และ Kubernetes ในชีวิตจริงครับ
คอร์สนี้ได้คะแนนสูงปรี๊ดถึง 4.8/5.0 จากนักเรียน 14,000 คนครับ
ต่อจากคอร์สนี้เป็นต้นไปจะเป็นคอร์สเฉพาะทางที่น่าสนใจ อย่างที่ผมได้อธิบายไปแล้วว่า Udemy มีคอร์สจำนวนมหาศาล ดังนั้นคอร์สแนวเจาะลึกจึงมีให้เรียนเช่นกัน เราไปดูกันดีกว่าครับว่ามีอะไรบ้าง
6. Docker for Beginners
คอร์สนี้เป็นคอร์สสอน Docker อย่างเดียวแบบเจาะลึกทุกซอกทุกมุม และจะโฟกัสกับภาคปฏิบัติมากเป็นพิเศษ หัวใจสำคัญคือคุณจะได้สร้างและจัดการ containers ของ Node.js, Python, WordPress และอื่นๆ อีกมากมายครับ
ตัวคอร์สจัดทำโดย Bogdan Stashchuk วิศวกรซอฟต์แวร์ที่มีประสบการณ์การพัฒนาซอฟต์แวร์มากว่า 2 ทศวรรษครับ
สิ่งที่คุณจะได้เรียนในคอร์สมีดังต่อไปนี้
- การ Run Docker Containers พื้นฐานอย่างเช่น Ubuntu, Busybox และ alpine
- Port และ Volume Mapping ใน Docker
- การจัดการ Docker Containers
- วิธีการ Run Applications ที่สร้างโดย Python และ Node.js ใน Docker
- วิธีการ Run MongoDB Containers
- ใช้ WordPress Container และ อธิบายการสื่อสารระหว่าง Containers และ MySQL/phpMyAdmin
- สร้างและจัดการ Bridge Network
- อธิบายให้คุณเข้าใจถึง Docker Components และเปรียบเทียบให้คุณทราบถึงความแตกต่างระหว่าง Docker Containers และ Virtual Machines
- ความรู้ภาคทฤษฎีของ Images และ Containers
- พื้นฐาน Linux สำหรับการใช้งาน Docker
เนื้อหาในคอร์สจะอยู่ที่ประมาณ 14 ชั่วโมง (และกำลังจะเพิ่มขึ้นเพราะ Section ใหม่กำลังอยู่ในช่วงพัฒนา) และครอบคลุมการใช้งาน Docker อย่างละเอียด
อย่างไรก็ดีผมไม่ค่อยชอบโครงสร้างของคอร์สเท่าไร เพราะยกภาคทฤษฎีทั้งหมดไปไว้ในส่วนหลังครับ ถ้ามือใหม่เอี่ยมเลยน่าจะงงพอสมควร เพราะเปิดมาก็เริ่มภาคปฏิบัติด้วยการ Run Containers เลย
เสียงของครูผู้สอนถือว่าชัดเจน แต่เขาจะมี accent ออกไปทางรัสเซียเล็กน้อย ซึ่งจะไม่ชัดเท่าเจ้าของภาษา แต่เข้าใจได้ไม่ยากครับ
คอร์สนี้ได้คะแนนรีวิว 4.7/5.0 จากนักเรียนกว่า 15,600 คน
7. Docker – Hands On for Java Developers
สำหรับนักพัฒนา Java ที่ต้องการเรียน Docker คอร์สนี้ของ Richard Chesterwood นักพัฒนาซอฟต์แวร์และ DevOps ผู้มีประสบการณ์ถึง 25 ปี จะตอบโจทย์ของคุณครับ
คอร์สนี้จะเน้นไปที่การใช้ Docker และ Docker Swarm ในการ deploy Java Microservices ครับ โดยคุณจะได้ทำงานกับ Microservices Architecture ของจริงที่สร้างโดยใช้ Spring Boot ครับ
- สรุปแล้วคุณจะได้เรียนสิ่งต่อไปนี้ในคอร์ส
- แนะนำและ Install Docker
- การจัดการ Docker Containers และ Images
- Docker Networking และ Volumes
- การ Integrate กับ Docker Maven Plugin
- Docker Compose และ Dockerfile
- การใช้ Docker Swarm และการสร้าง Stacks
- การใช้ Fleetman Microservices และ EC2 Cluster
- และอื่นๆ อีกมากมาย
ในการเรียนคอร์สนี้คุณจะต้องมีความรู้ Java Programming มาระดับหนึ่ง และควรจะใช้งาน AWS/EC2 เป็นมาบ้างครับ
เสียงของครูผู้สอนฟังง่าย สำเนียงของเขาเหมือนกับเจ้าของภาษาชาวอเมริกันทั่วไปครับ เพราะฉะนั้นสบายใจได้ในส่วนนี้ครับ
คอร์สนี้ได้คะแนนรีวิวไป 4.6/5.0 จากนักเรียนเกือบ 8,000 คน
8. Docker for Node.js Projects From a Docker Captain
อีกคอร์สสอน Docker ที่จัดทำโดย Bret Fisher ตัวคอร์สจะเน้นไปที่การสร้าง ตรวจสอบ และ deploy Node.js apps สำหรับ Docker ครับ ดังนั้นถือว่าน่าสนใจมากทีเดียวสำหรับนักพัฒนาที่ใช้ Node.js อยู่แล้ว
ใครที่อยากจะเรียนคอร์สนี้จะต้องมีพื้นฐานที่ดีทั้ง Docker, Node.js, การใช้ Command Line (คำสั่งทั่วไป) รวมไปถึงพื้นฐานของ Cloud Computing ด้วยครับ
สิ่งที่คุณจะได้เรียนในคอร์สนี้คือ
- ทบทวนพื้นฐานของ Docker Compose
- สร้าง Node.js Images ที่มีฟีเจอร์ auto-scan สำหรับการหาช่องโหว่ทางด้านความปลอดภัย
- ย้าย Node.js apps เก่าไปยัง containers
- ใช้ BuildKit และ Multi-Stage Builds ในการสร้าง Dockerfiles ที่ยืดหยุ่นและมีประสิทธิภาพมากขึ้น
- ควบคุม Node Process โดยใช้ Docker และ Linux
- พื้นฐานของ app design สำหรับ distributed computing ใน Cloud เพื่อให้ app ของคุณมี 12-factor design ใน containers
- เตรียมพร้อม Docker Image สำหรับ production
- Deploy containers ของคุณ
- และอื่นๆ อีกมากมาย
โดยรวมถือว่าคอร์สนี้สมบูรณ์แบบครับ ตั้งแต่เนื้อหาไปจนถึงการสอนในคอร์สที่ฟังง่ายแบบสบายๆ ไม่เพียงเท่านี้ ภายในมีทั้งโปรเจคและแบบฝึกหัดต่างๆ ให้คุณฝึกฝนตลอดคอร์สด้วยครับ
รวมแล้วเนื้อหาในคอร์สอยู่ที่ 8 ชั่วโมง คอร์สนี้ได้คะแนนรีวิว 4.7/5.0 จากนักเรียนเกือบ 8,100 คนครับ
9. Kubernetes Mastery: Hands-On Lessons From A Docker Captain
คอร์สนี้เป็นของ Bret Fisher เช่นเดิม แต่คอร์สนี้จะเป็นการเจาะลึกในส่วนของ Kubernetes (ที่ผมได้กล่าวไปแล้วว่าเนื้อหาน้อยไปในคอร์สที่ 1)
หัวใจสำคัญของคอร์สนี้คุณจะได้เรียนฟีเจอร์ต่างๆ ของ Kubernetes รวมไปถึง plugin ต่างๆ และฝึกฝนในส่วนของ DevOps Workflows ครับ
เรามาดูกันดีกว่าผู้สอนจะสอนอะไรคุณบ้าง
- ทำไมคุณถึงต้องเรียน Kubernetes และโครงสร้างเบื้องต้น
- Deploy Microservice app โดยใช้ CLI และ YAML
- Kubectl
- ลองรูปแบบต่างๆ ของ Load Balancer โดยใช้ Kubernetes Services และการทำ Testing/Visualizing ClusterIP Traffic
- แนะนำ DockerCoins ตั้งแต่การสร้างไปจนถึงการทำ Testing
- เข้าใจในส่วนของ production เช่น การทำ Health Checks, Rolling Updates รวมไปถึงจัดการในกรณีที่เกิดปัญหา (failure recovery)
- และอื่นๆ อีกมากมายเช่น Kubernetes YAML และ Ingress
โดยรวมผมมองว่าเนื้อหาของคอร์สนี้สมบูรณ์ทีเดียว และช่วยเติมเต็มสำหรับใครที่รู้สึกว่าความรู้ Kubernetes ของคุณยังไม่เพียงพอได้เป็นอย่างดีครับ
คะแนนรีวิวของคอร์สนี้ได้ไป 4.7/5.0 จากนักเรียนกว่า 12,100 คน
Coursera
คอร์สที่ 8-9 เป็นคอร์สของ Coursera
ผมเชื่อว่าหลายคนน่าจะเรียน Docker และ Kubernetes ในรูปแบบที่เหมือนกับการเรียนในมหาวิทยาลัย ซึ่งในส่วนนี้ Coursera จะตอบโจทย์ของคุณครับ เราไปดูกันดีกว่ามีคอร์สไหนน่าเรียนบ้าง
10. Introduction to Containers w/ Docker, Kubernetes & OpenShift
คอร์สสอนพื้นฐานการใช้ Docker และ Kubernetes ที่จัดทำโดย IBM บริษัทเทคโนโลยียักษ์ใหญ่ของโลก นอกจากนี้ตัวคอร์สยังครอบคลุมเทคโนโลยี containers อื่นๆ ด้วยอย่างเช่น OpenShift และ Istio ครับ แต่เนื้อหาส่วนใหญ่จะอยู่ที่ Kubernetes ครับ
ในคอร์สมีเนื้อหาหลัก 5 ส่วนนั่นก็คือ
- Understanding the Benefits of Containers – ในส่วนนี้คุณจะได้เข้าใจถึงคอนเซปต์ ฟีเจอร์ การใช้งาน และประโยชน์ของ containers, ความแตกต่างระหว่าง containers และ virtual machine รวมไปถึงการใช้งาน CLI ของ Docker หลังจากนั้นคุณได้เรียนวิธีการใช้งาน Docker ทั่วไป อย่างเช่นการใช้ Dockerfiles ในการสร้าง container images ฯลฯ
- Understanding Kubernetes Architecture – คุณจะได้เรียนว่า container orchestration คืออะไร และช่วยในการสร้างและจัดการ lifecycle ของ container อย่างไร หลังจากนั้นคุณจะได้เรียนโครงสร้างของ Kubernetes รวมไปถึง objects ต่างๆ และ Kubectl ซึ่งเป็น Kubernetes CLI ครับ
- Managing Applications with Kubernetes – ถัดไปจะเป็นการเรียนคอนเซปต์ต่างๆ ที่ช่วยในการจัดการ Kubernetes apps ครับ อาทิเช่น ReplicaSets, Autoscaling, Rolling Updates, ConfigMaps ฯลฯ
- The Kubernetes Ecosystem – คอร์สนี้ขยายความรู้ของคุณในส่วนของ ecosystem ของ Kubernetes คุณจะได้รู้จักเครื่องไม้เครื่องมือที่ช่วยในการพัฒนาครับ อาทิเช่น OpenShift ของ RedHat และ Istio เป็นต้น
- Final Assignment – นำความรู้ทั้งหมดที่เรียนมาใช้ deploy application โดยใช้ Docker, Kubernetes และ OpenShift
โดยรวมแล้วคุณจะใช้เวลา 11 ชั่วโมงในการเรียนให้จบ แต่ไม่ได้แปลว่าเนื้อหาแบบวีดิโอจะยาว 11 ชั่วโมงเต็มแบบ Udemy นะครับ เวลาในที่นี้จะเป็นเวลารวมในการเรียน (รวมการประเมินผล การบ้าน และอ่านเอกสารทั้งหมด)
สำหรับตัวคอร์สแล้ว ถือว่าโอเคในระดับเบื้องต้น แต่ว่าจะไม่เจาะลึก ความละเอียดของคอร์สนั้นสู้คอร์สใน Udemy ไม่ได้เลยครับ และเนื้อหายังเน้นไปที่ Kubernetes มากกว่า Docker อย่างชัดเจนด้วย
เนื่องจากนี่เป็นคอร์สเดี่ยว คุณจึงเรียนได้ฟรีครับ แต่ถ้าต้องการการประเมินผลและประกาศนียบัตร คุณต้องเสียเงิน $49 หรือประมาณ 1,470 บาทครับ
11. Architecting with Google Kubernetes Engine Specialization
หลายคนน่าจะอยากใช้ Kubernetes บนแพลตฟอร์มของ Google Cloud แต่ไม่รู้จะทำอย่างไรดี คุณไม่ต้องกังวลอีกต่อไป เพราะทาง Google Cloud ได้สร้างหลักสูตรสอนการใช้งาน Kubernetes ให้อย่างละเอียดบน Coursera เลยครับ
ไม่ต้องสงสัยเลยว่าคอร์สนี้เป็นคอร์สสอน Kubernetes ใน Google Cloud ที่ดีที่สุด โดยหลักสูตรนี้ประกอบด้วย 4 คอร์สย่อยได้แก่
- Google Cloud Platform Fundamentals: Core Infrastructure – ก่อนที่จะเข้าไปสู่โลกของ container คุณจะได้เรียนการใช้งาน Google Cloud Platform (GCP) เสียก่อน คุณจะได้เรียนวิธีการใช้บริการต่างๆ อย่างเช่น Google App Engine, Google Cloud Storage, SQL และแน่นอนว่าพื้นฐานของ Google Kubernetes Engine (GKE) ครับ
- Foundations – คอร์สที่สองจะแนะนำวิธีการสร้างและจัดการ software containers และโครงสร้างต่างๆ ของ Kubernetes
- Workloads – สำหรับคอร์สที่สามจะสอนแบบลงลึกในส่วนของ deployment และวิธีการที่จัดการ workload อย่างเช่นการให้ storage ที่เหมาะสมแก่ Kubernetes เป็นต้น
- Production – ปิดท้ายหลักสูตรด้วยเรื่อง Security, Monitoring และการใช้ database services ของ Google Cloud กับ GKE
นอกจากเนื้อหาแบบวีดิโอแล้ว คุณจะได้เข้าถึง Qwiklabs Platform ซึ่งคุณจะใช้ในการทำ Labs ต่างๆ ครับ
ในส่วนของค่าเรียนจะอยู่ที่ $49 หรือประมาณ 1,470 บาทต่อเดือน โดยทาง Google แนะนำว่าคุณควรเรียน 12 ชั่วโมงต่อสัปดาห์ (ซึ่งผมมองว่าเยอะเกินไปมากสำหรับคนทำงาน) แล้วคุณจะเรียนจบในเวลา 2 เดือนครับ
อย่างไรก็ดีคุณอาจจะเรียนช้ากว่าที่ Google แนะนำก็ได้ครับ แต่แน่นอนว่าค่าเรียนจะเพิ่มไปตามจำนวนเวลาที่คุณเรียนเช่นกัน
ในกรณีที่คุณสนใจหลายคอร์สและเลือกไม่ได้เลย ผมแนะนำให้สมัคร Coursera Plus ครับ เพราะค่าเรียนถูกกว่า และเรียนได้ทุกคอร์สในแพลตฟอร์มเป็นเวลา 1 ปีเลยครับ