CHƯƠNG 1: TỔNG QUAN VỀ ĐIỆN TOÁN ĐÁM MÂY 1.1 Điện toán đám mây Điện toán đám mây - Cloud Computing (sau đây có thể gọi tắt là đám mây) là mô hình điện toán đang tiến tới hoàn chỉnh, mỗi tổ chức tiêu chuẩn, mỗi hãng công nghệ đang đưa ra những định nghĩa và cách nhìn của riêng mình. Theo Wikipedia: “Điện toán đám mây là một mô hình điện toán có khả năng co giãn linh động, các tài nguyên thường được ảo hóa và được cung cấp như một dịch vụ trên mạng Internet”. Theo Ian Foster: “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”. Một số định nghĩa thì cho rằng điện toán đám mây là điện toán máy chủ ảo, tuy nhiên, định nghĩa này chưa thực sự đầy đủ và chính xác, máy chủ ảo không phải là thành phần thiết yếu của một đám mây.
Nó chỉ là thành phần chủ chốt để một vài loại đám mây hoạt động. Hiện tại, định nghĩa của Viện tiêu chuẩn và công nghệ quốc gia Mỹ - NIST (National Institute of Science and Technology) được cho là thể hiện rõ nhất bản chất của điện toán đám mây [14]: điện toán đám mây là mô hình điện toán cho phép truy cập qua mạng để lựa chọn và sử dụng tài nguyên tính toán (mạng, máy chủ, lưu trữ, ứng dụng và dịch vụ…) theo nhu cầu một cách thuận tiện và nhanh chóng. Đồng thời, điện toán đám mây cũng cho phép kết thúc sử dụng dịch vụ, giải phóng tài nguyên dễ dàng, giảm thiểu các tương tác với nhà cung cấp. Như vậy, điện toán đám mây có thể coi là bước tiếp theo của ảo hóa, bao gồm ảo hóa phần cứng và ứng dụng, là thành phần quản lý, tổ chức, vận hành các hệ thống ảo hóa trước đó.
Điện toán đám mây có năm đặc điểm chính như sau: Tự phục vụ theo nhu cầu (On-deman self-service): Người sử dụng có thể tự cung cấp các tài nguyên như máy chủ ảo, tài khoản email… mà không cần có Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.vn Luận văn thạc sĩ Công nghệ thông tin 5 người tương tác với nhân viên của nhà cung cấp dịch vụ (nhân viên công nghệ thông tin). Mạng lưới truy cập rộng lớn (Broad Network Access): Khách hàng có thể truy cập tài nguyên qua mạng máy tính (như mạng Internet) từ nhiều thiết bị khác nhau (điện thoại thông minh, máy tính bảng, máy tính xách tay…). Tài nguyên được chia sẻ (Resource Pooling): Tài nguyên của các nhà cung cấp dịch vụ được chia sẻ tới nhiều khách hàng. Thông thường, các công nghệ ảo hóa được sử dụng để cho nhiều bên cùng thuê và cho phép tài nguyên được cấp phát động dựa theo nhu cầu của khách hàng.
Tính linh hoạt nhanh (Rapid elasticity): Tài nguyên có thể được cung cấp và giải phóng nhanh, tự động dựa trên nhu cầu. Khách hàng có thể tăng hoặc giảm việc sử dụng dịch vụ đám mây một cách dễ dàng theo nhu cầu hiện tại của mình. Ước lượng dịch vụ (Measured service): Khách hàng chỉ chi trả cho tài nguyên thực tế họ đã sử dụng. Thông thường, nhà cung cấp dịch vụ sẽ cung cấp cho khách hàng bảng điều khiển (dashboard) để họ có thể theo dõi việc sử dụng dịch vụ của họ.
Điện toán đám mây đã khắc phục được yếu điểm quan trọng của điện toán truyền thống về khả năng mở rộng và độ linh hoạt. Các công ty, tổ chức có thể triển khai ứng dụng và dịch vụ nhanh chóng, giảm chi phí và ít rủi ro về đầu tư ban đầu.2 Lịch sử hình thành và phát triển của điện toán đám mây Điện toán đám mây thường được mọi người biết đến như một công nghệ mới được phát triển trong những năm gần đây. Tuy nhiên, khái niệm này không mới như ta vẫn nghĩ. Điện toán đám mây đã bắt đầu được hình thành vào khoảng giữa thế kỷ 20, khi có sự ra đời của các máy tính mainframe.
Dưới đây là một số mốc phát triển quan trọng của điện toán đám mây [20]: Năm 1969, J.R Liicklider là người chịu trách nhiệm tạo điều kiện cho sự phát triển của APANET trong cuốn Advanced Research Project Agency Network đã nêu ý tưởng về mạng máy tính giữa các thiên hà, có vẻ giống với điện toán đám mây. Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.vn Luận văn thạc sĩ Công nghệ thông tin 6 Tuy nhiên, cho đến năm 1999, điện toán đám mây mới cho thấy thành tựu của sự phát triển với cột mốc là điện toán đám mây của Saleforce.com với các ứng dụng doanh nghiệp cung cấp thông qua một trang web đơn giản, mở đường cho việc cung cấp các ứng dụng trên Internet. Năm 2002, Amazon Web Service cung cấp bộ các dịch vụ lưu trữ, tính toán, trí tuệ nhân tạo… Năm 2004, mạng xã hội Facebook ra đời kết nối và lưu dữ liệu, tạo thành một dịch vụ đám mây cá nhân. Năm 2006, Amazon ra mắt EC2 (Elastic Compute), là một dịch vụ web thương mại cho phép các công ty nhỏ, cá nhân thuê máy tính mà trên đó để chạy các ứng dụng máy tính của mình.
Cuối năm 2008 là sự ra đời của điện toán đám mây Azue của Microsoft. Năm 2009, Google Apps chính thức được phát hành, sau đó, liên tiếp các hãng công nghệ có tên tuổi tham gia cung cấp dịch vụ liên quan đến điện toán đám mây như Rackspace, IBM… Cho tới nay, các công ty đã tích cực cải thiện dịch vụ và khả năng đáp ứng của mình để phục vụ nhu cầu cho người sử dụng một cách tốt nhất. Đặc biệt, số người dùng điện thoại thông minh và máy tính bảng tăng nhanh trong những năm gần đây đã giúp cho các dịch vụ điện toán đám mây ngày càng phát triển vượt bậc, mang nhiều trải nghiệm mới cho người dùng, kết nối mọi lúc mọi nơi qua môi trường Internet.3 Kiến trúc điện toán đám mây Kiến trúc điện toán đám mây bao gồm nhiều thành phần đám mây liên kết với nhau. Ta có thể chia kiến trúc điện toán đám mây thành hai phần quan trọng: nền tảng font-end và nền tảng back-end.
Hai phần này kết nối với nhau thông qua mạng máy tính, thường là mạng Internet [18]. Front-end là phần thuộc về phía khách hàng dùng máy tính. Hạ tầng khách hàng trong nền tảng font-end (Client Infrastructure) là những yêu cầu phần mềm hoặc phần cứng (hệ thống mạng của khách hàng hoặc máy tính) để sử dụng các Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.vn Luận văn thạc sĩ Công nghệ thông tin 7 dịch vụ trên điện toán đám mây. Thiết bị cung cấp cho khách hàng có thể là trình duyệt, máy tính để bàn, máy xách tay, điện thoại thông minh… Back-end đề cập đến chính đám mây của hệ thống, bao gồm tất cả các tài nguyên cần thiết để cung cấp dịch vụ điện toán đám mây.
Nó gồm các thành phần con chính như: cơ sở hạ tầng, lưu trữ, máy ảo, cơ chế an ninh, dịch vụ, mô hình triển khai, máy chủ… Hình 1.1: Kiến trúc điện toán đám mây Cơ sở hạ tầng (Infrastructure) của điện toán đám mây là phần cứng được cung cấp như dịch vụ, nghĩa là được chia sẻ và có thể sử dụng lại dễ dàng. Các tài nguyên phần cứng được cung cấp theo thời gian cụ thể theo yêu cầu. Dịch vụ kiểu này giúp cho khách hàng giảm chi phí bảo hành, chi phí sử dụng,… Lưu trữ (Storage): Lưu trữ đám mây là khái niệm tách dữ liệu khỏi quá trình xử lý và chúng được lưu trữ ở những vị trí từ xa. Lưu trữ đám mây thường được triển khai theo các dạng: đám mây công cộng, đám mây riêng, đám mây cộng đồng hoặc đám mây lai.
Lưu trữ đám mây cũng bao gồm cả các dịch vụ cơ sở dữ liệu, ví dụ như BigTable của Google, SimpleDB của Amazon,… Cloud Runtime: Là dịch vụ phát triển phần mềm ứng dụng và quản lý các yêu cầu phần cứng, nhu cầu phần mềm. Ví dụ nền dịch vụ như khung ứng dụng web, web hosting. Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.vn Luận văn thạc sĩ Công nghệ thông tin 8 Dịch vụ (Service): Dịch vụ đám mây là một phần độc lập có thể kết hợp với các dịch vụ khác để thực hiện tương tác, kết hợp giữa các máy tính với nhau để thực thi chương trình ứng dụng theo yêu cầu trên mạng. Ví dụ các dịch vụ hiện nay như: Simple Queue Service, Google Maps, các dịch vụ thanh toán linh hoạt trên mạng của Amazon.
Ứng dụng: Ứng dụng đám mây (Cloud Application) là một đề xuất về kiến trúc phần mềm sẵn sàng phục vụ, nhằm loại bỏ sự cần thiết phải mua phần mềm, cài đặt, vận hành và duy trì ứng dụng tại máy bàn/thiết bị của người sử dụng. Ứng dụng đám mây loại bỏ được các chi phí để bảo trì và vận hành các chương trình ứng dụng. Các máy chủ sử dụng các giao thức nhất định được gọi là middleware giúp các thiết bị kết nối để giao tiếp với nhau.4 Một số mô hình điện toán đám mây 1.1 Các mô hình dịch vụ Điện toán đám mây có thể được xem như một nhóm các dịch vụ, trong đó có 3 mô hình dịch vụ chính [9, 14]: phần mềm như một dịch vụ, nền tảng như một dịch vụ, cơ sở hạ tầng như một dịch vụ. Phần mềm như một dịch vụ (SaaS - Software as a Service): Tất cả các phần mềm (tài chính, nhân sự, bán hàng, tư vấn) được cung cấp như một dịch vụ.
Nghĩa là người dùng sử dụng các phần mềm của nhà cung cấp dịch vụ chạy trên một nền tảng đám mây và sẽ truy cập các phần mềm này thông qua Web. Với SaaS, người dùng lựa chọn ứng dụng phù hợp với nhu cầu và chạy ứng dụng đó trên cơ sở hạ tầng đám mây mà không cần quan tâm đến việc quản lý tài nguyên phần cứng - công việc này đã có nhà cung cấp dịch vụ lo. Nhà cung cấp dịch vụ sẽ quản lý, kiểm soát và đảm bảo ứng dụng luôn sẵn sang và hoạt động ổn định. Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.vn Luận văn thạc sĩ Công nghệ thông tin 9 Hình 1.2: Các mô hình dịch vụ của điện toán đám mây SaaS có thể phục vụ cùng lúc hàng 9iki nghìn khách hàng (dịch vụ đám mây công cộng), hoặc môi trường dịch vụ đám mây riêng cho các phần mềm chuyên dụng.