Trang 1 ẢNTRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI--- NGUYỄN THANH BẢNCÔNG NGHỆ THÔNG TINNGHIÊ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Ụ
Trang 1NGHIÊN CỨU XÂY DỰNG NỀN TẢNG ĐÁM MÂY MÃ
PHẦN MỀM NHƯ MỘT DỊCH VỤ TRÊN CÁC ĐÁM MÂY
Trang 2TRƯỜ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
Trang 41
3
4
9
1.1 y
1.2
1.3
1.4
1.5
1.6
1.6.3 OpenStack Python APIs 34
2.1
2.2 Th
2.1.1
2.1.2
2.1.3
Trang 5
3.2
3.3
3.4
85
A 85
B
C
89
90
Trang 8IaaS Infrastructure as a Service
PaaS Platform as a Service
SaaS Software as a Service
GUI Graphical User Interface:
DHCP Dynamic Host Configuration Protocol
API Application Programming Interface
HTML HyperText Markup Language
FTP File Transfer Protocol
LAMP Linux OS, Apache HTTP Server, MySQL, PHP
Trang 12Th còn
là:
(Virtualization),
Khi các
Trang 14: Trong chương 1 tác giả sẽ giới thiệu tổng quan về điện toán đám mây, phân
loại, các lợi ích và xu hướng của điện toán đám mây để từ đó nêu ra mục đích của
luận văn, đưa ra các hướng giải pháp, ứng dụng Giới thiệu các công nghệ sử dụng
trong luận văn
Trang 15Hình 1.1 Mô hình điện toán đám mây
p
Trang 16
Hình 1.2 Mô hình công nghệ ảo hóa
Trang 19Hình 1.4 Dashboard của Windows Azure
lên
[4]
App Engine, Windows Azure (Microsoft), Heroku
Trang 20
Hình 1.5 Giao diện Dashboard của Heroku
SaaS dùng,
dùng
là
Trang 22Hình 1.7 Mô hình dịch vụ điện toán đám mây
Trang 23Hình 1.8 Đám mây riêng (Private cloud)
Trang 24- ây lai (Hybrid cloud): l
Hình 1.10 Đám mây lai (Hybrid cloud)
Trang 25Hình 1.11 Đám mây cộng đồng (Community cloud)
Trang 26o :
D
tài
Trang 27: Sun Microsystems, HP, IBM, Intel, Cisco và Microso
Electric, L'Oréal, Procter & Gamble,
Trang 29
nhau
Trang 31
2) IaaS
OpenStack Python APIs
, 1.6
Trang 321
page navigationaccessibility)
Hình 1.12 Vòng đời của ứng dụng JavaServer Faces
* Bước 1 - Restore View: h
Trang 33* Bước 2 - Apply Request Values: m
ubmit) request Quá
* Bước 3 - Process Validation:
* Bước 4 - Update Model Values: b
* Bước 5 - Invoke Application: b
Trang 34Apache 2.0
Hình 1.13 Nền tảng OpenStack
Hình 1.14 Sự ra đời của OpenStack
Trang 35Hình 1.15 Các phiên bản của OpenStack
:
Hình 1.16 Các thành phần của OpenStack
Trang 36- Image Service (Glance): d
Telemetry service (Ceilometer): cung
Orchestration service (Heat): c
Trang 371.6.3 OpenStack Python APIs
Trang 38import novaclient.v1_1.client as nvclient
from credentials import get_nova_creds
Trang 39instance = nova.servers.create(name="test", image=image,
nova.servers.create(name="test", image=image,
flavor=flavor, key_name="mykey")
Trang 40C 2: Chương 2 tác giả tiếp cận những yêu cầu dưới góc nhìn kỹ thuật, tiến hành
phân tích yêu cầu một nền tảng PaaS cần cung cấp, từ đó xác định giải pháp của
hệ thống mà tác giả đề xuất, thiết kế tổng thể các mô hình kiến trúc, thiết kế dữ ,
liệu và chi tiết các chức năng
2.1
aaS
Trang 44:
o
python-keystoneclient
o Tài nguyên Networking:
Trang 46
Images, Flavors, Keypairs, Instances
Trang 47
T
Trang 49
Trang 50
Trang 51 Đăng ký tài khoản
Trang 53STT Tên b ng Mô t
danh sách tên các h u hành, tên các
u hành, flavors, a ch ip, keypai
ue
P/F Key
Trang 54STT
Ki u d li
Trang 55SEC_HOSTING
dài Nullable Unique
P/F Key
Trang 56SEC_SERVICE
STT
Ki u d li
http://172.16.69.131:8080/NuceStack/
faces/register.xhtml
Trang 57Logout
Trang 58Change password
công
Trang 61: Sau khi phân tích thiết kế hệ thống, làm rõ những chức năng cần cung cấp
cho người sử dụng Tác giả tiến hành cài đặt hạ tầng IaaS, xây dựng giải pháp
dịch vụ nền tảng PaaS, thử nghiệm triển khai trên hạ tầng đã cài đặt và đánh giá
hiệu năng khởi tạo máy ảo theo yêu cầu người sử dụng
o VMware Workstation Pro 12
o Ubuntu Server 14.04, JDK 8, Apache Tomat 7, MySQL 5.6, phpmyadmin 4.0,
Python 3.5
o
Memory 4GB
Processors 2 nhân
Hard Disk (SCSI) 60GB
Network Adapter: NAT, VMNet1
Trang 63Hình 3.1 Sơ đồ mô tả quy trình khởi tạo máy ảo theo cấu hình người sử dụng
m
Thông báo thành
d
IP hosting novaclient
flavor, tên keypair
Trang 67o
install.sh
String command = "/home/ubuntu/wp shell install.sh";-
-Channel channel = session.open-Channel("exec");
((ChannelExec) channel).setCommand("sh " + command);
Trang 68Hình 3.2 Đăng ký tài khoản người dùng
-
Mô tả:
Hình 3.3 Đăng nhập hệ thống
-
Trang 69Mô tả:
Hình 3.4 Giao diện Dashboard quản lý và khởi tạo hosting
Hình 3.5 Lựa chọn nền tảng triển khai
Trang 70Hình 3.6 Cấu hình thông tin hosting
Hình 3.7 Tích hợp phần mềm dịch vụ
Trang 71-
Mô tả:
Hình 3.8 Quản lý hosting
Trang 723.2 S
o Memory 4GB
o Processors 2 nhân
o Hard Disk (SCSI) 60GB
o Network Adapter: NAT, VMNet1
o
http://172.16.69.131/dashboard
Trang 73o Tên router: Router_nuce
o Interfaces: router_interface (192.168.10.1), router_gateway (172.16.69.172)
Trang 74Hình 3.10 Network Topology Hình 3.10
ra ngoài
-
-
Trang 75Hình 3.11 Giao diện quản lý nhóm quyền cho các instances
:
Trang 76Hình 3.12 Giao diện tạo mới một flavor Trên hình 3.12
-
172.16.69.131/NuceStack
Trang 77
hình
sudo apt get update
-sudo apt get install netcat traditional-
Trang 78sudo apt-get insta
sudo apache2 mysql-server ph
Trang 80Hình 3.13 Danh sách các images và snapshots
ubuntu_vm2016
Trang 81image = nova.images.find(name="ubuntu_vm2016")
:
nh công thông qua image ubuntu vàcài đặt hệ điều hành, hệ điều hành tích hợp các dịch vụ nền tảng PHP LAMP, và
tích hợp LAMP+CMS Wordpress
o Memory 4GB
o Processors 2 nhân
o Hard Disk (SCSI) 60GB
o Network Adapter: NAT, VMNet1
Trang 83sudo apt-get update
sudo apt-get install php5-gd libssh2-php
Trang 85Hình 3.16 Giao diện cms wordpress sau khi cài đặt thành công
ot ,
Lý do là
Trang 86
Hình 3.17 Biểu đồ so sánh hiệu năng khởi tạo máy ảo sử dụng snapshot và shell script
17
Trang 87Hình 3.18 Giao diện PHP MyAdmin trên máy ảo sau khi khởi tạo
Trang 88A
đá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
,
Trang 90Python APIs, OpenNebuala API)
Trang 91
framework
Trang 921 National Institute of Standards and Technology, Peter Mell, Timothy Grance
“The NIST Definition of Cloud Computing” 2011
2 Rackspace “Understanding the Cloud Computing Stack SaaS, PaaS, IaaS”
2011
3 Intel IT Center “Platform as a Service”, Increasing Cloud Adoption by Giving
Developers the Key to Cloud-Awave Development August 2013
4 Kevin L.Jackson, Cary Landis “Platform as a Service” January 2012
5 Tom Fifield, Diane Fleming, Anne Gentle, Lorin Hochstein, Jonathan Proulx,
Everett Toews & Joe Topjian “OpenStack Operations Guide” 2014
6 CERN, Belmiro Moreira “OpenStack Straining”, April 2014
7 IBM, Lorin Hochstein “Python APIs: The best kept secret of OpenStack”, - 19
June 2013
9 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
Trang 93tại:https://github.com/vietstacker/devstack note
thành phần sau:
Cấu hình network gồm:
Public:
Cung cấp dải địa chỉ IP cho các instances kết nối ra môi
trường internet cho các máy ảo, thông số cấu hình như
-Cung cấp dải ip tĩnh cho các instances liên lạc nội bộ
với nhau, thông số cấu hình như sau:
Trang 94Subnet name: sub internal
Bộ định tuyến thiết bị định tuyến, giúp chia sẻ internet
router_gateway (172.16.69.172)
Khởi tạo các Flavors và upload các Images hệ điều hành.
Cấp quyền cho các instances:
đăng nhập vào hệ điều hành máy ảo bằng keypair sau khi
Trang 95Thiết lập tài khoản FTP cho ubuntu server, tham khảo
-ubuntu 14 04 vsftpd/
-Triển khai trên hạ tầng IaaS đã cài đặt
Sau khi lập trình build ứng dụng chúng ta được gói war
(sử dụng FTP để upload file)
cập ứng dụng tại địa chỉ:
http://ip-address:port/Nucestack
Một vài lưu ý:
- Gọi và thực thi python file (credentials.py) để khởi
tạo máy ảo: Sử dụng phương thức createVMUbuntu() tại
file PlatformBean.java
-cms wordpress sau khi khởi tạo máy ảo thành công: Sử
dụng phương thức installWP(String ip) tại file
PlatformBean.java
ảo đã được khởi tạo thành công, dùng để tạo snapshot sử
dụng dashboard