Nói một cách rộng rãi, API (Giao diện lập trình ứng dụng) là một mô-đun mã thực hiện một tác vụ cụ thể và xác định một bộ giao thức mà người khác có thể sử dụng để thực hiện tác vụ đó. Tuy nhiên, trong thế giới ngày nay, API không chỉ là công cụ đơn thuần—hiện có một nền kinh tế rộng lớn và đang phát triển dành cho mã có thể dễ dàng đưa vào ứng dụng để thực hiện một tác vụ riêng biệt. Chiến lược quản lý API hiệu quả sẽ nâng cao trải nghiệm của nhà phát triển, nâng cao chất lượng phần mềm, giảm chi phí phát triển, cho phép mở rộng hệ thống và củng cố các biện pháp bảo mật.
Nếu tổ chức của bạn quản lý API và đang xem xét cung cấp API đó cho công chúng, dưới dạng chiến lược kiếm tiền hoặc nhận thức về thương hiệu, thì điều quan trọng là phải đảm bảo rằng API được quản lý tốt. Người dùng bên ngoài tổ chức của bạn mong đợi trải nghiệm tốt và bạn phải sẵn sàng cung cấp trải nghiệm đó thông qua API của mình.
Đây là lúc một chiến lược quản lý API vững chắc phát huy tác dụng. Có ba thành phần chính trong việc xây dựng một kế hoạch chiến lược quản lý API hiệu quả: xác định các lĩnh vực quản lý API hiệu quả, quyết định xem bạn có cần một công cụ quản lý API hay không và loại công cụ nào bạn nên sử dụng cũng như chọn công cụ đó.
Quản lý API hiệu quả bao gồm việc giám sát tất cả các khía cạnh của API mà doanh nghiệp của bạn hoặc người dùng bên ngoài sẽ sử dụng. Điều này bao gồm hiệu suất, bảo mật, ủy quyền, tài liệu, phân tích và khả năng truy cập.
Cổng / Truy cập Cổng API là lớp giữa dịch vụ công cộng và dịch vụ phụ trợ của bạn. Đây là nơi các yêu cầu đến sẽ bị chặn và chuyển đến các phần chính xác trong API của bạn. Bạn nên sử dụng bộ nhớ đệm, giới hạn tốc độ và điều chỉnh cũng như nhóm các phản hồi để đảm bảo tốc độ và tính nhất quán cho người dùng của bạn.
Mục tiêu hiệu suất Tính khả dụng, tốc độ và độ tin cậy là các khía cạnh quan trọng của bất kỳ API công khai nào. Bạn phải có khả năng đảm bảo một lượng thời gian hoạt động nhất định cho người dùng của mình và có thể bảo vệ cũng như khôi phục dữ liệu người dùng trong trường hợp xảy ra sự cố hoặc thời gian ngừng hoạt động. Xác định mục tiêu cho API của bạn.
Các loại bảo mật / ủy quyền Bảo mật không chỉ quan trọng để bảo vệ máy chủ của bạn mà còn bảo vệ dữ liệu nhạy cảm của khách hàng. Chiến lược API của bạn phải bao gồm chiến lược được bảo mật bằng khóa API, chứng chỉ ứng dụng khách hoặc chiến lược OAuth. Ngay cả khi API của bạn cung cấp dữ liệu không riêng tư, mạng yêu cầu nó xử lý vẫn phải được bảo mật.
Xác thực / Quản lý chính sách Sau khi ủy quyền, xác thực và quản lý chính sách rất quan trọng để thiết lập vai trò của người dùng và quyền truy cập của nhóm cũng như quản lý danh tính và đặc quyền. Điều này tăng cường bảo mật bằng cách giới hạn những tài nguyên nào có sẵn cho người dùng nào và cải thiện tổ chức cho người dùng của bạn.
Cổng thông tin / Tài liệu dành cho nhà phát triển Một cổng thông tin dành cho nhà phát triển trực quan và tài liệu tốt cũng rất quan trọng để quản lý API tốt. Cổng thông tin dành cho nhà phát triển của bạn phải bao gồm một hộp cát nơi các nhà phát triển có thể kiểm tra điểm cuối của bạn, một danh mục API phác thảo tất cả các API có sẵn trong tổ chức của bạn và tài liệu rõ ràng, có thể tìm kiếm được kèm theo hướng dẫn để bắt đầu và thực hiện các tác vụ phổ biến.
Phân tích Phân tích của bạn sẽ cung cấp cho bạn thông tin chi tiết có giá trị về cách mọi người đang sử dụng API của bạn, điều này sẽ cho phép bạn tập trung nguồn lực vào những lĩnh vực sẽ mang lại nhiều lợi nhuận nhất. Ngoài ra, phân tích thường hữu ích cho người dùng của bạn.
Giải pháp quản lý API có thể xử lý một hoặc nhiều tác vụ này cho bạn. Các giải pháp được cung cấp thông qua proxy, đại lý hoặc phương pháp kết hợp.
Proxy Một giải pháp proxy nằm giữa API và người dùng của nó. Proxy cung cấp các lợi ích như bộ nhớ đệm để tối ưu hóa hiệu suất và bảo vệ API khỏi sự gia tăng lưu lượng truy cập đột ngột. Tuy nhiên, proxy có thể làm tăng chi phí và lo ngại liên quan đến quyền riêng tư và độ trễ. Ví dụ về việc triển khai proxy như vậy bao gồm Apigee, Mashape và Mashery.
Đại lý Đại lý là các plugin hoạt động liền mạch cùng với máy chủ của bạn. Không giống như proxy, chúng không can thiệp vào lệnh gọi API. Do đó, chúng không gây ra độ trễ mạng hoặc sự phụ thuộc bên ngoài. Tuy nhiên, việc triển khai các tính năng như bộ nhớ đệm có thể là một thách thức. Một ví dụ về kiểu triển khai này là 3scale.
Kết hợp Để tận dụng lợi ích của cả hai cách triển khai, bạn có thể sử dụng kết hợp tác nhân và proxy. Ví dụ: bạn có thể chọn proxy để xử lý bộ nhớ đệm trong khi sử dụng tác nhân cho mục đích xác thực. Các công ty như Apigee và 3scale đang chuyển đổi sang các giải pháp kết hợp.
Một số công cụ quản lý API hàng đầu bao gồm:
Việc xác định giải pháp nào phù hợp với bạn sẽ yêu cầu đánh giá ngân sách, nguồn lực hiện có (tức là những người bạn có sẵn để giải quyết vấn đề này), nhu cầu của bạn và quy mô dự kiến của API.
Tôi có thể quản lý API của mình trong nội bộ hay tôi nên thuê trợ giúp bên ngoài?
Tất cả đều phụ thuộc vào bạn. Nếu bạn có một tổ chức đủ lớn để dành một nhóm quản lý API, bạn có thể tự mình xử lý việc đó. Nhưng quản lý API là một nhiệm vụ phức tạp và chuyên biệt và không nên đơn giản giao cho các kỹ sư vốn đã làm việc quá sức ở các lĩnh vực khác trong công ty của bạn.