Ở mô hình điện toán này, mọi khả năng liên quan đến công nghệ thông tin đều được cung cấp dưới dạng các "dịch vụ", cho phép người sử dụng truy cập các dịch vụ công nghệ từ một nhà cung c
Trang 1Đề tài chia sẻ tham khảo miễn phí , ko kinh doanh dưới mọi hình thức
Chương 1 TỔNG QUAN VỀ “ĐIỆN TOÁN ĐÁM MÂY”
1.1 Đặt vấn đề:
Ngày nay, đối với các công ty, doanh nghiệp, việc quản lý tốt, hiệu quả dữ liệu của riêng công ty cũng như dữ liệu khách hàng, đối tác là một trong những bài toán được ưu tiên hàng đầu và đang không ngừng gây khó khăn cho họ Để có thể quản lý được nguồn
dữ liệu đó, ban đầu các doanh nghiệp phải đầu tư, tính toán rất nhiều loại chi phí như chi phí cho phần cứng, phần mềm, mạng, chi phí cho quản trị viên, chi phí bảo trì, sửa chữa,…Ngoài ra họ còn phải tính toán khả năng mở rộng, nâng cấp thiết bị, kiểm soát việc bảo mật dữ liệu cũng như tính sẵn sàng cao của dữ liệu Từ một bài toán điển hình như vậy, chúng ta thấy được rằng nếu có một nơi tin cậy giúp các doanh nghiệp quản lý tốt nguồn dữ liệu đó, các doanh nghiệp sẽ không còn quan tâm đến cơ sở hạ tầng, công nghệ mà chỉ tập trung chính vào công việc kinh doanh thì sẽ mang lại cho họ hiệu quả
và lợi nhuận ngày càng cao hơn Thuật ngữ “cloud computing” ra đời bắt nguồn từ một trong những hoàn cảnh như vậy Thuật ngữ “cloud computing” còn được bắt nguồn từ ý tưởng đưa tất cả mọi thứ như dữ liệu, phần mềm, tính toán.…lên trên mạng Internet Chúng ta sẽ không còn trông thấy các máy PC, máy chủ của riêng các doanh nghiệp để lưu trữ dữ liệu, phần mềm nữa mà chỉ còn một số các “máy chủ ảo” tập trung ở trên mạng Các “máy chủ ảo” sẽ cung cấp các dịch vụ giúp cho doanh nghiệp có thể quản lý
dữ liệu dễ dàng hơn, họ sẽ chỉ trả chi phí cho lượng sử dụng dịch vụ của họ, mà không
Trang 2hướng này sẽ giúp nhiều cho các công ty, doanh nghiệp vừa và nhỏ mà không có cơ sở hạ tầng mạng, máy chủ để lưu trữ, quản lý dữ liệu tốt Vậy “cloud computing” là gì? Nó có thể giải quyết bài toán trên như thế nào và có những đặc điểm nổi bật gì? Chúng ta sẽ đi qua các phần sau để nắm rõ vấn đề này
Trang 31.2 Khái niệm và những đặc điểm của điện toán đám mây
1.2.1 Khái niệm
1.2.1.a Thuật ngữ "đám mây":
Thuật ngữ "đám mây" ở đây là lối nói ẩn dụ chỉ mạng Internet dựa vào cách thức Internet được bố trí trong sơ đồ mạng máy tính Ở mô hình điện toán này, mọi khả năng liên quan đến công nghệ thông tin đều được cung cấp dưới dạng các "dịch vụ", cho phép người sử dụng truy cập các dịch vụ công nghệ từ một nhà cung cấp nào đó "trong đám mây" mà không cần phải có các kiến thức, kinh nghiệm về công nghệ đó, cũng như không cần quan tâm đến các cơ sở hạ tầng phục vụ công nghệ đó
1.2.1.b Định nghĩa:
Một mô hình điện toán nơi mà khả năng mở rộng và linh hoạt về công nghệ thông tin được cung cấp như một dịch vụ cho nhiều khách hàng đang sử dụng các công nghệ trên Internet
Nói một cách đơn giản nhất “điện toán đám mây” chính là những ứng dụng trực tuyến trên Internet Dữ liệu, tài nguyên, phần mềm và các thông tin liên quan đều được lưu trữ, tính toán, xử lý trên các server (chính là các “đám mây”) Trình duyệt là nơi ứng dụng hiện hữu và vận hành còn dữ liệu được lưu trữ và xử lý ở máy chủ của nhà cung cấp ứng dụng đó Theo tổ chức Xã hội máy tính IEEE "Nó là hình mẫu trong đó thông tin được lưu trữ thường trực tại các máy chủ trên Internet và chỉ được được lưu trữ tạm thời
Trang 4ở các máy khách, bao gồm máy tính cá nhân, trung tâm giải trí, máy tính trong doanh nghiệp, các phương tiện máy tính cầm tay, "
Hình 1: Mọi thứ đều tập trung vào đám mây
1.2.2 Đặc điểm:
Các máy tính trên “đám mây” được thiết lập để hoạt động cùng nhau, do vậy các ứng dụng có thể sử dụng toàn bộ sức mạnh của các máy tính để có thể đạt được hiệu suất cao
Trang 5vào nhu cầu, người dùng có thể tăng thêm tài nguyên mà các đám mây cần sử dụng để đáp ứng, mà không cần phải nâng cấp thêm tài nguyên phần cứng như sử dụng máy tính
cá nhân Ngoài ra, với điện toán đám mây, vấn đề hạn chế của hệ điều hành khi sử dụng các ứng dụng không còn bị ràng buộc, như cách sử dụng máy tính thông thường
Hình 2: Sơ đồ điện toán đám mây (với các dịch vụ cung cấp nằm bên trong đám mây được truy cập từ các máy tính bên ngoài)
1.2.3 Ưu và nhược điểm của mô hình điện toán đám mây:
1.2.3.a Ưu điểm:
Những ưu điểm và thế mạnh dưới đây đã góp phần giúp "điện toán đám mây" trở thành
mô hình điện toán được áp dụng rộng rãi trên toàn thế giới:
Tốc độ xử lý nhanh, cung cấp cho người dùng những dịch vụ nhanh chóng và giá thành
Trang 6Chi phí đầu tư ban đầu về cơ sở hạ tầng, máy móc và nguồn nhân lực của người sử dụng điện toán đám mây được giảm đến mức thấp nhất
Không còn phụ thuộc vào thiết bị và vị trí địa lý, cho phép người dùng truy cập và sử dụng hệ thống thông qua trình duyệt web ở bất kỳ đâu và trên bất kỳ thiết bị nào mà họ
sử dụng (chẳng hạn là PC hoặc là điện thoại di động…)
Với độ tin cậy cao, không chỉ giành cho người dùng phổ thông, điện toán đám mây phù hợp với các yêu cầu cao và liên tục của các công ty kinh doanh và các nghiên cứu khoa học Tuy nhiên, một vài dịch vụ lớn của điện toán đám mây đôi khi rơi vào trạng thái quá tải, khiến hoạt động bị ngưng trệ Khi rơi vào trạng thái này, người dùng không có khả năng để xử lý các sự cố mà phải nhờ vào các chuyên gia từ đám mây tiến hành xử lý Khả năng mở rộng được, giúp cải thiện chất lượng các dịch vụ được cung cấp trên “đám mây”
Khả năng bảo mật được cải thiện do sự tập trung về dữ liệu
Các ứng dụng của điện toán đám mây dễ dàng để sửa chữa hơn bởi lẽ chúng không được cài đặt cố định trên một máy tính nào Chúng cũng dễ dàng hỗ trợ và cải thiện về tính năng
Tài nguyên sử dụng của điện toán đám mây luôn được quản lý và thống kê trên từng khách hàng và ứng dụng, theo từng ngày, từng tuần, từng tháng Điều này đảm bảo cho việc định lượng giá cả của mỗi dịch vụ do điện toán đám mây cung cấp để người dùng có thể lựa chọn phù hợp
Trang 71.2.3.b Nhược điểm:
Tuy nhiên, mô hình điện toán này vẫn còn mắc phải 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 riêng tư, và 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ụ đá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 những khoảng thời gian nào đó khiến ảnh hưởng đến 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ây” về máy tính cá nhân Điều này sẽ mất nhiều thời gian Thậm chí một vài trường hợp, vì một lý do nào đó, dữ liệu người dùng bị mất và không thể phục hồi được
Tính di động của dữ liệu và quyền sở hữu: Một câu hỏi đặt ra, 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ụ của đám mây khác? Hoặc trong trường hợp không muốn tiếp tục sử dụng 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ọ từ đám mây? Và làm cách nào để người dùng có thể chắc chắn rằng các 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 dịch vụ ngừng hoạt động
Khả năng bảo mật: Vấn đề tập trung 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 mặt khác cũng lại chính là mối lo của người sử dụng dịch vụ của điện toán đám mây Bởi lẽ một khi các đám mây bị tấn công hoặc đột nhập, toàn bộ
Trang 8đám mây”, bởi lẽ tấn công đánh cắp dữ liệu là vấn đề gặp phải trên bất kỳ môi trường nào, ngay cả trên các máy tính cá nhân
1.3 Cấu trúc và cách thức hoạt động của điện toán đám mây:
1.3.1 Mô hình dịch vụ điện toán đám mây
1.3.1.a Mô hình tổng quan:
Theo định nghĩa, 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 Internet thay vì 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
Hình 3: Minh họa về cloud computing Hiện nay, các nhà cung cấp đưa ra nhiều dịch vụ của cloud computing theo nhiều hướng khác nhau, đưa ra các chuẩn riêng cũng như cách thức hoạt động khác nhau Do đó, việc
Trang 9tích hợp các cloud để giải quyết một bài toán lớn của khách hàng vẫn còn là một vấn đề khó khăn Chính vì vậy, các nhà cung cấp dịch vụ đang có xu hướng tích hợp các cloud lại với nhau thành “sky computing”, đưa ra các chuẩn chung để giải quyết các bài toán lớn của khách hàng
1.3.1.b Cấu trúc phân lớp của mô hình điện toán đám mây:
Mô hình “điện toán đám mây” được chia ra thành 5 lớp riêng biệt, có tác động qua lại lẫn nhau:
Hình 4: Mô hình lớp của điện toán đám mây
Client (Lớp Khách hàng): Lớp Client 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/dịch vụ
Trang 10được cung cấp từ điện toán đám mây Chẳng hạn máy tính và đường dây kết nối Internet (thiết bị phần cứng) và các trình duyệt web (phần mềm)…
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 quan 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 dễ dàng nhận được sự hỗ trợ
Các đặc trưng chính của lớp ứng dụng bao gồm:
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 Người dù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, 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à là điểm tựa cho lớp ứng dụng, cho phép các ứng dụng hoạt động trên nền tảng đó Nó giảm nhẹ sự tốn kém khi triển khai các ứng dụng khi 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
nền ả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à chi phí được giảm thiểu, hoặc 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 (Virtual Private Server)
Trang 11Server (Lớp Server - Máy chủ): Bao 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 các 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 (thậm chí là rất mạnh) để đám ứ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.3.2 Cách thức hoạt động của Điện toán đám mây
Để hiểu cách thức hoạt động của “đám mây”, tưởng tượng rằng “đám mây” bao gồm 2 lớp: Lớp Back-end và lớp Front-end
Hình 5: Lớp Back-end và lớp Front-end
Trang 12Hạ tầng thiết bị được chứa ở lớp Back-End (bao gồm nhiều máy tính, máy chủ và hệ thống lưu trữ dữ liệu gộp thành “đám mây” các dịch vụ Web), và giao diện người dùng của các ứng dụng được chứa tại lớp Front-End
Lớp Front-end: gồm có một máy tính Client và một ứng dụng cần cho việc truy cập đám
mây;là lớp người dùng, cho phép người dùng sử dụng và thực hiện thông qua giao diện người dùng Tuy nhiên, không phải tất cả các hệ thống đám mây đều sử dụng chung một giao diện Khi người dùng truy cập các dịch vụ trực tuyến, họ sẽ phải sử dụng thông qua giao diện từ lớp Front-end, và các phần mềm sẽ được chạy trên lớp Back-end nằm ở
“đám mây”
Lớp Back-end bao gồm các cấu trúc phần cứng và phần mềm để cung cấp giao diện cho lớp Front-end và được người dùng tác động thông qua giao diện đó
1.3.3 Giải pháp và dịch vụ:
Cloud Computing ra đời để giải quyết các vấn đề như:
Vấn đề về lưu trữ dữ liệu: Dữ liệu được lưu trữ tập trung ở các kho dữ liệu khổng
lồ Các công ty lớn như Microsoft, Google có hàng chục kho dữ liệu trung tâm nằm rải rác khắp nơi trên thế giới Các công ty lớn này sẽ cung cấp các dịch vụ cho phép doanh nghiệp có thể lưu trữ và quản lý dữ liệu của họ trên các kho lưu trữ trung tâm Vấn đề về sức mạnh tính toán:
Sử dụng các siêu máy tính (super-computer) để xử lý tính toán
Sử dụng các hệ thống tính toán song song, phân tán, tính toán lưới
Trang 13Vấn đề về cung cấp tài nguyên, phần mềm: Cung cấp các dịch vụ như IaaS (infrastructure
as a service), PaaS (platform as a service), SaaS (software as a service
Hình 6: Minh họa về các dịch vụ
1.3.4 Xu hướng phát triển:
Thuật ngữ “cloud computing” ra đời từ giữa năm 2007, cho đến nay đã không ngừng phát triển mạnh mẽ và được hiện thực bởi nhiều nhà cung cấp, trong đó có Amazon, Google, DataSynapse, Cloud2s và Salesforce cũng như những nhà cung cấp truyền thống như Sun Microsystems, HP, IBM, Intel, Cisco và Microsoft Nó đang được nhiều người dùng cá nhân cho đến những công ty lớn như General Electric, L'Oréal, Procter & Gamble và Valeo chấp nhân và sử dụng
Trang 14Hình 7:Một số ông lớn về công nghệ ĐTĐM Với mục tiêu giải quyết các bài toán về dữ liệu, tính toán, dịch vụ, …, cloud computing
đã và đang mang lại lợi nhuận lớn, đem đến một sân chơi, một thị trường rộng lớn cho các nhà cung cấp dịch vụ, nên sự phát triển nhanh chong của nó có thể được tính từng ngày Trong khi đó, thuật ngữ ban đầu của “Grid computing” không mang kinh tế, lợi nhuận cao nên sự phát triển của nó đang ngày cáng giảm sút, và chỉ đang được áp dụng vào lĩnh vực nghiên cứu khoa học
Trang 15
Ước tính trong 5 năm tới, tốc độ tăng trưởng 23,4%, thị trường toàn cầu đạt 74,9 tỷ USD
Hình 8: Tốc độ tăng trưởng của ĐTĐM
Trang 16Chương 2 : Ứng dụng Dịch vụ điện toán đám mây OpenShift
2.1 OpenShift là gì
OpenShift là một dịch vụ nền tảng điện toán đám mây của hãng Red Hat
Phần mềm chạy dịch vụ là mã nguồn mở và có sẵn trên GitHub với tên "OpenShift
Origin"
Người phát triển phần mềm có thể sử dụng Git để triển khai ứng dụng bằng các ngôn ngữ khác nhau trên nền tảng
Đặc biệt, OpenShift cũng hỗ trợ các ứng dụng web dạng phần mềm mã nhị phân, miễn là
nó có thể chạy trên RHEL Linux Điều này làm tăng tính tùy biến của hệ thống, hỗ trợ nhiều ngôn ngữ và frameworks
OpenShift bảo trì dịch vụ bên dưới ứng dụng và thống kê ứng dụng nếu cần thiết
OpenShift có cung cấp các gói dịch vụ VPS ( Máy chủ ảo ) từ miễn phí đến nâng cao với mức độ bảo mật cao và chạy trên nền máy chủ Linux
Trang 17Cloud hosting Free Openshift được miễn phí sử dụng Cloud hosting với đầy đủ tính năng như một VPS (Vitual Private Server) , có thể sử dụng SSH (Secure Shell) + SFTP như một VPS
2.2 Xây dựng 1 ứng dụng web chạy trên Openshift
OpenShift có cung cấp gói VPS miễn phí căn bản với thông số :
Ram 512M - Ổ cứng : 1G – Băng Thông : Không Giới Hạn
Với dịch vụ này, chúng ta có thể có được 1 nhà cung cấp dịch vụ lưu trữ máy chủ an toàn
và bảo mật
Đề tài này sẽ sử dụng dịch vụ OpenShift để xây dựng 1 ứng dụng web mã nguồn php ( OpenCart ) chạy thành công
Trang 18Chương 3 : Cài đặt cấu hình OpenShift
3.1 Đăng ký OpenShift
Đầu tiên download 2 phần mềm này về
WinSCP : Là phần mềm kết nối với máy chủ ảo để up dữ liệu
PuTTY Key Generator : Phần mềm khởi tạo key bảo mật
Vào trang web www.openshift.redhat.com để đăng ký 1 tài khoản mới – chọn Sign up for FREE
Trang 19Nhập thông tin đăng ký đầy đủ và chọn Sign Up để hoàn thành
Sau khi đăng ký xong, vào hộp thư email đăng ký để tiến hành lấy địa chỉ kích hoạt tài khoản