de_DEen_USes_ESfa_IRid_IDpt_PTvizh_CNzh_TW

Sơ đồ triển khai UML: Bản đồ phần mềm đến hạ tầng

Trong khi Sơ đồ thành phần tập trung vào tổ chức logic của các mô-đun mã nguồn của bạn, thì Sơ đồ triển khai UML nối kết với thực tế. Nó trả lời câu hỏi then chốt: “Tất cả mã nguồn này thực sự được lưu trữ ở đâu?”

Sơ đồ này là mô hình UML duy nhất dành riêng cho môi trường thực thi vật lý. Nó trực quan hóa việc ánh xạ các thành phần phần mềm đến các mục tiêu phần cứng, minh họa cách các thành phần của hệ thống được phân bố trên các máy chủ, cơ sở dữ liệu, thiết bị di động và hạ tầng đám mây. Trong thời đại tính toán đám mây, microservices và IoT, việc hiểu rõ kiến trúc vật lý này trở nên quan trọng hơn bao giờ hết.

Cấu trúc của kiến trúc vật lý

Mục tiêu chính của một Sơ đồ triển khailà hiển thị topology vật lý của hệ thống—phần cứng (nút) và phần mềm (thành phần) đang chạy trên đó.

1. Nút: Phần cứng và môi trường thực thi

Khối xây dựng cơ bản nhất của sơ đồ triển khai là Nút. Các nút đại diện cho các tài nguyên tính toán nơi các thành phần được triển khai để thực thi. Chúng được biểu diễn dưới dạng hộp 3D (khối lập phương).

Các nút có hai loại chính:

  • Nút thiết bị: Chúng đại diện cho các tài nguyên phần cứng vật lý có khả năng xử lý.

    • Ví dụ: Một máy chủ ứng dụng, một máy chủ cơ sở dữ liệu, một điện thoại di động, một cảm biến IoT hoặc một bộ cân bằng tải.

  • Nút môi trường thực thi (môi trường thực thi): Đây là các container dựa trên phần mềm chạy trong một nút thiết bị và lưu trữ các loại thành phần cụ thể. Chúng đại diện cho lớp phần mềm quản lý các thành phần đã triển khai.

    • Ví dụ: Một Máy ảo Java (JVM), một .NET CLR, một container Docker hoặc một phiên bản trình duyệt web.

2. Thành phần: Phần mềm có thể triển khai

Một Thành phần đại diện cho hiện thân vật lý cụ thể của một thành phần phần mềm. Trong khi một “Thành phần” là một nhóm logic các lớp, thì một “Sản phẩm” là tệp thực tế được cài đặt trên máy chủ.

Các sản phẩm thường được vẽ dưới dạng hình chữ nhật với từ khóa«sản phẩm»hoặc biểu tượng tài liệu nhỏ ở góc. Chúng thường được đặtbên trongcủa Nút để hiển thị nơi chúng được triển khai.

  • Ví dụ: user-service.jar, index.html, database-schema.sql, config.xml, hoặcpayment-api.exe.

3. Các Đường truyền thông: Các Kết nối

Các nút hiếm khi hoạt động độc lập.Các Đường truyền thôngđại diện cho các kết nối vật lý hoặc mối liên hệ giữa các nút, cho thấy cách chúng trao đổi thông tin.

Chúng được vẽ dưới dạng các đường liền nối hai nút. Quan trọng là, chúng thường được đánh nhãn bằng các kiểu dáng để chỉ rõ giao thức truyền thông hoặc loại mạng đang được sử dụng.

  • Ví dụ: «HTTP/HTTPS», «TCP/IP», «JDBC», «RMI», hoặc «Hàng đợi tin nhắn».

Communication Paths: The Connections

Trực quan hóa cấu trúc

Sơ đồ triển khai điển hình kể một câu chuyện về cấu trúc thời gian chạy của hệ thống. Ví dụ, một ứng dụng web ba tầng tiêu chuẩn có thể được trực quan hóa như sau:

  1. Tầng khách hàng: Một Thiết bị di động (nút) chứa một Ứng dụng di động (Tài sản).

  2. Tầng trung gian: Một Máy chủ web (nút thiết bị) đang lưu trữ một Container Docker (Môi trường thực thi), bên trong chứa Tệp API Service.jar (Tài sản).

  3. Tầng dữ liệu: Một Máy chủ cơ sở dữ liệu (nút thiết bị) đang lưu trữ một PostgreSQL phiên bản (môi trường thực thi), quản lý Dữ liệu người dùng (Tài sản).

Kết nối các nút này sẽ là các đường nối được đánh nhãn «HTTPS» (giữa thiết bị di động và máy chủ web) và «JDBC» (giữa Máy chủ Web và Cơ sở dữ liệu).

Tại sao nên sử dụng sơ đồ triển khai?

Sơ đồ triển khai là điều không thể thiếu đối với các kỹ sư DevOps, kiến trúc sư hệ thống và quản trị viên mạng.

  • Lên kế hoạch triển khai: Chúng đóng vai trò là bản đồ chính xác cho quản lý phát hành, mô tả cụ thể các tệp nào cần được gửi đến máy chủ nào.

  • Phân tích hiệu suất: Bằng cách trực quan hóa sự phân bố xử lý và các liên kết mạng, các kiến trúc sư có thể xác định các điểm nghẽn tiềm tàng (ví dụ: quá nhiều thành phần trên một nút có công suất thấp hoặc các liên kết mạng chậm giữa các dịch vụ giao tiếp nhiều).

  • Mô hình bảo mật: Chúng giúp xác định các rủi ro bảo mật bằng cách làm nổi bật những nút nào bị phơi bày trước các mạng bên ngoài (internet công cộng) và những nút nào được cách ly phía sau tường lửa.

  • Thiết kế Cơ sở hạ tầng dưới dạng Mã (IaC): Trong DevOps hiện đại, các sơ đồ này cung cấp bản thiết kế khái niệm để viết các script Terraform hoặc CloudFormation nhằm triển khai tài nguyên đám mây.

Để biết thêm thông tin về UML và trực quan hóa hỗ trợ bởi AI, vui lòng xem trang trung tâm tài nguyên UML.

This post is also available in Deutsch, English, Español, فارسی, Bahasa Indonesia, Portuguese, 简体中文 and 繁體中文.