Các giải pháp của Sonatype trong lĩnh vực cung ứng phần mềm

Tháng Mười Một 30, 2022
Nga Pham

Đọc thêm phần trước của bài đăng này: Tìm hiểu về Chuỗi cung ứng phần mềm

Tóm tắt

– Sonatype cung cấp đầy đủ các công cụ phối hợp lẫn nhau để quản lý hoàn toàn một chuỗi cung ứng phần mềm.

– Nexus Repository – package registry cá nhân của bạn, bao gồm các thành phần proxy từ Maven, npm, pypi, nhiều thành phần khác hoặc các thành phần của riêng bạn. 

– Nexus Lifecycle – hỗ trợ quản lý và bảo mật các thành phần. Lifecycle hỗ trợ bạn thiết lập các chính sách để xác định mức rủi ro chấp nhận được từ các thành phần nguồn mở.

– Lift – tích hợp với hệ thống mã nguồn của bạn, cung cấp tính năng phân tích chất lượng mã nguồn. 

– Nexus Firewall – ngăn các thành phần rủi ro và nguy hiểm xâm nhập vào kho lưu trữ của bạn. Firewall sử dụng cùng một công cụ chính sách với Lifecycle để ngăn các thành phần quá rủi ro xâm nhập vào hệ thống.

Tổng quan

Để nhận được tất cả giá trị từ các công cụ của Sonatype, bạn cần hiểu mức độ phù hợp của chúng với chuỗi cung ứng phần mềm. Nếu các công cụ của Sonatype không được tích hợp vào chuỗi cung ứng của bạn, thì bạn sẽ không nhận được đầy đủ giá trị khi sử dụng chúng. 

Trong bài đăng trước, chúng ta đã khám phá khái niệm quản lý chuỗi cung ứng, từ đó so sánh chuỗi cung ứng truyền thống và chuỗi cung ứng phần mềm, trong đó có đề cập nguyên lý hoạt động cơ bản của Nexus Repository Manager (NXRM), Nexus Lifecycle, Nexus Firewall và Sonatype Lift trong việc hỗ trợ chuỗi cung ứng phần mềm.

Các giải pháp của Sonatype trong chuỗi cung ứng

Chúng ta đã biết về bốn giai đoạn của chuỗi cung ứng truyền thống và so sánh chúng với chuỗi cung ứng phần mềm. Dưới đây là một bảng tóm tắt.

Traditional Supply Chain Software Supply Chain
Procurement (Thu mua) Sourcing (Tìm nguồn cung ứng)
Production (Sản xuất) Development (Phát triển)
Distribution (Phân phối) DevOps
Customer Interface (Giao diện khách hàng) Customer Success (Thành công của khách hàng)

Các giải pháp của Sonatype hoàn toàn phù hợp với chuỗi cung ứng phần mềm, và đó không phải là sự trùng hợp ngẫu nhiên. Mục tiêu của Sonatype là trao quyền cho khách hàng để họ tạo ra những phần mềm sáng tạo, chất lượng với tốc độ nhanh chóng, bằng việc cung cấp tất cả những thông tin cần thiết để khách hàng quản lý chuỗi cung ứng của mình. 

Vấn đề tự động hoá tốt và dễ dàng mở rộng quy mô cũng rất quan trọng. Các giải pháp của Sonatype là các thành phần tự nhiên trong một chuỗi cung ứng hoạt động tự động, phù hợp với mọi quy mô và mức độ trưởng thành của DevSecOps. Chúng không phải là những điểm kiểm soát ngăn chặn sự phát triển hoặc nút thắt khiến bạn không thể mở rộng quy mô khi doanh nghiệp phát triển.

Nexus Repository Manager

NXRM là một phần của giai đoạn Sourcing (tìm nguồn cung ứng). Là trình quản lý kho lưu trữ nhị phân (binary repository manager), hay còn gọi là trình quản lý kho lưu trữ phổ quát (universal repository manager), NXRM uỷ quyền cho các kho lưu trữ như Maven Central, npm và các trình quản lý kho lưu trữ khác. Khi cần một thành phần mới, NXRM sẽ tìm nạp thành phần cần thiết từ kho lưu trữ, sau đó lưu trữ một bản sao cục bộ của nó để sử dụng trong tương lai.

Việc kho lưu trữ ngừng hoạt động có thể ảnh hưởng lớn đến các nhà phát triển, cho dù chỉ là trong thời gian ngắn. Các thành phần đôi khi cũng biến mất khỏi kho lưu trữ. Điều này là một mối đe doạ đáng kể cho tất cả các ứng dụng của bạn, đặc biệt là các ứng dụng cũ vẫn đang được hỗ trợ. NXRM giải quyết cả hai vấn đề này bằng cách hoạt động như một bản sao cục bộ của kho lưu trữ, giúp bạn có thể quản lý trực tiếp và tuỳ chỉnh theo nhu cầu.

Ví dụ: Tương tự chuỗi cung ứng truyền thống, NXRM giống như một nhà kho chứa đầy các bộ phận đáng tin cậy của sản phẩm. Nhà kho dự trữ nhiều bộ phận, ngăn ngừa tình trạng giao hàng chậm trễ thường xuyên. Nhà kho và mọi thứ bên trong đều được mua và trả tiền, do đó nhà máy sản xuất có thể quản lý nhà kho theo cách phù hợp với họ.

Nexus Firewall

Nexus Firewall là một phần của giai đoạn Sourcing. Firewall đánh giá các thành phần dựa trên Nexus Intelligence và chặn các thành phần rủi ro xâm nhập vào trình quản lý kho lưu trữ của bạn. Đánh giá này dựa trên các tiêu chuẩn bảo mật, pháp lý, chất lượng và kiến trúc mà bạn kiểm soát.

Bằng việc chặn các thành phần trước khi chúng thực sự được nhập vào, các thành phần rủi ro sẽ không bao giờ xuất hiện trong bản dựng (build) cuối cùng của ứng dụng. Cơ chế này cũng giúp ích cho nhà phát triển nhờ các phản hồi sớm. Việc sớm lựa chọn một thành phần thay thế sẽ dễ dàng hơn là thay thế muộn một thành phần hiện có.

Ví dụ: Trong chuỗi cung ứng truyền thống, Firewall giống như việc kiểm tra các bộ phận mới khi chúng đến kho. Các kỹ thuật viên sẽ đảm bảo những gì được giao khớp với những gì đã đặt, sau đó kiểm tra các bộ phận dựa trên danh sách thu hồi sản phẩm. Nếu có vấn đề, các bộ phận sẽ không được nhập kho và do đó không thể được sử dụng trong thành phẩm.

Lift

Lift là một phần của giai đoạn Development (phát triển). Lift nằm trong kho lưu trữ mã nguồn và các bình luận trong pull request với các báo cáo về lỗi, lỗ hổng bảo mật, tình trạng sử dụng thành phần và các mối lo ngại khác về chất lượng mã.

Lift là một công cụ tự động, do đó dễ dàng mở rộng và không đòi hỏi nỗ lực đánh giá thủ công. Lift cung cấp phản hồi trong kho lưu trữ mã nguồn, nơi các nhà phát triển có khả năng tương tác với phản hồi cao nhất. Lift cũng kết hợp hơn 24 máy phân tích để nắm bắt các vấn đề liên quy trình mà các công cụ scanning đơn giản không thể làm.

Ví dụ: Bạn có thể xem Lift giống như một thiết bị nhận dạng quang học công nghệ cao trên dây chuyền lắp ráp công nghiệp. Lift scan các bộ phận mà không cần sự giám sát của con người, tiết kiệm thời gian cho các kỹ thuật viên để họ có thể tập trung vào việc khác. Lift scan nhanh hơn nhiều so với con người, giúp băng chuyền chạy ở tốc độ tối đa. Và khi có vấn đề được xác định, nó sẽ chuyển bộ phận đó cho kỹ thuật viên để điều chỉnh hoặc sửa chữa.

Nexus Lifecycle

Nexus Lifecycle là một phần của mọi giai đoạn trong chuỗi cung ứng phần mềm. Chức năng cốt lõi của Lifecycle là scan các ứng dụng và đánh giá các thành phần dựa trên Nexus Intelligence. Đánh giá này dựa trên các tiêu chuẩn bảo mật, pháp lý, chất lượng và kiến trúc bạn kiểm soát. 

Hiểu rõ về các thành phần trong ứng dụng của bạn và rủi ro của chúng là chìa khoá để xây dựng phần mềm sáng tạo và chất lượng cao. Tích hợp của Lifecycle với các công cụ như IDE và trình duyệt web sẽ mang lại cho bạn thông tin chính xác trong toàn bộ chuỗi cung ứng.

Tích hợp Lifecycle với các công cụ CI/CD đặc biệt quan trọng. Quá trình scanning tại thời điểm build có thể mở rộng, chính xác và cung cấp cho bạn cái nhìn về các thành phần của ứng dụng khi bạn cần nhất. Nó cũng được tự động hoá – bạn không cần thực hiện bất kỳ tác vụ thủ công nào, đồng thời tự động thực thi, chặn các bản build nếu phát hiện vi phạm chính sách.

Ví dụ: Trong bối cảnh chuỗi cung ứng truyền thống, Lifecycle là hệ thống nhãn (label) và thẻ (tag) xác định mọi bộ phận trên dây chuyền lắp ráp. Bởi vì các bộ phận được dán nhãn và theo dõi, thành phẩm có thể được đánh giá dựa trên điểm mạnh và điểm yếu của các bộ phận đi kèm. Các sản phẩm hoàn thiện có bộ phận hư hỏng bị loại bỏ khỏi dây chuyền lắp ráp cho đến khi các kỹ thuật viên khắc phục chúng.

Các tài nguyên bổ sung

Lift là công cụ dành cho nhà phát triển mà Sonatype đang phát triển nhanh chóng. Bạn có thể sử dụng Lift miễn phí trên các kho lưu trữ công khai. Hãy truy cập trang Getting Started của Sonatype để cài đặt Lift với vài cú nhấp chuột.

Việc bắt đầu với các giải pháp khác của Sonatype cũng rất dễ dàng. Đặc biệt, Nexus Repository Manager có một phiên bản mã nguồn mở miễn phí được gọi là Nexus Repository Manager OSS. Tìm hiểu các tính năng của NXRM tại đây.

Nexus Intelligence là dịch vụ dữ liệu của Sonatype, kết hợp trí thông minh của con người và máy móc để cung cấp dữ liệu mới nhất về rủi ro nguồn mở. Hãy khám phá thêm về cách Nexus Intelligence điều tra các thành phần tại đây.

Theo Sonatype