สรุปงาน Cloud Native Bangkok 2022

สรุปจากทางบ้าน ลองฟัง Live และจดๆดูนะครับ ^__^

Cloud Native 101

Speaker Saritrat Jirakulphondchai 

🌤️ Convention#01

  • Coding - สร้าง Application ตาม Requirement
  • Build and Run - แปลง Code เป็นตัวพร้อมติดตั้ง Executable File
  • Go-live - ใช้งานจริง
- ทำไมต้อง Cloud

🌤️ เพราะ มี load / request จาก user เข้ามามากขึ้น มันจะเกิด Red Zone ติดข้อจำกัดของ Resource CPU หรือ RAM เต็ม - แต่สิ่งที่ควรทำให้อยู่สถานะปกติ Green Zone (Available Resource)

  • Traditional - Upgrade เครื่อง Server ให้ Spec สูงขึ้น แต่มันจะคุ้ม หรือป่าว ?
  • Cloud - สามารถปรับได้เลย เพิ่ม Resource และ Scale ได้ Manual และ Auto
- Cloud มาจากไหน ?

🌤️มาจากแนวคิดของ Cloud Computing เน้นการประมวล และปรับมาใช้งานต่างๆ โดยสิ่งที่ต้องจัดการต้องตั้ง Cloud

  • Key Management
  • Database
  • Storage - แยกออกจาก Database เราไม่ได้เก็บข้อมูล อาจจะวาง App หรืออะไร

🌤️และตัว Cloud นอกจากการปรับ Resource + Scale แล้วยังเป็นการจ่ายตามการใช้งานจริง Pay as you go

🌤️Summary of Cloud

🌤️Cloud Service Platform - ผู้ให้บริการ Cloud ให้เราใช้งาน เช่น AWS / Azure / GCP / Alibaba Cloud

- Cloud Native คือ อะไร ?

🌤️ มันไม่ใช่ Cloud และไม่ใช่พวก Tool Set
🌤️ มัน คือ Architecture ที่สำหรับสร้าง Application ให้มันตามโจทย์ Business ได้อย่างรวดเร็ว และดีที่สุด เช่น ถ้าเราทำงานด้าน Big Data ตัว Cloud Native เกี่ยวกับ Big Data Tool Set + Concept + Culture การทำงาน

🌤️ มันไม่ได้สนใจ Server สนใจ Service

- How to transform to Cloud Native

🌤️ยกตัวอย่างจากส่วน Application management
🌤️Convention#02

  • Server - Host Application / PC - Personal Use ใช้ ทำงานทั่วๆไป
  • VM (Virtual Machine) - แยก Resource ชัดเจน โดยมีตัว Hypervisor ซึ่งมี 2 Type Type 1 ไม่จำเป็นต้นมี OS พวก VMWare ExSI / Type 2 มี OS ก่อน Virtual Box

🌤️Deployment Stack ปกติเรามี Static Web หรือ Front End + Back End + Database

🌤️ The Matrix from Hell - เราจะมั่นใจได้ไงว่า Dev / Prod หรือ เพื่อนในทีมตรงกัน ต้องมี Step Setup มากมาย

🌤️ Containerization - เอาแนวคิดของการขนส่งมา เอาทุกอย่าง เช่น Static Web มาใส่กล่องที่เรียกว่า Container โดยมีตัว Container Runtime Engine จัดการ อาทิ เช่น docker / podman / LXD / Containerd / cri-o เป็นต้น

🌤️ แนวคิด Container มาใช้ และแก้ไขปัญหา The Matrix from Hell เพราะ Container จะเป็น Immutable Infrastructure (Run ที่ไหนก็ได้ผลลัพธ์เหมือนกัน

- Container กับ VM

🌤️ จากตัวกล่องทางซ้ายสังเกตุว่าฝั่ง Server จะเป็น VM ที่ลงตัว Container Runtime Engine

- How to manage a lot of traffic

🌤️ เพราะ App ของเรา อาจจะมีคนใช้เยอะๆ นอกจากการ Scale Resource แล้ว ตัว Application ต้องรองรับ Request เข้ามาเยอะๆ ต้องมี Load Balancer ที่ค่อยมาจัดการว่าแต่ละ Request เข้ามาใช้งานที่ Application Instance ไหน

🌤️ งานนี้แรกๆจะใช้ Operation หรือ คนทำหน้าที่เพิ่ม Instance ขึ้นมา โดย Flow ของการสร้าง Instance คร่าวๆตามรูปเลย

🌤️ แต่คนมีข้อจำกัดเหมือนกัน จึงต้องมี Tool เข้ามาจัดการ Instance ขึ้นมา ทำหน้าที่เป็น Orchestrator ที่ดังๆ K8S / Docker Swarm

- Cloud Native Area

🌤️ ลองดูเพิ่มเติมได้จาก

🌤️ ปิดท้ายด้วย Slide นี้ที่แสดงเห็นการเปลี่ยนแปลงในแต่ละยุค อย่างไปตีว่ามัน คิด Toolset เพราะมันประกอบไปด้วยหลายอย่างเลย

- Q&A
  • Q ณ จุดไหนที่เราควรใช้ VM หรือ ใช้ Serverless
    A Serverless เรา Application โยนบน Cloud ไม่ต้องมาจัดการ VM ด้วย อนาคตอาจจะย้ายไป Orchestrator อย่าง K8S (ตามที่ Cloud Provider มีให้) แต่ต้องดู Cost ด้วย พวก Serverless มันจ่ายตาม Compute ส่วนใหญ่
  • Q ถ้ามี Service A / B บน Cloud แล้ว Service C Local ต้องทำยังไง
    A ถ้าใช้งานจริง ต้องทำให้ Network มันถึงกัน ซึ่งตรงนี้ Cloud Provider มี Solution ให้ ถ้าทำได้ต้องดูว่าใช้ K8S เหมือนกันไหม ถ้าไม่ใช้ External Load Balance (External Ingress)
  • Q จากถ้าเป็น Dev แล้วจะลองต้องทำอย่างไร ?
    A ใช้ Skaffold / Azure-Bridge to Kubernetes

จากนั้นเป็นการแนะนำโครงการ The Cloud Camp สำหรับคนที่สนใจงานด้าน Cloud ลองคิดตามที่ Page ต้นทางได้เลยครับ

Automate your Event by IFTTT

Speaker วรินทร์ เหล่าเจริญ

🌤️ Cariva Health Tech ในเครือ PTTEP (Ref: https://arv.co.th/)

- Cloud Event คือ อะไร ?

🌤️ Event ที่เกิดขึ้นรอบตัวเราแหละ แต่ไม่ใช่สนใจทุกอัน โดยสนใจอันที่

  • Spikes - อะไรที่มันโดดขึ้นมา จากปกติ
  • Abnormal Events
  • Special Event

🌤️ เพื่อเอา Event ที่ได้มาช่วยตัดสินใจได้ทัน ก่อนจะเกิดปัญหาขึ้น

- IFTTT คือ อะไร

🌤️ IFTTT = IF THIS THEN THAT ถ้าเกิดอะไรขึ้นมาแล้ว ต้องทำอะไรต่อ

🌤️ ตัวมีทั้งส่วน User และ Developer //เพิ่งรู้อันหลัง ปกติใช้แบบ User

🌤️ 1 IFTTT จะเป็น 1 Applet โดยที่ free account สร้างได้ 5 Applet

- Use Case

🌤️ เริ่มจาก Webhooks เตรียมไว้ IFTTT จากนั้นตัดสินใจ ว่าเป็น event ที่สนใจ หรือป่าว และส่งต่อ Pushbullet โดยที Pushbullet เป็น Tool ที่ช่วยมาจัดการ Notification

🌤️ ตัวอย่างอื่นๆ

  • ถ้ามีคนกรอก Google Form แล้วมาทำ Notify ผ่าน Line Notify ได้

🌤️ Q&A

  • Q ตัว IFTTT รองรับ Condition ได้ซับซ้อนขนาดไหน ทำ Multiple Webhook ได้ไหม
    A ต้องดูใน IFTTT Developer เพิ่ม แต่
  • Q ทำ Chaining หรือเป็น Sequence ได้ไหม
    A แต่ต้องเป็นแบบ 1 ต่อ 1

🌤️ Summary

  • ตัว IFTTT เหมาะกับใช้งานแบบ Personal หรีอ ad-hoc / POC เพราะบางทีอาจจะเจอ API Limit ได้ มันจะมี Tool อื่นๆ อย่าง Grafana / Datadog / PagerDuty (สาย Operation / SRE)
  • Automation with Care - บางทีเราอาจจะต้องเสียเวลาไปดู System จริงๆ แต่ อาจจะทำ Notify เผื่อเคส Error (ดู Log ที่จำเป็นจริงๆ) และ Restore
  • Monitor & Alert - ที่จำเป็นตรงตาม Requirement

อะไร อะไรก็ IOT

Speaker ลุงวิศวกรสอนคำนวณ

- IoT History
  • ยุคแรกพวก Vending Machine ปี 1982 ที่ทาง ม Carnegie Mellon ได้ให้ตู้ส่งสัญญาณว่าสินค้าในตู้หมดแล้ว เหลือเท่าไหร่
  • 1990 John Romkey ทดลองสั่งเครื่องปิ้งขนมปังผ่าน Internet
  • 1991 John Romkey เอาจาก version 1990 มาดัดแปลง มี Lego มาเป็น Robot
  • 1996 Nokia มีมือถือที่ต่อ Internet ได้
  • WiFi มีการตกลงมาตรฐานกลางตาม IEEE 802.11 แต่ละเจ้ามีทำมาตรฐานตัวเอง
  • iBook G3 Notebook ต่อ WiFi
  • และโตมาถึงปัจจุบัน
-Building Block of IoT

📚 End Device / Nodes - อุปกรณ์มี

  • Sensor จับแสง / การเคลื่อนไหว (Motion) / การมองเป็น (Vision) / Temperature / Humidity (ความชื้น) / Proximity (ระยะห่าง)
  • Object - อุปกรณ์
  • RFID Tags - เป็นข้อมูล และสถานะ ยกตัวอย่าง เช่น Uniqlo ใช้ติด RFID Tag ที่เสื้อผ้าจากโรงงาน มาจนถึงร้านขาย เพื่อ Tag การเดินทาง
  • Actuators - การควบคุม Controller เช่น Relay Switch (หน่วงเวลา เช่นเปิดากระโปรง แล้วไฟติดตามเวลา)

📚 Gateway / Local Processing Nodes - Middleware / IoT Reader / Signal receivers / Transceivers

📚 Connectivity - Protocol ในการสื่อสาร HTTP(API) หรือการสื่อสารผ่านคลื่นความถี่ เช่น Bluetooth / SIGFOX / sstv (คลื่นวิทยุ ตัวอย่าง รับภาพจากสถานีอวกาศ) เป็นต้น

📚 Cloud Based Application and Storage - ส่วนที่รับข้อมูลมาประมวลผล

- MicroPython & IoT
  • MicroPython - ภาษา Python สำหรับ IoT
  • Editor thonny เขียน Code / Write Firmware ลงอุปกรณ์ IoT
  • Fritzing - ออกแบบวงจร Arduino
  • MicroPython on Unicorn - เป็น Emulator Online เราสามารถเขียน Code และทดสอบ //ส่วนตัวคิดว่ามันคงคล้าย LC-3 ที่เรียนตอนปี1 มั้ง
  • พวก IoT มันโตไว้ เพราะอุปกรณ์มันต่อ WiFi ได้ง่าย หลังจากเรารู้ Step และ Tools แล้วขั้นตอนต่อมาวาง IoT Architecture ในพื้นที่ที่เราสนใจ และออกแบบการแสดงผลขึ้นมา

Resource


Discover more from naiwaen@DebuggingSoft

Subscribe to get the latest posts sent to your email.