Tin mới nhất

Menu

Browsing "Older Posts"

Bài Viết Về Chủ Đề " REST API Design "

Chia Sẻ Khóa Học REST API Design, Management, Monitoring & Analytics [Khóa 7504 A]

19 tháng 2 2023 / No Comments

Nguyên tắc & thiết kế REST API. Thực hành các công cụ quản lý API với Kong API Gateway, Docker, Zipkin, Elaticsearch, Kibana.

Bạn sẽ học được gì:

  • ✓ Lý thuyết & Thực tiễn tốt nhất về API Management & Design.
  • ✓ Quản lý API bằng các công cụ mã nguồn mở: Kong.
  • ✓ Đây KHÔNG phải là một khóa học coding. Chúng tôi sẽ KHÔNG tìm hiểu cách tạo REST API tại đây. Chúng ta sẽ học cách quản lý chúng.
  • ✓ API Analytics với Elasticsearch, Logstash, và Kibana (ELK Stack).
  • ✓ Monitor & notify cho team của bạn theo thời gian thực khi service của bạn gặp sự cố (ví dụ: down hoặc high load).
  • ✓ Theo dõi các API call của bạn nằm rải rác trên các máy khác nhau.
  • ✓ Cách sử dụng đơn giản công nghệ Docker container.

GHI CHÚ:

  • ✓ Đây KHÔNG phải là một khóa học coding. Trọng tâm là các công cụ quản lý API sử dụng phần mềm có sẵn (sẵn sàng sử dụng).
  • ✓ Bạn không cần bất kỳ thẻ tín dụng hoặc khoản thanh toán nào để sử dụng các công cụ trong khóa học này. Tất cả các phần mềm (bao gồm cả API manager) đều có sẵn dưới dạng phiên bản miễn phí. Một số thậm chí có thể code mã nguồn mở của họ.

Trước khi chúng tôi bắt đầu:

Nếu bạn muốn học, bạn chỉ cần một trình duyệt web. Để chạy các công cụ và thực hành, cần có phần cứng và phần mềm cụ thể. Vui lòng xem các yêu cầu trên Bài giảng Một (với tiêu đề Readme First : Phần cứng & Phần mềm Cần thiết ).

Điều kiện tiên quyết:

Chúng tôi sẽ sử dụng Docker (là công nghệ container) để cài đặt các công cụ cần thiết cho khóa học API management này. Trong khóa học này, bạn sẽ học những kiến ​​thức cơ bản về Docker. Để cài đặt Docker, bạn cần làm quen với:

  • ✓ Windows: sử dụng dấu nhắc lệnh cơ bản & lệnh, administrator access.
  • ✓ Mac / Linux: cách sử dụng terminal và lệnh cơ bản, truy cập root / sudo.

Tôi cung cấp hướng dẫn cài đặt Docker cho Windows 10 Professional Edition. Đối với bất kỳ hệ điều hành nào khác - bao gồm cả phiên bản Windows khác-, tôi cung cấp tham chiếu đến tài liệu chính thức chứ không phải video. Tôi rất tiếc về điều này, vì tôi không có máy Mac/Linux.

Đừng lo lắng, tài liệu chính thức đầy đủ và đủ dễ làm theo.

Làm việc với REST API:

Nơi làm việc của bạn áp dụng kiến ​​trúc hiện đại và dựa trên REST API. Có REST API mang lại lợi ích, nhưng lợi ích đi kèm với chi phí. Đối với hầu hết các team, quy trình thiết lập và thực thi các tiêu chuẩn hoặc chính sách trên các API của họ là hoàn toàn thủ công. Thường thì quá trình đó liên quan đến nhiều team hoặc team member và thậm chí còn trở nên khó khăn hơn khi số lượng API tăng lên. 

Bây giờ bạn đã được cung cấp các API của mình, bạn cũng cần có khả năng hiển thị trên các API của mình. Xu hướng lưu lượng truy cập API của bạn theo thời gian như thế nào? API nào được sử dụng nhiều nhất? API nào có tỷ lệ lỗi lớn? Có dữ liệu này sẽ giúp bạn phân tích và đưa ra quyết định chính xác để phát triển API hơn nữa.

Việc triển khai các chính sách, chứng khoán hoặc phân tích có thể được thực hiện bằng cách viết logic bổ sung trên các API của bạn. Bạn thậm chí có thể viết các công cụ phân tích của riêng mình để giám sát và phân tích các API của mình. Nhưng những quá trình đó sẽ dư thừa và tốn thời gian. Tại sao chúng ta không tìm một cách hiệu quả hơn để các nhà phát triển có thể tập trung vào nhu cầu kinh doanh? Điều đó cuối cùng sẽ tối đa hóa năng suất của các nhà phát triển xây dựng trên API và từ đó mang lại lợi ích cho công ty.   

API Management Software:

Các công cụ quản lý API có thể là một câu trả lời. Các công cụ quản lý API trên thị trường có khả năng cung cấp các khả năng API phổ biến, như:
  • ✓ API gateway, một điểm giao tiếp duy nhất để truy cập API.
  • ✓ Bảo mật cơ bản để truy cập API.
  • ✓ Kiểm soát lưu lượng, như giới hạn tốc độ hoặc hạn ngạch.
  • ✓ Monitor API health (API có thể truy cập hoặc ngừng hoạt động không?).
  • ✓ Load balancing.
  • ✓ API Analytics (hit rate, error rate).
  • ✓ Logging lưu lượng truy cập của bạn.
  • ✓ Developer portal, đóng vai trò là API documentation. Một định dạng tài liệu API phổ biến là swagger / Open API specification.
Những người chơi lớn như Google, IBM hoặc Axway cung cấp các tính năng tốt để quản lý API - nếu bạn sẵn sàng trả một số tiền. Nhưng nếu bạn thích cách tiếp cận mã nguồn mở, quy mô nhỏ (nhưng vẫn tốt), thì cũng có một số công cụ quản lý API trên thị trường, một trong số đó là Kong API Manager (mà chúng tôi sử dụng trong khóa học này).

Trong khóa học này, chúng ta sẽ học API Management bằng một số công cụ. Tất cả phần mềm có sẵn dưới dạng phiên bản miễn phí. Một số đi kèm với tùy chọn nâng cấp lên phiên bản cao cấp với nhiều tính năng hơn. Các công cụ chúng ta sẽ tìm hiểu ở đây là:
  • ✓ Kong API management: Đây là trọng tâm chính của khóa học này.
  • ✓ Docker và docker compose: Công nghệ container phổ biến để tăng tốc độ cài đặt và cấu hình của chúng tôi. Tuy nhiên, khóa học này KHÔNG phải là khóa học về docker, vì vậy chúng tôi sẽ không đi sâu về docker.
  • ✓ Zipkin: Một công cụ REST API tracing mã nguồn mở. Hữu ích cho distributed tracing trên các service khác nhau, ngay cả khi các API service nằm rải rác trên một số máy.
  • ✓ Elaticsearch, Logstash & Kibana: Một search engine phổ biến và đó là công cụ trực quan. Khóa học này là khóa học giới thiệu về cách sử dụng các ngăn xếp này để phân tích lưu lượng truy cập API của bạn. Nhưng khóa học này không tập trung vào Elastic stack.
  • ✓ Prometheus & Grafana: Các công cụ giám sát nguồn mở để thu thập các chỉ số hiệu suất và hiển thị các chỉ số đó dưới dạng biểu đồ chuỗi thời gian.

Lợi ích của API Management (for Engineering và Business):

Hãy đối mặt với nó: chúng ta có những hạn chế về thời gian. Doanh nghiệp cần những API đó. Và họ cần nó nhanh chóng.

Viết API chỉ hoạt động về mặt chức năng mà không an toàn, hoặc sai sót về mặt kỹ thuật thì sớm muộn gì cũng gặp rắc rối. Có thể ai đó tìm thấy lỗ hổng bảo mật trong API của bạn và khai thác chúng. Hoặc bạn làm việc ở một nơi mà API được sử dụng ở nhiều nơi bởi nhiều người/hệ thống? Nếu không có sự minh bạch về phân tích API (mức sử dụng, tỷ lệ lỗi, v.v.), rất khó để biết liệu API của bạn có hoạt động tốt hay cần cải thiện hay không.

Viết code để triển khai bảo mật API, phân tích hoặc một số khía cạnh kỹ thuật khác là điều tuyệt vời. Lập trình viên kỳ cựu hoặc những đứa trẻ mới vào nhà sẽ thích thử thách viết những code như vậy và giải quyết các vấn đề phức tạp.

Nhưng những hạn chế về thời gian nói to. Viết code như vậy có thể tốn thời gian. Sẽ là một điều tốt nếu tập trung nỗ lực của các nhà phát triển vào việc cung cấp logic kinh doanh, từ đó giúp doanh nghiệp luôn dẫn đầu.

API management có thể được sử dụng để giúp bạn giải quyết các khía cạnh API phổ biến, như bảo mật, phân tích hoặc ai có thể truy cập API nào. Và hầu hết thời gian, bạn không cần phải viết bất kỳ code nào. Đặt API của bạn sau một số API management và định cấu hình để nó hoạt động với API của bạn.

Điều đó có nghĩa, năng suất tăng lên. Dù bạn giữ vai trò gì trong công ty, năng suất luôn là điều tốt và API management (thậm chí là mã nguồn mở) có thể giúp bạn tăng cường năng suất đó.

Kong API Management:

Kong cung cấp API gateway cho các REST API với kiến ​​trúc plug-in để cho phép người dùng thêm các chức năng vào Kong gateway cốt lõi. Nền tảng API management của Kong rất tinh gọn. Nó sẽ thu hút người dùng với cơ bản.

Những người muốn có một nền tảng ban đầu mà sau đó họ có thể thêm khi họ tiếp tục.

Với các plugin do Kong hoặc cộng đồng cung cấp hoặc với các phát triển của riêng họ (vâng, có thể phát triển plugin Kong dựa trên yêu cầu của riêng bạn, mặc dù chúng tôi không đề cập đến nó trong khóa học này ). Các công ty muốn sử dụng nền tảng Kong API management có thể bắt đầu nhanh như bạn có thể thấy trong khóa học - chưa đến 1 giờ để thiết lập và chạy.

Người dùng đang tìm cách thực hiện các chiến lược kỹ thuật số sẽ thấy Kong hữu ích khi kích hoạt nền tảng của họ.

API Monitoring & Analytics:

Trong khóa học này, chúng ta sẽ học cách phân tích và giám sát không chỉ bằng cách sử dụng Kong API Manager mà còn một số công cụ khác và quan trọng nhất là cách tích hợp chúng. Một công cụ duy nhất khá mạnh, nhưng việc tích hợp sẽ mang lại cho chúng ta nhiều lợi ích hơn.

Các công cụ API management thường đi kèm với API analytics module. Chúng tôi có thể sử dụng các phân tích để có được khả năng hiển thị của toàn bộ hệ sinh thái API. Phân tích sẽ tự động và liên tục thu thập tất cả dữ liệu lưu lượng API, như thời gian thực hiện, tỷ lệ truy cập (số lần truy cập trong giây), tỷ lệ lỗi. Bằng cách tận dụng API analytics, chúng tôi có thể biết dữ liệu về API nào có giá trị tốt và API nào cần được cải thiện.

Về mặt vận hành, chúng tôi có thể sử dụng các công cụ giám sát API để chủ động phát hiện các vấn đề về hiệu suất và lưu lượng API. Hãy tưởng tượng nếu một dịch vụ ngừng hoạt động lúc 10 giờ sáng và không ai biết cho đến một giờ sau đó, điều đó có nghĩa là các vấn đề đã phát sinh và một số cơ hội kinh doanh có thể đã bị mất. Với việc tận dụng Kong API management mã nguồn mở (và một số công cụ miễn phí khác), chúng tôi có thể nhận được thông báo trong vòng chưa đầy 5 phút sau khi dịch vụ gặp sự cố.

Mục lục:
  • ✓ 01. Giới thiệu.
  • ✓ 02 - Công Nghệ Trong Khóa Học Này.
  • ✓ 03 - Software Architecture & REST API.
  • ✓ 04 - Giới thiệu API Management.
  • ✓ 05 - Docker for Further Study.
  • ✓ 06 - Bước đầu tiên của chúng tôi Kong.
  • ✓ 07 - Kong Services & Routes.
  • ✓ 08 - Kong Administration Tool.
  • ✓ 09 - Kong Health Check & Load Balancer.
  • ✓ 10 - Kong Plugins.
  • ✓ 11 - Các ví dụ về Kong Plugin - Authentication.
  • ✓ 12 - Các ví dụ về Kong Plugin - Security.
  • ✓ 13 - Các ví dụ về Kong Plugin - Traffic Control.
  • ✓ 14 - Các ví dụ về Kong Plugin - Transformations.
  • ✓ 15 - Analytics & Monitoring.
  • ✓ 16 - API Developer Portal.
  • ✓ 17 - Securing Kong.
  • ✓ 18 - Kong for Production.
  • ✓ 19 - Thank You & Thưởng.
Khóa học này dành cho ai:
  • ✓ Developer xây dựng REST API backend.
  • ✓ Developer / Operation muốn biết nên sử dụng và quản lý REST API khi nào và như thế nào.
  • ✓ Software Architect / Manager muốn tận dụng và sử dụng nền tảng API Management, trong trường hợp này là nền tảng nguồn mở.
  • ✓ Developer / Operation muốn biết cách tận dụng các công cụ nguồn mở cho API management.


NHẬN GET EBOOK TRÊN AMAZON THEO YÊU CẦU




Copyright Disclaimer:
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.
Tuyên bố miễn trừ bản quyền:
Trang web này không lưu trữ bất kỳ tệp nào trên máy chủ của nó. Chúng tôi chỉ lập chỉ mục và liên kết đến nội dung được cung cấp bởi các trang web khác. Vui lòng liên hệ với các nhà cung cấp nội dung để xóa nội dung bản quyền nếu có và gửi email cho chúng tôi, chúng tôi sẽ xóa các liên kết hoặc nội dung có liên quan ngay lập tức.