sở dữ liệu trên đám mây độc lập, sử dụng một hình ảnh máy ảo, hoặc họ có thể mua quyền truy cập vào một dịch vụ cơ sở dữ liệu, duy trì bởi một nhà cung cấp cơ sở dữ liệu đám mây.. Theo đ
Trang 1BÀI THU HOẠCH ĐIỆN TOÁN LƯỚI VÀ ĐÁM MÂY
CLOUD COMPUTING LỢI ÍCH VÀ NHỮNG THÁCH THỨC CÔNG NGHỆ
TP Hồ Chí Minh – Tháng 6 Năm 2014
Trang 2thầy hướng dẫn khoa học nghiêm túc và nhiệt tâm Thầy là người đã truyền đạt cho tôi những
kiến thức quý báu trong môn học “Điện toán lưới và đám mây” Nhờ có những kiến thức của
thầy mà em có thể có đủ kiến thức cùng những công cụ cần thiết để thực hiện được bài tiểu luận của môn học này
Trong bài báo cáo này, tôi đã tìm hiểu về công nghệ Cloud Computing, những lợi ích
và những thử thách của Cloud Computing trong thời gian tới
Xin cảm ơn tất bạn bè đã và đang động viên, giúp đỡ tôi trong quá trình học tập và hoàn thành tiểu luận của môn học này
TP Hồ Chí Minh, tháng 6 năm 2014
Nguyễn Văn Tiến
Trang 3DANH MỤC HÌNH
Trang 4CHƯƠNG 1 : GIỚI THIỆU
Điện toán đám mây được định nghĩa như một hệ thống phân tán song song và
nó có được là nhờ sự ảo hóa máy tính và được kết nối với nhau Điện toán đám mây có
ba mô hình phổ biến gồm: Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS) Những dịch vụ này bao gồm hệ điều hành phân tán, cơ sở dữ liệu phân tán và dịch vụ khác
Cơ sở dữ liệu đám mây là một trong những dịch vụ cần thiết phát triển nhanh chóng và hiệu quả và cần phải giảm gánh nặng trong cấu hình định tuyến Cơ sở dữ liệu Điện toán đám mây được xây dựng bằng cách thu thập một số trang web Các trang web cũng được gọi là các nút được liên kết với nhau bởi một mạng lưới thông tin liên lạc Mỗi nút duy nhất là một lớp cơ sở dữ liệu Mỗi lớp cơ sở dữ liệu có cơ sở dữ liệu riêng của mình, thiết bị đầu cuối, bộ xử lý trung tâm và hệ thống quản lý cơ sở dữ liệu địa phương của chúng
Một cơ sở dữ liệu là một tập hợp có tổ chức của dữ liệu Một hệ thống quản lý
cơ sở dữ liệu (DBMS) là một gói phần mềm với các chương trình máy tính điều khiển việc tạo ra, duy trì và sử dụng một cơ sở dữ liệu Nó cho phép các tổ chức để thuận tiện phát triển cơ sở dữ liệu cho các ứng dụng khác nhau Một cơ sở dữ liệu là một bộ sưu tập tích hợp các hồ sơ dữ liệu, tập tin và các đối tượng khác Một DBMS cho phép các chương trình ứng dụng người dùng khác nhau để truy cập vào cơ sở dữ liệu đồng thời cùng DBMS có thể sử dụng một loạt các mô hình cơ sở dữ liệu, chẳng hạn như mô hình quan hệ hoặc mô hình đối tượng để thuận tiện mô tả và các ứng dụng hỗ trợ Cơ
sở dữ liệu hạn được áp dụng một cách chính xác các dữ liệu và hỗ trợ cấu trúc dữ liệu của họ, và không để các hệ thống quản lý cơ sở dữ liệu Cơ sở dữ liệu cùng với DBMS được gọi chung là hệ thống cơ sở dữ liệu
Một cơ sở dữ liệu Điện toán đám mây là một cơ sở dữ liệu mà thường chạy trên một nền tảng điện toán đám mây, chẳng hạn như Windows Azure, Amazon EC2, GoGrid và Rackspace Có hai mô hình triển khai phổ biến: người dùng có thể chạy cơ
Trang 5sở dữ liệu trên đám mây độc lập, sử dụng một hình ảnh máy ảo, hoặc họ có thể mua quyền truy cập vào một dịch vụ cơ sở dữ liệu, duy trì bởi một nhà cung cấp cơ sở dữ liệu đám mây Trong cơ sở dữ liệu có sẵn trên đám mây, một số là dựa trên SQL và một số sử dụng một mô hình dữ liệu NoSQL
Mục đích và mục tiêu chính của bài thu hoạch là tìm hiểu về Cloud Computing, Cloud Database, những lợi ích và thách thức hiện nay của Cloud Computing
Trang 6CHƯƠNG 2 : CƠ SỞ LÝ THUYẾT
Cơ sở dữ liệu là một tập hợp các dữ liệu hoặc thông tin một cách có tổ chức để các
dữ liệu có thể được truy cập, cập nhật và quản lý dễ dàng Nó có thể được hình dung như một tập tin dữ liệu lớn được lưu trữ lại
Hình 1: Database
Một cơ sở dữ liệu là tập hợp các dữ liệu hay tập tin Cơ sở dữ liệu cần phải có những hộ trợ các tính năng như độ tin cậy cao, tính sẵn sàng cao, năng suất cao và an toàn Một cơ sở dữ liệu được đánh giá là một cơ sở dữ liệu chất lượng cao nếu nó hỗ trợ tính năng các hoạt động cập nhật, quản lý và truy xuất dữ liệu
Trang 71.1 Hệ quản trị cơ sở dữ liệu.
Một hệ thống quản trị cơ sở dữ liệu là phần mềm các chương trình máy tính cho phép người dùng kiểm soát việc tạo ra, duy trì và sử dụng một cơ sở dữ liệu Một hệ quản trị cơ sở dữ liệu bao gồm: Data Dictionary, Database engine và User Interface
Hình 2: Hệ quản trị cơ sở dữ liệu 1.2 Tối ưu hóa cơ sở dữ liệu
Các doanh nghiệp hiện nay dần đang trở thành những trung tâm dữ liệu lớn và lượng dữ liệu sinh ra ngày càng lớn chẳng hạn như dữ liệu trong các hình thức bán hàng, hồ sơ bán lẻ và các thông tin thương mại khác,… Dữ liệu sinh ra ngày càng lớn nên cần phải quản lý một cách hiệu quả Do việc doanh nghiệp cần số liệu để phân tích đánh giá và đưa ra các quyết định chiến lược, do đó hiệu suất cơ sở dữ liệu đóng vai trò quan trọng trong các hoạt động tổng thể của cơ sở dữ liệu
Từ những lý do như vậy nên việc tối ưu hóa dữ liệu luôn là một trong những ưu tiên hàng đầu của các nhà khoa học nghiên cứu và cải thiện
Theo định nghĩa của Wikipedia thì Cloud Computint là môi trường tính toán dựa trên internet mà ở đó tất cả phần mềm, dữ liệu, tài nguyên được cung cấp cho máy tính
và các thiết bị khác theo nhu cầu (tương tự như mạng điện)
Trang 8Đứng ở góc nhìn khoa học kỹ thuật cũng có nhiều định nghĩa khác nhau, trong
đó có hai định nghĩa của Ian Foster và Rajkumar Buyya được dùng khá phổ biến và có nhiều điểm tương đồng
Theo Ian Foster: Cloud Computing là một mô hình điện toán phân tán có tính co giãn lớn mà hướng theo co giãn về mặt kinh tế, là nơi chứa các sức mạnh tính toán, kho lưu trữ, các nền tảng và các dịch vụ được trực quan, ảo hóa và co giãn linh động,
sẽ được phân phối theo nhu cầu cho các khách hàng bên ngoài thông qua Internet
Theo Rajkumar Buyya: Cloud là một loại hệ thống phân bố và xử lý song gồm các máy tính ảo kết nối với nhau và được cung cấp động cho người dùng như một hoặc nhiều tài nguyên đồng nhất dựa trên sự thỏa thuận dịch vụ giữa nhà cung cấp và người
sử dụng
Cả hai định nghĩa trên đều định nghĩa Cloud Computing là một hệ phân bố, cung cấp các dạng tài nguyên ảo dưới dạng dịch vụ một cách linh động theo nhu cầu của người dùng trên môi trường internet
Theo Viện tiêu chuẩn và công nghệ quốc gia Bộ Thương mại Mỹ (NIST): Điện toán đám mây là một mô hình cho phép truy cập mạng thuận tiện, theo nhu cầu đến một kho tài nguyên điện toán dùng chung, có thể định cấu hình (ví dụ như mạng, máy chủ, lưu trữ, ứng dụng) có thể được cung cấp và thu hồi một cách nhanh chóng với yêu cầu tối thiểu về quản lý hoặc can thiệp của nhà cung cấp dịch vụ
Hình 3:Cloud Computing
Trang 9Một cloud Computing bao gồm 5 đặc tính (On-demand self-service, Broad network access, Resource pooling, Rapid elasticity, Measured service), 3 mô hình dịch
vụ (Software as a service, Platform as a service, Infrastructure as a service) và 4 mô hình triển khai (Private Cloud, community Cloud, public Cloud , Hybrid Cloud)
Hình 4: Mô hình triển khai Cloud Computing 3.1 Private Cloud
Trong mô hình Private Cloud, cơ sở hạ tầng và các dịch vụ đượ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ể 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ụ
3.2 Community Cloud
Community Cloud là một loại cơ sở hạ tầng để chia sẻ một tài nguyên cho nhiều tổ chức từ một cộng đồng cụ thể với các mối quan tâm chung (ví dụ như yêu cầu an ninh, nhiệm vụ, chính sách, …)
3.3 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
Trang 103.4 Hybrid Cloud
Hybrid Cloud là sự kết hợp của Public Cloud và Private Cloud Trong đó doanh nghiệp sẽ “out-source” các chức năng nghiệp vụ và dữ liệu không quan trọng, sử dụng các dịch vụ Public Cloud để giải quyết và xử lý các dữ liệu này Đồng thời, doanh nghiệp sẽ giữ lại các chức năng nghiệp vụ và dữ liệu tối quan trọng trong tầm kiểm soát (Private Cloud)
Một khó khăn khi áp dụng mô hình Hybrid Cloud là làm sao triển khai cùng một ứng dụng trên cả hai phía Public và Private Cloud sao cho ứng dụng đó có thể kết nối, trao đổi dữ liệu để hoạt động một cách hiệu quả
Doanh nghiệp có thể chọn để triển khai các ứng dụng trên Public, Private hay Hybrid Cloud tùy theo nhu cầu cụ thể Mỗi mô hình đều có điểm mạnh và yếu của nó Các doanh nghiệp phải cân nhắc đối với các mô hình Cloud Computing mà họ chọn
Và họ có thể sử dụng nhiều mô hình để giải quyết các vấn đề khác nhau Nhu cầu về một ứng dụng có tính tạm thời có thể triển khai trên Public Cloud bởi vì nó giúp tránh việc phải mua thêm thiết bị 5 để giải quyết một nhu cầu tạm thời Tương tự, nhu cầu
về một ứng dụng thường trú hoặc một ứng dụng có những yêu cầu cụ thể về chất lượng dịch vụ hay vị trí của dữ liệu thì nên triển khai trên Private hoặc Hybrid Cloud
Cloud có 3 mô hình dịch vụ bao gồm: Software as a Service (SaaS), Platform as a Service (PaaS) và Infrastructure as a Service (IaaS)
Hình 5: Mô hình dịch vụ Cloud
Trang 114.1 Infrastructure as a Service – IaaS
Trong loại dịch vụ này, khách hàng được cung cấp những tài nguyên máy tính cơ bản (như bộ xử lý, dung lượng lưu trữ, các kết nối mạng…) Khách hàng sẽ cài hệ điều hành, triển khai ứng dụng và có thể nối các thành phần như tường lửa và bộ cân bằng tải Nhà cung cấp dịch vụ sẽ quản lý cơ sở hạ tầng cơ bản bên dưới, khách hàng sẽ phải quản lý hệ điều hành, lưu trữ, các ứng dụng triển khai trên hệ thống, các kết nối giữa các thành phần
4.2 Platform as a Service – PaaS
Nhà cung cấp dịch vụ sẽ cung cấp một nền tảng (platform) cho khách hàng Khách hàng sẽ tự phát triển ứng dụng của mình nhờ các công cụ và môi trường phát triển được cung cấp hoặc cài đặt các ứng dụng sẵn có trên nền platform đó Khách hàng không cần phải quản lý hoặc kiểm soát các cơ sở hạ tầng bên dưới bao gồm cả mạng, máy chủ, hệ điều hành, lưu trữ, các công cụ, môi trường phát triển ứng dụng nhưng quản lý các ứng dụng mình cài đặt hoặc phát triển
4.3 Software as a Service – SaaS
Đây là mô hình dịch vụ mà trong đó nhà cung cấp dịch vụ sẽ cung cấp cho khách hàng một phần mềm dạng dịch vụ hoàn chỉnh Khách hàng chỉ cần lựa chọn ứng dụng phần mềm nào phù hợp với nhu cầu và chạy ứng dụng đó trên cơ sở hạ tầng Cloud Mô hình này giải phóng người dùng khỏi việc quản lý hệ thống, cơ sở hạ tầng, hệ điều hành… tất cả sẽ do nhà cung cấp dịch vụ quản lý và kiểm soát để đảm bảo ứng dụng luôn sẵn sàng và hoạt động ổn định
Trang 12CHƯƠNG 3 : NHỮNG LỢI ÍCH CỦA CLOUD COMPUTING[1]
Cloud Computing đề xuất rất nhiều lợi thế cho cả các cá nhân và tổ chức sử dụng nó Cái ưu điểm lớn nhất của điện toán đám mây có được là ưu điểm về mặt kinh
tế Điện toán đám mây cho phép người dùng truy cập một loạt các ứng dụng và dịch vụ
mà không cẩn phải tải hoặc cài đặt bất cứ cái gì Cơ sở hạ tầng căn bản và mạng được quản lý và điều hành bởi một nhà cung cấp bên ngoài, và người tiêu dùng không cần phải duy trì máy chủ, đào tạo nhân viên công nghệ thông tin cũng như mua giấy phép phần mềm đã làm giảm bớt đi một chi phí rất lớn trong đào tạo, bảo trì, bảo dưỡng cơ
sở hạ tầng và không gian lưu trữ Do đó người dùng sẽ có thể truy cập dữ liệu bất cứ nơi nào và họ sẽ không lệ thuộc vào một vị trí cụ thể Hơn thế nữa, Cloud Computing được coi là khá an toàn về mặt dự phòng
3.1 Các dịch vụ của Cloud
Các dịch vụ đang cung cấp một dịch vụ mới bên cạnh các dịch vụ truyền thống (DaaS , IaaS và NaaS) được gọi là cơ sở dữ liệu như một dịch vụ mà chủ yếu là một cơ
sở dữ liệu truy cập cho người tiêu dùng từ các đám mây trên Internet theo yêu cầu Trong mô hình đa thực thể mỗi người tiêu dùng được cung cấp với một DBMS độc đáo chạy trên một máy ảo chuyên dụng chỉ thuộc về một khách hàng cụ thể Tính năng này cho phép người dùng có kiểm soát tốt hơn các nhiệm vụ an ninh liên quan đến hành chính và khác như định nghĩa vai trò và ủy quyền người dùng Mặt khác, mô hình nhiều người thuê sử dụng một phương pháp gắn thẻ và cung cấp một môi trường cơ sở
dữ liệu được xác định trước đó được chia sẻ bởi nhiều người tiêu dùng
3.2 Các vấn đề bảo mật, an toàn thông tin.
Các Cơ sở dữ liệu ổn định trong môi trường điện toán đám mây mang lại một số vấn đề bảo mật mà các tổ chức phải đưa vào xem xét như là trách nhiệm cuối cùng để đảm bảo bảo mật dữ liệu với các tổ chức và không được cung cấp ra ngoài Khi cơ sở
dữ liệu nội bộ với dữ liệu nhạy cảm được chuyển sang đám mây, người dùng cần phải
Trang 13gồm dữ liệu mật, toàn vẹn, và tính sẵn sàng Các khía cạnh chính của bảo mật cơ sở dữ liệu trong đám mây là dữ liệu sẽ được bảo đảm trong thời gian không được sử dụng và khi sử dụng, truy cập vào các dữ liệu phải được kiểm soát
Hình 6 : Cấu trúc Cloud cho Bảo mật trong lưu trữ dữ liệu
Hình 7 : Cấu trúc của NaaS (Network as a Service)
Trang 14CHƯƠNG 4 : NHỮNG THÁCH THỨC CLOUD COMPUTING[1]
Việc áp dụng hiện tại của điện toán đám mây có liên quan với nhiều thách thức bởi vì người dùng vẫn còn hoài nghi về tính xác thực của nó Dựa trên một cuộc khảo sát của IDC tiến hành trong năm 2008, những thách thức lớn mà ngăn chặn Điện toán đám mây đang được áp dụng được công nhận bởi các tổ chức như sau:
IV.1 Bảo mật
Rõ ràng là vấn đề an ninh đã đóng vai trò quan trọng nhất gây trở ngại điện toán đám mây Không nghi ngờ gì, đưa dữ liệu của bạn, chạy phần mềm của bạn vào đĩa cứng của người khác bằng cách sử dụng một CPU của người khác sẽ xuất hiện khó khăn cho nhiều người Vấn đề bảo mật nổi tiếng như mất dữ liệu, lừa đảo, botnet (chạy
từ xa trên một tập hợp các máy) đặt ra mối đe dọa nghiêm trọng đối với dữ liệu của tổ chức và phần mềm Hơn nữa, mô hình multi-tenancy và tài nguyên máy tính gộp trong điện toán đám mây đã giới thiệu những thách thức an ninh mới đòi hỏi kỹ thuật mới để giải quyết với Ví dụ, tin tặc có thể sử dụng Cloud của tổ chức và botnet như Cloud thường cung cấp các dịch vụ cơ sở hạ tầng đáng tin cậy hơn ở một mức giá tương đối
rẻ hơn cho họ để bắt đầu một cuộc tấn công
Người tiêu dùng điện toán đám mây phải xem xét sự cân bằng giữa các tính toán, truyền thông, và hội nhập Khi chuyển sang điện toán đám mây có thể làm giảm đáng
kể chi phí cơ sở hạ tầng, nó làm tăng chi phí truyền dữ liệu, tức là chi phí truyền dữ liệu của một tổ chức và từ công chúng và cộng đồng Cloud và chi phí trên một đơn vị tài nguyên tính toán sử dụng có khả năng là cao hơn Vấn đề này là đặc biệt nổi bật nếu người tiêu dùng sử dụng các mô hình triển khai đám mây lai (Hybrid Cloud), nơi dữ liệu của tổ chức được phân phối giữa một số tổ chức/ tư nhân (trong nhà cơ sở hạ tầng CNTT) / đám mây cộng đồng
Trang 15IV.3 Trách nhiệm của người cung cấp dịch vụ
Các tài nguyên lớn đã làm cho chi phí phân tích lớn hơn các trung tâm dữ liệu thường xuyên, nó thường tính toán chi phí của họ dựa trên tiêu thụ của máy tính tĩnh Hơn nữa, một máy ảo đã trở thành đơn vị phân tích chi phí chứ không phải là máy chủ vật lý cơ bản Đối với các nhà cung cấp điện toán đám mây SaaS, chi phí cung cấp phát triển multitenancy có thể rất đáng kể Chúng bao gồm: tái thiết kế và tái phát triển của phần mềm như ban đầu được sử dụng cho đơn thuê máy áo, chi phí cung cấp các tính năng mới cho phép tuỳ chỉnh chuyên sâu, hiệu quả và tăng cường bảo mật cho người dùng truy cập đồng thời, và đối phó với sự phức tạp gây ra bởi những thay đổi trên Do
đó, các nhà cung cấp SaaS cần phải cân nhắc thương mại giữa việc cung cấp các multitenancy và tiết kiệm chi phí thu được từ multi-tenancy như giảm chi phí thông qua khấu hao, giảm số lượng giấy phép phần mềm trên trang web, vv Vì vậy, một chiến lược và trách nhiệm khả thi cho nhà cung cấp SaaS là rất quan trọng đối với lợi nhuận và tính bền vững của các nhà cung cấp điện toán đám mây SaaS
Mặc dù người tiêu dùng đám mây không có quyền kiểm soát các nguồn tài nguyên máy tính cơ bản, nhưng họ cần phải đảm bảo chất lượng, độ tin cậy, và hiệu suất của các nguồn tài nguyên khi người tiêu dùng đã chuyển đổi chức năng kinh doanh cốt lõi của họ vào đám mây mà họ ủy thác Nói cách khác, sự đảm bảo từ nhà cung cấp dịch
vụ rất quan trọng để người tiêu dùng sử dụng Thông thường, đây là những cung cấp thông qua thỏa thuận về mức độ dịch vụ (SLAs) đàm phán giữa các nhà cung cấp và người tiêu dùng Vấn đề đầu tiên là định nghĩa của chi tiết kỹ thuật SLA mà có một mức độ thích hợp, cụ thể là sự cân bằng giữa biểu cảm và tính phức tạp, để họ có thể bao phủ hầu hết các mong đợi của người tiêu dùng và tương đối đơn giản được tỉ lệ, xác minh, đánh giá, và thực thi bởi cơ chế phân bổ nguồn có trên đám mây Ngoài ra, các dịch vụ đám mây khác nhau (IaaS, PaaS và SaaS) sẽ cần phải xác định thông số kỹ thuật meta SLA khác nhau Điều này cũng đặt ra một số vấn đề thực hiện cho các nhà