Nếu bạn vẫn còn nghi ngờ rằng kiến trúc microservice đang thống trị sự phát triển ứng dụng ngày nay, thì đã đến lúc vượt qua nó. Theo InfoBrief mới của IDC về Tác động của hiện đại hóa ứng dụng trên lớp dữ liệu , được tài trợ bởi Redis, 89% trong số 300 người trả lời khảo sát doanh nghiệp Bắc Mỹ đã và đang sử dụng microservices. Và điều đó nằm trên dự đoán năm 2019 của IDC rằng “Đến năm 2022, 90% tất cả các ứng dụng mới sẽ có kiến trúc microservices”.
Động lực của Microservices hiện là không thể phủ nhận, do các doanh nghiệp cần phát triển, triển khai và cập nhật nhanh hơn nữa các ứng dụng và dịch vụ chất lượng cao để đáp ứng các yêu cầu ngày càng cao của khách hàng và doanh nghiệp. Theo InfoBrief, “các ứng dụng microservices đã được sử dụng trong các vai trò quan trọng đối với doanh nghiệp, với 24% ứng dụng microservices được xác định là quan trọng đối với doanh nghiệp”. Ví dụ, đối với gần một nửa số ứng dụng microservices (42%), thời gian ngừng hoạt động dẫn đến mất doanh thu.
Nhưng điều đó không có nghĩa là cuộc cách mạng microservices đã hoàn tất. Trên thực tế, nó chỉ mới bắt đầu. Theo khảo sát của IDC, tất cả các doanh nghiệp sử dụng dịch vụ vi mô đều đang làm như vậy với chỉ 17% danh mục đầu tư ứng dụng của họ đã chuyển khỏi nguyên khối. Các tác giả của InfoBrief, Carl W. Olofson và Gary Chen, giải thích tình huống này một cách ngắn gọn:“Mặc dù sự phát triển của các ứng dụng dựa trên microservices vẫn đang ở giai đoạn đầu, nhưng tầm quan trọng của nó đối với sự phát triển trong tương lai là rất rõ ràng.”
Tìm hiểu thêm: Đọc Redis Microservices for Dummies sách điện tử
Tính phức tạp của lớp dữ liệu cho các kiến trúc microservice
Vậy điều gì sẽ xảy ra để thực hiện lời hứa của các kiến trúc microservice, và những thách thức nào mà các doanh nghiệp phải đối mặt khi họ nắm lấy microservices? Việc áp dụng Microservices có thể làm tăng thêm độ phức tạp đáng kể, đặc biệt là khi nói đến lớp dữ liệu. Theo khảo sát, gần một nửa số ứng dụng microservices của doanh nghiệp (47%) dựa vào cơ sở dữ liệu, nhưng gần một phần ba số người được hỏi (31,5%) cho rằng quản lý cơ sở dữ liệu là một thách thức ba hàng đầu. Các tác giả lưu ý:“Việc phân hủy các ứng dụng theo cấp số nhân làm tăng số lượng các thành phần logic phải được quản lý.
Điều đó có thể khiến dữ liệu bị mờ, phức tạp hơn và tốn kém, khiến nhiều doanh nghiệp kết luận rằng điều phối là điều cần thiết để triển khai microservices. Vì vậy, không có gì ngạc nhiên khi khoảng một phần ba số người được hỏi cho rằng việc giảm chi phí quản lý và tăng hiệu quả hoạt động (35,6%) và hỗ trợ các ứng dụng dịch vụ đám mây gốc hoặc microservices mới, hiện đại (33,2%) là ba động lực hàng đầu của việc triển khai điều phối.
Chọn cơ sở dữ liệu phù hợp cho kiến trúc microservice của bạn
Ví dụ:giải pháp thương mại điện tử có thể sử dụng một số dịch vụ — máy chủ ứng dụng, bộ nhớ cache nội dung, lưu trữ phiên, danh mục sản phẩm, tìm kiếm và khám phá, xử lý đơn hàng, thực hiện đơn hàng, phân tích, v.v. — và mỗi dịch vụ có thể có cơ sở dữ liệu riêng, như thể hiện trong sơ đồ bên dưới:
Vì vậy, làm thế nào để bạn chọn và xây dựng các ứng dụng với kiến trúc phù hợp? Bạn cần tìm những đặc điểm nào? Nghiên cứu cho thấy tập trung vào bốn điều quan trọng cần phải có. Hãy xem xét kỹ hơn:
1. Tầm quan trọng của hiệu suất
Như IDC đã lưu ý, “hơn 95% người được hỏi ủng hộ loại cơ sở dữ liệu hoặc hiệu suất làm tiêu chí” và gần một nửa số người trả lời khảo sát (45%) cho rằng hiệu suất là yếu tố ba yếu tố hàng đầu (chỉ loại cơ sở dữ liệu theo sau) khi chọn cơ sở dữ liệu. Không có gì ngạc nhiên khi hiệu suất lại quan trọng đến vậy, vì trong môi trường microservice, bạn cần cả hiệu suất thời gian thực và khả năng mở rộng quy mô để phân phối đầy đủ theo lời hứa của kiến trúc phân tán.
Được mệnh danh là cơ sở dữ liệu được yêu thích nhất trong bốn năm hoạt động, Redis nổi tiếng với việc cung cấp hiệu suất dưới mili giây. Với cơ sở dữ liệu có độ trễ thấp của Redis Enterprise, bạn có thể tạo trải nghiệm người dùng tức thì hoặc thực hiện phân tích thời gian thực trong khi vẫn giữ được dấu ấn nhỏ với khả năng mở rộng quy mô theo yêu cầu. Như InfoBrief lưu ý, “Điều này chỉ ra rằng cách cơ sở dữ liệu hoạt động và thực hiện là rất quan trọng đối với sự thành công trong phát triển ứng dụng microservices.”
Tìm hiểu thêm: Xem mới của chúng tôi Độ trễ là sự cố mới giấy trắng
2. Luôn có sẵn
Cuộc khảo sát của IDC tiết lộ rằng gần một phần tư (24%) các ứng dụng microservice của doanh nghiệp đã được sử dụng trong các vai trò quan trọng trong kinh doanh, nơi tính khả dụng cao là rất quan trọng. Thông tin chung, "đối với 42% ứng dụng microservices, việc trải qua thời gian chết dẫn đến mất doanh thu trực tiếp cho tổ chức", InfoBrief lưu ý, trong khi thời gian ngừng hoạt động ở 58% ứng dụng còn lại dẫn đến mất năng suất.
Đó là một vấn đề tiềm ẩn lớn, bởi vì mặc dù một kiến trúc microservice kết hợp nhiều dịch vụ được kết nối, nó phải đối mặt với các nhu cầu về hiệu suất và độ tin cậy giống như các phương pháp phát triển khác. Ví dụ, đảm bảo dữ liệu của bạn luôn sẵn có trên khắp thế giới là một thách thức khác. Để đảm bảo các ứng dụng của bạn luôn khả dụng, bạn cần một cơ sở dữ liệu có khả năng chịu lỗi ở mọi cấp độ.
Tìm hiểu thêm: Xem cách thức của Redis Enterprise công nghệ có tính khả dụng cao đảm bảo thời gian hoạt động bốn nines (99,99%) — và năm nines (99,999%) trong Hoạt động-Hoạt động triển khai phân phối theo địa lý.
3. Tận dụng nhiều mô hình dữ liệu để xây dựng các ứng dụng hiện đại
Các nhà phát triển tận dụng các kiến trúc microservice để xây dựng các ứng dụng tốt hơn. Việc chọn mô hình dữ liệu phù hợp là điều cần thiết để tăng tốc thời gian đưa ra thị trường và quan trọng hơn là nó tối ưu hóa các mẫu truy cập dữ liệu và các yêu cầu về hiệu suất. Bằng cách này, mỗi dịch vụ có thể sử dụng cơ sở dữ liệu được xây dựng theo mục đích cho mô hình dữ liệu của chính nó.
Một microservice có thể sử dụng mô hình dữ liệu dựa trên khóa-giá trị, đồ thị, JSON, chuỗi thời gian và công cụ tìm kiếm, cùng những thứ khác. Nhưng điều đó có nghĩa là “nhiều dịch vụ vi mô sẽ sử dụng cơ sở dữ liệu cho mỗi dịch vụ”, InfoBrief lưu ý, điều này “tăng số lượng cơ sở dữ liệu, số lượng thành phần phần mềm truy cập cơ sở dữ liệu và nhu cầu đưa cơ sở dữ liệu vào quy trình làm việc hiện đại”. Đó là lý do tại sao, như đã nói ở trên, quản lý cơ sở dữ liệu với các ứng dụng microservice là một thách thức hàng đầu đối với gần một phần ba (32%) người được hỏi.
Để giảm thiểu sự phức tạp này, cơ sở dữ liệu của bạn nên hỗ trợ nhiều mô hình dữ liệu. Điều đó giúp các kiến trúc sư doanh nghiệp dễ dàng lựa chọn mô hình dữ liệu phù hợp cho từng dịch vụ mà không phải hy sinh hiệu suất hoặc phải tìm hiểu và duy trì nhiều cơ sở dữ liệu khác nhau, giúp đơn giản hóa hoạt động và giúp hạn chế sự tràn lan của công nghệ.
Tìm hiểu thêm: Xem bài báo trắng của chúng tôi về Tính linh hoạt của dữ liệu chiến lược
4. Triển khai mọi nơi
Ngay cả khi DBaaS đạt được động lực, phần lớn dữ liệu doanh nghiệp vẫn còn tại chỗ, dẫn đến nhiều doanh nghiệp sử dụng nhiều đám mây và cơ sở hạ tầng kết hợp, như được thể hiện trong cuộc khảo sát của IDC. Trong môi trường microservices, bạn cần khả năng tối ưu hóa lớp dữ liệu để cung cấp cho bạn sự linh hoạt để chạy cơ sở dữ liệu của mình mà không có silo hoặc mất dữ liệu.
Nhưng như các tác giả IDC đã chỉ ra, “Nhiều cơ sở dữ liệu không được thiết kế cho đám mây gốc, tương thích với các vùng chứa, hoặc do Kubernetes dàn dựng.” Ví dụ:chỉ đóng gói cơ sở dữ liệu trong một vùng chứa, không làm cho nó phù hợp với kiến trúc microservice; cơ sở dữ liệu phải nhẹ và có thể điều chỉnh được để đáp ứng nhu cầu dữ liệu của bạn.
Doanh nghiệp cần một nền tảng cơ sở dữ liệu cung cấp các mô hình triển khai linh hoạt để chạy ở bất kỳ đâu cần thiết, cho dù đó là tại cơ sở hay trong bất kỳ đám mây nào, trong kiến trúc đa đám mây hoặc đám mây lai, trong vùng chứa hoặc dưới dạng Kubernetes Pod.
Tìm hiểu thêm: Kiểm tra Tùy chọn triển khai phần mềm Redis Enterprise
Redis Enterprise và microservices
Theo báo cáo, sự gia tăng của các kiến trúc microservice ảnh hưởng đáng kể đến kiến trúc lớp dữ liệu được sử dụng để hỗ trợ các dịch vụ này, vì vậy các doanh nghiệp đang tìm cách phát triển các ứng dụng sử dụng kiến trúc microservice cần đặc biệt chú ý đến sự xuất sắc về kỹ thuật và phù hợp với mục đích. Đó chính xác là nơi Redis Enterprise tỏa sáng.
Redis Enterprise cung cấp hiệu suất ở quy mô microservices, mang lại độ trễ dưới mili giây cho tất cả các loại dữ liệu và mô-đun của Redis, đồng thời khả năng mở rộng quy mô tức thì và tuyến tính cho hầu hết mọi thông lượng cần thiết. Được thiết kế để chống lại lỗi và khả năng phục hồi, Redis Enterprise sử dụng kiến trúc cụm không chia sẻ gì và cung cấp chuyển đổi dự phòng tự động ở cấp quy trình, cho các nút riêng lẻ và thậm chí trên các vùng khả dụng của cơ sở hạ tầng, cũng như tính bền bỉ có thể điều chỉnh và khả năng phục hồi sau thảm họa. Redis Enterprise cũng giúp các nhà phát triển dễ dàng chọn mô hình dữ liệu phù hợp nhất với hiệu suất và yêu cầu truy cập dữ liệu để triển khai kiến trúc microservice của họ, trong khi vẫn giữ được giao diện hoạt động thống nhất để hạn chế sự tràn lan của công nghệ và đơn giản hóa hoạt động. Về mặt quan trọng, Redis Enterprise có thể được triển khai ở bất kỳ đâu — trên bất kỳ nền tảng đám mây nào, tại chỗ hoặc trong kiến trúc đám mây đa đám mây hoặc đám mây kết hợp.
Để tìm hiểu thêm về tầm quan trọng của lớp dữ liệu trong việc triển khai microservice, hãy tải xuống IDC InfoBrief đầy đủ— Tác động của hiện đại hóa ứng dụng trên lớp dữ liệu . Và hãy xem các tài nguyên kiến trúc microservice bên dưới để hiểu rõ hơn về nhiều cách Redis Enterprise phù hợp duy nhất để triển khai microservice:
- Redis Enterprise cho Microservices
- Sách điện tử Redis Microservices for Dummies
- Độ trễ là sách trắng mới về sự cố mất điện
- Sách trắng về Tính linh hoạt của Dữ liệu Chiến lược
- Tùy chọn Triển khai Phần mềm Redis Enterprise
- Cách Redis đơn giản hóa các mẫu thiết kế Microservices — Bài đăng trên blog của Ngăn xếp mới