Bài giảng Chương 3 vận hành phần mềm
Mụcđích: Thiếtlập nêncácnềntảng chohoạtđộngvận hànhphầnmềmdoanhnghiệp =>nhằmpháttriển cáccơsởhạtầng đểtự độnghóa hoạtđộngvậnhành
Bạn đang xem trước 20 trang tài liệu Bài giảng Chương 3 vận hành phần mềm, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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 và 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ệ p át hành nội dung Cisc (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 và 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
• Lắp ráp ứng dụng: Gồm 4 hoạt động nhỏ:
– mở gói, biên soạn, kiểm thử và đóng gói.
• Sau khi mở gói, các thành phần của gói ứng dụng có thể
dùng trực tiếp, gói chứa các thành phần/khối đến từ
những nhà x/suất khác nhau
• Sau đó bắt đầu hoạt động biên soạn.
– Nhiệm vụ: đặt các thành phần đến từ các nguồn khác nhau vào
cùng nhau được thực hiện chủ yếu bởi việc lập trình thủ công.
– Các công cụ hỗ trợ việc lập trình
• một môi trường phát triển đầy đủ hoặc
• bộ công cụ hỗ trợ phát triển phần mềm (SDK – Software
Developtment Kit).
– Kết quả của hoạt động xây dựng là ứng dụng cụ thể hoặc
nguyên mẫu
• sau đó nguyên mẫu được kiểm thử,
• và cuối cùng là đóng gói ứng dụng trở lại trước khi nó
được chuyển đến mỗi desktop của người dùng cuối
Hoạt động tiền sắp đặt
• Đầu vào:
– Mô hình doanh nghiệp: mô tả tổ chức của
doanh nghiệp, vị trí các MT người dùng và
mối quan hệ
– Các chính sách vận hành: Giúp điều khiển
tiến trình vận hành
– Gói ứng dụng doanh nghiệp: Là kết quả
của hoạt động lắp ráp ở tầng doanh
nghiệp
• Đầu ra: Mô hình vận hành
• Hoạt động tiền sắp đặt :
– đặc tả ở đâu, khi nào và làm thế nào ứng dụng
sẽ được vận hành.
– là hoạt động đặc trưng nhất của vận hành doanh
nghiệp:
• thiết lập nên một kết nối giữa ứng dụng và tổ chức của
doanh nghiệp với một tập các chính sách vận hành =>
giúp điều khiển tiến trình vận hành
• Kết quả của hoạt động này là phát sinh một mô hình
vận hành giúp xác định:
– Phiên bản ứng dụng nào và khi nào mỗi MT user sẽ có tùy
theo vai trò, vị trí, các hoạt động của user ấy .
– Toàn bộ các điều khiển, lịch biểu và sự đồng bộ hóa giữa tất
cả các hoạt động vận hành trong doanh nghiệp cũng như
điều khiển mỗi hoạt động xác định.
– Tiến trình mà có thể xem như một kịch bản được thông dịch
bởi cơ sở hạ tầng vận hành để thực hiện tự động hóa các
hoạt động vận hành trên mỗi desktop người dùng cuối.
• Hoạt động quảng cáo:
– Xảy ra sau hoạt động dẫn dắt
– là quảng cáo trong doanh nghiệp,
– mô hình vận hành cũng có thế xác
định hoạt động quảng cáo, ví dụ mô tả
khi nào và quảng cáo đến ai được
thực hiện
• Nhận xét
Các kỹ thuật đang tồn tại hầu hết không hỗ trợ
cho các hoạt động ở tầng Enterprise, điều này
đặc biệt đúng cho hoạt động dẫn dắt mà là
trung tâm của hoạt động vận hành doanh
nghiệp
c) Vận hành User
• Còn gọi là vận hành vật lý trên các MT người
dùng
• Mục đích:
– vận hành vật lý thực tế: lắp ráp và bảo trì phiên
bản ứng dụng trên máy tính của người dùng
• Các hoạt động vận hành;
– Một số hoạt động xảy ra trong thời gian dịch
– Một số hoạt động xảy ra trong thời gian chạy
• Đầu vào:
– Gói ứng dụng doanh nghiệp: Ứng dụng có thể
chạy trên doanh nghiệp cụ thế
– Mô hình vận hành: Đặc tả tiến trình vận hành đến
ai, khi nào, và làm thế nào để vận hành
– Mô hình vị trí: Chỉ ra vị trí của các MT người dùng
cuối, cấu hình p/c và p/m của mỗi vị trí
• Một số hoạt động diễn ra trong thời gian dịch
(build - time):
– hình 1
c) Vận hành User
Enterprise
application
package
Deployment
model
dispose
select unpack
Deployable
application
Site model
install
Excutable
application
UDS
UDS
Transfer
update adapt uninstall
configure build
c) Vận hành User
• Là hoạt động đầu tiên
• Tác dụng: chuyển dịch ứng dụng
từ vị trí doanh nghiệp đến mỗi vị trí
của người dùng
Hoạt động chuyển dịch
Hoạt động sắp đặt
• Gần giống như hoạt động tiền sắp đặt ở tầng
doanh nghiệp
• Hoạt động này gồm hai hoạt động nhỏ là lựa
chọn và mở gói.
– Lựa chọn: Chọn một ứng dung mong đợi cho mô
hình vị trí.
• Ví dụ: Có hai lựa chọn cho ứng dụng, lựa chọn một yêu cầu
tối thiểu 64MB bộ nhớ chính, trong khi lựa chọn khác chỉ làm
việc với 32MB. Nếu MT đang xét chỉ có 32 Mb thì lựa chọn
thứ 2 cho ứng dụng sẽ được vận hành thực tế trên máy tính
này
– Mở gói: k/quả: Ứng dụng có thể vận hành trên mỗi vị
trí người dùng cuối
• Ứng dụng có thể vận hành:
– Được cài đặt, cập nhật và thích nghi với mỗi vị trí
người dùng
• Các hoạt động cài đặt, cập nhật, thích nghi
đều có 2 hoạt động nhỏ là cấu hình và dịch
lại
• Tháo bỏ cài đặt: Gỡ bỏ các thành phần phần
mềm: Nếu ứng dụng nghỉ hưu
• Đầu ra của các hoạt động build – time: Ứng
dụng có thể chạy trên các vị trí (*.exe)
• Các hoạt động diễn ra trong thời gian
chạy (run time)
Executable
application
Executing
application
active Test deactive
UDS
Reconfigurate
UDS
• Kích hoạt:
– gồm các thao tác như mở ứng dụng, …
– Giúp ứng dụng nạp và chạy (up and running).
• Khử kích hoạt:
– là thao tác ngược với kích hoạt,
– ví dụ như tắt ứng dụng.
• Kiểm thử:
– kiểm thử động
• Cấu hình lại:
– mô tả cấu hình động như đã mô tả trong các hệ
thống phân phối cấu hình,
– vi dụ: thêm vào, xóa bỏ, cập nhật hoặc định vị lại
các thành phần trong khi ứng dụng đang chạy
c) Vận hành User
• là một phần của toàn bộ tiến trình vận
hành
• được bao trùm tốt nhất bởi các kỹ
thuật đang tồn tại.
• Các công cụ cài đặt (IT) cung cấp hầu
hết các hoạt động trong thời gian dịch
với việc thông báo các ngoại lệ qua
hoạt động kiểm thử
c) Vận hành User
• Các hệ thống phân phối cấu hình như:
– ArchShell [24] hoặc Arunja [25] tập trung vào các hoạt động đang
chạy.
• Các hệ thống quản lý ứng dụng như:
– Software Distributor của HP Open View,
– ZENwork của Novell [20],
– Software Distribution của doanh nghiệp Tivoli[0],
– EDM ADS của Amdahl [21].
– Doanh nghiệp Tivoli [22] và Dịch vụ quản lý hệ thống 2.2 (SMS)
của Microsoft [23] bao trùm hầu hết tất cả các hoạt động.
=> Mục đích của chúng là :
– Quản lý các ứng dụng đã phát hành trên các mạng cục bộ LAN
dựa trên các kiến trúc client/server.
– Bên trong một mạng LAN, một server có thể chụi trách nhiệm phát
hành ứng dụng và vận hành trên các MT client
c) Vận hành User
Mô hình ứng dụng
• Một mô hình ứng dụng là
– Sự trừu tượng hóa của ứng dụng này,
– Cung cấp :
• các sản phẩm của ứng dụng như: các tệp tin, các kịch bản,
tài liệu, … mà tạo một ứng dụng,
• Một mô tả về kiến trúc ứng dụng như:
– Các thành phần của ứng dụng, các phiên bản và các lựa chọn
– Các khả năng so sánh giữa hai phiên bản thành phần
– Các ràng buộc phần cứng, phần mềm
• Các phụ thuộc ngoài (các phụ thuộc với các thành phần/ứng
dụng không được cung cấp bởi cùng một nhà sản xuất)
• Các thông tin hỗn hợp khác như: thông tin liên lạc, ngày phát
hành, ….
3.4.2 Các mô hình doanh nghiệp
• Một mô hình doanh nghiệp là:
– Sự trừu tượng hóa của doanh nghiệp này
– Mô tả cách tổ chức của doanh nghiệp theo các
thuật ngữ như:
• các nhóm, các nhóm con, các tác nhân (con người), các
vị trí (quản lý, kỹ sư, ..) và các vai trò (người lập trình,
người kiểm thử, …)
– Thiết lập một kết nối giữa việc tổ chức của một
doanh nghiệp và các vị trí của người dùng
• Mô hình doanh nghiệp có thể mô tả tốt:
– các dự án, tiến trình và luồng dữ liệu được sử
dụng trong tổ chức – mà có thể hữu ích cho việc
vận hành.
Các chính sách vận hành
– biểu diễn các quyết định diễn ra ở tầng
doanh nghiệp,
– liên quan đến những gì sẽ được vận hành
đến ai, khi nào và làm thế nào để thực hiện
điều này.
Mô hình vận hành:
• Thiết lập kết nối giữa tổ chức doanh nghiệp và
ứng dụng.
• Ví dụ: Điều khiển tiến trình:
– Một mô hình vận hành có thể đặc tả các loại chính
sách khác nhau để điều khiển toàn bộ tiến trình vận
hành như:
• Mô hình tự động: tiến trình vận hành hoàn toàn yên tĩnh và
thực hiện tự động các hoạt động khác nhau
• MH lập trình thủ công: yêu cầu sự xác nhận của người dùng
trước khi thực hiện bất kỳ hoạt động nào
• bán tự động: Trong mô hình bán tự động, người dùng có thể
đặc tả các hoạt động có thể được thực hiện tự động hóa và
những hoạt động được làm thủ công
Các mô hình vị trí
• Là sự trừu tượng hóa của các MT
desktop của người dùng
• Chỉ rõ thông tin:
– Hệ điều hành và phần cứng như:
• loại bộ xử lý, bộ xử lý tần xuất , bô nhớ và không
gian đĩa có thể, hệ điều hành, phiên bản, …
– Phần mềm như:
• các công cụ có thể phát sinh (các hệ soạn thảo,
các trình dịch, ….) và các thành phần và ứng dụng
đã vận hành
3.4 Tổng kết
• Để vận hành ứng dụng doanh nghiệp,
ta trải qua tuần tự các hoạt động diễn
ra ở 3 tầng như sau:
– Tầng sản xuất:
• Mục đích phát hành và quảng cáo ứng dụng
qua các phương tiện truyền thông
• Trước khi phát hành ta cần lựa chọn phiên
bản, cấu hình p/c, p/m phù hợp với các ràng
buộc được mô tả trong đặc tả ứng dụng sau đó
dịch và đóng gói
– Tầng doanh nghiệp:
• Chuyển ứng dụng sau khi phát hành đến
doanh nghiệp
• Tiền sắp đặt: Lựa chọn và cấu hình lại gói ứng
dụng để tương thích với cấu hình p/c và p/m
hiện có của doanh nghiệp, sau đó đóng gói =>
gói ứng dụng doanh nghiệp
• Xây dựng mô hình vận hành dựa trên các chính
sách vận hành và mô hình tổ chức của doanh
nghiệp: Nhắm đặc tả khi nào, ở đâu và làm thế
nào để vận hành ứng dụng đến các vị trí người
dùng
3.4 Tổng kết
– Tầng người dùng:
• Chuyển dịch ứng dụng từ doanh nghiệp đến
các vị trí người dùng của doanh nghiệp
(thường 1 server làm nhiệm vụ này)
• Lựa chọn các thành phần ứng dụng phù hợp
với cấu hình mỗi MT vị trí của doanh nghiệp
• Thực hiện các hoạt động cài đặt, cập nhật,
thích nghi để phù hợp với cấu hình mỗi vị trí
• Kích hoạt/khử kích hoạt để chạy, ktra và tắt
ứng dụng trên mỗi vị trí
3.4 Tổng kết
Tài liệu tham khảo
HẾT CHƯƠNG.