Node Thumbnail

แม้โลกไอทีองค์กรย้ายมาสู่ยุคคลาวด์เรียบร้อยแล้ว แต่โลกของคลาวด์เองก็ยังมีตัวเลือกมากมาย (แม้ในค่ายเดียวกันเอง) ผู้ใช้อาจสับสนระหว่างการเช่า VM ทั้งตัวหรือรันใน Container รวมถึงบริการแนวคิดใหม่ๆ อย่าง Serverless ที่ไม่ต้องเปิดเครื่องรันค้างไว้ตลอดเวลา

กูเกิลเขียนบล็อกอธิบายข้อแตกต่างเหล่านี้ของบริการในเครือ Google Cloud Platform (GCP) ทั้งหมด 4 ตัว ได้แก่

  • Compute Engine (รัน VM ทั้งตัว)
  • Kubernetes Engine (รันแอพใน Container)
  • App Engine (PaaS บนสภาพแวดล้อมกึ่งสำเร็จ)
  • Cloud Functions (Functions as a Service หรือ FaaS สำหรับงาน event-driven)

No Description

หลักการเลือกระบบเซิร์ฟเวอร์จากตัวเลือกทั้ง 4 แบบ ขึ้นกับระดับของ abstraction ที่เราต้องการ เช่น Compute Engine เป็นการเช่ารัน VM เหมือนเซิร์ฟเวอร์ปกติ บริหารจัดการทุกอย่างได้เอง แต่ก็มีข้อเสียเรื่องทรัพยากร เหมาะสำหรับการย้ายแอพพลิเคชันที่มีอยู่แล้วมาสู่คลาวด์ ส่วน App Engine หรือ Cloud Functions มีส่วนที่เราต้องจัดการเซิร์ฟเวอร์เองน้อยกว่า คล่องตัวกว่า แต่ก็ปรับแต่งได้น้อยกว่าเช่นกัน

No Description

กูเกิลแนะนำว่าถ้าไม่จำเป็นต้องยุ่งกับระบบเซิร์ฟเวอร์มาก ก็ควรใช้บริการที่มี abstraction สูงๆ เพื่อให้นักพัฒนาโฟกัสกับการพัฒนาแอพเพียงอย่างเดียว กรณีของ Cloud Functions นักพัฒนาสนใจแค่สร้างโค้ดให้ตอบสนองต่อเหตุการณ์ที่ระบุเท่านั้น ไม่ต้องสนใจอย่างอื่นเลย

ตัวอย่างของกูเกิลลองสร้างแอพ Hello World ด้วย Node.js บนบริการทั้ง 4 ตัวเพื่อทดสอบระยะเวลาที่ใช้ตั้งแต่เริ่มเรียนรู้จนถึงรันแอพขึ้นมาได้ พบว่า Kubernetes Engine ใช้เวลานานที่สุด 6 ชั่วโมง ตามด้วย Compute Engine 4.5 ชั่วโมง, App Engine 1.5 ชั่วโมง และ Cloud Functions ใช้เวลาเพียง 15 นาที (ระยะเวลาขึ้นกับประสบการณ์ของแต่ละคนด้วย)

No Description

รายละเอียดอ่านได้จากโพสต์ของกูเกิลบน Medium

ที่มา - Google Cloud Platform Blog

Get latest news from Blognone

Comments

By: Sh0ckWaveZer0
iPhoneWindows
on 12 June 2018 - 11:30 #1054899
Sh0ckWaveZer0's picture

กระจ่างเลย

By: bluezip
AndroidUbuntuWindows
on 12 June 2018 - 11:44 #1054901

ผมเขียน microservice ขอไม่แสดงความคิดเห็น

By: saratlim
ContributorAndroid
on 12 June 2018 - 12:27 #1054909
By: akira on 12 June 2018 - 16:02 #1054956

ปัญหาคือ Cloud function ของ google ตอนนี้ใช้ node.js เป็นหลัก ทั้งบน firebase และ dialogflow ใครไม่คุ้นกับ node.js มีอึน ผมกว่าจะไต่จาก javascript -> typescript -> node.js เสียเวลาอยู 2 เดือนไปเสียเวลากับ typescript ซะเยอะ เพราะเจอช่วงเปลี่ยนผ่านของทั้ง Angular กับ Ionic มาเจอ node.js อีก มึนตึ๊บสลับโหมดไม่ถูก ตอนเปลี่ยน Java -> .NET -> .NET Core ยังปวดหัวน้อยกว่าเลย แต่เป็นภาคบังคับ เพราะระบบที่ทำเป็นเป็นระบบสั่งงานแบบ Real-time ถ้าอยู่ต่าง Server กันมันมี gap ของ response time ต้องมา tune อีก เลยใช้ cloud function ดีกว่า แถมไม่ต้องทำ cache เองด้วย เลยเลือกใช้มัน แต่มันก็มีประเด็นเรื่องค่าใช้จ่ายนิดหน่อย ต้องอ่านรายละเอียดดีๆ ถ้าจะคิด Scale เยอะ เตรียมเงินไว้เยอะๆ ด้วย โดยเฉพาะถ้าต้องโยนข้อมูลออกมาประมวลผลเพิ่มเติมให้ AI ภายนอก หรือระบบภายนอกช่วยประมาลผล

ตอนนี้กำลังแกะ dialogflow v2 อยู่ ใครมี knowledge แนะนำด้วยนะครับ ใช้ v1 แล้วมีปัญหานิดหน่อย มันแปลไม่ตรง script ที่เขียนไว้ พอมาถึง client แต่บนตัวทดสอบบน dashboard ไม่มีปัญหาอะไร

By: Be1con
ContributorWindows PhoneWindowsIn Love
on 13 June 2018 - 15:10 #1055151 Reply to:1054956
Be1con's picture

มันเป็นปัญหาปกติของ Node.JS ครับ ตอนเขียน Express ยังใช้คนละ syntax กับตอนเขียน Ionic เลย นับภาษาอะไรกับ React หรือ Vue


< Code | Design | Life | Blogger | Beyond >