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

pdf52 trang | Chia sẻ: mamamia | Lượt xem: 2327 | Lượt tải: 2download
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.