สรุป 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

Efficiency: การใช้ Pure Storage มีประสิทธิภาพและคุ้มค่าเหนือกว่าการใช้ Enterprise Storage อื่นอย่างไร

เพราะระบบ Enterprise Storage มักเป็นระบบที่สำคัญต่อธุรกิจองค์กร การลงทุนในระบบเหล่านี้แต่ละครั้งจึงต้องคำนึงถึงประเด็นด้านประสิทธิภาพและความคุ้มค่ามากเป็นพิเศษ เพื่อให้ระบบดังกล่าวสามารถรองรับการใช้งานของธุรกิจได้อย่างต่อเนื่องยาวนาน และคุ้มค่าสูงที่สุด Pure Storage ในฐานะของผู้นำด้านเทคโนโลยี All Flash Array พร้อมตอบโจทย์ดังกล่าวให้กับธุรกิจองค์กร ด้วย …

Dynatrace Webinar: Enabling DevOps/SRE to Build Better Quality Software with Dynatrace

DPM (Thailand) ร่วมกับ Dynatrace ขอเรียนเชิญ Developers, DevOps Engineer และ SRE เข้าร่วมงานสัมมนาออนไลน์เรื่อง "Enabling DevOps/SRE to Build Better Quality Software with Dynatrace" เพื่อเรียนรู้ว่า Dynatrace Cloud Automation จะช่วยแก้ปัญหาและเพิ่มความเร็วและเสถียรภาพของ DevOps ได้อย่างไร ในวันพฤหัสบดีที่ 25 สิงหาคม 2022 เวลา 14:00 น. ผ่านทาง Live Webinar ฟรี