Application lớp ứng dụng: Lớp ứng dụng của điện toán đám mây làm nhiệm vụ phân phối phần mềm như một dịch vụ thông qua Internet, người dùng không cần phải cài đặt và chạy các ứng dụng đ
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
NGƯỜI HƯỚNG DẪN KHOA HỌC
TS TRẦN HOÀNG HẢI
HÀ NỘI - 2017
Trang 2MỤC LỤC
MỤC LỤC i
LỜI CẢM ƠN iii
LỜI CAM ĐOAN iv
TÓM TẮT LUẬN VĂN v
DANH MỤC TỪ VIẾT TẮT vi
DANH MỤC HÌNH VẼ vii
MỞ ĐẦU ix
CHƯƠNG 1 TỔNG QUAN VỀ ĐIỆN TOÁN ĐÁM MÂY 1
1.1 Giới thiệu chung 1
1.2 Đặc điểm của điện toán đám mây 2
1.3 Cấu trúc của điện toán đám mây: 2
1.4 Các mô hình hạ tầng điện toán đám mây 4
1.4.1 Đám mây công cộng (Public Cloud) 4
1.4.2 Đám mây riêng (Private Cloud) 5
1.4.3 Đám mây lai (Hybrid Cloud) 5
1.4.4 Đám mây cộng đồng (Community Cloud) 6
1.5 Điện toán đám mây và điện toán truyền thống 7
1.6 Lợi ích của điện toán đám mây 8
1.7 Các vấn đề bảo mật trong điện toán đám mây 8
1.8 Các mô hình dịch vụ điện toán đám mây 9
1.8.1 Cơ sở hạ tầng là dịch vụ (IaaS) 10
1.8.2 Nền tảng là dịch vụ (PaaS) 11
1.8.3 Phần mềm là dịch vụ (SaaS) 12
1.9 Ưu và nhược điểm của điện toán đám mây 12
1.9.1 Ưu điểm 12
1.9.2 Nhược điểm 13
1.10 Các nhà cung cấp dịch vụ Cloud 15
1.10.1 Các nhà cung cấp dịch vụ điện toán đám mây 15
1.10.2 Các dịch vụ lưu trữ đám mây 16
CHƯƠNG 2 ĐIỆN TOÁN ĐÁM MÂY IBM BLUEMIX 18
2.1 Tổng quan về IBM Bluemix 18
2.1.1 Khái niệm 18
2.1.2 Tính năng và lợi ích của IBM Bluemix 19
2.1.3 Các đối tượng sử dụng của IBM Bluemix 19
2.2 Kiến trúc của IBM Bluemix 20
2.2.1 Bluemix Public 20
2.2.2 Cách thức hoạt động của IBM bluemix 22
2.2.3 Khả năng phục hồi của Bluemix 24
Trang 32.2.4 Bluemix Dedicated 25
2.2.5 Cơ chế bảo mật của Blemix Platform 25
2.3 So sánh IBM Bluemix với các nền tảng tương tự khác 27
2.3.1 Amazon Web services 27
2.3.2 Microsoft Azuse 28
2.3.3 Các dịch vụ IBM Bluemix cung cấp 28
CHƯƠNG 3 GIỚI THIỆU KIẾN TRÚC MICROSERVICES VÀ DEVOPS 29
3.1 Microservices 29
3.1.1 Kiến trúc một khối (Monolithic Applications) 29
3.1.2 Kiến trúc Microservices 30
3.1.3 Xây dựng Microservices: Sử dụng cổng kết nối API (API Gateway) 33
3.2 DevOps 37
3.2.1 Tổng quan DevOps 37
3.2.2 Mối quan hệ của DevOps với Agile và tích hợp/phân phối liên tục CI/CD 39
3.2.4 Mục tiêu và lợi ích của DevOps 41
CHƯƠNG 4 XÂY DỰNG ỨNG DỤNG ĐẶT LỊCH HỌC CHO SINH VIÊN ÁP DỤNG MICROSERVICES VÀ DEVOPS TRÊN NỀN TẢNG IBM BLUEMIX 43
4.1 DevOps Services của IBM Bluemix 43
4.1.1 Giới thiệu DevOps Services của IBM Bluemix 43
4.1.2 Tạo và quản lý project với DevOps Services 44
4.2 Xây dựng phần mềm đặt lịch học cho sinh viên áp dụng microservices trên nền tảng IBM Bluemix 48
4.2.1 Mô tả 48
4.2.2 Yêu cầu chức năng của hệ thống 48
4.2.3 Phân tích thiết kế hệ thống áp dụng microservices 49
4.3 Đánh giá kết quả 55
KẾT LUẬN 56
TÀI LIỆU THAM KHẢO 57
Trang 4LỜI CẢM ƠN
Tôi xin tỏ lòng kính trọng và biết ơn sâu sắc đối với thầy TS Trần Hoàng Hải đã giành nhiều thời gian tâm huyết hướng dẫn chỉ bảo giúp em hoàn thành luận văn này Tiếp theo, tôi xin cảm ơn các Thầy, Cô trong Viện Công nghệ thông tin và Truyền thông, Đại học Bách khoa Hà Nội đã nhiê ̣t tı̀nh giảng dạy, truyền đạt kiến thức cho em trong suốt thời gian qua
Tôi cũng xin chân thành biết ơn tới Lãnh đạo viện Công nghệ thông tin và truyền thông - Trường Đại học Bách khoa Hà Nội đã nhiệt tình truyền đạt giúp đỡ em trong suốt thời gian qua
Cuối cùng, em xin cảm ơn tới gia đình, bạn bè đã tạo cơ hội và điều kiện thuận lợi nhất giúp em toàn tâm toàn ý thực hiện luận văn này
Xin chân thành cảm ơn
Hà nội, tháng 4 năm 2017
Học viên
Nguyễn Bá Thanh
Trang 5LỜI CAM ĐOAN
Tôi xin cam đoan luận văn Thạc sĩ “Tìm hiểu nền tảng Điện toán đám mây IBM
Bluemix” là công trình nghiên cứu của cá nhân tôi Các số liệu, kết quả nêu trong luận văn
là trung thực rõ ràng Các tài liệu tham khảo, nội dung trích dẫn đã ghi rõ nguồn gốc
Hà nội, tháng 4 năm 2017
Học viên
Nguyễn Bá Thanh
Trang 6TÓM TẮT LUẬN VĂN
Trong thời đại bùng nổ thông tin như hiện nay, nhu cầu phát triển phầm mềm cũng như, nhu cầu phát triển phầm mềm của cá nhân cũng dư doanh nghiệp tăng cao Theo đó cũng có rất nhiều nhà đơn vị cung cấp dịch vụ hạ tầng phát triển ứng dụng, tuy nhiên việc phát triển phần mềm, xây dựng, triển khai và chạy ứng dụng luôn là một vấn đề lớn đối với các nhà phát triển Để giải quyết bài toán này đồ án tập trung trình bày vào các nội dung chính sau:
- Tìm hiểu cơ bản về điện toán đám mây
- Tìm hiểu về IBM Bluemix
- Tìm hiểu về Microservices và DevOps
- Xây dựng ứng dụng đặt lịch học cho sinh viên ứng dụng Microservices, Devops triển khai trên IBM Bluemix
Trang 7DANH MU ̣C TỪ VIẾT TẮT
Từ viết
API Application Programming Interface Giao diê ̣n lâ ̣p trı̀nh ứng du ̣ng
phần mềm
lượng
Trang 8DANH MU ̣C HÌNH VẼ
Hình 1 Mô hình Cloud Computing 1
Hình 2 Cấu trúc của điện toán đám mây 3
Hình 3 Mô hình đám mây công cộng 4
Hình 4 Mô hình đám mây riêng 5
Hình 5 Mô hình đám mây lai 6
Hình 6 Mô hình đám mây cộng đồng 7
Hình 7 Các mô hình dịch vụ điện toán đám mây 10
Hình 8 Mối quan hệ giữa các máy ảo, trình siêu giám sát và máy tính 11
Hình 9 Các nhà cung cấp dịch vụ điện toán đám mây 15
Hình 10 Mô hình kiến trúc IBM Bluemix 21
Hình 11 Triển khai ứng dụng tại nhiều khu vực khác nhau 22
Hình 12 Triển khai ứng dụng 23
Hình 13 Thiết kế của một máy chủ ảo 23
Hình 14 Gọi một ứng dụng Bluemix 24
Hình 15 Chi tiết sơ đồ IBM Bluemix Dedicated 25
Hình 16 Thị phần top 5 nhà cung cấp điện toán đám mây năm 2015 27
Hình 17 Kiến trúc một khối (Monolithic Applications) 29
Hình 18 Sự phân tách một mô hình hệ thống của một công ty điều hành taxi (Uber) 31
Hình 19 Ứng dụng di động Amazon 34
Hình 20 Mobile client gửi các REST đến các dịch vụ nhỏ 35
Hình 21 Sơ đồi API Gateway 36
Hình 22 DevOps là giao thoa giữa 3 bên 38
Hình 23 Minh họa các giai đoạn (stages) của DevOps 39
Hình 24 Continuous Integration (CI) 40
Hình 25 Nguyên tắc của phân phối liên tục CD 41
Hình 26 Giao diện Devops của IBM Bluemix 43
Hình 27 Khởi tạo project 44
Hình 28 Các lựa chọn khởi tạo DevOps 44
Hình 29 Ứng dụng đã được khởi tạo GIT URL 45
Hình 30 Màn hình chính project của IBM Bluemix DevOps Services 45
Trang 9Hình 31 Mời thành viên tham gia nhóm 46
Hình 32 Giao diện Edit Code 46
Hình 33 Commit và push code đã sửa 47
Hình 34 Sprint lanning trong Track & Plan 47
Hình 35 Build & Deploy project 48
Hình 36 Biểu đồ lớp 50
Hình 37 Sơ đồ Api phần mềm đặt lịch học cho sinh viên 51
Hình 38 Code phần back-end trên hệ thống 52
Hình 39 File Docker file 52
Hình 40 File Dockerfile.bk 52
Hình 41 File Docker-compose.yml 53
Hình 42 Các Container đã được push lên hệ thống 53
Hình 43 Giao diện đăng nhập User và admin 54
Hình 44 Giao diện quản lý của Admin 54
Hình 45 Giao diện đăng ký lớp học của sinh viên 55
Trang 10MỞ ĐẦU
1 Lý do lựa chọn đề tài
Ngày nay trên các loại phương tiện thông tin đại chúng và mạng internet, ta thường
được nghe nói về một khại niệm rất mới mẻ, đó là “Điện toán đám mây” (Cloud
computing) Mặc dù điện toán đám mây chỉ là một cách khách để cung cấp các tài nguyên máy tính, chứ không phải là một công nghệ mới, nhưng nó đã châm ngòi cho một cuộc cách mạng trong cách thức cung cấp thông tin và dịch vụ của các tổ chức Điện toán đám mây hứa hẹn sẽ mang đến một cuộc cách mạng về công nghệ và kinh doanh bằng cách hỗ trợ các dịch vụ có sẵn qua Internet
Bluemix là giải pháp điện toán đám mây mới nhất của IBM (PaaS của IBM) Đây là nền tảng được xây dựng dựa trên chuẩn mở, chạy trên đám mây với mục tiêu giúp nhà phát triển phần mềm xậy dựng, quản lý, triển khai và chạy các ứng dụng trong thời gian ngắn nhất
Để có thể nắm bắt được xu hướng mới của công nghệ cũng như đưa ra một cách tổng quan nhất về công nghệ Điện toán đám mây nói chung và nền tảng IBM Bluemix nói riêng
Vì vậy tôi đã lựa chọn đề tài “Tìm hiểu nền tảng Điện toán đám mây IBM Bluemix”
2 Mục tiêu của đề tài
Đề tài tập trung nghiên cứu về nền tảng điện toán đám mây nói chung và IBM Bluemix nói riêng Qua đó áp dụng xây dựng phần mềm đặt lịch học cho sinh viên và triển khai trên nền tảng IBM Bluemix Để đạt được mục tiêu đó, đồ án tập trung làm rõ các nội dung chính sau:
- Tìm hiểu tổng quan về điện toán đám mây
- Tìm hiểu về IBM Bluemix
- Tìm hiểu về Microservices, DevOps
- Áp dụng microservices và DevOps triển khai phần mềm đặt lịch học cho sinh viên trên IBM Bluemix
3 Phương pháp nghiên cứu
3.1 Phương pháp nghiên cứu lý thuyết
Tổng hợp các kiến thức nghiên cứu từ các nguồn tài liệu khác nhau: Các tài liệu chuyên ngành, các bài báo khoa học, các bản sách điện tử, luận văn chuyện ngành
3.2 Phương pháp thử nghiệm
Áp dụng mô hình microservices và Devops, triển khai ứng dụng đặt lịch học cho sinh viên trên nền tảng IBM Bluemix
Trang 114 Kết quả
Triển khai phát triển phầm mềm đặt lịch học cho sinh viên áp dụng Microservices chạy trên nền tảng IBM Bluemix đưa ra được những tính năng mà IBM Bluemix cung cấp cho người dùng Qua đó đưa ra được cách thức triển khai phần mềm, sự an toàn bảo mật trên IBM Bluemix chính là điều mà các nhà phát triển quan tâm
5 Bố cục của đồ án
Đồ án được chia làm 4 chương với nội dung cụ thể như sau:
Chương 1: Tìm hiểu tổng quan về điện toán đám mây
Chương này trình bày về kiến thức cơ bản của điện toán đám mây: định nghĩa, các đặc điểm, các mô hình dịch vụ, mô hình triển khai, các kiến trúc của điện toán đám mây Việc tìm hiểu này giúp hiểu được về nền tảng của đám mây IBM Bluemix
Chương 2: Điện toán đám mây IBM Bluemix
Chương này trình bày về nền tảng điện toán đám mây IBM Bluemix: Các khải niệm, tính năng, kiến trúc của IBM Bluemix
Chương 3: Giới thiệu kiến trúc Micrtoservices và DevOps
Chương này giới thiệu về kiến trúc, các đặc tính của Microservices và DevOps
Chương 4: Xây dựng ứng dụng đặt lịch học cho sinh viên áp dụng Microservices và DevOps trên nền tảng IBM bluemix
Chương này áp dụng Microservices và IBM DevOps để xây dựng trang web đặt lịch học cho sinh viên
Trang 12CHƯƠNG 1 TỔNG QUAN VỀ ĐIỆN TOÁN ĐÁM MÂY
1.1 Giới thiệu chung
Điện toán đám mây là một giải pháp toàn diện cung cấp công nghệ thông tin như một dịch vụ Nó là một giải pháp điện toán dựa trên Internet ở đó cung cấp tài nguyên chia sẻ giống như dòng điện được phân phối trên lưới điện Các máy tính trong các đám mây được cấu hình để làm việc cùng nhau và các ứng dụng khác nhau sử dụng sức mạnh điện toán tập hợp cứ như thể là chúng đang chạy trên một hệ thống duy nhất
Tính linh hoạt của điện toán đám mây là một chức năng phân phát tài nguyên theo yêu cầu Điều này tạo điều kiện thuận lợi cho việc sử dụng các tài nguyên tích lũy của hệ thống, phủ nhận sự cần thiết phải chỉ định phần cứng cụ thể cho một nhiệm vụ Trước điện toán đám mây, các trang web và các ứng dụng dựa trên máy chủ đã được thi hành trên một
hệ thống cụ thể Với sự ra đời của điện toán đám mây, các tài nguyên được sử dụng như một máy tính gộp ảo Cấu hình hợp nhất này cung cấp một môi trường ở đó các ứng dụng thực hiện một cách độc lập mà không quan tâm đến bất kỳ cấu hình cụ thể nào [1]
Điện toán đám mây là các nguồn điện toán khổng lồ như phần mềm, dịch vụ… sẽ nằm tại các máy chủ ảo (đám mây) trên mạng Internet thay vì nằm trong máy tính gia đình
và văn phòng (trên mặt đất) để mọi người kết nối và sử dụng mỗi khi họ cần Với các dịch
vụ sẵn có trên Internet, doanh nghiệp không phải mua và duy trì hàng trăm, thậm chí hàng nghìn máy tính cũng như các phần mềm đi kèm Họ chỉ cần tập trung sản xuất bởi đã có người khác lo cơ sở hạ tầng và công nghệ thay họ Khi đó, con người có thể truy cập đến bất kỳ tài nguyên nào tồn tại trong đám mây tại bất kỳ thời điểm nào và từ bất kỳ đâu thông qua hệ thống Internet
Hình 1 Mô hình Cloud Computing
Trang 13Trước đây, để có thể triển khai một ứng dụng chúng ta phải đi mua (hoặc thuê) một hay nhiều máy chủ, sau đó đặt máy chủ tại các trung tâm dữ liệu thì nay điện toán đám mây cho phép chúng ta giản lược quá trình mua (hoặc thuê) mà chúng ta chỉ cần nêu ra yêu cầu của mình, hệ thống sẽ tự động gom nhặt các tài nguyên rỗi để sẵn sàng đáp ứng mọi yêu cầu cần thiết cho ứng dụng
1.2 Đặc điểm của điện toán đám mây
Điện toán đám mây có các đặc điểm sau [2]:
Tính tự phục vụ theo yêu cầu: Đặc tính kỹ thuật của điện toán đám mây cho phép
khách hàng thiết lập các yêu cầu về nguồn lực nhằm đáp ứng yêu cầu của hệ thống như: thời gian sử dụng máy chủ, dung lượng lưu trữ, cũng như là khả năng đáp ứng các tương tác lớn của hệ thống ra bên ngoài
Có khả năng truy cập diện rộng: Điện toán đám mây cung cấp các dịch vụ chạy trên
môi trường Internet do vậy khách hàng chỉ cần kết nối được với Internet là có thể sử dụng được dịch vụ Các thiết bị truy xuất thông tin không yêu cầu cấu hình cao như: Mobile phone, Laptop và PDAs…
Tài nguyên tập trung: Tài nguyên của nhà cung cấp dịch vụ được dùng chung, phục
vụ cho nhiều người dùng dựa trên mô hình “multi - tenant” Mô hình này cho phép tài
nguyên phần cứng và tài nguyên ảo hóa sẽ được cấp phát động dựa vào nhu cầu của người dùng Khi nhu cầu người dùng giảm xuống hoặc tăng nên thì tài nguyên sẽ được trưng dụng để phục vụ yêu cầu Người sử dụng không cần quan tâm tới việc điều khiển hoặc không cần phải biết chính xác vị trí của các tài nguyên sẽ được cung cấp Tài nguyên sẽ được cung cấp bao gồm: tài nguyên lưu trữ, xử lý, bộ nhớ, băng thông mạng và máy ảo
Có tính mềm dẻo: Khả năng này cho phép tự động mở rộng hoặc thu nhỏ hệ thống
tùy theo nhu cầu của người sử dụng một cách nhanh chóng Khi nhu cầu tăng, hệ thống sẽ
tự động mở rộng bằng cách thêm tài nguyên vào Khi nhu cầu giảm, hệ thống sẽ tự động giảm bớt tài nguyên Khả năng co giãn giúp cho nhà cung cấp sử dụng tài nguyên hiệu quả, tận dụng triệt để tài nguyên dư thừa, phục vụ được nhiều khách hàng Đối với người sử dụng dịch vụ, khả năng co giãn giúp họ giảm chi phí do họ chỉ trả phí cho những tài nguyên thực sự dùng
Tính kiểm soát được của dịch vụ: Nhiều dịch vụ điện toán đám mây sử dụng mô hình
điện toán theo nhu cầu, một số khác lại dựa vào thuê bao chi phí sử dụng Điện toán đám mây cho phép giới hạn dung lượng lưu trữ, băng thông, tài nguyên máy tính và số lượng người dùng kích hoạt theo tháng
1.3 Cấu trúc của điện toán đám mây
Trang 14Hình 2 Cấu trúc của điện toán đám mây
Về cơ bản, điện toán đám mây được chia ra làm năm lớp riêng biệt, có tác động qua lại lẫn nhau:
Client (lớp khách hàng): Lớp khách hàng của điện toán đám mây bao gồm phần cứng
và phần mềm, dựa vào đó khách hàng có thể truy cập và sử dụng các ứng dụng hoặc các dịch vụ được “đám mây” cung cấp
Application (lớp ứng dụng): Lớp ứng dụng của điện toán đám mây làm nhiệm vụ
phân phối phần mềm như một dịch vụ thông qua Internet, người dùng không cần phải cài đặt và chạy các ứng dụng đó trên máy tính của mình, các ứng dụng dễ dàng được chỉnh sửa và người dùng cũng dễ dàng nhận được sự hỗ trợ
Các hoạt động được quản lý tại trung tâm của đám mây chứ không nằm ở phía khách hàng (lớp client), cho phép khách hàng truy cập các ứng dụng từ xa thông qua website Lúc này, khách hàng không còn cần thực hiện các tính năng như cập nhật phiên bản mới, bản vá lỗi, download phiên bản mới… bởi chúng sẽ được thực hiện từ các đám mây
Platform (lớp nền tảng): Cung cấp nền tảng cho điện toán và các giải pháp của dịch
vụ, chi phối đến cấu trúc hạ tầng của đám mây và điểm tựa cho lớp ứng dụng, cho phép các ứng dụng chạy trên nền tảng đó Nó giảm nhẹ sự tốn kém khi triển khai các ứng dụng
do người dùng không phải trang bị cơ sở hạ tầng (phần cứng và phần mềm) của riêng mình
Infrastructure (lớp cơ sở hạ tầng): Cung cấp hạ tầng máy tính, tiêu biểu là môi
trường ảo hóa Thay vì khách hàng phải bỏ tiền ra mua các server, phần mềm, trung tâm
dữ liệu hoặc thiết bị kết nối… giờ đây, họ vẫn có thể có đầy đủ tài nguyên để sử dụng mà
Trang 15chi phí được giảm thiểu, thậm chí là miễn phí Đây là một bước tiến hóa của mô hình máy chủ ảo (Vitual Private Server)
Server (lớp máy chủ): gồm các sản phẩm phần cứng và phần mềm máy tính, được
thiết kế và xây dựng đặc biệt để cung cấp dịch vụ của đám mây Các server phải được xây dựng và có cấu hình đủ mạnh để đáp ứng nhu cầu sử dụng của số lượng đông đảo các người dùng và các nhu cầu ngày càng cao của họ
1.4 Các mô hình hạ tầng điện toán đám mây
Có 4 mô hình triển khai chính đó là: Đám mây công cộng (Public Cloud), đám mây riêng (Private Cloud) , đám mây lai (Hybrid Cloud) và đám mây cộng đồng (Community
Cloud) [4, 5]
1.4.1 Đám mây công cộng (Public Cloud)
Các dịch vụ Cloud được nhà cung cấp dịch vụ cung cấp cho mọi người sử dụng rộng rãi Các dịch vụ được cung cấp và quản lý bởi một nhà cung cấp dịch vụ và các ứng dụng của người dùng đều nằm trên hệ thống Cloud
Các tài nguyên trong đám mây sẽ được cấp phát động, Các dịch vụ được cung cấp thông qua môi trường internet Khách hàng sử dụng dịch vụ sẽ được lợi là chi phí đầu tư thấp, giảm thiểu rủi ro do nhà cung cấp dịch vụ đã gánh vác nhiệm vụ quản lý hệ thống,
cơ sở hạ tầng, bảo mật ngoài ra đám mây công cộng còn cung cấp khả năng co giãn theo yêu cầu của người sử dụng
Hình 3 Mô hình đám mây công cộng
Public Cloud có một trở ngại, đó là vấn đề mất kiểm soát về dữ liệu và vấn đề an toàn
dữ liệu Trong mô hình này mọi dữ liệu đều nằm trên dịch vụ Cloud, do nhà cung cấp dịch
vụ Cloud đó bảo vệ và quản lý Chính điều này khiến cho khách hàng, nhất là các công ty lớn cảm thấy không an toàn đối với những dữ liệu quan trọng của mình khi sử dụng dịch
vụ Cloud
Trang 16Ưu điểm:
- Phục vụ được nhiều người dùng hơn, không bị giới hạn bởi không gian và thời gian
- Tiết kiệm hệ thống máy chủ, điện năng và nhân công cho doanh nghiệp
Nhược điểm:
- Các doanh nghiệp phụ thuộc vào nhà cung cấp, không có toàn quyền quản lý
- Gặp khó khăn trong việc lưu trữ các văn bản, thông tin nội bộ
1.4.2 Đám mây riêng (Private Cloud)
Đám mây riêng và các đám mây nội bộ là thuật ngữ được sử dụng để cập đến điện toán đám mây chạy trên mạng riêng Trong đó sử dụng thế mạnh của công nghệ ảo hóa để thực hiện việc quản lý các tài nguyên, cơ sở hạ tầng và các dịch vụ trong đám mây riêng được xây dựng để phục vụ cho một tổ chức (doanh nghiệp) duy nhất Điều này giúp cho doanh nghiệp có thể chủ động kiểm soát tối đa đối với dữ liệu, bảo mật và chất lượng dịch
vụ Doanh nghiệp sở hữu cơ sở hạ tầng và quản lý các ứng dụng được triển khai trên đó
Hình 4 Mô hình đám mây riêng
Đám mây riêng có thể được xây dựng và quản lý bởi chính đội ngũ IT của doanh nghiệp hoặc có thể thuê một nhà cung cấp dịch vụ đảm nhiệm công việc này
Ưu điểm:
- Chủ động sử dụng, nâng cấp, quản lý, giảm chi phí, bảo mật tốt…
Nhược điểm:
- Khó khăn về công nghệ khi triển khai và chi phí xây dựng, duy trì hệ thống
- Chỉ sử dụng trong nội bộ doanh nghiệp, người dùng ở ngoài không thể sử dụng
1.4.3 Đám mây lai (Hybrid Cloud)
Ý tưởng hình thành của đám mây lai đó là việc triển khai đám mây dựa trên ưu điểm của đám mây riêng và đám mây công cộng Với đám mây công cộng dễ áp dụng, chi phí
Trang 17thấp nhưng không an toàn Ngược lại, Private Cloud an toàn hơn nhưng tốn chi phí và khó
Ưu điểm:
- Doanh nghiệp 1 lúc có thể sử dụng được nhiều dịch vụ mà không bị giới hạn Nhược điểm:
- Khó khăn trong việc triển khai và quản lý, tốn nhiều chi phí
1.4.4 Đám mây cộng đồng (Community Cloud)
Đám mây cộng đồng được xây dựng nhằm mục đích chia sẻ hạ tầng giữa các tổ chức (doanh nghiệp) Ví dụ các doanh nghiệp hoạt động trong cùng lĩnh vực y tế có thể chia sẻ chung đám mây Tuy nhiên để xây dựng đám mây công đồng thì ngoài việc cùng chung lĩnh vực hoạt động kinh doanh thì các doanh nghiệp cần phải có nhiều điểm tương đồng như có cùng mối quan tâm chung về bảo mật, …Khi đó các doanh nghiệp này sẽ nhóm họp nhau lại để cùng xây dụng đám mây cộng đồng chung nhằm phục vụ cho chính các doanh nghiệp của họ
Trang 18- Thiết lập, chạy và điều hành điện đám mây cộng đồng một chút giống như điều hành bệnh viện, trường học vì vậy chắc hẳn sẽ xuất hiện những vấn đề và những rủi ro, người điều hành cần phải có một kế hoạch cụ thể nhằm giảm thiểu và xử lý những vấn đề phát sinh gặp phải
- Quá trình xây dựng và triển khai đám mây cộng đồng là tốn kém hơn nhưng nó đáp ứng được sự riêng tư, an ninh và có thể thiết lập các quy tắc để tuân thủ các chính sách thực hiện quản lý đám mây giữa các doanh nghiệp
1.5 Điện toán đám mây và điện toán truyền thống
Trong mô hình điện toán truyền thống, các cá nhân, doanh nghiệp sẽ xây dựng riêng
cơ sở hạ tầng kỹ thuật để tự cung cấp các dịch vụ cho các hoạt động thông tin đặc thù của mình Với mô hình này, mọi thông tin sẽ được lưu trữ, xử lý nội bộ và họ sẽ trả tiền để
Trang 19triển khai, duy trì cơ sở hạ tầng đó (mua thiết bị phần cứng, phần mềm chuyên dụng, trả lương cho bộ phận điều hành )
Khác với mô hình điện toán truyền thống, điện toán đám mây lưu trữ và xử lý toàn
bộ thông tin trong đám mây Internet Mọi công nghệ, kỹ thuật, cơ sở hạ tầng cũng như chi phí triển khai trong đám mây sẽ do nhà cung cấp đảm bảo xây dựng và duy trì Do đó, thay
vì phải đầu tư từ đầu rất nhiều tiền cho chi phí xây dựng cơ sở hạ tầng riêng, các cá nhân, doanh nghiệp trong quá trình hoạt động sẽ chỉ phải trả số tiền vừa đủ theo nhu cầu sử dụng của mình
Như vậy, mô hình điện toán đám mây có rất nhiều lợi ích như:
- Sử dụng hợp lý nguồn vốn, điều hòa chi tiêu tính toán theo thực tế sử dụng
- Luôn hưởng năng suất tính toán theo cam kết của nhà cung cấp dịch vụ
- Tận dụng được sức mạnh của Internet và các siêu máy tính, giảm cơ bản trách nhiệm quản lý hệ thống CNTT nội bộ
1.6 Lợi ích của điện toán đám mây
Nói chung trong hầu hết các trường hợp, doanh nghiệp cần phải điều chỉnh lại chiến lược sử dụng hạ tầng công nghệ thông tin để giảm chi phí sản xuất, và một trong các xu hướng được tính đến là sử dụng mô hình điện toán đám mây với những lợi ích điển hình được liệt kê dưới đây:
Giảm chi phí: Mô hình điện toán đám mây có chi phí thấp hơn so với mô hình sử
dụng hạ tầng công nghệ thông tin truyền thống vì phí sử dụng được trả theo dịch vụ và thời gian, mà khách hàng không phải đầu tư quá nhiều vào cơ sở hạ tầng và giảm được chi phí vận hành và bảo trì Còn trong trường hợp mô hình điện toán riêng thì chi phí ban đầu và chi phí định kỳ thấp hơn nhiều so với mô hình hạ tầng công nghệ thông tin truyền thống
Tăng khả năng lưu trữ: Với cơ sở hạ tầng quy mô lớn được do nhà cung cấp mang
lại, việc lưu trữ và bảo trì khối lượng lớn dữ liệu có thể được tiến hành dễ dàng Việc tăng đột ngột khối lượng công việc cũng được xử lý hiệu quả, vì các đám mây có thể được mở rộng một cách dễ dàng và linh hoạt Khách hàng cũng không phải quan tâm đến các thay đổi trong công nghệ lưu trữ, điều mà trước kia có thể gây ra vấn đề khi có chuyển đổi lớn
về công nghệ và phương tiện lưu trữ đặc biệt đối với những khối lượng dữ liệu lớn
Tăng tính linh hoạt: Tính linh hoạt cao là một yêu cầu vô cùng quan trọng trong kinh
doanh Với các doanh nghiệp phải điều chỉnh nhanh khi điều kiện kinh doanh thay đổi, tốc
độ cung cấp dịch vụ là rất quan trọng Điện toán đám mây nhấn mạnh vào việc đưa các ứng dụng và sản phẩm ra thị trường một cách nhanh chóng, bằng cách sử dụng các modul xây dựng sẵn thích hợp nhất cho việc triển khai
1.7 Các vấn đề bảo mật trong điện toán đám mây
Trang 20Do điện toán đám mây được cấu thành từ nhiều thành phần khác nhau: máy chủ, lưu
trữ, mạng được ảo hóa, các thành phần quản lý - Cloud Management, nên vấn đề bảo mật
trên điện toán đám mây là một thách thức lớn Thành phần này sẽ quản lý tất cả các tài nguyên được ảo hóa và tạo ra các máy chủ ảo với hệ điều hành, ứng dụng phù hợp để cung cấp cho khách hàng Như vậy, điện toán mây là một mô hình lego với rất nhiều miếng ghép công nghệ tạo thành Mỗi một miếng ghép lại tồn tại trong nó những vấn đề bảo mật và vô hình chung, điện toán đám mây khi giải bài toán bảo mật tất yếu phải giải quyết các vấn
đề của những miếng ghép trên [6]
Một đánh giá khác từ Gartner về bảo mật trong điện toán mây năm 2009, có ba nhóm tính chất về bảo mật mà khách hàng sử dụng điện toán mây đòi hỏi nhà cung cấp dịch vụ giải đáp thỏa đáng:
Tính tin cậy (Confidentiality): Dữ liệu của khách hàng được bảo vệ như thế nào?
Ngoài khách hàng, dữ liệu đó có thể bị xem trộm bởi chính nhà cung cấp hay những khách hàng khác không? Các nhà cung cấp có đạt các chứng nhận của các tổ chức thứ ba đánh giá về bảo mật hay không?
Tính sẵn sàng (Availability): Ứng dụng cung cấp trên đám mây luôn sẵn sàng hay
không? Nếu xảy ra sự cố, thời gian khôi phục dịch vụ mất bao nhiêu thời gian? Nhà cung cấp dịch vụ có đủ tài chính để cung cấp lâu dài cho khách hàng? Chế độ bảo hiểm dữ liệu
ra sao nếu nhà cung cấp ngừng dịch vụ vì lý do tài chính?
Tính an ninh (Security): Ngoài các vấn đề, để phòng chống tấn công, nhà cung cấp
dịch vụ có minh bạch cung cấp hiện trạng phục vụ điều tra và thông tin đến các khách hàng không?
Đi sâu vào công nghệ, để giải quyết các vấn đề trên, nhà cung cấp dịch vụ điện toán mây phải xây dựng một chiến lược bảo mật qua nhiều lớp với nhiều công nghệ khác nhau
đi từ hạ tầng - phần cứng - phần mềm - ứng dụng - tính pháp lý… Các thành phần bảo mật này đảm bảo vận hành một cách đồng bộ với nhau, đem đến một hành lang bảo vệ cho ứng dụng và dữ liệu nhưng đồng thời không đem đến sự phức tạp, khó khăn cho hoat động sử dụng của khách hàng
1.8 Các mô hình dịch vụ điện toán đám mây
Các mô hình dịch vụ điện toán đám mây gồm: Mô hình truyền thống, hạ tầng tập trung, chuẩn hóa công nghệ, chuẩn hóa nghiệp vụ [5]
Trang 21Hình 7 Các mô hình dịch vụ điện toán đám mây
1.8.1 Cơ sở hạ tầng là dịch vụ (IaaS)
IaaS (Infrastructure as a Service) cung cấp cho người dùng hạ tầng thô (thường dưới
hình thức các máy ảo) như một dịch vụ Người dùng có thể triển khai và chạy phần mềm trên các máy ảo như trên một máy chủ thực hay có thể đưa dữ liệu cá nhân lên đám mây
và lưu trữ Người dùng không có quyền kiểm soát hạ tầng thực bên trong đám mây tuy nhiên họ có toàn quyền quản lý và sử dụng tài nguyên mà họ được cung cấp cũng như yêu cầu mở rộng lượng tài nguyên họ được phép sử dụng
Các đặc trưng tiêu biểu:
- Cung cấp tài nguyên như là dịch vụ: cung cấp máy chủ, thiết bị mạng, bộ nhớ, CPU, không gian đĩa cứng, trang thiết bị trung tâm dữ liệu
- Khả năng mở rộng linh hoạt
- Chi phí thay đổi tùy theo thực tế
- Nhiều người thuê có thể cùng dùng chung trên một tài nguyên
- Cấp độ doanh nghiệp: đem lại lợi ích cho công ty bởi luôn có một nguồn tài nguyên tính toán tổng hợp
IaaS dễ dàng nhận ra, bởi vì nó thường là độc lập với nền tảng IaaS bao gồm sự kết hợp của các tài nguyên phần cứng và phần mềm Phần mềm IaaS là mã mức thấp chạy độc lập với hệ điều hành - được gọi là trình siêu giám sát - và chịu trách nhiệm kiểm kê tài nguyên phần cứng và phân phối tài nguyên theo yêu cầu Quá trình này được gọi là phân nhóm tài nguyên Phân nhóm tài nguyên bằng trình siêu giám sát làm cho có thể ảo hóa,
và ảo hóa làm tăng khả năng điện toán nhiều bên thuê - một khái niệm để chỉ một cơ sở hạ tầng được chia sẻ bởi một vài tổ chức có các mối quan tâm giống nhau về các yêu cầu an toàn và tuân thủ quy định về dữ liệu
Trang 22Hình 8 Mối quan hệ giữa các máy ảo, trình siêu giám sát và máy tính
Với IaaS, chúng ta có khả năng xử lý dự phòng, lưu trữ, làm việc với mạng, và các tài nguyên điện toán khác, ở đây chúng ta có thể triển khai và chạy phần mềm (hệ điều hành và các ứng dụng) tùy ý
Các nhà cung cấp IaaS bao gồm: Amazon CloudFormation, Amazon EC2, Windows
Azure Virtual Machines, DynDNS, Google Compute Engine, HP Cloud, iland, Joyent, Rackspace Cloud, ReadySpace Cloud Services, Terremark và NaviSite
1.8.2 Nền tảng là dịch vụ (PaaS)
PaaS (Platform as a Service): Mô hình PaaS cung cấp cách thức cho phát triển ứng
dụng trên một nền tảng trừu tượng Nó hỗ trợ việc triển khai ứng dụng mà không quan tâm đến chi phí hay sự phức tạp của việc trang bị và quản lý các lớp phần cứng và phần mềm bên dưới, cung cấp tất cả các tính năng cần thiết để hỗ trợ việc xây dựng và cung cấp một ứng dụng và dịch vụ web sẵn sàng trên Internet mà không cần bất kì thao tác tải hay cài đặt phần mềm cho những người phát triển, quản lý tin học, hay người dùng cuối PaaS cho phép các nhà phát triển ứng dụng có thể tạo ra các ứng dụng một cách nhanh chóng, các rắc rối trong việc thiết lập máy chủ, cơ sở dữ liệu đã được nhà cung cấp PaaS giải quyết Dịch vụ PaaS cung cấp nền tảng điện toán cho phép người dùng phát triển các phần mềm phục vụ nhu cầu tính toán hoặc xây dựng dịch vụ trên nền tảng đám mây đó Dịch vụ PaaS có thể được cung cấp dưới dạng các ứng dụng lớp giữa, các ứng dụng máy chủ, các công cụ lập trình nhất định để xây dựng dịch vụ Dịch vụ PaaS cũng có thể được xây dựng riêng và cung cấp cho người sử dụng thông qua một API (giao diện lập trình ứng dụng) riêng, người sử dụng xây dựng ứng dụng và tương tác với hạ tầng điện toán đám mây thông qua API đó Ở mức PaaS, người sử dụng không quản lý nền tảng đám mây hay các tài nguyên lớp như hệ điều hành, lưu trữ ở lớp dưới Khách hàng điển hình của dịch vụ PaaS chính là các nhà phát triển ứng dụng
Trang 23Các đặc trưng tiêu biểu:
- Phục vụ cho việc phát triển, kiểm thử, triển khai và vận hành ứng dụng giống như
là môi trường phát triển tích hợp
- Cung cấp các công cụ khởi tạo với giao diện trên nền web
- Kiến trúc đồng nhất
- Tích hợp dịch vụ web và cơ sở dữ liệu
- Hỗ trợ cộng tác nhóm phát triển
- Cung cấp các công cụ hỗ trợ tiện tích khác
Ví dụ: IBM Bluemix, AWS Elastic Beanstalk, Cloud Foundry, Heroku, Force.com,
Google App Engine, Windows Azure Compute and OrangeScape, Cloud Foundry, Heroku, Force.com, EngineYard, Mendix, Google App Engine, Windows Azure Compute
và OrangeScape
1.8.3 Phần mềm là dịch vụ (SaaS)
SaaS (Software as a Service) là một mô hình triển khai ứng dụng mà ở đó nhà cung cấp cho phép người dùng sử dụng dịch vụ theo yêu cầu Những nhà cung cấp SaaS có thể lưu trữ ứng dụng trên máy chủ của họ hoặc tải ứng dụng xuống thiết bị khách hàng, vô hiệu hóa nó sau khi kết thúc thời hạn Các chức năng theo yêu cầu có thể được kiểm soát bên trong để chia sẻ bản quyền của một nhà cung cấp ứng dụng bên thứ ba
Dịch vụ SaaS cung cấp các ứng dụng hoàn chỉnh như một dịch vụ theo yêu cầu cho nhiều người sử dụng chỉ với một phiên bản cài đặt Người sử dụng lựa chọn ứng dụng phù hợp với nhu cầu và sử dụng mà không cần quan tâm đến tài nguyên tính toán
Các đặc trưng tiêu biểu:
- Phần mềm sẵn có đòi hỏi việc truy xuất, quản lý qua mạng;
- Quản lý các hoạt dộng từ một vị trí tập trung hơn là tại mỗi nơi của khách hàng, cho phép khác hàng truy xuất từ xa thông qua web;
- Cung cấp ứng dụng thông thường gần gũi với mô hình ánh xạ từ một đến nhiềubao gồm cả các đặc trưng kiến trúc, giá cả và quản lý;
- Những tính năng tập trung nâng cấp, giải phóng người dùng khỏi việc tải các bản
vá lỗi và cập nhật;
- Thường xuyên tích hợp những phần mềm giao tiếp trên mạng diện rộng
Ví dụ: Dịch vụ email hay các ứng dụng Google Docs, Google Calendar của Google…
1.9 Ưu và nhược điểm của điện toán đám mây
1.9.1 Ưu điểm
Sử dụng các tài nguyên tính toán động: Các tài nguyên được cấp phát cho người dùng
đúng như những gì người dùng muốn một cách tức thời bằng cách huy động tài nguyên rỗi
Trang 24hiện có trên Internet; người dùng có thể tùy ý lựa chọn các dịch vụ phù hợp với nhu cầu của mình, cũng như cũng có thể bỏ bớt các thành phần mà mình không mong muốn
Giảm chi phí: Người dùng sẽ có khả năng cắt giảm chi phí để mua bán, cài đặt và
bảo trì tài nguyên, thay vào đó họ chỉ cần phải xác định nhu cầu của mình rồi sau đó yêu cầu các nhà cung cấp dịch vụ điện toán đám mây tiến hành Việc tập hợp ứng dụng của nhiều tổ chức lại một chỗ sẽ giúp giảm chi phíđầu tư ban đầu, cũng như tăng hiệu năng sử dụng các thiết bị này một cách tối đa
Tính độc lập: Người dùng sẽ không còn bị hạn chế với một thiết bị hay một vị trí;
với điện toán đám mây, phần mềm, dữ liệu có thể được truy cập và sử dụng từ bất kỳ đâu, trên bất kỳ thiết bị nào mà không cần phải quan tâm đến giới hạn phần cứng
Tăng khả năng sử dụng tài nguyên tính toán: Một trong những câu hỏi đau đầu của
việc đầu tư tài nguyên (ví dụ máy chủ) là bao lâu thì nó sẽ hết khấu hao, tôi đầu tư như thế
có lãi hay không, có bị “tụt hậu” về công nghệ hay không Khi sử dụng tài nguyên trên điện toán đám mây thì chúng ta không còn phải quan tâm tới điều này nữa tăng cường độ tin cậy: Dữ liệu trong mô hình điện toán đám mây được lưu trữ một cách phân tán tại nhiều cụm máy chủ tại nhiều vị trí khác nhau, điều này giúp làm tăng độ an toàn của dữ liệu mỗi khi có sự cố hoặc thảm họa xảy ra
Bảo mật: Việc tập chung dữ liệu từ nhiều nguồn khác nhau sẽ giúp các chuyên gia
bảo mật tăng cường khả năng bảo vệ dữ liệu của người dùng, cũng như giảm thiểu rủi ro
bị ăn cắp toàn bộ dữ liệu Ví dụ: dữ liệu được đặt ở 6 máy chủ khác nhau, trong trường hợp bị tấn công, sẽ bị lộ 1/6 Đây là cách chia sẻ rủi ro giữa các tổ chức với nhau
Tính dễ bảo trì: Mọi phần mềm đều nằm trên server, lúc này, người dùng không cần
quan tâm đến vấn đề cập nhật hay sửa đổi lỗi phần mềm, các nhà phát trển cũng dễ dàng hơn trong việc cài đặt, nâng cấp ứng dụng của mình
1.9.2 Nhược điểm
Mô hình điện toán đám mây vẫn còn có một số nhược điểm sau:
Tính riêng tư: Các thông tin người dùng và dữ liệu được chứa trên điện toán đám
mây có đảm bảo được sự riêng tư, liệu các thông tin đó có bị sử dụng vì một mục đích nào khác?
Tính sẵn dùng: Liệu các dịch vụ điện toán đám mây có bị “treo” bất ngờ, khiến cho
người dùng không thể truy cập các dịch vụ và dữ liệu của mình trong khoảng thời gian nào
đó gây ảnh hưởng tới công việc;
Mất dữ liệu: Một vài dịch vụ lưu trữ dữ liệu trực tuyến trên đám mây bất ngờ ngừng
hoạt động hoặc không tiếp tục cung cấp dịch vụ, khiến cho người dùng phải sao lưu dữ liệu của họ từ đám mâyvề máy tính cá nhân, điều này sẽ gây mất nhiều thời gian, thậm chí trong một vài trường hợp vì lý do nào đó người dùng bị mất dữ liệu và không thể phục hồi lại được;
Trang 25Tính di động và quyền sở hữu: Một câu hỏi đặt ra là liệu người dùng có thể chia sẻ
dữ liệu từ dịch vụ đám mây này sang dịch vụ đám mây khác? Hoặc trong trường hợp người dùng không muốn tiếp tục sự dụng các dịch vụ cung cấp từ đám mây, liệu người dùng có thể sao lưu toàn bộ dữ liệu của họ? Và làm cách nào người dùng có thể chắc chắn rằng dịch vụ đám mây sẽ không hủy toàn bộ dữ liệu của họ trong trường hợp người sử dụng ngừng các dịch vụ từ đám mây?
Khả năng bảo mật: Vấn đề tập chung dữ liệu trên các đám mây là cách thức hiệu quả
để tăng cường bảo mật nhưng cũng chính là nỗi lo của người sử dụng dịch vụ của điện toán đám mây, bởi khi các đám mây bị tấn công thì dữ liệu này sẽ bị chiếm dụng
Các thuật ngữ chính Các lợi thế
Các bất lợi
và nguy cơ
Khi nào không nên sử dụng
hạ tầng và
do đó làm giảm chi phí này; các thỏa thuận ở mức dịch vụ (SLA); trả tiền theo mức sử dụng, tự điều chỉnh quy mô
Điện toán lưới, điện toán tiện ích, cá thể tính toán, siêu giám sát, bùng nổ lên đám mây, điện toán nhiều bên thuê, phân lượt tài nguyên
Tránh được chi phí vốn cho phần cứng và nguồn nhân lực; giảm rủi
ro lợi tức đầu tư (ROI); rào cản thấp khi tham gia vào; điều chỉnh quy
mô tự động hóa và trơn tru
Năng suất
và hiệu quả kinh doanh phụ thuộc nhiều vào khả năng của nhà cung cấp;
chi phí dài hạn có tiềm năng lớn hơn; sự tập trung hóa đòi hỏi các biện pháp an ninh khác hoặc mới
Khi ngân sách vốn lớn hơn
so với ngân sách hoạt động
lý dự án nhanh
Chồng giải pháp
Triển khai phiên bản trơn tru
Sự tập trung hóa đòi hỏi các biện pháp an ninh khác hoặc mới
Máy khách nhẹ; ứng dụng khách-chủ
Tránh được chi phí vốn cho phần mềm và phát triển tài nguyên;
giảm rủi ro
Sự tập trung hóa đòi hỏi các biện pháp an ninh khác hoặc mới
Không có
Trang 26tiêu
dùng)
máy khách nhẹ (thin-client) cung cấp; các thành phần điện toán đám mây qua các API;
được ghép lỏng; theo
mô đun; khả năng tương tác theo ngữ nghĩa
lợi tức đầu
tư (ROI);
cập nhật lặp nhiều lần và trơn tru
1.10 Các nhà cung cấp dịch vụ Cloud
1.10.1 Các nhà cung cấp dịch vụ điện toán đám mây
Đối với thị trường thế giới: Hiện nay, điện toán đám mây không còn là thuật ngữ mới
mẻ và lạ lẫm Bắt nguồn từ điện toán lưới từ những năm 80, điện toán theo nhu cầu và phần mềm dịch vụ (SaaS), Oracle là nhà tiên phong trong việc triển khai công nghệ này Cho đến nay, điện toán đám mây đang được phát triển và cung cấp bởi nhiều nhà cung cấp như Amazon, Google, DataSynapse, Salesforce, Microsoft, IBM, HP…Đã được rất nhiều người dùng cá nhân cho đến các công ty lớn như L’Oréal, General Electric, Ebay, Coca-cola… chấp nhận và sử dụng
Hình 9 Các nhà cung cấp dịch vụ điện toán đám mây
Trang 27Đối với thị trường Việt Nam: Không nằm ngoài xu thế, Việt Nam đang dần tiếp cận
các dịch vụ đám mây thông qua dự án của một số doanh nghiệp nước ngoài như Microsoft, Intel… cũng như từ những nhà phát triển, cung cấp trong nước như FPT… IBM là doanh nghiệp tiên phong khai trương trung tâm điện toán đám mây tại Việt Nam vào tháng 9/2008 với khách hàng đầu tiên là là Công ty cổ phần công nghệ và truyền thông Việt Nam Có thể nói Việt Nam là một trong những nước đầu tiên ở ASEAN đưa vào sử dụng điện toán đám mây
1.10.2 Các dịch vụ lưu trữ đám mây
Các dịch vụ lưu trữ đám mây với khả năng đồng bộ hóa các tập tin, thư mục trên nhiều máy tính và thiết bị di động đã ngày một "gần" hơn với người dùng Nếu chúng ta
lo ngại về khả năng tồn tại lâu dài của dữ liệu của chúng ta thì dịch vụ lưu trữ dữ liệu online
từ các nhà cung cấp hàng đầu, uy tín là điều cần thiết nhất Các dịch vụ lưu trữ đám mây như OneDrive, Box, Dropbox, Google Drive, Amazon Cloud Drive,… có thể đồng bộ hoá
và hoạt động như ổ đĩa cứng giúp chúng ta có thể lưu trữ dễ dàng Một điều đáng mừng là các dịch vụ lưu trữ trực tuyến hiện nay đều tăng thêm dung lượng để khuyến khích người dùng sử dụng dịch vụ lưu trữ của họ nhiều hơn và hoàn toàn miễn phí
Một số dịch vụ lưu trữ đám mây "đình đám" hiện nay:
OneDrive: Tài khoản OneDrive miễn phí là 15GB, riêng tài khoản Office 365 sẽ nhận
được đến 1TB dung lượng lưu trữ Các dữ liệu trên đây có thể truy cập từ điện thoại Android, iPhone, iPad, Windows Phone bên cạnh máy tính Windows hoặc máy Mac Chúng ta có thể chia sẻ các tập tin lớn và hình ảnh với chúng ta bè và người thân, chỉ cần một trình duyệt web là có thể truy cập các tập tin
Dropbox là mô hình dịch vụ lưu trữ đám mây quen thuộc với hầu hết người dùng
Internet hiện nay Dropbox cho phép chúng ta lưu trữ hình ảnh, tài liệu và video trực tuyến Nói cách khác bất cứ dữ liệu nào chúng ta lưu vào Dropbox đều được tự động lưu vào máy tính, điện thoại và tài khoản trên website Dropbox Dropbox cũng giúp cho chúng ta dễ dàng chia sẻ các tài liệu đó cho nhiều người dùng khác
Amazon Cloud Drive: Dịch vụ Cloud Drive của Amazon được nâng cấp với khả năng
đồng bộ hóa dữ liệu một cách hoàn hảo cho những ai sử dụng thiết bị của hãng công nghệ này, có nghĩa là khi người dùng lưu một dữ liệu lên Cloud Drive trên máy tính thì các dữ liệu này ngay lập tức sẽ được đồng bộ hóa lên các thiết bị khác của Amazon Hiện tại, Cloud Drive của Amazon đang cung cấp cho người dùng một tài khoản miễn phí có dung lượng 5GB
Box là dịch vụ lưu trữ và chia sẻ tập tin trực tuyến, dung lượng dịch vụ lưu trữ miễn
phí 10GB Dịch vụ lưu trữ Box đã xuất hiện trên hầu hết các nền tảng từ máy tính đến điện thoại di động Trên máy tính, Box cũng hỗ trợ đồng bộ máy khách dưới dạng thư mục lưu
Trang 28trữ tương tự Dropbox hay SkyDrive và người dùng có thể xem lại và truy xuất tập tin đã lưu trên đám mây trực tiếp từ điện thoại qua các ứng dụng Box cho Android, iOS và Windows Phone
Google Drive: Google Drive là một dịch vụ lưu trữ dữ liệu trực tuyến của Google,
cung cấp cho mỗi người dùng 15GB dung lượng, dịch vụ này hoàn toàn miễn phí Chúng
ta chỉ cần có một tài khoản Google bất kỳ như Google Mail, Google Plus là có thể sử dụng miễn phí 15GB dung lượng để lưu trữ dữ liệu của mình lên môi trường Internet, vừa đảm bảo an toàn bằng mật khẩu tài khoản Google, vừa có thể truy cập dữ liệu tại bất cứ
đâu
Trang 29CHƯƠNG 2 ĐIỆN TOÁN ĐÁM MÂY IBM BLUEMIX
2.1 Tổng quan về IBM Bluemix
2.1.1 Khái niệm
IBM Bluemix là giải pháp điện toán đây mây mới nhất của IBM cung cấp cho các ứng dụng điện thoại di động và các nhà phát triển web truy cập vào phần mềm của IBM nhằm tích hợp, đảm bảo an ninh, giao dịch, và các chức năng quan trọng khác, cũng như các phần mềm từ các doanh nghiệp thương mại
Được xây dựng trên công nghệ mã nguồn mở của Cloud Foundry, Bluemix cung cấp nhiều công cụ cho các nhà phát triển ứng dụng bằng cách sử dụng nền tảng như là một dịch vụ (PaaS), nhằm cung cấp các cách thức xây dựng các ứng dụng web và các ứng dụng
di động Mục đích là để đơn giản hóa việc phân phối một ứng dụng bằng cách cung cấp các dịch vụ đã sẵn sàng để sử dụng ngay tức thì và có khả năng lưu trữ cho phép phát triển trên quy mô nội bộ
Bluemix cũng có thể triển khai điện toán đám mây phù hợp với nhu cầu của người dùng Cho dù đó là một doanh nghiệp nhỏ có kế hoạch mở rộng quy mô, hoặc một doanh nghiệp lớn yêu cầu thêm sự độc lập đều có thể phát triển trong một đám mây mà không cần giới hạn Người dùng có thể kết nối các dịch vụ riêng biệt của mình với các dịch vụ Bluemix công cộng có sẵn do IBM cung cấp và bên thứ ba cung cấp Tuy nhiên, người dùng sẽ phải trả phí cho những gì mình chọn để sử dụng
Với sự mở rộng của tập các dịch vụ và các runtime, các nhà phát triển đã tăng khả năng điều khiển và tính linh hoạt trong Bluemix, đồng thời cấp quyền truy cập cho người dùng vào các tùy chọn dữ liệu khác nhau từ các dự đoán về phân tích dữ liệu lớn (big data)
Bluemix cung cấp các tính năng sau:
- Các dịch vụ cho phép chúng ta xây dựng và mở rộng ứng dụng web, mobile một cách nhanh chóng
- Sức mạnh của hệ thống xử lý cho phép chúng ta thay đổi ứng dụng liên tục
- Thích hợp với các mô hình, dịch vụ của lập trình
Trang 30bằng HTML với JavaScript Đối với các ứng dụng web, có thể sử dụng ngôn ngữ như Ruby, PHP, Java, Go, Python…
2.1.2 Tính năng và lợi ích của IBM Bluemix
Hiện nay, có rất nhiều ứng dụng web chạy trên Internet, cũng như có rất nhiều cách
để quản lý và duy trì cơ sở hạ tầng cho các ứng dụng
Điện toán đám mây của IBM Bluemix cung cấp tính năng:
- Bluemix cung cấp một bộ công cụ hoàn chỉnh DevOps được tích hợp sẵn để đơn giản hóa sự phát triển, thử nghiệm, xây dựng và triển khai các ứng dụng
- Bluemix cung cấp rất nhiều các dịch dụ để chúng ta có thể mở rộng ứng dụng của mình trên các nền tảng khác nhau
- Giúp cho các nhà phát triển, các tổ chức giải quyết được mối bận tâm về cơ sở hạ tầng, giúp họ tập chung hơn vào những phần quan trọng
Việc lưu trữ các ứng dụng trên Bluemix:
Tiết kiệm chi phí tối thiểu 50% so với phương pháp vận hành cơ sở hạ tầng công nghệ thông tin truyền thống Chi phí đầu tư ban đầu thấp, không cần trả ngay từ đầu toàn
bộ chi phí Không tốn chi phí bảo trì và vận hành phần cứng, điện năng, không gian Nhanh chóng, linh hoạt và dễ dàng thiết lập Tạo ứng dụng trong vài giây, không cần cài đặt VM, Middleware Hỗ trợ nhiều ngôn ngữ lập trình, có thể tùy chọn công cụ phát triển do IBM cung cấp hoặc công cụ có sẵn của lập trình viên Nhanh chóng, dễ dàng có được tài nguyên sử dụng sau ít phút yêu cầu Hình thức thanh toán dịch vụ hết sức linh hoạt: ngày, tháng, nhóm người sử dụng… Nhiều ứng dụng, API được tích hợp giúp khách hàng dễ dàng lựa chọn
Tính sẵn sàng cao: Khách hàng có nhiều lựa chọn về vị trí máy chủ, tránh được tối
đa rủi ro “gián đoạn” hệ thống khi sử dụng dịch vụ SoftLayer Hỗ trợ 24/7
An toàn và bảo mật: Khách hàng có thể lựa chọn các cách bảo mật cao cấp từ đường bảo mật, đường truyền, đến hệ điều hành và dữ liệu Mô hình mạng 3 lớp đặc thù của SoftLayer cho phép mỗi máy chủ có 3 vùng kết nối
2.1.3 Các đối tượng sử dụng của IBM Bluemix
Các lập trình viên đang làm việc trong môi trường phát triển ứng dụng truyền thống mong muốn tăng tốc bước triển khai các ứng dụng được thiết kế trên nền điện toán đám mây
Các nhà thiết kế phát triển ứng dụng muốn tìm hiểu khả năng của Bluemix và tận dụng các khả năng đó trên các ứng dụng của mình
Các nhà phát triển dịch vụ có thể tìm hiểu và sử dụng ngay các dịch vụ do Bluemix cung cấp
Trang 31CTO, CIO và các kiến trúc sư phần mềm (Software Architects) - từ các đối tác của IBM, các tổ chức khách hàng - lại mong muốn tìm được từ Bluemix các thành phần dịch
vụ phù hợp cho giải pháp của mình
Các nhà tư vấn độc lập có nhiệm vụ đánh giá phân tích ưu khuyết điểm (kinh doanh,
kỹ thuật) khi dùng các dịch vụ nền tảng điện toán đám mây (PaaS) như Bluemix, Amazon Web Service, Microsoft Azure…[7]
Khả năng hỗ trợ của Bluemix:
Nhanh chóng đưa các sản phẩm và các dịch vụ ra thị trường với chi phí đầu tư thấp Liên tục cung cấp các tính năng mới cho các ứng dụng
Nhanh chóng mở rộng hệ thống cơ sở hạ tầng và các ứng dụng đang có sẵn của doanh nghiệp
2.2 Kiến trúc của IBM Bluemix
Bluemix là một môi trường để xây dựng các ứng dụng và tận dụng một tập hợp các dịch vụ để trợ giúp phát triển cơ bản của các ứng dụng
Bluemix cũng cung cấp một ứng dụng môi trường máy chủ cho việc lưu trữ các ứng dụng đã tạo chạy trên server
Tận dụng OpenStack, Bluemix triển khai một tập hợp các lưu trữ ảo mà máy chủ triển khai ứng dụng và cung cấp môi trường nơi mà ứng dụng có thể tận dụng được một tập các dịch vụ đã được xây dựng từ trước (gồm cả các dịch vụ do bên thứ ba cung cấp),
Nhà phát triển có thể tương tác với các cơ sở hạ tầng Bluemix bằng cách sử dụng một giao diện người sử dụng dựa trên trình duyệt hoặc cũng có thể sử dụng một giao diện dòng lệnh CF để triển khai các ứng dụng web
Trang 32Các client - có thể là các ứng dụng di động, các ứng dụng chạy từ môi trường bên ngoài, các ứng dụng đã được xây dựng trên Bluemix, hoặc là các nhà phát triển ứng dụng đang sử dụng trình duyệt, tương tác với Bluemix bằng cách sử dụng REST hoặc HTTP APIs để yêu cầu định tuyến thông qua Bluemix đến một trong các ứng dụng hoặc các dịch
vụ tổng hợp
Hình 10 Mô hình kiến trúc IBM Bluemix
Chúng ta có thể triển khai các ứng dụng với các khu vực (Regions) Bluemix khác nhau để cân nhắc độ trễ và vấn đề bảo mật Hoặc có thể chọn để triển khai trên một hoặc nhiều khu vực
Trang 33Hình 11 Triển khai ứng dụng tại nhiều khu vực khác nhau
2.2.2 Cách thức hoạt động của IBM bluemix
Bluemix được xây dựng trên cơ sơ hạ tầng SoftLayer IBM mở rộng Cloud Foundry (là một framework PaaS chuẩn mở) với các dịch vụ được cung cấp từ những nguồn sau:
Mỗi môi trường thực hiện, bao gồm cả điện thoại di động và web, được phân lập từ môi trường thực thi của các ứng dụng khác Các môi trường thực hiện bị cô lập ngay cả khi các ứng dụng đang ở trên một máy vật lý
Trang 34Hình 12 Triển khai ứng dụng
Khi chúng ta tạo ra một ứng dụng và triển khai nó đến Bluemix, môi trường Bluemix xác định một máy ảo thích hợp (VM - Virtual Machine) mà các ứng dụng hay hiện vật mà các ứng dụng hiện đang được gửi đi Đối với một ứng dụng điện thoại di động, một chiếu
di động back-end được tạo ra trên Bluemix Bất kỳ code cho ứng dụng di động đang chạy trên đám mây cuối cùng cũng chạy trên môi trường Bluemix Đối với một ứng dụng web, code đang chạy trên đám mây chính là bản thân của ứng dụng mà các nhà phát triển triển khai đến Bluemix Việc xác định các máy ảo dựa trên một số yếu tố, bao gồm:
- Đã được tải sẵn trên máy tính
- Runtimes hoặc các Framework đã được hỗ trợ bởi V đó
Sau một VM được chọn, một người quản lý ứng dụng trên mỗi VM cài đặt các framework thích hợp và thời gian chạy cho các ứng dụng Sau đó, các ứng dụng có thể được triển khai vào framework đó Khi triển khai sẽ được hoàn thành, các đồ tạo tác ứng dụng được bắt đầu
Hình 13 Thiết kế của một máy chủ ảo