The CloudCamp Open House 2024

วันนี้มาไกลเลย หลังจากไปช่วยเค้าแก้ + Update WordPress Server มาวันนี้นั้งรถยาวๆ จากสายใต้ใหม่มา - True Digital Park แล้ว รอบนี้ไม่หลงไป Bitec แล้วครับ 555

สำหรับงานนี้นอกจากมาฟังแล้ว ผมเองมีมาเล่าประสบการณ์ตอนไปเรียน Cloud Camp ด้วยครับ จะมีหัวข้ออะไรบ้างลองตามอ่านกันได้เลยครับ

World of Cloud Native

คุณโจ้เริ่มต้นจากคำถาม ?

  • ทำไมเรา Post Social แล้วระบบตอบสนองเกือบทันที
  • ทำไมเราเล่นเกม Online แล้ว ไม่สะดุด ไม่ lag?

พื้นฐานแล้วการงานจาก Client (เครื่องเกม) กับ Server (เกม) อยู่บนพื้นฐาน Request / Response

ซึ่งการมี Request เยอะๆ แน่นนอนว่าเครื่อง 1 รับไม่ไหวแน่นๆ ดังนั้นจึงเอา 1 เครื่อง ย่อลงมาให้อยู่ในรูปของ Container เพื่อให้ขนาดเล็กลง + Scale ง่าย และเอาตัว Load Balancer มาช่วยกระจาย Traffic

เมื่อแก้ปัญหา Traffic ได้แล้ว จะเจอปัญหาว่า เมื่อ Container หลายตัว เวลามีปัญหาต้องมีคนดูแล ติดตามปัญหาที่เกิดขึ้น เช่น Hang/ Down ทางเลือกหนึ่งเอาตัว K8S มาช่วยทำ Self Healing โดยใน Real World Case สรุปได้คร่าวๆประมาณนี้

  • Load Balancer - ไกด์ พาไปหาเครื่องที่มี resource เพียงพอ แสดงว่าแต่ละเครื่องต้องมี API เปิดบอกด้วยนะ ฉันยังไหว หรือ ใกล้ตุยแล้ว
  • Container - ช่วยให้ scale สะดวก และลดปัญหา แต่ยังมีปัญหาเรื่อง Server Health นะ ต้องมีคนมาคอยจัดการ
  • K8S - มาเป็น tool ที่มาข่วยใน รักษา workload ให้พร้อมใข้ตามที่เราได้ กำหนดไว้ หรือ scale เพิ่ม หรือกระจาย load ถ้า app รับไม่ได้ (probe)
  • เลือก Server ใกล้กับ user มากขึ้น ลด Latency

Cloud Native Tranformation

แล้ว 2024 มีอะไรบ้าง ผมคุ้นๆว่าจดไว้ตอนปี 2023 เลยเอามา Update

  • หมวด Culture: ตอนนี้เป็นเรื่อง Collaboration
    - หลายอย่างมาร่วมมือกัน เช่น DevOps ChatOps GitOps เป็นต้น ยังมีอยู่ แต่มีศัพท์ใหม่ DevSusOps - sustainability DC ใช้พลังงานสะอาด / LLMOps ตอนเยอะไปหมดเลย
    - Blameless Culture อันนี้ทุกคนที่ต้องมาร่วมมือกันครับ เวลาผิดพลาดไม่ต้องจิ้มคน
    - Pair Programming > Remote Mob รุมทำกับทั้งทีม
    - Personalized Relationships for Co-Creation - อารมณ์แบบ ถ้าทีมมีโครงสร้างที่ดี มีความสัมพันธ์ ความเชื่อใจ และการแบ่งชิ้นงานให้เล็กลง ส่งผลให้งานออกมาดีได้่ //ผมนึกภาพการประชุม ที่แบบฉันเข้าใจ แต่ไม่อยากทำ อันนี้ไม่ดีนะ
    - Internal Evangelism คนที่ริเริ่มการ transform ในองค์กร
  • หมวด Product Service Design: - Data Driven > All Driven นอกจากการทำ MVP ยังมีแนวคิด
    - Reduce Cost of Experimental - เจ็บแต่แรก เสียน้อยกว่า Faii Fast
    - Proof Of Concept (POC) - ควรจะทำละเล็ก และใข้เวลาได้เร็ว Fast Feedback
    All Driven = Contextual Driven มาอีกมุมเลย พวก ChatGPT/ Gemini / Co-pliot จริงพวก Driven มีอีกหลายตัวนะทั้ง Function Driven / Feature Driven / Event Driven และรวมถึง Data Driven
    - Open Source จาก internal project ทำข้างในจนใช้งานดี แล้วยกให้ชุมชนช่วยกันสร้างสรรค์ต่อ อย่างตัว Grafrana / K8S เป็น internal project
  • หมวด Team/Process เดิมจะเป็นพวก SRE
    - SRE team แต่ทำยังไงให้เรารู้สภาพความเป็นไปต้องรู้แและทำ Observability
    - Self Service - สร้าง platform จาก web ให้ Role อื่นๆมาใช้งาน
    - Platform Team ทำให้เกิด Self Service ขี้นมา
    และนำมา
    - Involve the Business - แนว DDD เอามาช่วยสกัดในเรื่องนี้
    - Micro Enterprise >> ‘Digital Transformation in Action’ เพิ่มครับ
  • หมวด Architecture:
    - ตอนนี้ microservice อนาคต Functions ใน Cloud ตอนนี้ Serverless
    - พยายามเกิด Experiment (Research Though Action)
  • หมวด Maintenance: Full Observability + Self-Healing Pattern ช่วยนี้ Observability มาแรงด้วย + Alert + การทำ Profiler จะได้รู้ Cap ของระบบ
  • หมวด Delivery ก็ Continuous Integration + Continuous Delivery = Continuous Deployment
    - Continuous Integration การรวบของ รวม Code และทดสอบร่วมกัน ตาม Quality Gate ที่ตกลงกันไว้
    - Continuous Delivery การ Release ของออกไป ครับ โดยมี Quality Gate แยก State DEV > TEST > PROD ตัวอย่าง Tools อย่าง ArgoCD / FluxCD เป็นต้น โดยที่ตัว Flow ไม่ควรจะใช้เวลานานเกินไป No Long Tests in CI/CD (cnpatterns.org)
  • หมวด Provisioning ตัว K8S เองเหมือนเป็นโครงให้เราถอดประกอบได้ตาม Open Standard กำหนดไว้ และมีงาน Kubecon ด้วย ที่เหมือนงานโชว์ของ แชร์เรื่อง K8S เหมือนเห็นน้องๆทีม OODS สรุปอยู่นะ

สำหรับพวก Cloud Native Pattern ต่างๆ สามารถดูเพิ่มเติมจากในนี้ได้เลยครับ Patterns Library (cnpatterns.org)

Building Modern Data Microservice with Tanzu

ปัญหาตอนนี้หลายที่ stack ยังเป็๋น VMWare อยู่ ตอนนี้เข้าสู้ยุคของ Container แล้ว จะมาโยกย้าย stack ข้างล่างอาจจะลำบาก เลยีเข้า Tanzu มาช่วยคนที่คุ้นเคยกับ Platform ของ VMware

  • ฝั่ง Operation สะดวก
  • ฝั่ง DEV สามารถปรับตัวสะดวกขึ้น

เข้าใจว่ามี Product 3 ตัวนะ

  • Tanzu Kubernetes Grid (TKG) - อันเข้าใจว่าใช้ vCenter / หรือ VCF มา manage on-premise / cloud หรือ edge
  • vSphere with Kubernetes อันนี้ local manage
  • Tanzu Mission Control - Multi-Cloud / Hybrid Cloud Dashboard

TKG / vSphere with Kubernetes เราสามารถแบ่ง namespace ให้แต่ละ Team จัดการได้ หรือ จะโยน Container ให้มันทำเป็น pod มา Deploy ก็ได้

การ Manage ทำได้ 2 แบบ

  • Declare .yaml ลงไป
  • หรือตรวจจาก Dashboard

vSphere vs Cloud foundation

Intro to สมาคมโปรแกรมเมอร์

8 ปีแล้วเหรอเนี้ย หน้าหลักของสมาคมโปรแกรมเมอร์ช่วยให้เกิด collaboration ในด้านต่าง เช่น tech meetup / office tour / ฝีกงาน เป็นต้น

ของผมเองก็คุ้นๆว่ารู้จัก Jenkins ทำ CI/CD น่าจะงานนี้นะ ทีจัดที่วิศวะจุฬา น่าจะใช่นะแปะ Tag ไว้ก่อน //เดี๋ยวต้องหาเวลาไปปรับ Blog ให้เป็น WP Block ก่อน ยุคนั้นน่าจะ Classic ผ่านมาหลายปี format เลยแปลกๆ

และปีนี้มีงาน Code Mania / National Coding Day เห็นว่าจะจัดปลายปีนะ

Contact: FB Page สมาคมโปรแกรมเมอร์ไทย / FB Group สมาคมโปรแกรมเมอร์ / FB Group Jobs for Thai Programmers

Networking in the Multi-Cloud Era

Hybrid Cloud / Multi-Cloud มันมีจุดเด่นยังไง ที่ไปเสริมตัว Business Goal ดังนี้

  • Access Last Tech - มีหลายค่าย เราเลือกใช้ได้ เช่น AI ค่ายโน้นดี ก็ย้ายไป
  • Improve reliability and resiliency - ถ้าล่มเสี่ยงไปใช้อีกเจ้า หรือใช้ On-Premise
  • Flexibility through choice of tools
  • Improve ROI

แต่ทว่าปกติแล้ว เราเชือมระหว่าง DC หรือ มอง Scale ใหญ่ว่าเราจะเชื่อม Cloud แต่ละเจ้า เพื่อทำ Hybrid Cloud / Multi-Cloud ซึ่งมันมี 3 แบบ

  • IPSec VPN - จุดเด่นราคาถูก แต่มี Bandwidth จำกัด รวมถึงไม่เสถียรด้วย
  • Cloud Connection ปกติแล้ว Cloud แต่ละเจ้าจะมี Fiber ใต้น้ำระหว่าง DC ถ้าอยากเร็วลากสายเอง เข้ามา Hub ของ Cloud มีบริการนะ แต่ก็แพงระดับนึง ทำ Direct Connect มาเชื่อมเลย ได้ความเสถียร
  • SD-WAN มาข่วยหาเส้นทางที่ดีที่สุด จากเส้น connect แต่ละเจ้า ถ้าอยสกเพิ่มเส้นทาง เพิ่มเส้นเนต broad brand มันข่วยคุม connection มันพยายามทำให้ app เสถียร ไม่รู้ว่าหลุด และเร็วขึ้น

นอกจากนั้นมี Demo ตัว Proen Cloud ว่ามีบริการอะไรบ้าง

  • Proen Cloud - PaaS Service ที่รองรับ stack java php rundy js dotnet เอา Code จาก Git เข้ามาเชื่อมทำ CI/CD ได้
  • แต่ถ้าภาษาอื่นๆ ใช้เป็น contaner base ได้
  • หรือ ถ้าไม่มีเตรียมให้ สามารถลองไปดูจาก Market Place ได้ เช่น อยากเปิด K8S Cluster ขึ้นมาใช้ เป็นต้น
  • ตัว AZ เองมีหลายจุดนะ นอกจากในไทยแล้ว มีที่สิงคโปร์ และญี่ปุ่นด้วย
  • อันสุดท้าย เอออันนี้ชอบ สามารถเปิด public ip / web dashboard ส่วนตัวเคยเจอ local cloud เจ้านึง จะขอ public ip ต้อง reallocate VM เลย
  • การติดเงิน เงินบาท มีทั้งรายเดือน รายชั่วโมง
  • ถ้าลองตาม link นี้เลย Proen Cloud Dashboard เลือก Sign Up

Last year camp + Alumni Interview + QA

สำหรับ Session นี้จะเป็นการเล่าประสบการณ์ รูปแบบการฝึก จาก Craftmanship Model ที่เร่มจาก novice (apprentice) > journeyman > master มีรูปแบบทั้งการ

  • เรียน Online + Activity Time
  • เรียน Onsite + สุ่มหัว BrainStorm Hackathon และช่วงเย็นไปถาม use-case หรือไปฟังเพื่อนๆที่มาถามก็ได้

ทางผมเองเรียนแล้วได้ปรับไปใช้เหมือนกัน หลักๆ เรื่องของ

  • Health Check ใครขออะไรมาไม่รู้ เราตอบ 200OK ไปก่อน ตอนนี้มีมาปรับและ ตรวจ Dependency ก่อนว่า APP / DB / Redis พร้อมไม่ถึงตอบ
  • ส่วนของ Observability มาลองปรับๆ จนได้
  • และเรื่อง Sample K8S yaml บางทีลูกค้าขอ เราทำได้ แบบไม่เขินอาย เรียกว่ามีคลังคำศัพท์ที่จะพอคุยกับลูกค้าในภาษาเดียวกันได้

นอกจากเคสของผมที่เป็๋น Software House แล้วยังมีเคสจากเพื่อนๆที่เรียนในมุมของโรงงาน ว่า Container มันก็ปรับไปใช้งานได้นะ รวมถึงการจัดการปัญหา Policy หรือ Enviroment ที่อาจจะไม่ตรงใจเราไปท่า Container ลำบาก ต้องมาปรับมให้ลูกค้าเปลี่ยนใจ หรือ จะมาลองถาม Use-Case ที่เจอจริง ของคำแนะนำได้ ยกเว้นเรื่องเงิน ฮ่าๆ

มาแลกเข็มกลัด CNPF ด้วยครับ เดี๋ยวรอตัว ตัว CNA อิอิ

ที่เหลือก็เมาส์มอยกันและครัล

ถ้าใครสนใจลองดู Review ของผมได้ครับ

ถ้าสนใจสมัคร Link นี้เลยครับ https://jumpbox.academy/

และก็ในงานมีให้แลกเข็มกลัด CNPF ด้วย แลกมาเรียบร้อบ มีเสื่อด้วยนะ แต่ลืมถ่าย

Blog ของท่านอื่นๆ

Reference


Discover more from naiwaen@DebuggingSoft

Subscribe to get the latest posts to your email.