Breaking News

สรุป Red Hat Webinar: สร้างระบบ Microservices ที่มีขนาดเล็กมากและมีความเร็วสูงด้วย Quarkus

Java นั้นถือเป็นหนึ่งในภาษาพัฒนาโปรแกรมที่มีอิทธิพลต่อธุรกิจองค์กรเป็นอย่างมาก และเมื่อโลกของ Cloud-Native Application มาถึง ก็ย่อมต้องมีผู้พัฒนาเทคโนโลยีเพื่อให้นำ Java มาใช้ในสถาปัตยกรรมใหม่นี้ได้ โดยใน Webinar หัวข้อ “สร้างระบบ Microservices ที่มีขนาดเล็กมากและมีความเร็วสูงด้วย Quarkus โดย Red Hat” ก็ได้เจาะลึกถึง Quarkus ที่จะมาตอบโจทย์นี้โดยเฉพาะ จึงขอหยิบยกเนื้อหาใน Webinar นี้มาสรุปกันดังนี้ครับ

ความท้าทายของการนำ Java มาใช้บน Container

Framework ส่วนใหญ่ของ Java ที่มีอยู่นั้นถูกออกแบบให้รองรับการทำงานแบบ Monolith เป็นหลักมี โดยมี Startup Time นาน และใช้ Memory เยอะ โดย Server หนึ่งเครื่องอาจรองรับ Java Application ได้หลายระบบ เหมาะสำหรับการใช้งานในยุคที่การพัฒนา Application และการออกอัปเดตใหม่ๆ นั้นยังต้องกินเวลานานหลายเดือน ทำให้ Framework เหล่านี้ไม่สามารถถูกปรับนำมาใช้กับโลกของ Container ได้อย่างเหมาะสมนัก

ดังนั้นโจทย์สำคัญจึงเป็นการพัฒนาเทคโนโลยีที่จะทำให้ Java นั้นสามารถทำงานแบบ Cloud-Native ได้ รองรับทั้งการใช้งานแบบ Microservices, Serverless และ Event-Driven ให้ได้ สามารถทำงานร่วมกับ Kubernetes, Istio และ Knative ได้ โดยควรจะต้องเปิดใช้งานได้ในเวลาเพียงไม่กี่วินาที ใช้หน่วยความจำเพียงเล็กน้อย และรองรับ Application เดียวต่อระบบเท่านั้น

ที่ผ่านมามีความพยายามในการพัฒนา Java เพื่อให้ใช้งานบนสถาปัตยกรรมแบบ Microservices อยู่ค่อนข้างมาก แต่เมื่อเทียบกับภาษาอื่นๆ Java ก็ยังถือว่าใช้ทรัพยากรค่อนข้างเยอะอยู่ดี ทำให้ในหลายๆ โครงการด้าน Cloud-Native Application ทีมพัฒนาจึงเลือกใช้ภาษาอื่นแทน Java

รู้จักกับ Quarkus โครงการที่จะนำ Java มาสู่โลกของ Cloud-Native

โครงการ Quarkus นี้ถูกริเริ่มโดยมีวัตถุประสงค์เพื่อทำให้ Java นั้นสามารถใช้งานได้ใน Cloud-Native Application โดยชื่อของ Quarkus นั้นมาจากคำว่า Quark ที่เป็นอนุภาคขนาดเล็กมาก และ US จากคำว่าพวกเรานั่นเอง

ในโครงการนี้ Red Hat ถือเป็นหนึ่งในผู้สนับสนุนหลัก และโครงการเพิ่มเกิดขึ้นมาเมื่อปี 2019 ที่ผ่านมาเท่านั้น โดยนำเทคโนโลยีต่างๆ ที่เกี่ยวข้องกับ Java มาใช้รวมกันภายใน Quarkus นี้ ทั้ง Eclipse Vert.x, Hibernate, RESTEasy, Eclipse MicroProfile, WildFly, Untertow และ OpenJDK

จุดที่ทำให้ Quarkus นั้นแตกต่างจากเทคโนโลยีสำหรับ Java อื่นๆ มีดังนี้

  • Container First รองรับการใช้งานบน Container และ Serverless อย่างเต็มที่ ใช้ทรัพยากรใกล้เคียงกับ NodeJS หรือ Go โดยใช้แรมน้อยลงกว่าเดิม 7-10 เท่าในการทำงานแบบ Native และเปิดใช้งานได้ในเวลาเพียงประมาณ 400 Millisecond เท่านั้น
  • Developer Joy พัฒนาเครื่องมือต่างๆ เพื่อให้ตอบโจทย์การนำไปใช้งานของนักพัฒนาเป็นหลัก เช่น การใช้มาตรฐานเดิมเป็นหลัก, การรวม Configuration ให้อยู่ใน File เดียวทำให้ทำงานง่าย, การทำ Live Coding ได้ เมื่อแก้ไขอะไรทุกอย่าง Reload ใหม่ทันทีโดยไม่ต้อง Compile และสามารถสร้าง Native Binary ได้ด้วยคำสั่งเดียวเท่านั้น
  • Unifies Imerative and Reactive รองรับการเขียนโปรแกรมทั้งแบบ Imperative และ Reactive ได้ในหนึ่งเดียว ทำให้สามารถทำงานได้อย่างยืดหยุ่น และสามารถเรียนรู้การเขียนโปรแกรมแบบ Reactive ได้ง่ายขึ้น
  • Best of Breed Libraries and Standards มีส่วนเสริมเพื่อให้ใช้ Library, Framework และ Standard เดิมที่เคยใช้งานบน Quarkus ได้ โดยสามารถใช้เทคโนโลยีที่ถนัดหรือเหมาะสมได้เลย

สิ่งที่ Quarkus ทำเพื่อให้การใช้ Java สามารถเกิดขึ้นได้โดยใช้ทรัพยากรน้อยนั้น ก็คือการนำงานส่วนใหญ่ที่เคยทำตอน Runtime ของ Java มาอยู่ในช่วง Build แทน ทำให้ตอนเริ่มใช้งานจริงมีความเร็วยิ่งกว่าเดิมมาก และยังสามารถ Optimize ขนาดของ Java ให้เล็กลงด้วยการตัดสิ่งที่ไม่จำเป็นออกไปจาก Package นั่นเอง

ส่วน Build Tool นั้น Quarkus ก็สามารถใช้ได้ทั้ง Maven และ Gradle ส่วน IDE ก็สามารถใช้งานได้ทั้ง VSCode, Eclipse, IntelliJ, Eclipse Che หรือ CodeReady Workspace ของ Red Hat นั่นเอง

Quarkus นี้เหมาะสมกับทั้งการพัฒนา Cloud-Native Application ด้วย Java, การย้ายระบบ Application แบบ Monolithic มาสู่ Microservices, การทำงานแบบ Serverless และการรองรับงานแบบ Event-Driven หรือ Reactive โดย Quarkus นี้จะกลายเป็นหัวใจสำคัญที่จะทำให้ Java Developer สามารถก้าวมาสู่การพัฒนา Cloud-Native Application ได้อย่างเต็มตัว และสร้างคุณค่าเชิงธุรกิจเช่นการลดค่าใช้จ่าย, การรองรับการเพิ่มขยายระบบได้อย่างยืดหยุ่น, การพัฒนาระบบได้อย่างรวดเร็ว ไปจนถึงการทำ Hybrid Cloud

ผู้ที่สนใจรายละเอียดฉบับเต็มเกี่ยวกับ Quarkus สามารถศึกษาได้ที่ https://quarkus.io/

รับชม Webinar ย้อนหลัง

ใน Webinar นี้เนื้อหาเต็มมีความยาวและยังมีการ Demo โซลูชันของ Quarkus ในการใช้งานจริงและการทำงานร่วมกับ Red Hat OpenShift ให้เราได้รับชมกันด้วย ดังนั้นถ้าหากท่านใดสนใจก็สามารถรับชม Webinar ย้อนหลังโดยคุณวรวิทย์ เลิศกิติพงศ์พันธ์, Senior Solutions Architect, Red Hat และคุณเฟื่องวิชญ์ โสภารัตน์, Channel Solutions Architect, Red Hat กันได้ที่ https://redhat.lookbookhq.com/c/thai-webinar-ultra-f?x=YQKcrV เลยนะครับ



About nattakon

จบการศึกษา ปริญญาตรีและโท สาขาวิศวกรรมคอมพิวเตอร์ KMITL เคยทำงานด้าน Engineer/Presale ดูแลผลิตภัณฑ์ด้าน Network Security และ Public Cloud ในประเทศ ปัจจุบันเป็นนักเขียน Full-time ที่ TechTalkThai

Check Also

[Video Webinar] Poly กับการสื่อสารสำหรับองค์กรในยุค New Normal

สำหรับผู้ที่ไม่ได้เข้าฟังบรรยาย Poly Webinar เรื่อง “Poly กับการสื่อสารสำหรับองค์กรในยุค New Normal” เพื่ออัปเดตแนวโน้มการติดต่อสื่อสารในยุค New Normal ภายใต้เงื่อนไขการเว้นระยะห่างทางสังคม (Social Distancing) ที่เคร่งครัด …

[Video Webinar] ทำ Data Center Management ให้เป็นเรื่องง่ายด้วย Hitachi Ops Center

สำหรับผู้ที่ไม่ได้เข้าฟังการบรรยาย Hitachi Vantara Webinar เรื่อง “ทำ Data Center Management ให้เป็นเรื่องง่ายด้วย Hitachi Ops Center” พร้อมแนะนำแนวทางปฏิบัติที่ดีที่สุดในการบริหารจัดการ Data …