การทำ Backend Deployment

Поделиться
HTML-код
  • Опубликовано: 25 июл 2024
  • ☕️ สนับสนุนช่องเราด้วยการสมัครสมาชิกช่องทางนี้ได้เลย
    / @mikelopster
    ลองไมค์ สัปดาห์นี้เราจะมาพูดถึงการทำ Deployment ฝั่ง Backend กันบ้างว่า โดยปกติ หากเราจะทำการขึ้นงานระบบหลังบ้าง Backend 1 ตัวนั้น มี process อะไรต้องทำบ้าง เพื่อให้สามารถขึ้นงาน Backend ออกมาได้อย่างถูกต้อง
    โดยในหัวข้อนี้ topic ที่เราจะพูดถึงมีดังนี้
    1. องค์ประกอบหลักของการ deploy Backend และ Docker
    2. แชร์ผ่าน project ตัวอย่าง node.js ที่ต่อไปยัง MongoDB และ Postgres
    3. เปลี่ยน database จาก local สู่ cloud ด้วย Mongo Atlas และ Supabase (Postgres)
    4. แสดง Deploy ทั้ง 2 แบบคือ ท่าง่าย (นำ image Docker ไป deploy Cloud run) และท่ายาก (set cloud server ขึ้นมาเองและดึง image มา deploy เอง)
    ** โดย เราจะเน้นที่ปูพื้นฐาน เพื่อให้เข้าใจภาพของการ Deploy Backend กันก่อน ซึ่งเรายังไม่ได้พูดถึง practice backend code สำหรับเรื่อง Security กันนะครับ (แนะนำให้ดูได้ในหัวข้อ OWASP ของช่องเราก่อนได้) รวมถึง หัวข้อนี้ จะเน้นไปที่ไอเดียการ deploy งานโดยใช้ Docker เป็นตัวหลักในการบริหารจัดการ เนื่องจากเป็น technology ที่สามารถปูพื้นเพื่อนำไป deploy ในรูปแบบอื่นๆได้
    หากต้องการหัวข้อไหนเพิ่มเติม comment กันไว้โลด เชื่อว่าหัวข้อนี้น่าจะพอทำให้ทุกคนเห็นภาพการ deploy งาน Backend กันได้ดียิ่งขึ้นนะครับ 😁
    หัวข้อ
    00:00 แนะนำหัวข้อ
    02:21 ไอเดียพื้นฐานของ Backend
    05:03 Backend แบบ API Server (ที่เป็นที่นิยมในการทำ FE / BE ในปัจจุบัน)
    09:01 เมื่อ Backend ไปวางบน Server ภาพจะออกมาเป็นแบบไหน
    16:46 องค์ประกอบทั้งหมดของ Backend มีอะไรบ้าง
    23:54 เริ่ม project - แนะนำ node.js ต่อเข้ากับ Postgres และ Mongo ด้วย Docker
    31:15 ไอเดียของการใช้ Dockerfile สู่การ run project
    33:04 ทดสอบต่อ database Postgres และ Mongo ที่ local
    38:56 อธิบายภาพรวม + การใช้ ENV
    42:38 เริ่มขนทุกอย่างขึ้น Server
    44:08 นำ Database Mongo ขึ้น Cloud ด้วย Mongo Atlas
    48:13 นำ Database Postgres ขึ้น Cloud ด้วย Supabase
    54:11 ท่าง่าย (1) - เริ่มต้น นำ Node.js ขึ้น Cloud ต้องทำอะไรบ้าง
    59:57 ท่าง่าย (2) - build image นำขึ้น Artifact Registry
    1:03:35 ท่าง่าย (3) - นำ image ขึ้น Cloud Run + สรุปทั้งหมด
    1:14:41 ท่ายาก (1) - setup cloud สำหรับเตรียมขึ้น Node.js image (Docker)
    1:21:40 ท่ายาก (2) - นำ image ดึงผ่าน docker-compose เพื่อ deploy
    1:27:35 ท่าง่าย vs ท่ายาก ต่างกันอย่างไร ?
    1:30:01 สรุปทั้งหมด
    ใครมีข้อสงสัยเพิ่มเติม มาพูดคุยแลกเปลี่ยนความรู้กันได้ที่
    Facebook page: / mikelopster.dev
    Website: mikelopster.dev
    แปะพิกัดของที่ผมใช้
    shope.ee/6fI75UuLEM osmo pocket 3
    shope.ee/4VDcVixCW9 ไมค์ shure
    shope.ee/6pbXI6d5xG กล้องวงจรปิด
    Enjoy ครับ 😘
  • НаукаНаука

Комментарии • 35

  • @jeerawatwongsaree359
    @jeerawatwongsaree359 2 месяца назад

    ขอบคุณครับ สุดยอดมากเลยครับ

  • @wiseskeshom4673
    @wiseskeshom4673 2 месяца назад +1

    ขอบคุณท่านไมค์มากคร้าบบ

  • @user-pd3el7ji8z
    @user-pd3el7ji8z 2 месяца назад

    ขอบคุณมากครับกำลังต้องการเลย

  • @speculatortech
    @speculatortech 2 месяца назад

    มาแล้วเย้ เนื้อหายอดเยี่ยมครับช่องนี้ สู้ๆกับงานครับพรี่

  • @PattyBeautCode
    @PattyBeautCode 2 месяца назад

    ขอบคุณมากๆๆ ค่ะ เห็นภาพชัดเจนเลย งมเองมานานมาก

  • @theguidejk3360
    @theguidejk3360 2 месяца назад

    ขอบคุณครับ

  • @nakanyasingjinda9464
    @nakanyasingjinda9464 2 месяца назад +1

    ขอบคุณมากเลยค่ะ ทำงานได้เก่งขึ้นเพราะพี่เลย 🫡🤣🤣🙏🏻

  • @cir1.r208
    @cir1.r208 2 месяца назад

    ขอบคุณครับ อาจารย์

  • @DailyStoryShort
    @DailyStoryShort 23 дня назад

    ดีมากคับ สุดยอดเลย🎉🎉

  • @prapathsuayroop2341
    @prapathsuayroop2341 2 месяца назад

    มาแร้ว ที่เราลอยคอ

  • @palmmelt
    @palmmelt 2 месяца назад +1

    ชอบทุกคอนเท้นต์เลยค้าบบ หนับหนุนๆ รอ practice backend code นะค้าบ

  • @HaganeAiKung
    @HaganeAiKung 2 месяца назад +1

    ขอบคุณมากครับ

    • @mikelopster
      @mikelopster  2 месяца назад

      ขอบคุณสำหรับการสนับสนุนเช่นกันนะครับ 😁

  • @lamour9344
    @lamour9344 2 месяца назад

    เป็นช่องที่สอนดีและเข้าใจเห็นภาพอย่างมาก อยากให้สอนพวก Security และสอน DevOps ทำ CI/CD (gitlab action, Jenkins ฯลฯ) ด้วยครับ

  • @teplus-dev
    @teplus-dev Месяц назад

    ขอบคุณค้าบบ ชอบทุก ep ของลองไมค์เลย เป็นไปได้รอบถัดๆไป อยากให้พาลองเอา nextjs ไปเล่นกับอย่างพวก web3 dApp ทีครับ

    • @mikelopster
      @mikelopster  Месяц назад +1

      ได้เลย ผมเก็บไว้ใน checklist ก่อนน้า

  • @anothaivichapaiboon9415
    @anothaivichapaiboon9415 2 месяца назад

    ช่วย demo CICD github action หน่อยครับ

  • @SNMW157
    @SNMW157 2 месяца назад

    แล้วในกรณีผมทำ backend ใน nuxt3 เลยคือให้ nuxt3 จัดการให้แทน nodejs นี้มีแนวทางเอาไป deploy ไหมครับ คิดว่าคอนเซปน่าจะคล้ายกันแต่เราจะแกะเอาเฉพาะแค่ก้อนหลังบ้านออกมาได้ไหม หรือต้องใชวิธี deploy แบบอื่น

  • @phonsing189
    @phonsing189 2 месяца назад

    รอ Network เเบบจัดเต็มครับ

  • @athiwatsitthinanwatthana1535
    @athiwatsitthinanwatthana1535 Месяц назад

    ปกติไม่คอมเม้นที่ไหนเลย แต่ช่องนี้อธิบายได้ดีมากเลยครับ
    มีงงนิดหน่อยตรง firewall ครับ ว่าถ้า firewall ดักการ call ip:port จากภายนอก
    แต่ทำไม ตอน curl จากใน centos7 ถึงโดนดักด้วย ?

    • @mikelopster
      @mikelopster  Месяц назад

      เพราะติด "Ingress firewall rule" ครับ ใน google cloud มันจะมี firewall 2 ชั้นคือ
      1. Ingress firewall rule ที่จะทำในระดับ VPC network (network ขาเข้า Resource ของ Google Cloud เช่น GCE)
      2. Firewall ของ GCE เอง
      เคสนี้ ที่ติดไม่ได้ติดจาก 2. แต่ติดจาก 1. เนื่องจากเรายิงผ่าน public IP เข้าไปครับ มันเลยไปเจอกับ Firewall อันแรกเข้า (ถ้าเรายิงผ่าน private IP จะไม่ติดในเคสนี้ครับ)
      ถ้างงๆ ลองหาอ่านดูเพิ่มเติมตาม keyword เหล่านี้ดูน้า 😊

  • @nut001001
    @nut001001 2 месяца назад +1

    ขอบคุณล่วงหน้าครับ Frontend ยังไม่ได้ดูเลย555

    • @mikelopster
      @mikelopster  Месяц назад

      หยุดยาวลุยยาวๆได้เลยครับ

  • @user-hl6ge4iq1i
    @user-hl6ge4iq1i Месяц назад

    ช่วยอธิบายการใช้ typescript หน่อยได้ไหมครับ คือผมยังสับสนอยู่เลยครับว่าตรงไหนควรกำหนด type ลงไปหรือตรงไหนควรให้มัน infer หรือควรกำหนดทั้งหมด

    • @mikelopster
      @mikelopster  Месяц назад

      ผมขอเก็บไว้ใน checklist ก่อนน้า แต่ถ้าตอบแบบเร็วๆ จุดไหนที่มาจาก code เราเอง ควรกำหนด type หมดทั้งขาเข้า และ ขาออ รวมถึงการใช้ infer ด้วยครับ พวกนี้มันมีความสามารถในการลด error จากจังหวะ compile code ได้เยอะครับ 😊

  • @theflash2321
    @theflash2321 2 месяца назад +2

    ต่อไปขอเป็น k8s ได้ไหมครับบบบ

    • @mikelopster
      @mikelopster  2 месяца назад +3

      k8s นี่ คุยกันยาวครับ เดี๋ยวผมหาเป็นซีรีย์ทำแยกไว้ครับ 😆

    • @theflash2321
      @theflash2321 Месяц назад

      @@mikelopster ดีเลยครับ ตอนนี้ผมลองใช้ minikube scale nodes เอาแต่รู้สึกว่ายังไม่เห็นภาพเท่า k8s ที่แยก node จริงๆ อาจจะเป็นเพราะ run on local มั้งง😂

  • @zodiacno10
    @zodiacno10 Месяц назад +1

    ในที่สุดก็มา รอมานานมากครับ ขบอคุณมากค้าบบบบบบบบ

    • @mikelopster
      @mikelopster  Месяц назад

      ช่วงนี้งานแน่นๆเลยครับ จะพยายามหาเวลาามาจอยเรื่อยๆนะครับ

  • @gisssk9236
    @gisssk9236 2 месяца назад

    ขอถามหน่อยครับ ปัจจุบันผมทำการจัดการ API CRD ได้ ทำระบบ login ได้ ใช้ฐานข้อมูล MongoDB ได้ ต้องทำอะไรเพิ่มเติมหรอครับ ถึงจะรับงานเองได้ หรือไม่จำเป็นต้องรับงาน็ได้ แค่อาจจะแนะนำเพิ่มเติมหน่อยครับว่าต้องทำอะไรเป็นเพิ่มเติมอีก ปล.ส่วนใหญ่ผมจะอ่าน Docs ของ NestJs เป็นหลักครับ

    • @mikelopster
      @mikelopster  Месяц назад

      ผมว่าขึ้นอยู่กับเคสแล้วแหละ พื้นฐานระบบทั่วไปก็เป็น CRUD นี่แหละครับ เพียงแต่ มันไปวัดกันที่ รูปแบบการเก็บข้อมูลใน Database กับการ process data มากกว่า
      เช่น E Commerce เราอาจจะเก็บข้อมูลทั้ง product, user, cart ไว้ แต่ตอน ทำ API placeorder มันคือการเอาทุกอย่างมารวมกันและสร้างเป็น order โดยพื้นฐานมันก็อยู่ในกรอบ CRUD เช่นกัน แต่มันก็จะเป็นโจทย์ที่ยากกว่าในแง่ของการทำ process data ครับ
      พวกนี้แนะนำให้ลองทำจากเว็บจริงดู หรือลองหา side project ทำดูก่อนได้นะครับ (อาจจะเริ่มจากการลอกเว็บไซต์ที่ใช้งานบ่อยๆก็ได้) แล้วจะเห็นภาพขึ้นได้นะครับ ว่าเรายังขาดอะไรบ้าง 😊

  • @AdwardInterstaller
    @AdwardInterstaller Месяц назад

    จะมี course reverse engineering ไหมครับ

    • @mikelopster
      @mikelopster  Месяц назад

      ตอนนี้จะยังไม่มีนะครับ :)

  • @Skd_bear
    @Skd_bear 2 месяца назад +1

    ชอบดูคลิปพี่มากเลยครับเมื่อวานก็นั่งดูของfrontendจบไปด้วย อธิบายละเอียดและเข้าใจง่ายมองเห็นภาพตามได้