Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Redis

ไมโครเซอร์วิสและชั้นข้อมูล: IDC เผย 89% ขององค์กรใช้งาน ตาม InfoBrief ล่าสุด

ไมโครเซอร์วิสและชั้นข้อมูล: IDC เผย 89% ขององค์กรใช้งาน ตาม InfoBrief ล่าสุด

หากคุณยังสงสัยว่าสถาปัตยกรรมไมโครเซอร์วิสกำลังครองชี้นำการพัฒนาแอปพลิเคชันในปัจจุบัน ก็ถึงเวลาที่จะต้องยอมรับ ตาม InfoBrief ใหม่ของ IDC เรื่อง ผลกระทบของการปรับปรุงแอปพลิเคชันสมัยใหม่ต่อชั้นข้อมูล โดยได้รับการสนับสนุนจาก Redis พบว่า 89% จากองค์กรในอเมริกาเหนือ 300 แห่งที่สำรวจ ใช้ไมโครเซอร์วิสอยู่แล้ว สิ่งนี้สอดคล้องกับการคาดการณ์ของ IDC ในปี 2019 ว่า "ในปี 2022 แอปใหม่ 90% จะใช้สถาปัตยกรรมไมโครเซอร์วิส"

แรงขับเคลื่อนของไมโครเซอร์วิสชัดเจนมาก ไดรฟ์โดยความจำเป็นขององค์กรที่ต้องพัฒนา ปรับใช้ (deploy) และอัปเดตแอปและบริการคุณภาพสูงอย่างรวดเร็ว เพื่อตอบสนองความต้องการของลูกค้าและธุรกิจที่เพิ่มสูงขึ้น ตาม InfoBrief "แอปไมโครเซอร์วิสถูกใช้ในบทบาทที่สำคัญต่อธุรกิจ (business-critical) แล้ว 24% ของแอปไมโครเซอร์วิสถูกจัดว่าเป็น business-critical" ตัวอย่างเช่น สำหรับเกือบครึ่งหนึ่งของแอปไมโครเซอร์วิส (42%) การล้มระบบ (downtime) นำไปสู่การสูญเสียรายได้

แต่ไม่ได้หมายความว่าการปฏิวัติไมโครเซอร์วิสเสร็จสมบูรณ์แล้ว จริงๆ แล้วเพิ่งเริ่มต้น ตามการสำรวจของ IDC องค์กรทั้งหลายที่ใช้ไมโครเซอร์วิส ทำไปด้วยพอร์ตโฟลิโอแอปที่ย้ายจากโมโนลิธ (monolith) ไปได้เพียง 17% ผู้เขียน InfoBrief คือ Carl W. Olofson และ Gary Chen อธิบายสถานการณ์อย่างกระชับว่า "แม้การพัฒนาแอปที่ใช้ไมโครเซอร์วิสจะยังอยู่ในช่วงเริ่มต้น แต่ความสำคัญในอนาคตชัดเจนมาก"

เรียนรู้เพิ่มเติม: อ่าน Redis Microservices for Dummies e-book

ชั้นข้อมูลเพิ่มความซับซ้อนให้สถาปัตยกรรมไมโครเซอร์วิส

ที่จะทำให้สถาปัตยกรรมไมโครเซอร์วิสสำเร็จ ต้องใช้สิ่ง gì? และองค์กรเผชิญอะไรขณะใช้ไมโครเซอร์วิส? การใช้ไมโครเซอร์วิสอาจเพิ่มความซับซ้อนอย่างมาก โดยเฉพาะเรื่องชั้นข้อมูล ตามการสำรวจ แอปไมโครเซอร์วิสขององค์กรเกือบครึ่งหนึ่ง (47%) พึ่งพาฐานข้อมูล แต่เกือบหนึ่งในสามของผู้ตอบ (31.5%) จดจำว่าการจัดการฐานข้อมูลเป็นอันดับ 3 อันดับแรกของความท้าทาย "การแยกแอปพลิเคชันทำให้จำนวนคอมโพเนนต์ตรรกะที่ต้องจัดการเพิ่มขึ้นแบบเอ็กซ์โพเนนเชียล" ผู้เขียนระบุไว้

สิ่งนี้อาจทำให้ข้อมูลถูกแยกเป็น silo, ซับซ้อนกว่า และมีค่าใช้จ่ายสูงขึ้น ทำให้องค์กรมากมายสรุปว่า orchestration จำเป็นสำหรับการปรับใช้ไมโครเซอร์วิส จึงไม่แปลกใจที่ประมาณหนึ่งในสามของผู้ตอบระบุลดต้นทุนการจัดการและเพิ่มประสิทธิภาพการดำเนินงาน (35.6%) และรองรับแอป cloud-native หรือไมโครเซอร์วิสสมัยใหม่ (33.2%) เป็น 3 อันดับแรกของแรงขับเคลื่อนการปรับใช้ orchestration

เลือกฐานข้อมูลที่เหมาะสมสำหรับสถาปัตยกรรมไมโครเซอร์วิสของคุณ

โซลูชันอีคอมเมิร์ซ ตัวอย่างเช่น อาจใช้บริการหลายอย่าง—แอปเซิร์ฟเวอร์, แคชเนื้อหา, session store, แคตตาล็อกสินค้า, ค้นหาและค้นพบ, ประมวลผลออเดอร์, จัดส่งออเดอร์, การวิเคราะห์ และอื่นๆ อีกมากมาย—และแต่ละบริการอาจมีฐานข้อมูลของตัวเอง ตามแผนภาพด้านล่าง:

ไมโครเซอร์วิสและชั้นข้อมูล: IDC เผย 89% ขององค์กรใช้งาน ตาม InfoBrief ล่าสุด

ที่จะเลือกและสร้างแอปพลิเคชันด้วยสถาปัตยกรรมที่เหมาะสม ต้องทำอย่างไร? คุณลักษณะอะไรที่ต้องมองหา? การวิจัยแนะนำให้เน้น 4 คุณสมบัติที่จำเป็น ให้ดูรายละเอียด:

1. ความสำคัญของประสิทธิภาพ (Performance)

ตามที่ IDC ระบุ "ผู้ตอบมากกว่า 95% เลือกประเภทฐานข้อมูลหรือประสิทธิภาพเป็นเกณฑ์" และเกือบครึ่งหนึ่งของผู้ตอบ (45%) ระบุประสิทธิภาพเป็นปัจจัย 3 อันดับแรก (รองจากประเภทฐานข้อมูล) เมื่อเลือกฐานข้อมูล ไม่แปลกใจที่ประสิทธิภาพสำคัญมาก เนื่องจากในสภาพแวดล้อมไมโครเซอร์วิส คุณต้องการทั้งประสิทธิภาพแบบเรียลไทม์และความสามารถในการขยาย.scale เพื่อส่งมอบสัญญาของสถาปัตยกรรมแบบกระจายอย่างเต็มที่

ไมโครเซอร์วิสและชั้นข้อมูล: IDC เผย 89% ขององค์กรใช้งาน ตาม InfoBrief ล่าสุด

Redis ถูกเลือกเป็นฐานข้อมูลที่นักพัฒนาชื่นชอบมาติดต่อกัน 4 ปี ทราบดีในการส่งมอบประสิทธิภาพ sub-millisecond ด้วยฐานข้อมูล low-latency ของ Redis Enterprise คุณสามารถสร้างประสบการณ์ผู้ใช้ทันที หรือทำ real-time analytics ขณะที่รักษา footprint ให้เล็ก และขยายได้ตามต้องการ ตามที่ InfoBrief ระบุ "สิ่งนี้บ่งชี้ว่าวิธีการทำงานและประสิทธิภาพของฐานข้อมูลเป็นปัจจัยสำคัญต่อความสำเร็จของการพัฒนาแอปไมโครเซอร์วิส"

เรียนรู้เพิ่มเติม: ดู Latency Is the New Outage white paper ใหม่ของเรา

2. พร้อมใช้งานตลอดเวลา (Always Available)

ไมโครเซอร์วิสและชั้นข้อมูล: IDC เผย 89% ขององค์กรใช้งาน ตาม InfoBrief ล่าสุด

การสำรวจของ IDC เปิดเผยว่าเกือบหนึ่งในสี่ (24%) ของแอปไมโครเซอร์วิสขององค์กร ถูกใช้ในบทบาท business-critical ที่ high availability เป็นสิ่งสำคัญ โดยทั่วไป "สำหรับ 42% ของแอปไมโครเซอร์วิส การล้มระบบ (downtime) ทำให้เกิดการสูญเสียรายได้โดยตรง" ตาม InfoBrief ในขณะที่ downtime ใน 58% ที่เหลือ นำไปสู่การสูญเสียผลผลิต

นี่เป็นปัญหาที่ใหญ่ เพราะแม้สถาปัตยกรรมไมโครเซอร์วิสจะประกอบด้วยบริการที่เชื่อมต่อกันมากมาย แต่ก็ยังต้องเผชิญความต้องการด้านประสิทธิภาพและความน่าเชื่อถือเหมือนแนวทางพัฒนาอื่นๆ การรับรองว่าข้อมูลของคุณพร้อมใช้งานตลอดเวลาทั่วโลกเป็นอีกความท้าทายหนึ่ง ต้องการฐานข้อมูลที่ทนทานต่อข้อผิดพลาด (fault tolerant) ในทุกระดับ

เรียนรู้เพิ่มเติม: ดูว่าเทคโนโลยี high-availability ของ Redis Enterprise รับประกัน uptime four-nines (99.99%)—และ five-nines (99.999%) ในการปรับใช้ Active-Active แบบกระจายภูมิศาสตร์

3. ใช้โมเดลข้อมูลหลายแบบเพื่อสร้างแอปพลิเคชันสมัยใหม่

นักพัฒนาใช้สถาปัตยกรรมไมโครเซอร์วิสเพื่อสร้างแอปที่ดีขึ้น การเลือกโมเดลข้อมูลที่เหมาะสมเป็นสิ่งจำเป็นสำหรับการเร่ง time-to-market และที่สำคัญกว่า คือเพิ่มประสิทธิภาพรูปแบบการเข้าถึงข้อมูล (data-access patterns) และข้อกำหนดด้านประสิทธิภาพ วิธีนี้ทำให้แต่ละบริการใช้ฐานข้อมูลที่สร้างขึ้นเพื่อโมเดลข้อมูลของตัวเอง

ไมโครเซอร์วิสอาจใช้โมเดลข้อมูลแบบ key-value, graph, JSON, time series, search engines และอื่นๆ อีกมากมาย แต่หมายความว่า "ไมโครเซอร์วิสจำนวนมากจะใช้ฐานข้อมูลต่อบริการ (database per service)" ตาม InfoBrief ซึ่ง "เพิ่มจำนวนฐานข้อมูล จำนวนคอมโพเนนต์ซอฟต์แวร์ที่เข้าถึงฐานข้อมูล และความจำเป็นที่ฐานข้อมูลต้องรวมอยู่ในเวิร์กโฟลว์สมัยใหม่" นั่นคือเหตุผลที่การจัดการฐานข้อมูลกับแอปไมโครเซอร์วิสเป็นความท้าทาย 3 อันดับแรกสำหรับเกือบหนึ่งในสาม (32%) ของผู้ตอบ

ไมโครเซอร์วิสและชั้นข้อมูล: IDC เผย 89% ขององค์กรใช้งาน ตาม InfoBrief ล่าสุด

เพื่อลดความซับซ้อนนี้ ฐานข้อมูลของคุณควรรองรับโมเดลข้อมูลหลายแบบ ทำให้สถาปติก enterprise เลือกโมเดลข้อมูลที่เหมาะสมสำหรับแต่ละบริการได้ง่าย โดยไม่ต้องเสียประสิทธิภาพหรือต้องเรียนรู้และดูแลฐานข้อมูลหลายตัวที่แตกต่างกัน ซึ่งทำให้การดำเนินงานง่ายขึ้นและช่วยจำกัด technology sprawl

เรียนรู้เพิ่มเติม: ดู white paper เรื่อง Strategic Data Flexibility

4. ปรับใช้ได้ทุกที่ (Deploy Anywhere)

แม้ DBaaS จะได้รับความนิยมเพิ่มขึ้น ข้อมูลองค์กรจำนวนมากยังคงอยู่ on-premises ทำให้องค์กรหลายแห่งใช้ multiple clouds และโครงสร้างพื้นฐานแบบไฮบริด ตามที่สำรวจของ IDC แสดง ในสภาพแวดล้อมไมโครเซอร์วิส คุณต้องการความสามารถในการเพิ่มประสิทธิภาพชั้นข้อมูล เพื่อให้ได้ความยืดหยุ่นในการรันฐานข้อมูลโดยไม่มี silo หรือการสูญเสียข้อมูล

ไมโครเซอร์วิสและชั้นข้อมูล: IDC เผย 89% ขององค์กรใช้งาน ตาม InfoBrief ล่าสุด

แต่ตามที่ผู้เขียน IDC 指出 "ฐานข้อมูลหลายตัวไม่ได้ถูกออกแบบมาเพื่อเป็น cloud-native, เข้ากันได้กับคอนเทนเนอร์ หรือถูก orchestrate โดย Kubernetes" การเพียงแค่แพ็กเกจฐานข้อมูลในคอนเทนเนอร์ เช่น ไม่ทำให้มันเหมาะกับสถาปัตยกรรมไมโครเซอร์วิส ฐานข้อมูลต้องเป็น lightweight และปรับแต่งได้ (tunable) เพื่อตอบสนองความต้องการข้อมูลของคุณ

องค์กรต้องการแพลตฟอร์มฐานข้อมูลที่มีรูปแบบการปรับใช้ (deployment models) ที่ยืดหยุ่น รันได้ทุกที่ที่จำเป็น ไม่ว่าจะเป็น on-premises หรือ cloud ใดก็ได้ ในสถาปัตยกรรม multi-cloud หรือ hybrid-cloud, ในคอนเทนเนอร์ หรือเป็น Kubernetes Pod

เรียนรู้เพิ่มเติม: ดู Redis Enterprise Software Deployment Options

Redis Enterprise และไมโครเซอร์วิส

ตามรายงาน การเพิ่มขึ้นของสถาปัตยกรรมไมโครเซอร์วิสส่งผลมากต่อสถาปัตยกรรมชั้นข้อมูลที่ใช้รองรับบริการเหล่านี้ ดังนั้นองค์กรที่มองหาพัฒนาแอปด้วยสถาปัตยกรรมไมโครเซอร์วิส ควรให้ความสำคัญกับความเป็นเลิศทางเทคนิคและความเหมาะสมกับวัตถุประสงค์ (fit for purpose) ซึ่งเป็นจุดที่ Redis Enterprise ส่องสว่าง

Redis Enterprise ให้ประสิทธิภาพในระดับไมโครเซอร์วิส ส่งมอบ latency sub-millisecond สำหรับทุกชนิดข้อมูลและโมดูลของ Redis และสามารถขยาย.scale ทันทีและแบบเส้นตรง (linear) ไปจนถึง throughput เกือบเท่าไหร่ก็ได้ ออกแบบมาเพื่อ fault tolerance และ resilience Redis Enterprise ใช้สถาปัตยกรรม shared-nothing cluster และมี automated failover ในระดับ process, โหนดเดี่ยว และแม้แต่ข้าม availability zones รวมถึง persistence และ disaster recovery ที่ปรับแต่งได้ (tunable) Redis Enterprise ยังทำให้นักพัฒนาเลือกโมเดลข้อมูลที่เหมาะกับข้อกำหนดด้านประสิทธิภาพและการเข้าถึงข้อมูลสำหรับการปรับใช้สถาปัตยกรรมไมโครเซอร์วิสได้ง่าย ขณะที่รักษา operational interface แบบรวมศูนย์เพื่อจำกัด technology sprawl และลดความซับซ้อนในการดำเนินงาน สำคัญคือ Redis Enterprise สามารถปรับใช้ได้ทุกที่—บนแพลตฟอร์ม cloud ใดๆ, on-premises, หรือในสถาปัตยกรรม multi-cloud หรือ hybrid cloud

เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับความสำคัญของชั้นข้อมูลในการปรับใช้ไมโครเซอร์วิส ดาวน์โหลด IDC InfoBrief เต็มรูปแบบ—The Impact of Application Modernization on the Data Layer และดูทรัพยากรสถาปัตยกรรมไมโครเซอร์วิสด้านล่างเพื่อข้อมูลเชิงลึกเพิ่มเติมเกี่ยวกับหลายวิธีที่ Redis Enterprise เหมาะสำหรับการปรับใช้ไมโครเซอร์วิส:

  • Redis Enterprise for Microservices
  • Redis Microservices for Dummies e-book
  • Latency Is the New Outage white paper
  • Strategic Data Flexibility white paper
  • Redis Enterprise Software Deployment Options
  • How Redis Simplifies Microservices Design Patterns—The New Stack blog post