You are on page 1of 16

X.

CHƯƠNG 10 - THIẾT KẾ TẦNG KIẾN TRÚC VẬT LÝ


Một thành phần quan trọng của thiết kế hệ thống thông tin là thiết kế của lớp kiến trúc
vật lý, lớp này mô tả phần cứng, phần mềm và môi trường mạng của hệ thống. Thiết kế
lớp kiến trúc vật lý chủ yếu xuất phát từ các yêu cầu phi chức năng, chẳng hạn như các
yêu cầu về vận hành, hiệu suất, an ninh, văn hóa và chính trị. Các kết quả từ thiết kế tầng
kiến trúc vật lý bao gồm kiến trúc và đặc điểm kỹ thuật phần cứng và phần mềm.
MỤC TIÊU
■ Hiểu các thành phần kiến trúc vật lý khác nhau.
■ Hiểu kiến trúc vật lý dựa trên máy chủ, dựa trên máy khách và máy khách-máy chủ.
■ Làm quen với điện toán đám mây, điện toán phổ biến, Internet vạn vật (IoT) và CNTT
xanh.
■ Có thể tạo mô hình mạng bằng biểu đồ triển khai.
■ Làm quen với cách tạo đặc tả phần cứng và phần mềm.
■ Hiểu các yêu cầu về vận hành, hiệu suất, an ninh, văn hóa và chính trị ảnh hưởng đến
thiết kế của tầng kiến trúc vật lý như thế nào.
GIỚI THIỆU
Trong môi trường ngày nay, hầu hết các hệ thống thông tin được trải rộng trên nhiều máy
tính. Ví dụ, một hệ thống dựa trên Web chạy trong trình duyệt trên máy tính để bàn nhưng
tương tác với máy chủ Web (và có thể cả các máy tính khác) qua Internet. Hệ thống hoạt
động hoàn toàn bên trong mạng của công ty có thể có chương trình Visual Basic được cài
đặt trên một máy tính nhưng tương tác với máy chủ cơ sở dữ liệu ở nơi khác trên mạng.
Do đó, một bước quan trọng của thiết kế là tạo ra thiết kế tầng kiến trúc vật lý, kế hoạch
về cách hệ thống sẽ được phân tán trên các máy tính, và phần cứng và phần mềm nào sẽ
được sử dụng cho mỗi máy tính.
Thiết kế tầng kiến trúc vật lý có thể khá khó khăn; do đó, nhiều tổ chức thuê chuyên gia
tư vấn hoặc giao nhiệm vụ cho các nhà phân tích rất có kinh nghiệm. Trong chương này,
chúng ta xem xét các yếu tố chính trong thiết kế tầng kiến trúc vật lý, nhưng điều quan
trọng cần nhớ là phải có nhiều kinh nghiệm để làm tốt công việc đó. Các yêu cầu phi chức
năng được phát triển trong quá trình phân tích (xem Chương 3) đóng một vai trò quan
trọng trong thiết kế tầng kiến trúc vật lý. Các yêu cầu này được khảo sát lại và tinh chỉnh
thành các yêu cầu chi tiết hơn có ảnh hưởng đến kiến trúc của hệ thống.
CÁC THÀNH PHẦN CỦA TẦNG KIẾN TRÚC VẬT LÝ
Mục tiêu của việc thiết kế tầng kiến trúc vật lý là xác định phần nào của phần mềm ứng
dụng sẽ được gán cho phần cứng nào. Mặc dù có nhiều cách mà các thành phần phần
mềm có thể được đặt trên các thành phần phần cứng, có ba kiến trúc ứng dụng chính đang
được sử dụng ngày nay: kiến trúc dựa trên máy chủ, kiến trúc dựa trên máy khách và kiến
trúc máy khách-máy chủ.
3.1. Thành phần kiến trúc
Các thành phần kiến trúc chính của bất kỳ hệ thống nào là phần mềm và phần cứng. Các
thành phần phần mềm chính là của hệ thống đang được phát triển và sau đó được phân
tán cho các thành phần phần cứng khác nhau mà hệ thống sẽ hoạt động. Mỗi thành phần
này có thể được kết hợp theo nhiều cách khác nhau.
Tất cả các hệ thống phần mềm có thể được chia thành bốn chức năng cơ bản. Đầu tiên là
lưu trữ dữ liệu (liên quan đến lưu liên tục của đối tượng nằm trên tầng quản lý dữ liệu —
xem Chương 8). Hầu hết các chương trình ứng dụng đều yêu cầu dữ liệu phải được lưu
trữ và truy xuất, cho dù thông tin là một tệp nhỏ hay cơ sở dữ liệu lớn. Đây là những dữ
liệu được ghi lại trong mô hình cấu trúc (thẻ CRC và biểu đồ lớp). Chức năng thứ hai là
logic truy cập dữ liệu (được liên kết với các lớp thao tác và truy cập dữ liệu nằm trên tầng
quản lý dữ liệu — xem Chương 8), quy trình cần thiết để truy cập dữ liệu, thường có
nghĩa là các truy vấn trong SQL (ngôn ngữ truy vấn có cấu trúc). Chức năng thứ ba là
logic ứng dụng (nằm trên tầng miền vấn đề — xem Chương 4 đến Chương 7), có thể đơn
giản hoặc phức tạp, tùy thuộc vào ứng dụng. Đây là logic được ghi lại trong các mô hình
chức năng (biểu đồ hoạt động và trường hợp sử dụng) và hành vi (tuần tự, giao tiếp và
máy trạng thái hành vi). Chức năng thứ tư là logic trình diễn (nằm trên tầng tương tác
giữa người với máy tính — xem Chương 9), trình diễn thông tin cho người dùng và chấp
nhận các lệnh của người dùng (giao diện người dùng). Bốn chức năng này (lưu trữ dữ
liệu, logic truy cập dữ liệu, logic ứng dụng và logic trình diễn) là các khối xây dựng cơ
bản của bất kỳ ứng dụng nào.
Ba thành phần phần cứng chính của một hệ thống là máy khách, máy chủ và mạng kết
nối chúng. Máy khách là thiết bị đầu vào / đầu ra được người dùng sử dụng và thường là
máy tính để bàn hoặc máy tính xách tay, nhưng chúng cũng có thể là thiết bị cầm tay,
điện thoại di động, thiết bị đầu cuối chuyên dụng, v.v. Máy chủ thường là những máy tính
lớn hơn được sử dụng để lưu trữ phần mềm và cơ sở dữ liệu cho phép quyền truy cập.
Mạng kết nối các máy tính có thể khác nhau về tốc độ từ điện thoại di động chậm, đến
các mạng chuyển tiếp khung luôn bật tốc độ trung bình, đến các kết nối băng thông rộng
luôn bật nhanh như modem cáp, mạch DSL hoặc T1, cho đến tốc độ cao luôn -trên mạng
Ethernet, T3 hoặc ATM.
3.2. Kiến trúc dựa trên máy chủ
Các kiến trúc máy tính đầu tiên là kiến trúc dựa trên máy chủ, với máy chủ thực hiện tất
cả bốn chức năng. Các máy khách cho phép người dùng gửi và nhận tin nhắn đến và từ
máy chủ. Các máy khách chỉ lấy các tổ hợp phím và gửi chúng đến máy chủ để xử lý và
chấp nhận lệnh từ máy chủ về những gì sẽ hiển thị.
Phần mềm ứng dụng được phát triển và lưu trữ trên một máy tính, và tất cả dữ liệu trên
cùng một máy tính. Có một điểm kiểm soát, bởi vì tất cả các thông báo đều đi qua một
máy chủ trung tâm. Vấn đề cơ bản với các mạng dựa trên máy chủ là máy chủ phải xử lý
tất cả các thông báo. Khi nhu cầu ngày càng nhiều ứng dụng, máy chủ trở nên quá tải và
không thể nhanh chóng xử lý tất cả các yêu cầu của người dùng. Thời gian phản hồi trở
nên chậm hơn và các nhà quản lý mạng ngày càng phải chi nhiều tiền hơn để nâng cấp
máy chủ.
3.3. Kiến trúc dựa trên máy-khách
Với kiến trúc dựa trên máy khách, máy khách là máy tính cá nhân trên mạng cục bộ
(LAN) và máy chủ là máy chủ trên cùng một mạng. Phần mềm ứng dụng trên máy khách
chịu trách nhiệm về logic trình diễn, logic ứng dụng và logic truy cập dữ liệu; máy chủ
chỉ lưu trữ dữ liệu.
Kiến trúc đơn giản này cũng thường hoạt động tốt. Tuy nhiên, khi nhu cầu về các ứng
dụng mạng ngày càng nhiều, mạng có thể trở nên quá tải. Vấn đề cơ bản trong mạng dựa
trên máy khách là tất cả dữ liệu trên máy chủ phải chuyển đến máy khách để xử lý.
3.4. Kiến trúc Máy khách – Máy chủ
Hầu hết các tổ chức ngày nay sử dụng kiến trúc máy khách-máy chủ, cố gắng cân bằng
quá trình xử lý giữa máy khách và máy chủ bằng cách để cả hai thực hiện một số chức
năng ứng dụng. Trong các kiến trúc này, máy khách chịu trách nhiệm về logic trình diễn,
trong khi máy chủ chịu trách nhiệm về logic truy cập dữ liệu và lưu trữ dữ liệu. Logic
ứng dụng có thể nằm trên máy khách hoặc máy chủ hoặc được phân chia giữa cả hai. Máy
khách được gọi là máy khách dày hoặc béo nếu nó chứa phần lớn logic ứng dụng. Một
thực tiễn hiện nay là tạo kiến trúc máy khách-máy chủ bằng cách sử dụng máy khách
mỏng (thin-client) vì việc hỗ trợ các ứng dụng máy khách mỏng sẽ tốn ít chi phí và bảo
trì hơn. Ví dụ, nhiều hệ thống dựa trên Web được thiết kế với trình duyệt Web thực hiện
trình diễn, chỉ với logic ứng dụng tối thiểu sử dụng ngôn ngữ lập trình như Java và máy
chủ Web có logic ứng dụng, logic truy cập dữ liệu và lưu trữ dữ liệu.
Kiến trúc máy khách-máy chủ có bốn lợi ích quan trọng.
Đầu tiên, khả năng mở rộng, nghĩa là có thể dễ dàng tăng hoặc giảm khả năng lưu trữ và
xử lý của các máy chủ. Nếu một máy chủ trở nên quá tải, bạn chỉ cần thêm một máy chủ
khác để nhiều máy chủ được sử dụng để thực hiện logic ứng dụng, logic truy cập dữ liệu
hoặc lưu trữ dữ liệu.
Kiến trúc máy khách-máy chủ có thể hỗ trợ nhiều loại máy khách và máy chủ khác nhau,
các hệ điều hành khác nhau. Không bị bó buộc vào một nhà cung cấp, như thường xảy ra
với các mạng dựa trên máy chủ. Phần mềm trung gian (middleware) là một loại phần
mềm hệ thống được thiết kế để dịch giữa các phần mềm của các nhà cung cấp khác nhau.
Phần mềm trung gian được cài đặt trên cả máy khách và máy chủ. Phần mềm máy khách
giao tiếp với phần mềm trung gian, phần mềm này có thể định dạng lại thông báo thành
một ngôn ngữ chuẩn mà phần mềm trung gian hỗ trợ phần mềm máy chủ có thể hiểu
được.
Đối với các kiến trúc máy chủ thin-client sử dụng các tiêu chuẩn Internet, thật dễ dàng để
tách biệt rõ ràng logic trình diễn, logic ứng dụng và logic truy cập dữ liệu và thiết kế để
mỗi thứ đều độc lập. Ví dụ, logic trình diễn có thể được thiết kế bằng HTML hoặc XML
để chỉ định cách trang sẽ xuất hiện trên màn hình. Các câu lệnh chương trình đơn giản
được sử dụng để liên kết các phần của giao diện với các mô-đun logic ứng dụng cụ thể
thực hiện các chức năng khác nhau. Các tệp HTML hoặc XML xác định giao diện này có
thể được thay đổi mà không ảnh hưởng đến logic của ứng dụng. Tương tự như vậy, có
thể thay đổi logic ứng dụng mà không thay đổi logic diễn hoặc dữ liệu được lưu trữ trong
cơ sở dữ liệu và được truy cập bằng các lệnh SQL.
Cuối cùng, vì không có máy chủ duy nhất nào hỗ trợ tất cả các ứng dụng, mạng nói chung
là đáng tin cậy hơn. Không có điểm lỗi trung tâm nào sẽ tạm dừng toàn bộ mạng nếu nó
bị lỗi, như trong máy tính dựa trên máy chủ. Nếu bất kỳ máy chủ nào bị lỗi trong môi
trường máy khách - máy chủ, mạng có thể tiếp tục hoạt động bằng cách sử dụng tất cả
các máy chủ khác.
Kiến trúc máy khách-máy chủ cũng có một số hạn chế quan trọng, trong đó quan trọng
nhất là độ phức tạp của nó. Tất cả các ứng dụng trong tính toán máy khách-máy chủ đều
có hai phần, phần mềm trên máy khách và phần mềm trên máy chủ. Viết phần mềm này
phức tạp hơn viết phần mềm truyền thống trong các kiến trúc dựa trên máy chủ. Việc cập
nhật phiên bản mới của phần mềm cũng phức tạp hơn. Trong các kiến trúc dựa trên máy
chủ, chỉ cần thay đổi ở máy chủ, nơi lưu trữ ứng dụng. Với kiến trúc máy khách-máy chủ,
phải cập nhật tất cả các máy khách và tất cả các máy chủ.
3.5. Các tầng máy khách-máy chủ
Có nhiều cách logic ứng dụng có thể được phân vùng giữa máy khách và máy chủ. Ví dụ
máy chủ chịu trách nhiệm về dữ liệu và máy khách chịu trách nhiệm về ứng dụng và bản
trình bày. Đây được gọi là kiến trúc hai tầng vì nó chỉ sử dụng hai bộ máy tính, máy khách
và máy chủ.
Kiến trúc ba tầng sử dụng ba bộ máy tính. Trong trường hợp này, phần mềm trên máy
khách chịu trách nhiệm logic trình diễn, một máy chủ ứng dụng (hoặc các máy chủ) chịu
trách nhiệm logic ứng dụng và một máy chủ cơ sở dữ liệu riêng biệt (hoặc các máy chủ)
chịu trách nhiệm logic truy cập dữ liệu và lưu trữ dữ liệu.
Một kiến trúc bậc n sử dụng nhiều hơn ba bộ máy tính. Trong trường hợp này, máy khách
chịu trách nhiệm trình diễn, máy chủ cơ sở dữ liệu chịu trách nhiệm về logic truy cập dữ
liệu và lưu trữ dữ liệu, và logic ứng dụng được trải rộng trên hai hoặc nhiều bộ máy chủ
khác nhau.
Loại kiến trúc này phổ biến trong các hệ thống thương mại điện tử ngày nay (xem Hình
X-1). Thành phần đầu tiên là trình duyệt Web trên máy khách được người dùng sử dụng
để truy cập hệ thống và nhập lệnh (logic trình diễn). Thứ hai là máy chủ Web phản hồi
yêu cầu của người dùng, bằng cách cung cấp các trang (HTML) và đồ họa (logic ứng
dụng) hoặc bằng cách gửi yêu cầu đến thành phần thứ ba trên một máy chủ ứng dụng
khác thực hiện các chức năng khác nhau (logic ứng dụng). Thành phần thứ tư là một máy
chủ cơ sở dữ liệu lưu trữ tất cả dữ liệu (logic truy cập dữ liệu và lưu trữ dữ liệu). Mỗi
thành phần trong số bốn thành phần này đều riêng biệt, giúp dễ dàng phân tán các thành
phần khác nhau trên các máy chủ khác nhau và phân vùng logic ứng dụng trên hai máy
chủ khác nhau.
Ưu điểm chính của kiến trúc máy khách - máy chủ n tầng so với kiến trúc hai tầng (hoặc
kiến trúc ba tầng với kiến trúc hai tầng) là nó tách biệt quá trình xử lý xảy ra để cân bằng
tải tốt hơn trên các máy chủ khác nhau ; nó có khả năng mở rộng hơn. Trong Hình X-1,
có ba máy chủ riêng biệt, một cấu hình cung cấp nhiều sức mạnh hơn so với việc sử dụng
kiến trúc hai tầng với chỉ một máy chủ. Nếu phát hiện máy chủ ứng dụng được tải quá
nhiều, chỉ cần thay thế nó bằng một máy chủ mạnh hơn hoặc chỉ cần đặt thêm một số máy
chủ ứng dụng. Ngược lại, nếu phát hiện ra máy chủ cơ sở dữ liệu chưa được sử dụng, có
thể lưu trữ dữ liệu từ một ứng dụng khác trên nó.
Có hai nhược điểm cơ bản đối với kiến trúc n tầng so với kiến trúc hai tầng (hoặc kiến
trúc ba tầng với kiến trúc hai tầng). Đầu tiên, cấu hình này yêu cầu tải lớn hơn trên mạng.
Nếu bạn so sánh các mô hình, sẽ thấy rằng mô hình cấp n yêu cầu nhiều giao tiếp hơn
giữa các máy chủ; nó tạo ra nhiều lưu lượng mạng hơn, vì vậy cần mạng có dung lượng
cao hơn. Việc lập trình và kiểm tra phần mềm trong kiến trúc n tầng cũng khó hơn nhiều
so với kiến trúc hai tầng vì nhiều thiết bị phải giao tiếp để hoàn thành giao dịch của người
dùng.

Máy khách (máy vi tính) Máy chủ web (micro, mini hoặc mainframe)

Lô-gich trình diễn Lô-gich ứng dụng dạng web

Máy chủ ứng dụng


(micro, mini hoặc Máy chủ cơ sở dữ liệu (micro,
mainframe) mini hoặc mainframe)

Lô-gich ứng dụng dạng Lô-gich truy cập dữ liệu


không-web – lưu trữ dữ liệu

Hình X-1: Kiến trúc máy khách – máy chủ bốn tầng

TÍNH TOÁN ĐÁM MÂY


Điện toán đám mây là ý tưởng coi CNTT như một tiện ích hoặc hàng hóa. Về cơ bản,
điện toán đám mây là cách tiếp cận mới nhất để hỗ trợ điện toán phân tán trong kiểu kiến
trúc máy khách - máy chủ, trong đó máy chủ là "trong đám mây" và máy khách là máy
tính để bàn. Đám mây có thể là trung tâm dữ liệu của công ty, trung tâm dữ liệu bên ngoài
hoặc kết hợp của cả hai; tuy nhiên, càng ngày nó càng được coi là một dịch vụ bên ngoài,
thay vì bên trong. Do đó, ý tưởng về đa khách thuê, trong đó nhà cung cấp đám mây có
nhiều khách hàng sử dụng cùng một tài nguyên cùng một lúc, trở thành một vấn đề thực
sự đối với cả nhà cung cấp đám mây và khách hàng đám mây.
Có ba cách phân loại khác nhau của các đám mây: riêng, công cộng và kết hợp. Các đám
mây riêng chỉ dành cho nhân viên của công ty, các đám mây công cộng có sẵn cho công
chúng và các đám mây lai kết hợp đám mây riêng và công khai để tạo thành một đám
mây duy nhất. Tất cả các trang web thương mại điện tử có thể chạy trong một môi trường
đám mây lai, nơi phần giao dịch bán hàng của khách hàng cần được công khai trong khi
tất cả các khía cạnh khác sẽ là riêng.
Về cơ bản, điện toán đám mây là một công nghệ bao gồm các ý tưởng về ảo hóa, kiến
trúc hướng dịch vụ và tính toán lưới. Ý tưởng về ảo hóa không phải là mới. Ảo hóa là ý
tưởng xử lý bất kỳ tài nguyên máy tính nào, bất kể nó được đặt ở đâu, như thể nó ở “trong”
máy khách. Ý tưởng này phát triển từ bộ nhớ ảo. Bộ nhớ ảo được phát triển ban đầu vào
những năm 1960. Bộ nhớ ảo cho phép người dùng / lập trình viên hoạt động như thể số
lượng bộ nhớ chính trong máy tính là không giới hạn. Điều này được thực hiện bằng cách
hoán đổi “các trang” của bộ nhớ chính sang đĩa khi nội dung của các trang không được
sử dụng và bằng cách hoán đổi một trang từ đĩa trở lại bộ nhớ chính khi cần. Trước khi
bộ nhớ ảo được tạo, lập trình viên phải viết mã để thực hiện chức năng phân trang cho
từng ứng dụng. Ảo hóa chỉ đơn giản là sự mở rộng của ý tưởng này tới tất cả các tài
nguyên máy tính, không chỉ đơn giản là bộ nhớ chính. Điều này bao gồm việc coi một
máy tính lớn như thể nó là một tập hợp các máy chủ ảo, mỗi máy chủ có thể đang chạy
các hệ điều hành và / hoặc ứng dụng khác nhau.
Về cơ bản, dịch vụ web hỗ trợ kết nối giữa các dịch vụ khác nhau để tạo thành kiến trúc
hướng dịch vụ. Về cơ bản, dịch vụ là một phần mềm hỗ trợ một số khía cạnh của quy
trình kinh doanh. Một dịch vụ có thể là một triển khai của một phần của quy trình kinh
doanh, nó có thể là thực hiện của toàn bộ quy trình kinh doanh, hoặc nó có thể là đối
tượng hỗ trợ bền vững cho tầng quản lý dữ liệu. Các dịch vụ này có thể là dịch vụ nội bộ
hoặc bên ngoài công ty. Các dịch vụ có thể được kết hợp để hỗ trợ các quy trình kinh
doanh. Kiến trúc hướng dịch vụ cho phép các quy trình nghiệp vụ được hỗ trợ bởi các
dịch vụ “cắm và chạy” cùng nhau theo cách thức tĩnh và / hoặc động. Một số dịch vụ có
thể cắm và chơi được có thể được mua hoàn toàn hoặc chúng có thể được lập hóa đơn
cho công ty dựa trên về việc sử dụng chúng, một loại mô hình trả tiền-khi-sử dụng.
Điện toán lưới có xu hướng là công nghệ phần cứng cơ bản hỗ trợ đám mây. Lưới là một
tập hợp rất lớn các máy tính nối mạng có xu hướng phân tán về mặt địa lý. Ví dụ: lưới hỗ
trợ ứng dụng CRM của SalesForce.com chứa khoảng 1.000 máy tính. Các máy tính không
nhất thiết phải cùng loại. Ví dụ, chúng có thể là một hỗn hợp của máy chủ Linux và máy
tính lớn. Với điện toán lưới, các công ty có khả năng thêm và bớt máy tính để hỗ trợ quy
trình kinh doanh dựa trên mức độ hoạt động hiện tại diễn ra trong quy trình kinh doanh
cụ thể đó. Điều này cung cấp một lượng lớn tính linh hoạt trong việc định cấu hình kiến
trúc vật lý cơ bản hỗ trợ các quy trình kinh doanh.
Kết hợp giữa ảo hóa, kiến trúc hướng dịch vụ và điện toán lưới là những gì mà tất cả
những gì đang nói đến liên quan đến điện toán đám mây. Điện toán đám mây có tính đàn
hồi và khả năng mở rộng cao, nó hỗ trợ phương pháp tiếp cận theo nhu cầu để cung cấp
và hủy cấp phép tài nguyên, đồng thời hỗ trợ mô hình thanh toán chỉ tính phí cho các tài
nguyên đang được sử dụng.
Đám mây có thể chứa cơ sở hạ tầng CNTT, nền tảng CNTT và phần mềm của công ty.
Cơ sở hạ tầng như một dịch vụ (IaaS) đề cập đến đám mây cung cấp phần cứng điện toán
cho công ty như một dịch vụ từ xa. Phần cứng thường bao gồm phần cứng máy tính hỗ
trợ máy chủ ứng dụng, mạng và lưu trữ dữ liệu. Dịch vụ EC2 (aws.amazon.com/ec2/) của
Amazon là một ví dụ điển hình về điều này. Với Nền tảng như một dịch vụ (PaaS), nhà
cung cấp đám mây không chỉ cung cấp hỗ trợ phần cứng cho khách hàng mà còn cung
cấp cho khách hàng các giải pháp dựa trên gói, các dịch vụ khác nhau có thể được kết
hợp để tạo ra giải pháp hoặc các công cụ phát triển cần thiết để tạo các giải pháp tùy chỉnh
trong đám mây của nhà cung cấp PaaS. SalesForce.com là một ví dụ điển hình về nhà
cung cấp cung cấp giải pháp dựa trên gói, Dịch vụ truy vấn đơn giản và SimpleDB của
Amazon là những ví dụ về các dịch vụ khác nhau đang được hỗ trợ và Công cụ ứng dụng
của Google là một ví dụ về nhà cung cấp đám mây cung cấp các công cụ phát triển tốt.
Giống như hầu hết mọi thứ trong CNTT, Phần mềm như một dịch vụ (SaaS) không phải
là một ý tưởng mới. SaaS đã tồn tại hơn ba mươi năm. Trong những năm 1970, có nhiều
“văn phòng dịch vụ” hỗ trợ chia sẻ thời gian phần cứng và phần mềm cho nhiều khách
hàng khác nhau; tức là, đã hỗ trợ tính đa khách thuê.
Tuy nhiên, điện toán đám mây phải vượt qua những trở ngại nhất định trước khi nó trở
thành cách tiếp cận chính để cung cấp lớp kiến trúc vật lý. Trở ngại đầu tiên là mức độ
hỗn hợp của hiệu suất đám mây. Một vấn đề là liệu nhà cung cấp có đủ nguồn lực để cung
cấp cho công ty đủ “năng lượng” trong thời gian tải cao điểm hay không. Vấn đề ở đây
là một nhà cung cấp đám mây điển hình đang hỗ trợ nhiều công ty khác nhau. Nếu nhà
cung cấp không có đủ tài nguyên máy tính để xử lý tất cả tải cao điểm của công ty cùng
một lúc, thì sẽ phải phân bổ một số hoặc tất cả các hỗ trợ của công ty. Đây chủ yếu là kết
quả của sự không thể đoán trước của các yêu cầu hiệu suất tổng thể với I / O đĩa và lưu
lượng mạng. Do tính đa khách thuê đặc trưng của phần cứng của nhà cung cấp đám mây,
tắc nghẽn với đĩa sẽ xảy ra.
Trở ngại thứ hai đề cập đến mức độ phụ thuộc vào nhà cung cấp dịch vụ đám mây. Các
công ty phụ thuộc vào các nhà cung cấp đám mây dựa trên loại dịch vụ mà họ đang sử
dụng (IaaS, PaaS và SaaS), mức độ sẵn có của dịch vụ thực tế và tiềm năng của việc khóa
dữ liệu. Hiện tại, hầu hết API của nhà cung cấp đám mây để lưu trữ là độc quyền. Do đó,
dữ liệu của khách hàng bị “khóa” vào bộ nhớ của các nhà cung cấp đám mây cụ thể. Điều
này cũng đúng với hầu hết các API dịch vụ thực tế.
Trở ngại lớn thứ ba đối với việc áp dụng đám mây là mức độ bảo mật có sẵn trên đám
mây. Một công ty không chỉ phải lo lắng về bảo mật từ bên ngoài, mà do quá trình đa
nhiệm, công ty phải xem xét nghiêm túc các cuộc tấn công tiềm ẩn từ bên trong đám mây
của mình từ những người dùng đám mây khác. Từ quan điểm về tính khả dụng của dịch
vụ, một cuộc tấn công từ chối dịch vụ chống lại một đối tượng thuê khác trong đám mây
có thể làm giảm hiệu suất của hệ thống của công ty. Cuối cùng, một công ty phải xem xét
việc bảo vệ mình khỏi nhà cung cấp đám mây. Nhà cung cấp đám mây chỉ chịu trách
nhiệm về bảo mật vật lý và tường lửa. Tất cả bảo mật cấp ứng dụng có xu hướng là trách
nhiệm của khách hàng đám mây. Rõ ràng, bảo mật trên đám mây là một nỗ lực rất phức
tạp.
TÍNH TOÁN PHỔ BIẾN VÀ INTERNET VẠN VẬT (IOT)
Về cơ bản, máy tính phổ biến là ý tưởng cho rằng máy tính diễn ra ở mọi nơi và mọi thứ.
Với máy tính phổ biến, máy tính trở nên khắc sâu vào những thứ hàng ngày đến mức máy
tính biến mất vào nền một cách hiệu quả. IoT là ý tưởng rằng, ngoài việc mọi thứ có một
số dạng năng lực tính toán được tích hợp sẵn, mọi thứ hàng ngày đều được kết nối thông
qua Internet. Vì vậy, ngoài việc có một số dạng năng lực tính toán, những thứ hàng ngày
có thể giao tiếp với nhau. Điều này càng làm tăng tầm quan trọng của việc hiểu biết về
điện toán di động, mạng xã hội và điện toán đám mây.
Hiện tại, có hai cách tiếp cận chính để hỗ trợ tính toán phổ biến: thiết bị tính toán nói
chung và thiết bị tính toán chuyên dụng. Các thiết bị điện toán nói chung bao gồm các
thiết bị như điện thoại thông minh và máy tính bảng. Các thiết bị này có thể được tải với
nhiều ứng dụng khác nhau cung cấp tất cả các loại hỗ trợ máy tính và giao tiếp. Ví dụ:
điện thoại thông minh có thể được sử dụng làm GPS, máy đọc sách điện tử, máy nghe
nhạc hoặc video, bảng điều khiển trò chơi, giao diện WWW, máy ảnh, máy ghi âm
"băng", cố vấn nhà hàng, v.v. Nói cách khác, nếu có một ứng dụng dành cho nó, có thể
tải nó trên điện thoại thông minh của mình để cung cấp khả năng đó. Điện thoại thông
minh ngày nay về cơ bản là máy tính nói chung hỗ trợ giao tiếp bằng giọng nói, tức là nó
cũng là một chiếc điện thoại. Và, giống như các máy tính đa năng, điện thoại thông minh
thường yêu cầu kích hoạt ứng dụng trước khi nó có thể làm bất cứ điều gì cho bạn. Về cơ
bản, từ góc độ phát triển hệ thống thông tin, điều này không mới; nó không khác gì việc
có một máy tính kết nối Internet. Do đó, việc phát triển ứng dụng cho các thiết bị này
phải tuân theo cùng một phương pháp phát triển cơ bản được sử dụng trong suốt tài liệu
này.
Cách tiếp cận thứ hai, có các thiết bị máy tính chuyên dụng, sẽ đi một chặng đường dài
để hiện thực hóa giấc mơ về máy tính phổ biến. Với cách tiếp cận này, chúng ta có cái
gọi là các vật thể kỳ diệu có thể tương tác với nhau. Một vật thể như vậy là vật thể hàng
ngày có một bộ xử lý rất chuyên biệt được nhúng vào nó để làm tăng thêm tính năngđặc
biệt. Ví dụ: một chiếc ô, vì có khả năng biết trời mưa, cho biết rằng nên mang nó theo
hôm nay. Ô được kết nối với AccuWeather. Nếu dự báo có mưa, ô sẽ kích hoạt một bộ
đèn LED ở tay cầm để thông báo nên mang theo khi ra khỏi nhà.
Với tiềm năng của máy tính phổ biến và IoT, bắt đầu xem xét các ứng dụng khả thi có
thể được hưởng lợi từ chúng. Ví dụ: ngày nay, thông qua việc sử dụng RFID và GPS, có
thể biết vị trí của từng mặt hàng trong kho của một công ty.
THIẾT KẾ HẠ TẦNG
Trong hầu hết các trường hợp, một hệ thống được xây dựng cho một tổ chức đã có sẵn cơ
sở hạ tầng phần cứng, phần mềm và truyền thông. Do đó, các nhóm dự án thường quan
tâm hơn đến việc cơ sở hạ tầng hiện tại cần được thay đổi hoặc cải thiện như thế nào để
hỗ trợ các yêu cầu đã được xác định trong quá trình phân tích, trái ngược với cách thiết
kế và xây dựng cơ sở hạ tầng từ đầu.
4.1. Biểu đồ triển khai
Biểu đồ triển khai được sử dụng để biểu diễn các mối quan hệ giữa các thành phần phần
cứng được sử dụng trong cơ sở hạ tầng vật lý của hệ thống thông tin. Ví dụ, khi thiết kế
một hệ thống thông tin phân tán sẽ sử dụng một mạng diện rộng, một biểu đồ triển khai
chỉ ra các mối quan hệ giao tiếp giữa các nút khác nhau trong mạng. Chúng cũng có thể
được sử dụng để biểu diễn các thành phần phần mềm và cách chúng được triển khai trên
kiến trúc vật lý hoặc cơ sở hạ tầng của hệ thống thông tin. Trong trường hợp này, biểu đồ
triển khai biểu thị môi trường để thực thi phần mềm.
Các phần tử của một biểu đồ triển khai bao gồm các nút, tạo tác và kênh giao tiếp (xem
Hình X-2). Các thành phần khác cũng có thể được bao gồm trong biểu đồ này. Trong tài
liệu này, chỉ bao gồm ba phần tử chính và phần tử mô tả tạo tác đang được triển khai trên
một nút.
Nút biêu thị bất kỳ phần cứng nào cần được đưa vào mô hình của thiết kế tầng kiến trúc
vật lý. Ví dụ: các nút thường bao gồm máy khách, máy chủ, mạng riêng biệt hoặc thiết bị
mạng riêng lẻ. Thông thường, một nút được gắn nhãn với tên và với khuôn mẫu
(stereotype). Khuôn mẫu được mô hình hóa như một mục văn bản được bao quanh bởi
các ký hiệu “<< >>”. Khuôn mẫu biểu thị loại nút được biểu diễn trên biểu đồ. Ví dụ, các
khuôn mẫu điển hình bao gồm thiết bị, thiết bị di động, máy chủ cơ sở dữ liệu, máy chủ
Web và máy chủ ứng dụng. Đôi khi ký hiệu của một nút nên được mở rộng. Hình X-3 có
tập hợp các ký hiệu nút mạng điển hình có thể được sử dụng thay cho ký hiệu tiêu chuẩn.
Tạo tác (artifact) biểu thị một phần của hệ thống thông tin sẽ được triển khai trên kiến
trúc vật lý (xem Hình X-2). Thông thường, tạo tác biểu thị thành phần phần mềm, hệ
thống con, bảng cơ sở dữ liệu, toàn bộ cơ sở dữ liệu hoặc tầng (quản lý dữ liệu, tương tác
giữa người với máy hoặc miền vấn đề). Các phần mềm, như các nút, có thể được gắn
nhãn bằng cả tên và khuôn mẫu. Khuôn mẫu cho các tạo tác bao gồm tệp nguồn, bảng cơ
sở dữ liệu và tệp thực thi.

Nút:

■ Là tài nguyên tính toán, ví dụ: máy tính khách, máy chủ, mạng riêng biệt hoặc thiết bị
mạng riêng lẻ.
<<stereotype>>
■ Được gắn nhãn theo tên của nó. Tên nút
■ Có thể chứa một khuôn mẫu để gắn nhãn cụ thể cho loại nút đang được đại diện, ví
dụ: thiết bị, máy trạm khách, máy chủ ứng dụng, thiết bị di động, v.v.

Tạo tác:
■ Là một đặc tả của một phần phần mềm hoặc cơ sở dữ liệu, ví dụ, một cơ sở dữ liệu
hoặc một bảng hoặc dạng xem của cơ sở dữ liệu, một thành phần hoặc lớp phần
<<stereotype>>
mềm.
Tên tạo tác
■ Được gắn nhãn theo tên của nó.

■ Có thể chứa một khuôn mẫu để gắn nhãn cụ thể cho loại hiện vật, ví dụ: tệp
nguồn, bảng cơ sở dữ liệu, tệp thực thi, v.v.

Nút có tạo tác triển khai:


■ Mô tả tạo tác đang được đặt trên một nút vật lý. <<stereotype>>
Tên nút

<<stereotype>>
Tên tạo tác

Kênh giao tiếp:


■ Biểu thị liên kết giữa hai nút.
■ Cho phép các nút trao đổi thông điệp. <<stereotype>>
■ Có thể chứa các khuôn mẫu có nhãn đặc tả kiểu kênh giao tiếp được biểu diễn
(ví dụ LAN, Internet, nối tiếp, song song).

Hình X-2: Cú pháp biểu đồ phát triển

Kênh giao tiếp biểu diễn liên kết giao tiếp giữa các nút của kiến trúc vật lý (xem Hình X-
2). Các kênh giao tiếp là các khuôn mẫu dựa trên loại liên kết giao tiếp mà chúng biểu
diễn (ví dụ: LAN, Internet, nối tiếp, song song hoặc USB) hoặc giao thức đang được liên
kết hỗ trợ (ví dụ: TCP / IP).

Hình X-3: Cú pháp nút mở rộng cho biểu đồ phát triển

Hình X-4 mô tả ba phiên bản khác nhau của một biểu đồ triển khai. Phiên bản a chỉ sử
dụng ký hiệu tiêu chuẩn cơ bản. Phiên bản b mô tả ý tưởng triển khai một tạo tác lên một
nút. Trong trường hợp này, các tạo tác biểu diễn các lớp khác nhau của hệ thống cuộc hẹn
được mô tả trong các chương trước. Phiên bản c sử dụng ký hiệu mở rộng để mô tả cùng
một kiến trúc. Như vậy, cả ba phiên bản đều có điểm mạnh và điểm yếu. Khi so sánh
phiên bản a và phiên bản b, người dùng có thể thu thập thêm thông tin từ phiên bản b mà
không cần nỗ lực bổ sung. Tuy nhiên, khi so sánh phiên bản a với phiên bản c, ký hiệu
nút mở rộng cho phép người dùng hiểu nhanh các yêu cầu phần cứng của kiến trúc. Khi
so sánh phiên bản b với phiên bản c, phiên bản b hỗ trợ phân phối phần mềm một cách rõ
ràng nhưng buộc người dùng phải dựa vào khuôn mẫu để hiểu phần cứng cần thiết, trong
khi phiên bản c hoàn toàn bỏ qua thông tin phân phối phần mềm. Trong thực tế nên sử
dụng kết hợp các biểu tượng để mô tả tốt nhất kiến trúc vật lý.

Hình X-4: Ba phiên bản của biểu đồ triển khai Hệ thống cuộc hẹn
4.2. Mô hình mạng
Mô hình mạng là một biểu đồ thể hiện các thành phần chính của hệ thống thông tin (ví
dụ: máy chủ, đường truyền thông tin, mạng) và vị trí địa lý của chúng trong toàn bộ tổ
chức. Các nhà phân tích tạo ra các tiêu chuẩn và ký hiệu của riêng họ, sử dụng các ứng
dụng trình bày (ví dụ: PowerPoint) hoặc các công cụ sơ đồ (ví dụ: Visio). Trong tài liệu
này, sử dụng biểu đồ triển khai của UML.
Mục đích của mô hình mạng gồm hai phần: truyền đạt độ phức tạp của hệ thống và cho
thấy các thành phần phần mềm của hệ thống sẽ khớp với nhau như thế nào.
Các thành phần của mô hình mạng là các máy khách khác nhau (ví dụ: máy tính cá nhân,
ki-ốt), máy chủ (ví dụ: cơ sở dữ liệu, mạng, truyền thông, máy in), thiết bị mạng (ví dụ:
kết nối WiFi, Ethernet, mạng điện thoại di động, liên kết vệ tinh), và các hệ thống hoặc
mạng bên ngoài (ví dụ: nhà cung cấp dịch vụ Internet). Vị trí là các vị trí địa lý liên quan
đến các thành phần này.
Tạo mô hình mạng đi từ trên xuống, theo đó đầu tiên mô tả bằng đồ thị tất cả các vị trí
mà ứng dụng sẽ cư trú. Đặt các ký hiệu biểu thị vị trí của các thành phần trên biểu đồ và
sau đó kết nối chúng với các đường được dán nhãn với lượng dữ liệu gần đúng hoặc các
loại mạng giữa các thành phần được tách biệt sẽ thực hiện điều này.
Bước thứ hai của mô hình mạng là tạo biểu đồ mạng mức thấp cho từng vị trí được hiển
thị trên biểu đồ mức cao nhất. Đầu tiên, phần cứng được vẽ trên mô hình theo cách mô tả
cách phần cứng cho hệ thống mới sẽ được đặt trên khắp vị trí, với các ký hiệu giống với
phần cứng sẽ được sử dụng. Số lượng chi tiết để đưa vào mô hình mạng tùy thuộc vào
nhu cầu của dự án. Một số mô hình mạng cấp thấp chứa mô tả văn bản bên dưới mỗi
thành phần phần cứng mô tả chi tiết các cấu hình phần cứng được đề xuất và nhu cầu xử
lý; những cái khác chỉ bao gồm số lượng người dùng được liên kết với các phần khác
nhau của sơ đồ.
Tiếp theo, các đường được vẽ kết nối các thành phần sẽ được gắn vào nhau. Về phần
mềm, một số mô hình mạng liệt kê phần mềm cần thiết cho từng thành phần mô hình
mạng ngay trên biểu đồ. Hoặc phần mềm được mô tả trong bản ghi nhớ đính kèm với mô
hình mạng. Hình X-5 cho thấy một biểu đồ triển khai mô tả hai cấp độ chi tiết của mô
hình mạng cấp thấp. Lưu ý, sử dụng cả ký hiệu nút chuẩn và nút mở rộng trong hình này.
Trong trường hợp này, đã bao gồm một gói biểu diễn tập hợp các kết nối tới bộ định tuyến
trong tòa nhà MFA. Bằng cách đưa vào một gói, sẽ chỉ hiển thị chi tiết cần thiết. Ký hiệu
mở rộng sẽ hỗ trợ việc hiểu cấu trúc liên kết của lớp kiến trúc vật lý tốt hơn nhiều so với
ký hiệu tiêu chuẩn. Nên sử dụng các ký hiệu giúp truyền tải thông điệp tốt nhất.
Hình X-5: Biểu đồ triển khai mô hình mạng mức cao
Hình X-6: Biểu đồ triển khai mô hình mạng mức thấp

PHẦN CỨNG VÀ ĐẶC TẢ PHẦN MỀM HỆ THỐNG


Thời điểm để bắt đầu có được phần cứng và phần mềm cần thiết cho một hệ thống trong
tương lai là trong quá trình thiết kế hệ thống. Trong nhiều trường hợp, hệ thống mới sẽ
chỉ chạy trên thiết bị hiện có trong tổ chức. Tuy nhiên, có thể cần mua phần cứng và phần
mềm mới. Đặc tả phần cứng và phần mềm là tài liệu mô tả phần cứng và phần mềm cần
thiết để hỗ trợ một ứng dụng. Nhóm dự án viết đặc tả phần cứng và phần mềm để truyền
đạt nhu cầu của dự án cho những người thích hợp. Hình X-7 cho thấy đặc tả phần cứng
và phần mềm mẫu.
Máy khách tiêu Web Server Application Server Database Server
Đặc tả chuẩn
Operating System • Windows • Linux • Linux • Linux
• Internet Explorer
Special Software • Acrobat Reader • Apache • Java • Oracle
• Adobe Flash
• QuickTime
Hardware • 8 GB Memory • 16 GB Memory • 32 GB Memory • 32 GB Memory
• 500 GB disk drive • 1TB disk drive • 2–1 TB disk drives • 4–1 TB Hotplug
disk drives
• Intel Core i5 • Intel Xenon • Intel Xenon E5-2600 • Intel Xenon E5-2600
• 2--22” monitors E%-2400 • 1--22” monitor • 1--22” monitor
• 1--22” monitor
Network • 100 Mbps Ethernet • 100 Mbps Ethernet • 100 Mbps Ethernet • 100 Mbps Ethernet
High-speed Wireless

Hình X-8: Ví dụ mô tả phần cứng và phần mềm

Chức năng và tính năng

Những chức năng và tính năng cụ thể nào cần thiết (ví dụ: kích thước màn hình, các tính năng phần mềm)?

Hiệu suất

Phần cứng và phần mềm hoạt động nhanh đến mức nào (ví dụ: bộ xử lý, số lần ghi cơ sở dữ liệu mỗi giây)?

Hệ thống và cơ sở dữ liệu hiện trạng

Phần cứng và phần mềm tương tác tốt như thế nào với các hệ thống cũ (ví dụ: nó có thể ghi vào cơ sở dữ liệu
này)?

Chiến lược phần cứng và hệ điều hành

Các kế hoạch di chuyển trong tương lai là gì (ví dụ: mục tiêu là có tất cả thiết bị của một nhà cung cấp)?

Chi phí sở hữu

Các chi phí ngoài việc mua (ví dụ: chi phí giấy phép gia tăng, bảo trì hàng năm, chi phí đào tạo, chi phí lương) là
gì?

Ưu tiên chính sách

Con người thường có thói quen và có khả năng chống lại sự thay đổi, vì vậy cần hạn chế tối đa những thay đổi.

Hiệu suất của nhà cung cấp

Một số nhà cung cấp có danh tiếng hoặc triển vọng trong tương lai khác với danh tiếng của một hệ thống phần
cứng hoặc phần mềm cụ thể hiện đang bán.

Hình X-7: Yếu tố chọn lựa phần cứng, phần mềm

TỔNG KẾT CHƯƠNG


Sau khi đọc và nghiên cứu chương này, bạn sẽ có thể:
 Mô tả bốn thành phần kiến trúc chính.
 Mô tả ba kiến trúc vật lý chính.
 Hiểu về sự thảo hiệp trong việc lựa chọn một kiến trúc vật lý.
 Hiểu về điện toán đám mây.
 Mô tả cơ sở hạ tầng như dịch vụ, nền tảng như dịch vụ và phần mềm như dịch
vụ.
 Mô tả ba trở ngại chính đối với điện toán đám mây.
 Hiểu về máy tính phổ biến và Internet of Things.
 Tạo một thiết kế cơ sở hạ tầng bằng cách sử dụng biểu đồ triển khai.
 Tạo đặc điểm kỹ thuật phần cứng và phần mềm.
CÂU HỎI
1. Bốn chức năng cơ bản của hệ thống thông tin?
2. Ba thành phần phần cứng chính của kiến trúc vật lý?
3. Kể tên hai ví dụ về máy chủ.
4. So sánh và đối chiếu các kiến trúc dựa trên máy chủ, kiến trúc dựa trên máy khách
và kiến trúc dựa trên máy khách-máy chủ.
5. Vấn đề lớn nhất với giao dịch dựa trên máy chủ là gì?
6. Vấn đề lớn nhất với tính toán dựa trên máy khách là gì?
7. Mô tả những lợi ích và hạn chế chính của kiến trúc máy khách-máy chủ mỏng.
8. Mô tả những lợi ích và hạn chế chính của kiến trúc máy khách-máy chủ dày.
9. Mô tả sự khác biệt giữa các kiến trúc hai tầng, ba tầng và n tầng.
10. Xác định khả năng mở rộng. Tại sao thuật ngữ này lại quan trọng đối với các nhà
phát triển hệ thống?
11. Tại sao nên xem xét kiến trúc vật lý hiện tại trong tổ chức khi thiết kế tầng kiến
trúc vật lý của hệ thống mới?
12. Kể tên ba loại đám mây khác nhau. Chúng khác nhau như thế nào?
13. Kiến trúc hướng dịch vụ có nghĩa là gì?
14. Định nghĩa ảo hóa. Nó liên quan như thế nào đến đám mây?
15. Sự khác biệt giữa IaaS, PaaS và SaaS là gì?
16. Những trở ngại cho việc cung cấp lớp kiến trúc vật lý với các công nghệ đám
mây là gì?
17. Các vấn đề liên quan đến bảo mật trên đám mây là gì, nếu có?
18. Máy tính phổ biến có nghĩa là gì? Liên quan với Internet vạn vật?
19. Những chi phí bổ sung nào liên quan đến phần cứng và phần mềm có thể cần
được bao gồm trong đặc điểm kỹ thuật phần cứng và phần mềm?
20. Benchmark là gì, và tại sao nó lại quan trọng?
21. Sự khác biệt giữa mô hình mạng mức cao và mô hình mạng mức thấp?
22. Vấn đề bảo mật quan trọng nhất đối với một hệ thống là gì?

You might also like