Tải bản đầy đủ (.pdf) (52 trang)

bài giảng phát triển vận hành và bảo trì phần mềm - chương 3 vận hành phần mềm

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (548.44 KB, 52 trang )

Chương 3
VẬN HÀNH PHẦN MỀM
Mục đích:
Thiết lập nên các nền tảng cho hoạt động vận
hành phần mềm doanh nghiệp
=> nhằm phát triển các cơ sở hạ tầng để tự động hóa
hoạt động vận hành
NỘI DUNG
3.1 Giới thiệu
3.2 Vận hành phần mềm là gì
3.3 Các hoạt động vận hành phần mềm
3.4 Tổng kết
3.1 Giới thiệu
• Vận hành phần mềm được thực hiện từ
khi kết thúc sự phát triển p/mềm
• CNPM mới tập trung chủ điểm vào
hđộng phát triển và cải tiến => vận
hành chưa được đầu tư đúng đắn
=> Vận hành ứng dụng vẫn được xem như
một nghệ thuật và rất nghèo nàn trong
việc tự động hóa.
• Vận hành là quan trọng:
– Các sản phẩm phần mềm được đưa vào thực tế
sử dụng ngày càng nhiều
– Vấn đề vận hành phần mềm ngày càng gặp nhiều
khó khăn:
• Các ứng dụng ngày càng phức tạp, chúng chứa một số
lượng lớn các thành phần, các phiên bản và các biến đổi
• Các ứng dụng được cải tiến ngày càng nhanh (một vài
tháng giữa hai phiên bản phát hành)
3.1 Giới thiệu


– Các ứng dụng dựa trên các ứng dụng, các
thành phần và các dịch vụ khác như:
• Các hệ điều hành,
• các dịch vụ (CSDL, Web),
• các hệ soạn thảo,
• các trình dịch, ….
– Môi trường tính toán được dịch chuyển từ
mainframes đến workstations
=> Chúng ta cần cực tiểu hóa thời gian vận hành và
chi phí, tránh rủi ro sản phẩm bị hỏng
3.1 Giới thiệu
3.2 Vận hành phần mềm là gì
• Vận hành phần mềm là tất cả các hoạt
động mà tạo cho một hệ thống phần
mềm có thể sử dụng tại nơi tiêu thụ.
• Tiến trình vận hành bao gồm một số
hoạt động có liên quan với nhau. Các
hoạt động này có thể xảy ra tại:
– nơi sản xuất sản phẩm
– ở doanh nghiệp/tổ chức sư dụng p/mềm,
– hoặc tại MT người dùng cuối.
3.3 Các hoạt động vận hành phần mềm
3.3.1 Mô hình hóa quy trình vận hành
3.3.2 Tiến trình vận hành
3.3.1 Mô hình hóa quy trình vận hành
• Vận hành phần mềm doanh nghiệp được
mô hình hóa chia ra thành 3 tầng:
– Tầng sản xuất (producer),
– tầng doanh nghiệp(Enterprise) và
– tầng người dùng(Users)

SDF
SCM
PM
Nơi sản xuất
(Producer)
AMS
CDS
Doanh nghiệp
(Enterprise)
Người dùng
(User)
LAN
LAN
CD
ODF
IT
LAN
Enterprise Deployment
3.3.1 Mô hình hóa quy trình vận hành
Hình
:
Vận
hành
phần
mềm
doanh
nghiệp

các
kỹ

thuật
hiện
thời
Software Description Formalisms (SDF):
- Đặc tả hình thức
- Đặc tả phi hình thức
Software Configuration Managers (SCM): [7,8]
- Mục đích: Thiết lập và bảo trì sự tích hợp của các
s/phẩm dự án
-Nhẫn mạnh các nguyên tắc, các kỹ thuật khởi tạo,
đánh giá và điều khiển các thay đổi của p/m trong và
sau tiến trình phát triển
- Cung cấp một cơ chế để xác định, điều khiển và lưu
vết các thay đổi p/m, trả lời câu hỏi: “Someone did
something, how can one can reproduce it”
-Cung cấp một cơ chế lựa chọn để lựa chọn một cấu
hình hệ thống phù hợp từ không gian phiên bản, và
cấu trúc tuần tự hệ thống từ các file nguồn đã lựa chọn
-Ví dụ: Adele[7], ClearCase[8]
Package Managers [9,10]: Các hệ quản lý
gói
-Là một tập các công cụ p/m để tự động
hóa quá trình cài đặt, nâng cấp, cấu hình và
xóa các gói p/m trên 1 hđh
-1p/m ={hàng trăm/triệu gói} -> cần hệ
thống quản lý các gói
-Ví dụ: RPM của Red-Hat[9] có thể thẩm
định và quản lý mọi gói trên hệ thống, dùng
cho hđh Linux và Novel Netware và AIX của
IBM

Content delivery system [11,12, 13,14]:
-Nhiệm vụ: Phát hành p/m qua các phương tiện truyền thông
-Ví dụ: Hệ phát hành nội dung Cisco (CDSC): Cho phép phát
hành các dịch vụ lên trên mạng/qua sóng ăngten/sóng mạng
không dây và cho phép người dùng truy cập qua nhiều thiết
bị như PC, MT xách tay, ĐTDĐ,…
Installation Tools [15, 16,17,18]:
-Hỗ trợ tự động hầu hết các hoạt động buildtime
trên tầng user: Chuyển đổi, sắp đặt, lựa chọn, mở
gói, cài đặt, cập nhật, thích nghi, cấu hình, dịch,
tháo bỏ cài đặt, …
-Ví dụ:
+ InstallShell: Quản lý cấu hình và tiến trình
cài đặt tầng User
+ NetDploy: vận hành ứng dụng qua môi
trường mạng,
+ InstallFromWeb, ….
Organization
Description
Formalisms
[5,6]: Thường
tổ chức dạng
đồ thị, cây
Configurable Distributed Systems [24,25]:
-Tập trung vào việc quản lý hệ thống , cấu hình lại hệ thống sau khi nó được
vận hành: cập nhật các thành phần để đảm bảo phù hợp với hệ thống đang
vận hành
-
Gắn
các

thành
phần
cùng
nhau
để
đạt
được
sự
tương
tác

giao
tiếp
- Các kỹ thuật SDF, SCM và PM tập trung
trên các hoạt động được thực hiện ở tầng
sản xuất.
- CD và IT xử lý việc phát hành ứng dụng
từ nơi sản xuất đến các MT người dùng
nơi tiêu thụ.
- ODF, AMS, CDS ở tầng doanh nghiệp và
tầng người dùng
Các kỹ thuật vận hành hiện thời
a) Vận hành Producer
b) Vận hành Enterprise
c) Vận hành User
3.3.2 Tiến trình vận hành
a) Vận hành Producer
• Mục đích:
đóng gói và quảng cáo những gì
muốn phát hành đến nơi tiêu thụ sản phẩm.

• Theo quan điểm của người sản xuất, vận
hành ứng dụng gồm 2 hoạt động:
– Phát hành và
– không phát hành
• Các hoạt động vận hành ở tầng sản xuất
(
hình dưới
)
– mô tả kết nối giữa các hoạt động phát triển
ứng dụng và vận hành ứng dụng.
a) Vận hành Producer
Application model Build  test
Tools/process
unrelease
retire
advertise
release
select configurate build
pack
Released
Application
package
SDK
PDS
• Là hoạt động phải làm trước khi chuyển dịch
ứng dụng thực tế đến các nơi tiêu thụ.
• Để phát hành ứng dụng ta cần:
– Lựa chọn: Lựa chọn phiên bản, môi trường p/c, p/m
thỏa mãn ràng buộc, các thành phần của ứng dụng
– Cấu hình: Thêm, xóa, sửa, định vị các thành phần

ứng dụng
– Dịch: Chuyển sang dạng mã nhị phân, hoặc dạng
nén
• Phát hành gồm 2 hoạt động nhỏ đó là đóng gói
và quảng cáo.
Phát hành ứng dụng:
Đóng gói ứng dụng:
• Là tạo một gói tự chứa nó,
• Gói gồm:
– các mã nhân tạo được dịch sang mã nhị
phân,
– các mô hình ứng dụng và các thông tin cần
thiết khác để quản lý ứng dụng (xây dựng,
cấu hình, kiểm thử, kích hoạt, ).
- Một số công cụ đóng gói phần mềm:
InstallShell hoặc MepInstaller
• Là hoạt động nhỏ của cả hai hoạt động
phát hành và không phát hành.
• Quảng cáo
– Phiên bản sửa lại hoặc mới được phát
hành hoặc
– Nghỉ hưu ứng dụng
• Có thể quảng cáo qua
– điện thoại, hoặc
– qua email, và các phương tiện truyền thông
khác
Quảng cáo:
• Là ngăn cản sự hỗ trợ của sản phẩm đến
các nơi tiêu thụ ứng dụng, hoạt động
chính ở đây là nghỉ hưu.

• Khi một ứng dụng đang nghỉ hưu, phải tạo
sự chắc chắn rằng hoạt động này là không
ảnh hưởng đến các ứng dụng khác trong
kho chứa (Vd ứng dụng nghỉ hưu có thể
chia sẽ một số thành phần của nó cho ứng
dụng khác, )
Không phát hành ứng dụng:
Nghỉ hưu
• Ứng dụng không còn được hỗ trợ bởi nhà
sản xuất, và không được sử dụng nữa
Nhận xét:
• Các kỹ thuật đang tồn tại hầu hết liên quan đến
các hoạt động vận hành ở tầng sản xuất:
– Các hệ thống quản lý cấu hình phần mềm (SCM)
như: Adele [7], Clearcase [8]
– Các p/m quản lý gói (PM) như: RPM của RedHat [9],
hoặc MKpck Command của HP – UX
• Các công cụ cài đặt như:
– InstallFromWeb [15],
– NetDeploy[16],
– InstallManager[17] và
– AutoInstall [18]
a) Vận hành Producer
b) Vận hành Enterprise
• Mục đích:
– chuẩn bị vận hành vật lý trên các máy tính của
người dùng trong doanh nghiệp.
• Các hoạt động chính ở đây là:
– Chuyển dịch:
• ứng dụng chuyển từ nơi sản xuất đến doanh nghiệp

– lắp ráp các thành phần/các ứng dụng khác:
• Làm cho ứng dụng vận hành được.
– Đặc tả các chính sách vận hành:
• nhằm xác định khi nào và làm thế nào sự vận hành vật
lý sẽ được thực hiện => Mô hình vận hành
Chuyển dịch ứng dụng
Released
application
package
SDK
Transfer
Released
application
package
SDK
EDS: Enterprise
Delpoyed
software
Push/pull
• Sau khi phát hành, cần chuyển dịch ứng dụng và môi
trường phát triển p/m (SDK) đến doanh nghiệp tiêu thụ.
• Đầu vào:
– Gói ứng dụng đã phát hành ở tầng sản xuất,
– Bộ công cụ phát triển p/m: SDK
• Theo quan điểm kỹ thuật, cơ sở hạ tầng của vận hành
tự động sẽ:
– điều khiển hoạt động chuyển dịch từ nơi sản xuất đến nơi tiêu
thụ:
• sử dụng kỹ thuật đẩy (push),
– trong khi điều khiển hoạt động chuyển dịch ở nơi tiêu thụ:

• sử dụng kỹ thuật kéo (pull)
Chuyển dịch ứng dụng
• Sau khi gói ứng dụng được dịch
chuyển đến nơi tiêu thụ:
– Tiến trình vận hành Enterprise bắt đầu
Released
application
package
Deployable
enterprise
package
Enterprise application
package
assemble
unpack compose test pack
Enterprise
model
Deployment
policies
SDK
predispose
advertise
Deployment
model
EDS
EDS
Tiến trình vận hành ở tầng Enterprise
Lắp ráp ứng dụng
• Là hoạt động đầu tiên của tiến trình vận hành
• Đầu vào:

– Gói ứng dụng đã chuyển dịch đến
– Gói ứng dụng của doanh nghiệp có thể vận hành
– Bộ công cụ phát triển phần mềm
• Đầu ra: Gói ứng dụng doanh nghiệp
• P/mềm được vận hành chứa
– các khối/các thành phần có thể được xây dựng từ
• các gói ứng dụng liên quan của các nhà sản xuất khác nhau
• các phát triển mở rộng bởi chính các doanh nghiệp tiêu thụ,
=> Là đầu mối cho việc lắp ráp vận hành các ứng dụng trở nên
khó khăn và phức tạp

×