Nghiên cứu xây dựng nền tảng đám mây mã nguồn mở cho phép triển khai và cấu hình phần mềm như một dịch vụ trên các đám mây iaas khác nhau

95 16 0
Nghiên cứu xây dựng nền tảng đám mây mã nguồn mở cho phép triển khai và cấu hình phần mềm như một dịch vụ trên các đám mây iaas khác nhau

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

NGUYỄN THANH BẢN BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - NGUYỄN THANH BẢN NGHIÊN CỨU XÂY DỰNG NỀN TẢNG ĐÁM MÂY MÃ NGUỒN MỞ CHO PHÉP TRIỂN KHAI VÀ CẤU HÌNH CƠNG NGHỆ THƠNG TIN PHẦN MỀM NHƯ MỘT DỊCH VỤ TRÊN CÁC ĐÁM MÂY IAAS KHÁC NHAU LUẬN VĂN THẠC SĨ KỸ THUẬT CHUN NGÀNH CƠNG NGHỆ THƠNG TIN KHỐ 2013 Hà Nội – 2016 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - NGUYỄN THANH BẢN NGHIÊN CỨU XÂY DỰNG NỀN TẢNG ĐÁM MÂY MÃ NGUỒN MỞ CHO PHÉP TRIỂN KHAI VÀ CẤU HÌNH PHẦN MỀM NHƯ MỘT DỊCH VỤ TRÊN CÁC ĐÁM MÂY IAAS KHÁC NHAU CHUYÊN NGÀNH CÔNG NGHỆ THÔNG TIN LUẬN VĂN THẠC SĨ KỸ THUẬT CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC TS NGUYỄN BÌNH MINH Hà Nội – 2016 Lu n v n th c s k thu t GVHD: TS Nguyễn Bình Minh MỤC LỤC MỤC LỤC LỜI C M O N LỜI C M N MỞ ẦU CHƯ NG 1: GIỚI THIỆU IỆN TOÁN ÁM MÂY 11 1.1 Tổng quan điện toán đám mây 11 1.2 Phân lo i điện toán đám mây 15 1.3 Lý chọn đề tài 24 1.4 Ph m vi đề tài 27 1.5 Yêu cầu cần thực 27 1.6 Công nghệ sử dụng 28 1.6.1 Giới thiệu công nghệ JSF 28 1.6.2 Giới thiệu OpenStack 30 1.6.3 OpenStack Python APIs 34 CHƯ NG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 37 2.1 Phân tích yêu cầu 37 2.2 Thiết kế hệ thống 39 2.1.1 Thiết kế tổng thể 39 2.1.2 Thiết kế sở liệu 49 2.1.3 Thiết kế chi tiết chức n ng 53 CHƯ NG 3: KẾT QU ẠT ƯỢC 58 3.1 Xây dựng dịch vụ tảng (PaaS) 59 Đề tài: Xây dựng PaaS mã nguồn mở H vi : Nguyễn Thanh Bản Lu n v n th c s k thu t GVHD: TS Nguyễn Bình Minh 3.2 Thử nghiệm triển khai h tầng IaaS 69 3.3 Tích hợp dịch vụ phần mềm (SaaS) 74 3.4 Thử nghiệm đánh giá 75 3.4.1 Thử nghiệm sử dụng snapshot 76 3.4.2 Thử nghiệm thực thi shell scripts 80 T NG KẾT V B N LU N 85 A Tổng kết 85 B Các vấn đề tồn t i lu n v n 86 C Hướng phát triển lu n v n 86 T I LIỆU TH M KH O 89 PHỤ LỤC 90 Đề tài: Xây dựng PaaS mã nguồn mở H vi : Nguyễn Thanh Bản Lu n v n th c s k thu t GVHD: TS Nguyễn Bình Minh LỜI C M ĐO N Tác giả lu n v n xin cam đoan cơng trình nghiên cứu riêng tác giả, lu n v n đúc kết trình nghiên cứu từ việc t p hợp nguồn tài liệu, kiến thức học, đến việc tự thu th p thông tin liên quan liên hệ thực tế t i đơn vị công tác Tất số liệu, kết nêu lu n v n trung thực chưa công bố cơng trình khác Tác giả lu n v n xin cam đoan giúp đỡ cho việc thực lu n v n cảm ơn, tất thơng tin trích dẫn lu n v n rõ nguồn gốc Tác giả lu n v n xin chịu trách nhiệm nghiên cứu H vi t i Nguyễ T a Đề tài: Xây dựng PaaS mã nguồn mở H u v Bả vi : Nguyễn Thanh Bản Lu n v n th c s k thu t GVHD: TS Nguyễn Bình Minh LỜI CẢM N Trước tiên, tác giả lu n v n xin gửi lời cảm ơn đến tất quý Thầy Cô giảng d y chương trình đào t o th c s , Viện Công Nghệ Thông Tin Truyền Thông, i học Bách Khoa Hà N i, người truyền đ t cho tác giả kiến thức hữu ích làm sở cho tác giả thực tốt lu n v n Với lịng kính trọng biết ơn, tác giả lu n v n xin bày tỏ lời cảm ơn tới TS Nguyễn Bình Minh khuyến khích, t n tình hướng dẫn suốt thời gian thực lu n v n Mặc dù, trình thực lu n v n có giai đo n khơng thu n lợi nhờ hướng dẫn, bảo Thầy cho tác giả lu n v n nhiều kinh nghiệm thời gian thực đề tài Tác giả lu n v n xin gửi lời cảm ơn đến c ng đồng VietStack, diễn đàn trao đổi điện toán đám mây OpenStack t i Việt Nam, nơi tác giả trao đổi học hỏi nhiều kiến thức bổ ích phục vụ cho việc nghiên cứu phát triển đề tài Sau tác giả lu n v n xin gửi lời biết ơn sâu sắc đến gia đình ln t o điều kiện tốt cho tác giả lu n v n suốt trình học thực lu n v n Do thời gian có h n kinh nghiệm nghiên cứu khoa học chưa nhiều nên lu n v n nhiều thiếu sót, mong nh n ý kiến đóng góp q Thầy/Cơ b n học viên H vi t i Nguyễ T a Đề tài: Xây dựng PaaS mã nguồn mở H u v Bả vi : Nguyễn Thanh Bản Lu n v n th c s k thu t GVHD: TS Nguyễn Bình Minh D NH MỤC C C K HI U C C CH C vi t t t VI T T T Diễ giải ội du g IaaS Infrastructure as a Service PaaS Platform as a Service SaaS Software as a Service VM Virtual Machine GUI Graphical User Interface: Giao diện đồ ho JSF JavaServer Faces DHCP Dynamic Host Configuration Protocol QEMU Quick EMUlator API Application Programming Interface UI User Interface HTML HyperText Markup Language JSP Java Server Page FTP File Transfer Protocol SSH Secure Shell LAMP Linux OS, Apache HTTP Server, MySQL, PHP IP Internet Protocol Đề tài: Xây dựng PaaS mã nguồn mở H vi : Nguyễn Thanh Bản Lu n v n th c s k thu t GVHD: TS Nguyễn Bình Minh D NH MỤC C C H NH V Hì vẽ Nội du g Trang 1.1 Mơ hình điện tốn đám mây 12 1.2 Mơ hình cơng nghệ ảo hóa 13 1.3 Mơ tả kiến trúc điện toán đám mây 14 1.4 Dashboard Windows zure 16 1.5 Giao diện Dashboard Heroku 17 1.6 Giao diện Google Drive 18 1.7 Mơ hình dịch vụ điện toán đám mây 19 1.8 ám mây riêng (Privte cloud) 20 1.9 ám mây công c ng (Public cloud) 20 1.10 ám mây lai (Hybrid cloud) 21 1.11 ám mây c ng đồng (Community cloud) 22 1.12 Vòng đời ứng dụng JavaServer Face 29 1.13 Nền tảng OpenStack 31 1.14 Sự đời OpenStack 31 1.15 Các phiên OpenStack 32 1.16 Các thành phần OpenStack 32 2.1 Mơ hình kiến trúc v t lý 40 Đề tài: Xây dựng PaaS mã nguồn mở H vi : Nguyễn Thanh Bản Lu n v n th c s k thu t 2.2 3.1 GVHD: TS Nguyễn Bình Minh Mơ hình quan hệ sở liệu 48 Sơ đồ mơ tả quy trình khởi t o máy ảo theo cấu hình 59 người sử dụng 3.2 ng ký tài khoản người dùng 62 3.3 ng nh p hệ thống 63 3.4 Giao diện Dashboard quản lý khởi t o hosting 65 3.5 Lựa chọn tảng triển khai 65 3.6 Cấu hình thơng tin hosting 66 3.7 Tích hợp phần mềm dịch vụ 66 3.8 Quản lý hosting 67 3.9 Giao diện Dashboard OpenStack 68 3.10 Network Topology 70 3.11 Giao diện quản lý nhóm quyền cho instances 71 3.12 Giao diện t o m t flavor 72 3.13 Danh sách images snapshots 76 Biểu đồ đánh giá hiệu n ng khởi t o máy ảo sử dụng 78 3.14 3.15 image snapshot Biểu đồ đánh giá hiệu n ng khởi t o máy ảo sử dụng 80 shell script Đề tài: Xây dựng PaaS mã nguồn mở H vi : Nguyễn Thanh Bản Lu n v n th c s k thu t GVHD: TS Nguyễn Bình Minh Khi người dùng yêu cầu khởi t o hosting, ứng dụng triệu gọi file python thực thi, có chứa câu lệnh lấy snapshot: image = nova.images.find(name="ubuntu_vm2016") để lấy snapshot tiến hành t o máy ảo ánh giá hiệu n ng: Tác giả tiến hành đo thời gian bắt đầu có yêu cầu khởi t o máy ảo người dùng t o thành công thông qua image ubuntu snapshot: cài đặt hệ điều hành, hệ điều hành tích hợp dịch vụ tảng PHP LAMP, tích hợp LAMP+CMS Wordpress Cầu hình máy tính cài đặt h tầng IaaS: o Memory 4GB o Processors nhân o Hard Disk (SCSI) 60GB o Network Adapter: NAT, VMNet1 o Hệ điều hành Ubuntu Server 14.04 Tên image, snapshot dung lượng tương ứng: o Image ubuntu: 259.1 MB o Snapshot ubuntu_vm2016: 1.4 GB o Snapshot ubuntu_lamp 1.8 GB o Snapshot ubuntu_wordpress: 2.1 GB Cấu hình máy ảo: o CPU o 2048MB RAM o 20GB Disk storage Đề tài: Xây dựng PaaS mã nguồn mở 78 H vi : Nguyễn Thanh Bản Lu n v n th c s k thu t GVHD: TS Nguyễn Bình Minh Kết thử nghiệm khởi t o máy ảo: Hình 3.14 Biểu đồ đánh giá hiệu khởi tạo máy ảo sử dụng image snapshot - Image hệ điều hành ubuntu: thời gian khởi t o thành cơng trung bình 12.193 msec tương đương 12s - Snapshot ubuntu_vm2016: thời gian khởi t o thành công trung bình 6.439 msec tương đương 6.5s, nhanh 54.1% so với sử dụng image - Snapshot ubuntu_lamp: thời gian khởi t o thành cơng trung bình 12.366 msec tương đương 12s, gần tương đương với khởi t o máy ảo chưa cài đặt dịch vụ sử dụng image - Snapshot ubuntu_lamp_wordpress: thời gian t o thành công trung bình 15.571 msec tương đương 15.5s, lâu 22.6% so với ubuntu_lamp iều dễ hiểu cài đặt thêm wordpress Như v y, việc khởi t o máy ảo sử dụng image hệ điều hành upload trước cho tốc đ ch m, gần gấp lần so với việc sử dụng snapshot Ưu điểm: Đề tài: Xây dựng PaaS mã nguồn mở 79 H vi : Nguyễn Thanh Bản Lu n v n th c s k thu t GVHD: TS Nguyễn Bình Minh Phương pháp cho phép t o nhiều máy ảo từ m t snapshot, tốc đ khởi t o tương đối nhanh Người quản trị dễ dàng t o m t snapshot để t o VMs theo yêu cầu người sử dụng từ m t instance có Ngh a là, cài sẵn phần mềm m t VM, họ nâng cấp, cài thêm phần mềm khác t o m t snapshot mới, để sử dụng cho máy ảo sau Nhược điểm: Phương pháp không thực linh đ ng tích hợp nhiều phần mềm dịch vụ cho người dùng lựa chọn Bởi người quản trị khơng thể tính hết trường hợp theo yêu cầu người dùng để t o trước snapshot Ví dụ người sử dụng muốn cài hệ điều hành ubuntu server, tích hợp hệ quản trị sở liệu MySQL, không cài đặt CMS Wordpress, cài đặt Wordpress Drupal… việc t o nhiều snapshot gây tốn b nhớ phải lưu trữ nhiều ảnh instances 3.4.2 T g i m t t i s e scripts Giới thiệu: Shell script m t file text chứa m t m t chuỗi câu lệnh thực thi hệ điều hành UNIX, lệnh thực thi m t cách có yêu cầu triệu gọi shell script Dưới m t đo n shell script đơn giản thể m t phần cài đặt cms wordpress hệ điều hành Ubuntu: #!/bin/bash # Download latest WordPress and uncompress wget http://wordpress.org/latest.tar.gz tar zxf latest.tar.gz sudo apt-get update sudo apt-get install php5-gd libssh2-php Đề tài: Xây dựng PaaS mã nguồn mở 80 H vi : Nguyễn Thanh Bản Lu n v n th c s k thu t GVHD: TS Nguyễn Bình Minh Như v y, với phần mềm dịch vụ cung cấp qua tảng, người quản trị cần t o sẵn shell scripts tương ứng, khởi t o máy ảo thành công, triệu gọi scripts thực thi ánh giá hiệu n ng: Tác giả thử nghiệm cài đặt CMS Wordpress máy ảo cài đặt sẵn L MP Các bước thực tự đ ng sau: - Khởi t o máy ảo thông qua snapshot ubuntu_lamp - Kết nối tới máy ảo thông qua địa ip, xác thực qua keypair, port 22 - Triệu gọi script có tên: wp-shell-install.sh (đã tác giả t o sẵn) - Tiến hành đo thời gian từ lúc thực thi đến thành công Kết đ t sau: Hình 3.15 Biểu đồ đánh giá hiệu khởi tạo máy ảo sử dụng shell script Thời gian khởi t o thành công máy ảo cài đặt cms wordpress sử dụng shell script trung bình: 19.382 msec, tương đương 19.3 s Đề tài: Xây dựng PaaS mã nguồn mở 81 H vi : Nguyễn Thanh Bản Lu n v n th c s k thu t GVHD: TS Nguyễn Bình Minh Hình 3.16 Giao diện cms wordpress sau cài đặt thành công Ưu điểm: Triệu gọi shell scripts, người quản trị chủ đ ng t o để đáp ứng việc cài đặt phần mềm dịch vụ mà tảng cung cấp cho l p trình viên Bên c nh đó, người quản trị cần t o m t snapshot làm ảnh cài đặt hệ điều hành, việc cho thời gian t o nhanh chóng, đồng thời giảm thiểu dung lượng lưu trữ so với phương pháp thứ Khi khởi t o máy ảo thành công, scipts triệu gọi thực thi hệ điều hành để cài đặt phần mềm theo yêu cầu người sử dụng Phương pháp linh đ ng tảng cần cung cấp nhiều phần mềm dịch vụ, dễ dàng mở r ng, sửa đổi scripts Nhược điểm: Bên c nh ưu điểm linh đ ng, gọn nhẹ, phương pháp cho thời gian khởi t o máy ảo tương đối ch m Lý sau cài đặt hệ điều hành, shell scripts triệu gọi thực công việc update package thông qua lệnh: sudo apt-get update Sau download phần mềm tiến hành cài đặt Đề tài: Xây dựng PaaS mã nguồn mở 82 H vi : Nguyễn Thanh Bản Lu n v n th c s k thu t GVHD: TS Nguyễn Bình Minh Ngồi ra, người quản trị cần nhiều thời gian để kiểm thử việc thực thi scripts trước triệu gọi Bởi chắn rằng, trình thực thi shell script không xảy ngo i lệ Chỉ cần m t lỗi nhỏ xảy ra, việc cài đặt khơng thành cơng Biểu đồ so sánh: Hình 3.17 Biểu đồ so sánh hiệu khởi tạo máy ảo sử dụng snapshot shell script Nhìn vào biểu đồ so sánh khởi t o máy ảo theo hai phương pháp với yêu cầu khác người sử dụng, thấy phương pháp sử dụng snapshot cho thời gian t o máy ảo nhanh tương đương 12.7% so phương pháp gọi shell scripts Trong đề tài tác giả sử dụng hai phương pháp để t n dụng ưu điểm, yêu cầu người sử dụng t o máy ảo, tác giả dùng snapshot t o hệ điều hành Sau cài đặt phần mềm dịch vụ thơng qua shell scripts Hình m t ví dụ sau người dùng khởi t o hosting thành công, cài đặt sẵn dịch vụ PHPMy dmin, máy ảo cấp phát địa ip: 172.16.69.179 Đề tài: Xây dựng PaaS mã nguồn mở 83 H vi : Nguyễn Thanh Bản Lu n v n th c s k thu t GVHD: TS Nguyễn Bình Minh Hình 3.18 Giao diện PHP MyAdmin máy ảo sau khởi tạo Đề tài: Xây dựng PaaS mã nguồn mở 84 H vi : Nguyễn Thanh Bản Lu n v n th c s k thu t GVHD: TS Nguyễn Bình Minh TỔNG K T V B N LU N A Tổ g k t Lu n v n tốt nghiệp tác giả với đề tài: “Nghiên cứu xây dựng tảng đám mây mã nguồn mở cho phép triển khai cấu hình phần mềm dịch vụ đám mây IaaS khác nhau” hoàn thành ề tài giải vấn đề sau: 1) Tìm hiểu khái niệm, thành phần điện toán đám mây Phân tích ưu, nhược điểm với vai trị người dùng cuối, l p trình viên người phát triển hệ thống l nh vực công nghệ thông tin 2) Tìm hiểu mơ hình triển khai điện tốn đám mây, đặc tính tảng PaaS cung cấp 3) Tìm hiểu, nghiên cứu xây dựng tảng đám mây mã nguồn mở, hỗ trợ người sử dụng cấu hình phần mềm m t dịch vụ sử dụng công nghệ JavaServer Faces, OpenStack Python APIs 4) Triển khai tảng PaaS h tầng đám mây IaaS Thử nghiệm với OpenStack phiên Liberty 5) Thử nghiệm đánh giá hiệu n ng thời gian khởi t o máy ảo theo cấu hình người sử dụng hai phương pháp: Khởi ch y snapshot khởi ch y shell scripts  Các kết đ t đề tài: 1) ề tài tổng hợp khái niệm lý thuyết điện tốn đám mây, mơ hình dịch vụ triển khai, ưu điểm mà điện toán đám mây mang l i cho người sử dụng, bên c nh nhược điểm 2) Tác giả tiếp c n vấn đề vai trò người phát triển phần mềm, hiểu họ gặp khó kh n h n chế triển khai m t sản phẩm phần mềm Từ đó, đề xuất xây dựng tảng đám mây mã nguồn mở, cho phép người sử dụng cấu hình phần mềm theo ý muốn, để họ dễ dàng t o m t tảng triển khai, mà không nhiều thời gian kiến thức chuyên môn Đề tài: Xây dựng PaaS mã nguồn mở 85 H vi : Nguyễn Thanh Bản Lu n v n th c s k thu t GVHD: TS Nguyễn Bình Minh 3) Thử nghiệm triển khai giải pháp h tầng IaaS cài đặt OpenStack 4) Công khai mã nguồn lên Github cho người sử dụng, họ tự sử dụng, đóng góp phát triển theo yêu cầu (thông tin cài đặt sử dụng t i phần phụ lục) Kết đề tài mang l i giải pháp cho cá nhân doanh nghiệp muốn triển khai mơ hình điện tốn đám mây public private cloud, đáp ứng nhu cầu xây dựng phát triển phần mềm B Cá vấ đề ò tồ tro g u v Mặc dù tác giả cố gắng với tất nỗ lực thân, với giúp đỡ t n tình cán b hướng dẫn kiến thức thời gian có h n, h n chế cấu hình phần cứng nên việc xây dựng tảng đám mây khó kh n sau:  Cần nghiên cứu, tìm hiểu k tầng IaaS, thành phần OpenStack để dễ dàng tùy biến, kiểm soát, hỗ trợ khách hàng họ muốn triển khai PaaS với tài nguyên có  Cần cung cấp nhiều phần mềm dịch vụ, để người sử dụng có thêm nhiều lựa chọn khởi t o hosting Họ rút ngắn thời gian cài đặt phần mềm triển khai để t p trung vào giai đo n phát triển  Cần cung cấp cấu hình linh đ ng PaaS muốn triển khai với nhiều IaaS khác như: CloudStack, OpenNebula… C Hướ g p át triể u v Do điều kiện cá nhân, thời gian cấu hình phần cứng cịn nhiều h n chế trình thử nghiệm đề tài: “Nghiên cứu xây dựng tảng đám mây mã nguồn mở cho phép triển khai cấu hình phần mềm dịch vụ đám mây IaaS khác nhau”, phần cung cấp cho người sử dụng cách thức triển khai ứng dụng nhanh chóng, đơn giản tảng đám mây Vì v y, nghiên cứu vấn đề t p trung triển khai theo hướng sau:  Giúp người quản trị dễ dàng cấu hình muốn triển khai đám mây IaaS khác Đề tài: Xây dựng PaaS mã nguồn mở 86 H vi : Nguyễn Thanh Bản Lu n v n th c s k thu t GVHD: TS Nguyễn Bình Minh Giải pháp: cung cấp chức n ng cấu hình driver tương ứng với tảng muốn triển khai, từ ứng dụng triệu gọi driver phụ thu c vào cấu hình người quản trị (ví dụ: Openstack cung cấp Python APIs, OpenNebuala cung cấp XML-RPC API)  Tích hợp nhiều phần mềm dịch vụ cho phép người sử dụng cấu hình cần thiết, dễ dàng thêm vào máy ảo khởi t o Giải pháp: cung cấp chức n ng quản trị phần mềm dịch vụ theo yêu cầu sử dụng người dùng Các phần mềm hệ quản trị sở liệu, framework l p trình, hay hệ quản trị n i dung, phần mềm quản lý, v.v…người quản trị cần khai báo người dùng lựa chọn giao diện  Cung cấp giao diện quản trị đầy đủ thông tin hơn, giúp người sử dụng theo dõi tài nguyên sử dụng máy ảo, dễ dàng thay đổi cấu hình phần cứng mong muốn Giải pháp: sử dụng m t số phần mềm nguồn mở Nagios, Zabbix, OpenNMS…cung cấp giao diện để nhà phát triển theo dõi tài nguyên sử dụng máy ảo R M, CPU, Disk storage, b ng thông  Hỗ trợ Load Balancing (cân tải) cho máy ảo h tầng IaaS có yêu cầu phía máy tr m gửi lên (client) Giải pháp: cân tải giúp phân phối lưu lượng truy c p khách hàng tới hai nhiều VM, đồng thời t ng tính bảo m t yêu cầu gửi lên máy chủ ảo, cân tải đón nh n phân phối tới máy chủ xử lý tác giả đề xuất sử dụng ể thực việc PIs LBaaS (Load-Balancing-as-a-Service) m t dịch vụ Neutron, sử dụng OpenStack triển khai h tầng IaaS LBaaS sử dụng H Proxy cài đặt lên m t VM có vai trò t o VIP (Virtual IP – IP ảo) kết hợp với Floating IP cấp phát cho VM, để phân phối yêu cầu từ máy clients tới VMs  Hỗ trợ co giãn tài nguyên theo yêu cầu người sử dụng Giải pháp: sử dụng PIs phần mềm nguồn mở Nagios, Zabbix, OpenNMS…để đo lường thông tin tài nguyên máy ảo, R M CPU vượt Đề tài: Xây dựng PaaS mã nguồn mở 87 H vi : Nguyễn Thanh Bản Lu n v n th c s k thu t GVHD: TS Nguyễn Bình Minh định mức đặt (có thể >90%) tiến hành bổ sung dung lượng R M, CPU cho máy ảo  Cung cấp PIs cho l p trình viên Giải pháp: cung cấp PIs để l p trình viên khởi t o, quản lý phát triển ứng dụng tảng đám mây Cụ thể, dịch vụ hỗ trợ l p trình viên xác thực tài khoản, lưu trữ liệu, lưu trữ tệp tin, xử lý ảnh, tìm kiếm…Tác giả đề xuất giải pháp sử dụng Restlet, m t framework mã nguồn mở hỗ trợ nhà cung cấp t o PIs theo kiến trúc REST m t cách m nh mẽ Đề tài: Xây dựng PaaS mã nguồn mở 88 H vi : Nguyễn Thanh Bản Lu n v n th c s k thu t GVHD: TS Nguyễn Bình Minh T I LI U TH M KHẢO National Institute of Standards and Technology, Peter Mell, Timothy Grance “The NIST Definition of Cloud Computing” 2011 Rackspace “Understanding the Cloud Computing Stack SaaS, PaaS, IaaS” 2011 Intel IT Center “Platform as a Service”, Increasing Cloud Adoption by Giving Developers the Key to Cloud-Awave Development August 2013 Kevin L.Jackson, Cary Landis “Platform as a Service” January 2012 Tom Fifield, Diane Fleming, Anne Gentle, Lorin Hochstein, Jonathan Proulx, Everett Toews & Joe Topjian “OpenStack Operations Guide” 2014 CERN, Belmiro Moreira “OpenStack Straining”, April 2014 IBM, Lorin Hochstein “Python APIs: The best-kept secret of OpenStack”, 19 June 2013 Stephanie Bodoff, “JavaTM Tutorial” June 2002 IBM, Martin Keen, Rafael Coutinho, Sylvi Lippmann, Salvatore Sollami, Sundaragopal Venkatraman, Steve Baber, Henry Cui, Craig Fleming “Developing Web Applications using JavaServer Faces” 2012 10 Martin Mois, Java Code Geeks “JSF 2.0 Programming Cookbook” 2015 Đề tài: Xây dựng PaaS mã nguồn mở 89 H vi : Nguyễn Thanh Bản Lu n v n th c s k thu t GVHD: TS Nguyễn Bình Minh PHỤ LỤC Tác giả chia sẻ mã nguồn đề tài lên Github, thông tin cụ thể sau: - LINK: https://github.com/BanNT/PaaS_OpenSource - LICENSE: Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ - README.md: Hướng dẫn cài đặt triển khai Tầng IaaS:  Triển khai nhiều node Cài đặt OpenStack sử dụng Devstack, tham khảo hướng dẫn cài đặt tại:https://github.com/vietstacker/devstack-note  Đăng nhập vào Dashboard OpenStack cấu hình thành phần sau: Cấu hình network gồm: Public: Cung cấp dải địa IP cho instances kết nối môi trường internet cho máy ảo, thơng số cấu sau:  Subnet name: public-subnet  Network Address: 172.16.69.0/24  Gateway IP: 172.16.69.1  Allocation Pools: 172.16.69.171, 172.16.69.179 Internal-network: Cung cấp dải ip tĩnh cho instances liên lạc nội với nhau, thơng số cấu sau: Đề tài: Xây dựng PaaS mã nguồn mở 90 H vi : Nguyễn Thanh Bản Lu n v n th c s k thu t  Subnet GVHD: TS Nguyễn Bình Minh name: sub-internal  Network Address: 192.168.10.0/24  Gateway IP: 192.168.10.1  Allocation  DNS Pools: 192.168.10.100, 192.168.10.200 Name Servers: 8.8.8.8 Cấu hình router: Bộ định tuyến thiết bị định tuyến, giúp chia sẻ internet từ internal-network, thông số cấu hình:  Tên router: Router_nuce  Interfaces: router_interface (192.168.10.1), router_gateway (172.16.69.172) Khởi tạo Flavors upload Images hệ điều hành Cấp quyền cho instances:  Cấp quyền cho phép SSH port 22, giúp người dùng đăng nhập vào hệ điều hành máy ảo keypair sau khởi tạo  Quyền cho phép ping tới địa ip máy ảo Chi tiết sử dụng dashboard tham khảo tại: http://docs.openstack.org/user-guide/dashboard.html Đề tài: Xây dựng PaaS mã nguồn mở 91 H vi : Nguyễn Thanh Bản Lu n v n th c s k thu t GVHD: TS Nguyễn Bình Minh  Thiết lập tài khoản FTP cho ubuntu server, tham khảo tại: http://www.krizna.com/ubuntu/setup-ftp-server-onubuntu-14-04-vsftpd/ Triển khai hạ tầng IaaS cài đặt Sau lập trình build ứng dụng gói war  Cài đặt JDK Apache Tomcat ubuntu server  Upload gói war vào thư mục /var/bin/tomcat7/webapps/ (sử dụng FTP để upload file)  Restart Tomcat, dùng lệnh: service tomcat7 restart Truy cập ứng dụng địa chỉ: http://ipaddress:port/Nucestack Một vài lưu ý: - Gọi thực thi python file (credentials.py) để khởi tạo máy ảo: Sử dụng phương thức createVMUbuntu() file PlatformBean.java - Triệu gọi shell script (wp-shell-install.sh) cài đặt cms wordpress sau khởi tạo máy ảo thành công: Sử dụng phương thức installWP(String ip) file PlatformBean.java Chú ý: file credentials.py, init.py đặt máy chủ cài đặt OpenStack, wp-shell-install.sh đặt máy ảo khởi tạo thành công, dùng để tạo snapshot sử dụng dashboard Đề tài: Xây dựng PaaS mã nguồn mở 92 H vi : Nguyễn Thanh Bản ... DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - NGUYỄN THANH BẢN NGHIÊN CỨU XÂY DỰNG NỀN TẢNG ĐÁM MÂY MÃ NGUỒN MỞ CHO PHÉP TRIỂN KHAI VÀ CẤU HÌNH PHẦN MỀM NHƯ MỘT DỊCH VỤ TRÊN... trình triển khai phần mềm, cấu hình dịch vụ cần thiết để có hosting mong muốn, giải pháp triển khai nhiều h tầng đám mây IaaS khác nhau, quan trọng nhà phát triển tự sử dụng mã nguồn, tự phát triển. .. OpenNebula… tảng đám mây nguồn mở cung cấp Driver tương ứng để nhà phát triển dễ dàng cấu hình muốn triển khai h tầng IaaS họ  Hỗ trợ triển khai ứng dụng tảng Java, PHP Cài đặt phần mềm dịch vụ: MySQL,

Ngày đăng: 27/02/2021, 12:38

Từ khóa liên quan

Mục lục

  • MỤC LỤC

  • MỞ ĐẦU

  • CHƯƠNG 1

  • CHƯƠNG 2

  • CHƯƠNG 3

  • TỔNG KẾT

  • TÀI LIỆU THAM KHẢO

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan