Với sự phát triển nhanh chóng về công nghệ như hiện nay, mọi tổ chức đều đang chịu áp lực trong việc đổi mới, cung cấp các trải nghiệm số cho người dùng. Các tổ chức phải đối mặt với thách thức là các ứng dụng được xây dựng với kiến trúc hiện đại sử dụng microservices, các containers và được quản lý bởi kubernets thay vì kiến trúc khối như truyền thống bởi lẽ khi phần mềm trở nên lớn và phức tạp, nó sẽ dần bộc lộ nhiều nhược điểm.
Khi đi theo con đường tạo ra các ứng dụng hiện đại, phân tán, để tạo ra sự nhanh nhẹn cho tổ chức, ứng dụng sẽ gia tăng số lượng các services nhỏ. Và điều đó sẽ dẫn đến sự bùng nổ về số lượng APIs. Lúc này, việc kết nối giữa các API trở nên cực kì quan trọng như là cột sống của một ứng dụng hiện đại. Do đó, các tổ chức rất cần một nền tảng kiểm soát dịch vụ đơn giản, nhanh chóng, linh hoạt nhưng vẫn đảm bảo được bảo mật trong quản lý, giám sát để tăng tốc đổi mới trong tất cả các trường hợp sử dụng.
1. Giới thiệu về Kong
Kong là một công ty tuy mới chỉ thành lập năm 2017 tại San Francisco – California – Hoa Kỳ nhưng hiện đã được công nhận là Nhà lãnh đạo trong số các nhà cung cấp dịch vụ quản lý API và được đánh giá là đơn vị có tầm nhìn hoàn chỉnh xa nhất về sản phẩm theo đánh giá của Gartner. Việc một công ty trẻ như Kong được công nhận là Người dẫn đầu, cùng với một số công ty lớn nhất trên thế giới trong hai năm liên tiếp là điều kỳ tích.
Kong hiện đang cung cấp sản phẩm cho hơn 600 doanh nghiệp để phát triển các dịch vụ quản lý API. Với hơn 300 triệu lượt tải xuống và 350 tỷ cuộc gọi API mỗi ngày, Kong API là sản phẩm phổ biến và chất lượng nhất với người dùng hiện nay.
2. Tại sao lại cần API Gateway quản lý APIs?
Với sự phát triển nhanh chóng về công nghệ như hiện nay, mọi tổ chức đều đang chịu áp lực trong việc đổi mới, cung cấp các trải nghiệm số cho người dùng. Các tổ chức phải đối mặt với thách thức là các ứng dụng được xây dựng với kiến trúc hiện đại sử dụng microservices, các containers và được quản lý bởi kubernets thay vì kiến trúc khối như truyền thống.
Kiến trúc khối hoạt động khá tốt trong quá khứ vì nó đơn giản, dễ code. Tuy nhiên khi phần mềm trở nên lớn và phức tạp thì nó lại dần bộc lộ nhiều nhược điểm. Các tổ chức phải di chuyển từ các ứng dụng khối chuyển sang các services nhỏ hơn hay phải di chuyển các ứng dụng đó lên cloud và sử dụng lại các services sẵn có.
Khi đi theo con đường tạo ra các ứng dụng hiện đại, phân tán, để tạo ra sự nhanh nhẹn cho tổ chức, ứng dụng sẽ gia tăng số lượng các services nhỏ. Và điều đó sẽ dẫn đến sự bùng nổ về số lượng APIs. Lúc này, việc kết nối giữa các API trở nên cực kì quan trọng như là cột sống của một ứng dụng hiện đại.
Thực trạng một Microservices khi không có API Gateway:
Khi có API Gateway:
Lợi ích của việc sử dụng API Gateway:
- Che giấu được cấu trúc của hệ thống microservices với bên ngoài.
- Phần code phía frontend sẽ gọn gàng hơn.
- Dễ dàng theo dõi và quản lý traffic.
- Requests caching và cân bằng tải.
- Thêm một lớp bảo mật nữa cho hệ thống.
- Thay thế authentication services.
3. Sản phẩm quản lý và bảo mật API – Kong Enterprise API Gateway
Kong Enterprise cung cấp một nền tảng kiểm soát dịch vụ đơn giản, nhanh chóng, có thể mở rộng và linh hoạt cho các kiến trúc hiện đại phức tạp. Kong Enterprise bảo mật, quản lý và giám sát tất cả các dịch vụ của tổ chức để tăng tốc đổi mới trong tất cả các trường hợp sử dụng. Sử dụng Kong Enterprise để kết nối các nhóm phát triển, đối tác và khách hàng của tổ chức với một nền tảng thống nhất. Giảm thời gian chờ xuống dưới 1ms. Loại bỏ sự phức tạp với kiến trúc dựa trên plugin và tích hợp đơn giản. Mở rộng quy mô các cụm một cách dễ dàng, bất kể môi trường, nhà cung cấp, cấu hình hoặc mô hình triển khai.
Kong Enterprise cung cấp một nền tảng từ hệ thống tại chỗ đến trên đám mây, các ứng dụng khối đến ứng dụng microservices, mesh và hơn thế nữa.
4. Tính năng Kong Enterprise API Gateway
Quản lý API
Kong hợp nhất chức năng quản trị API chung thành một lớp quản lý nhẹ, dễ mở rộng, linh hoạt và thông lượng cao.
Giao thức và định dạng
Sự hỗ trợ đa giao thức của Kong làm giảm khó khăn khi áp dụng các nền tảng dịch vụ mới. Với khả năng thống nhất giữa các dịch vụ REST, gRPC, GraphQL và truyền dữ liệu, khách hàng Kong có thể mở khóa các nền tảng dịch vụ mới, sử dụng các trường hợp và mô hình kiến trúc mà không có nguy cơ gặp sự cố. Hỗ trợ gốc của Kong cho gRPC và REST, kết hợp với các tích hợp liền mạch với máy chủ Apollo GraphQL và Apache Kafka, cho phép người dùng dễ dàng áp dụng các chính sách nhất quán trên tất cả các dịch vụ để kiểm soát tối đa.
Dưới đây là một số plugin có sẵn để hỗ trợ các giao thức, yêu cầu và chuyển đổi tin nhắn phản hồi. Ngoài ra, tổ chức có thể sử dụng và phát triển các plugin tùy chỉnh của riêng mình cho các loại nhu cầu chuyển đổi khác.
Quản Lý các Plugin
Kong Enterprise bằng cách sử dụng giao diện Plugin Kong Manager mạnh mẽ sẽ giúp tổ chức thêm tất cả các plugin Enterprise bằng cách nhấp vào lựa chọn các plugin tương ứng.
Tính bảo mật
Kong cung cấp một cách để phục vụ động chứng chỉ SSL trên cơ sở mỗi kết nối. Chứng chỉ SSL được xử lý trực tiếp bởi core và có thể cấu hình thông qua Admin API.
Kong cung cấp bảo mật cấp doanh nghiệp với các plugin để xác thực, bảo mật, kiểm soát các lưu lượng, v.v.
Kong Imunity tận dụng trí tuệ nhân tạo (AI) tiên tiến và học máy (machine learning) để hiểu các mô hình lưu lượng của người dùng và tự động xác định hành vi bất thường.
TLS tương hỗ (hay còn gọi là mTLS hoặc SSL hai chiều) là nền tảng cho kiến trúc zero-trust. Kong hỗ trợ cả mTLS giữa Consumer và proxy thông qua plugin mTLS và mTLS upstream giữa proxy và upstream service.
Xác thực
Kong cung cấp danh sách các plugin xác thực sau đây:
- Xác thực cơ bản: bảo vệ tên người dùng và mật khẩu.
- Xác thực HMAC: Xác thực chữ ký HMAC để thiết lập tính toàn vẹn của các yêu cầu đến.
- Người ký JWT: xác minh và (ký lại) một hoặc hai mã thông báo trong một yêu cầu, được gọi là mã thông báo truy cập và mã thông báo kênh.
- Xác thực khóa: Consumer thêm khóa API trong tham số querystring hoặc tiêu đề để xác thực yêu cầu của họ.
- Xác thực LDAP: Xác thực LDAP với bảo vệ tên người dùng và mật khẩu.
- Xác thực TLS tương hỗ: dựa trên chứng chỉ do khách hàng cung cấp và cấu hình danh sách CA đáng tin cậy. Tự động ánh xạ chứng chỉ cho Consumer dựa trên trường tên chung.
- Giới thiệu OAuth 2.0: xác nhận mã thông báo truy cập được gửi bởi các nhà phát triển bằng cách sử dụng Máy chủ ủy quyền OAuth 2.0 của bên thứ ba, bằng cách tận dụng Điểm cuối Giới thiệu (RFC 7662). Plugin này giả định rằng Consumer đã có mã thông báo truy cập sẽ được xác thực chống lại máy chủ OAuth 2.0 của bên thứ ba.
- Xác thực OAuth 2.0: thêm lớp xác thực OAuth 2.0 với cấp mã ủy quyền, thông tin xác thực khách hàng, thông tin xác thực mật khẩu ngụ ý hoặc thông tin xác thực mật khẩu chủ sở hữu tài nguyên.
- OpenID Connect: cho phép tích hợp với nhà cung cấp nhận dạng bên thứ ba (IdP) hoặc Plugin Kong OAuth 2.0 theo cách chuẩn hóa. Plugin này có thể được sử dụng để triển khai Kong như một máy chủ tài nguyên OAuth 2.0 (RS) và / hoặc như một bên phụ thuộc OpenID Connect (RP) giữa khách hàng và dịch vụ đích.
- Phiên: được sử dụng để quản lý phiên trình duyệt cho các API được ủy nhiệm thông qua Cổng API Kong. Nó cung cấp cấu hình và quản lý để lưu trữ dữ liệu phiên, mã hóa, gia hạn, hết hạn và gửi cookie trình duyệt.
- Xác thực Vault: một đối tượng Vault đại diện cho kết nối giữa Kong và máy chủ Vault. Nó xác định kết nối và thông tin xác thực được sử dụng để giao tiếp với API Vault. Điều này cho phép các phiên bản khác nhau của plugin vault-auth giao tiếp với các máy chủ Vault khác nhau, cung cấp một mô hình triển khai và tiêu thụ linh hoạt.
Quản lý người dùng
Plugin hỗ trợ một số loại thông tin xác thực, bao gồm:
- Đã ký mã thông báo truy cập JWT (JWS) với các thuật toán ký tiêu chuẩn (JWA).
- Mã thông báo truy cập mờ với plugin Kong OAuth 2.0 được phát hành mã thông báo hoặc IDP của bên thứ ba được phát hành thông qua nội bộ mã thông báo (IdP cần hỗ trợ nó).
- Tên người dùng và mật khẩu thông qua cấp mật khẩu OAuth 2.0 (plugin sẽ tự động trao đổi thông tin đăng nhập đó với mã thông báo truy cập bằng cách gọi điểm cuối mã thông báo của IdP).
- ID khách hàng và bí mật thông qua tài trợ thông tin đăng nhập khách hàng OAuth 2.0 (plugin sẽ tự động trao đổi thông tin đăng nhập đó với mã thông báo truy cập bằng cách gọi điểm cuối mã thông báo của IdP).
- Mã ủy quyền mà plugin OpenID Connect có thể lấy từ khách hàng khi sử dụng luồng mã ủy quyền OpenID Connect.
- Thông tin đăng nhập cookie phiên mà plugin có thể thiết lập giữa khách hàng và Kong (thường được sử dụng với khách hàng trình duyệt web cùng với cấp mã ủy quyền).
Sơ đồ dưới đây cho thấy một kiến trúc tích hợp điển hình giữa Kong và nhà cung cấp nhận dạng bên thứ ba.
Phân tích thời gian thực
Kong Enterprise bằng cách sử dụng Kong Vitals Analytics sẽ giúp hình dung ra các thông tin chi tiết về lưu lượng truy cập cổng API theo thời gian thực. Kong Vital sẽ hiển thị thông tin phân tích về Tổng số yêu cầu, Độ trễ upstream, Độ trễ được giới thiệu của Kong và Hiệu suất bộ nhớ cache.
Kong Enterprise Vitals Analytics sẽ hiển thị các điểm dữ liệu chuỗi thời gian thực cho lưu lượng truy cập cổng API.
Developer portal
Developer Portal Kong có danh sách các tính năng dưới đây:
- Có thể tùy chỉnh đầy đủ & sẵn sàng
- Bắt đầu dễ dàng sử dụng
- Kho template mẫu công khai
- Các thành phần hướng đến cộng đồng của khách hàng
- Được thiết kế cho đám mây hoặc tại chỗ
- Đào tạo nhập môn cho nhà phát triển
- Đăng ký ứng dụng
Phát hiện mối đe dọa và cảnh báo
Kong Immunity đánh giá lưu lượng truy cập của tổ chức mỗi phút và tạo cảnh báo khi phát hiện sự kiện bất thường. Immunity là giám sát các loại điểm dữ liệu khác nhau trong tất cả các lưu lượng đến qua Kong. Cảnh báo được tạo sẽ dựa trên các điểm dữ liệu này. Dưới đây là các loại cảnh báo vi phạm Immunity đang tìm kiếm:
- vALUE_TYPE: Các cảnh báo này được kích hoạt khi các yêu cầu đến có giá trị cho tham số thuộc loại khác (chẳng hạn như Int thay vì STR) so với lịch sử đã thấy.
- unknown_PARAMETER: Các cảnh báo này được kích hoạt khi các yêu cầu bao gồm các tham số chưa được nhìn thấy trước đó.
- abnormal_value: Các cảnh báo này được kích hoạt khi các yêu cầu chứa các giá trị bất thường so với các giá trị lịch sử được thấy được ghép nối với tham số của nó.
- latency_ms: Các cảnh báo này được kích hoạt khi các yêu cầu đến chậm hơn đáng kể so với các bản ghi lịch sử.
- lưu lượng truy cập: Các cảnh báo này được kích hoạt khi Immunity thấy sự gia tăng trên mã 4XX và 5xx cho lưu lượng truy cập đến hoặc khi lưu lượng truy cập tổng thể gặp phải sự tăng vọt hoặc giảm bất thường.
- mã trạng thái: Khi tỷ lệ mã 4XX hoặc 5XX đang tăng lên, bất kể lưu lượng truy cập.
Công ty chúng tôi luôn luôn mong muốn được trở thành đối tác tin cậy và là nhà cung cấp thiết bị, giải pháp hàng đầu cho sự thành thành công của Quý Khách hàng. Mọi thông tin chi tiết Quý Khách vui lòng liên hệ:
Công ty Cổ phần Công nghệ MITAS Hà Nội
Địa chỉ: Tầng 5, tòa nhà C’Land, Số 81 Lê Đức Thọ, Nam Từ Liêm, Hà Nội
Web: https://mitas.vn | ĐT: (+84) 243 8585 111 | Email: sales@mitas.vn
Sự ủng hộ tin yêu của Quý Khách hàng là động lực và tài sản vô giá đối với tập thể công ty chúng tôi. Chúng tôi xin trân trọng cảm ơn./.