Hyperlogy ứng dụng Microservices & Kubernetes – Nâng cao chất lượng sản phẩm & dịch vụ

Microservices – đơn giản hóa sự phức tạp

Microservices hiện được quan tâm trong giới công nghệ với nhiều bài viết, blog, thảo luận, truyền thông, hội thảo.

Nhiều tập đoàn như Amazon, eBay, Netflix đã giải quyết vấn đề ứng dụng đơn khối (Monolithic) bằng kiến trúc Microservices. Nền tảng cả kiến trúc microservices là một hệ thống, mà hệ thống đó là kết hợp của nhiều dịch vụ (service) nhỏ và độc lập, có thể chạy riêng biệt, phát triển và triển khai  phân tán trên nhiều máy chủ. 

Microservices – Kiến trúc tổng thể

Lợi ích khi ứng dụng kiến trúc Microservices:

  • Đơn giản, dễ hiểu.
  • Phát triển các dịch vụ độc lập bởi những nhóm chỉ tập trung vào dịch vụ đó, không ảnh hưởng đến các dịch vụ khác.
  • Có khả năng tái sử dụng, dùng chung bởi nhiều hệ thống.
  • Kết hợp với các công nghệ khác, kiến trúc Microservices giúp mở rộng từng dịch vụ một cách riêng biệt, do đó tài nguyên được sử dụng một cách hiệu quả hơn.

Hyperlogy đẩy mạnh ứng dụng Microservices kết hợp Kubernetes

Bởi những ưu việt mà Microservices mang lại, đội ngũ chuyên gia của Hyperlogy đã đưa kiến trúc này vào các sản phẩm như hệ thống vận hành nội bộ, sản phẩm Cloud (Hệ thống quản trị hiệu suất doanh nghiệp iHCM), các sản phẩm phần mềm phục vụ khối Ngân hàng, Viễn thông, Dịch vụ công,…

Đặc biệt, để kết hợp với Microservices, chúng tôi đã chọn Kubernetes, một nền tảng mã nguồn mở tự động hoá việc quản lý, tự động mở rộng (Auto Scale) và triển khai ứng dụng trong docker container. Nó loại bỏ rất nhiều các quy trình thủ công liên quan đến việc triển khai và mở rộng các containerized applications.

Các hệ thống hiện tại của Hyperlogy.

Trong quá trình thực hiện, chúng tôi nhận thấy một số thế mạnh của Kubernetes:

  • Hỗ trợ chạy Container
  • Cung cấp thuật toán hỗ trợ AutoScaling – Tự động giám sát, tính toán và tăng/giảm tài nguyên khi cần. Việc tăng/giảm tài nguyên được thực hiện cho đúng dịch vụ có tải, điều này giúp ứng dụng sử dụng tài nguyên một cách hiệu quả hơn.
  • Giảm tối đa thời gian nâng cấp phiên bản với cơ chế rolling upgrade (~0)

Khi ứng dụng Microservices cũng như Kubernetes vào quá trình phát triển, kiểm thử,… cho tới khi cần nâng cấp sản phẩm, sẽ có một số nhóm đối tượng được hưởng lợi:

  1. Bộ phận Nghiệp vụ
  • Tùy biến mạnh
  • Sử dụng tin cậy
  • Yêu cầu được đáp ứng nhanh & ổn định
  1. Đội ngũ Phát triển sản phẩm
  • Giảm tải do dịch vụ được tái sử dụng bởi nhiều ứng dụng.
  • Kiểm soát tốt.
  • Tập trung vào nghiệp vụ.
  1. Khách hàng được hưởng dịch vụ với chất lượng tốt hơn
  • Hệ thống chạy nhanh, mượt; trường hợp tải lớn, hệ thống sẽ tự động được phân bổ thêm tài nguyên được cấp cho những dịch vụ chịu tải.
  • Nếu có sự cố xảy ra, hệ thống sẽ tự động được khôi phục, như vậy giảm thiểu được sự cố.
  • Giảm thời gian dừng ngay cả khi nâng cấp (upgrade) và phục hồi (recover).

Là công ty công nghệ, chúng tôi luôn nỗ lực đưa các công nghệ mới nhất như Trí tuệ nhân tạo, IoT, Dữ liệu lớn, Sinh trắc học, Data Warehouse/Business Intelligence/Data Analytics,…. vào ứng dụng thực tiễn, mang lại các sản phẩm có giá trị cao hơn cho khách hàng.

Nhằm giữ vững thế mạnh này, Hyperlogy đã và đang chuyển đổi toàn bộ kiến trúc phần mềm theo hướng Microservices, kèm theo đó là công nghệ vận hành tự động từ Kubernetes vào ứng dụng trong các sản phẩm của công ty, từ phần mềm dịch vụ điện toán đám mây đến các phần mềm dành cho khối ngân hàng, viễn thông, dịch vụ công,……

Chia sẻ của chuyên gia Hyperlogy về Microservices & Kubernetes tại sự kiện OpenInfra Days Vietnam 2019!