CHƯƠNG I. TỔNG QUAN VỀ ĐIỆN TOÁN ĐÁM MÂY 1. Giới thiệu về “Điện toán đám mây” Điện toán đám mây (cloud computing) hay còn gọi là điện toán máy chủ ảo nơi các tính toán được “định hướng dịch vụ” và phát triển dựa vào Internet. Cụ thể hơn, trong mô hình điện toán đám mây, tất cả các tài nguyên, thông tin, và software đều được chia sẻ và cung cấp cho các máy tính, thiết bị, người dùng dưới dạng dịch vụ trên nền tảng một hạ tầng mạng công cộng (thường là mạng Internet).
Các users sử dụng dịch vụ như cơ sở dữ liệu, website, lưu trữ, … trong mô hình Cloud Computing không cần quan tâm đến vị trí địa lý cũng như các thông tin khác của hệ thống mạng đám mây – hay nói một cách khác: “điện toán đám mây trong suốt đối với người dùng”. Người dùng cuối truy cập và sử dụng các ứng dụng đám mây thông qua các ứng dụng như trình duyệt web, các ứng dụng mobile, hoặc máy tính cá nhân thông thường. Hiệu năng sử dụng phía người dùng cuối được cải thiện khi các phần mềm chuyên dụng, các cơ sở dữ liệu được lưu trữ và cài đặt trên hệ thống máy chủ ảo trong môi trường điện toán đám mây trên nền của “data center”. Thuật ngữ Cloud Computing đã xuất hiện từ khá lâu và từ khi xuất hiện nó đã thu hút rất nhiều nhà khoa học, trường đại học và các công ty công nghệ thông tin đầu tư nghiên cứu.
Bên cạnh cách hiểu được em đề cập ở trên, còn rất nhiều các định nghĩa và cách tiếp cận khác nhau về Cloud Computing. Theo thống kê, hiện tại có hơn 200 định nghĩa khác nhau về Cloud Computing. Mỗi nhóm nghiên cứu đưa ra cách hiểu, cách tiếp cận của riêng mình. Dưới đây là một số ví dụ: - Cloud Computing là dịch vụ IT được cung cấp không phụ thuộc vào vị trí (“The cloud is IT as a Service, delivered by IT resources that are independent of location” - The 451 Group).
- Cloud Computing cung cấp các tài nguyên IT có khả năng mở rộng và co giãn, các tài nguyên này được cung cấp dạng dịch vụ cho người dùng thông qua mạng Internet (“Cloud computing is a style of computing where massively scalable IT- Nguyễn Nam Hà – BK15BMMT related capabilities are provided ‘as a service’ across the Internet to multiple external customers” - Gartner). Những định nghĩa trên đều là những định nghĩa theo hướng thương mại, từ góc nhìn của người dùng đầu cuối và dựa theo kinh nghiệm làm việc với Cloud Computing của các công ty này. Theo đó tính năng chủ yếu của Cloud Computing là cung cấp cơ sở hạ tầng và các ứng dụng dưới dạng dịch vụ có thể sử dụng được. Đứng ở góc nhìn kỹ thuật cũng có khá nhiều khái niệm 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 (“A large-scale distributed computing paradigm that is driven by economies of scale, in which a pool of abstracted, virtualized, dynamically scalable, managed computing power, storage, platforms, and services are delivered on demand to external customers over the 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. (“A Cloud is a type of parallel and distributed system consisting of a collection of interconnected and virtualised computers that are dynamically provisioned and presented as one or more unified computing resources based on service-level agreements established through negotiation between the service provider and consumers”) Nguyễn Nam Hà – BK15BMMT Cả hai định nghĩaa này đều định nghĩa Cloud Computing làà một hệ phân bổ, cung cấp các dạng tài ng guyên ảo dưới dạng dịch vụ theo nhu cầu người n sử dụng một cách linh động trên môi trường t Internet.Góc nhìn kĩ thuật về Cloud Computing 2. Các tính chất và lợi ích khi sử dụng điện toán đám mây Cloud Computing có cácc tính chất cơ bản và các mô hình triển khaii, mô hình dịch vụ được thể hiện trong hình sau: Nguyễn Nam Hà – BK15 5BMMT Hình 2. NIST Visual Model of Cloud Computing Definition 2.
Các tính chất cơ bản của Cloud Computing 2. Broad network access (Truy xuất diện rộng) Cloud Computing cung cấp các dịch vụ bằng cách thông qua môi trường Internet public. Vì thế chỉ cần người dùng có kết nối Internet là có thể sử dụng dịch vụ. Đồng thời, Cloud Computing không đòi hỏi khả năng xử lí cao ở phía khách hàng, do đó người dùng có thể truy xuất bằng rất nhiều các thiết bị như PC, laptop, điện thoại,… Với Cloud Computing sẽ không còn hạn chế về mặt địa lí nữa, tất cả khách hàng đều có thế sử dụng dịch vụ ở bất cứ đâu, điều kiện cần duy nhất chỉ là kết nối Internet.
Rapid Elasticity (Khả năng co giãn) Đây là tính chất đặc biệt quan trọng và mang lại lợi thế lớn nhất cho Cloud Computing. Đây là khả năng mở rộng và thu nhỏ hệ thống tùy theo nhu cầu người sử dụng. Nếu nhu cầu của người dùng thấp, hệ thống sẽ giảm bớt tài nguyên để tránh dư thừa và tận dụng cho các người dùng khác. Nếu nhu cầu của người dùng cao, hệ thống Nguyễn Nam Hà – BK15BMMT sẽ phân bổ thêm tài nguyện cho họ, tất nhiên là trong hạn mức đã thỏa thuận giữa bên cung cấp dịch vụ và khách hàng.
Một ví dụ: khách hàng thuê một VPS với 4CPU để cung cấp web service, vào thời gian ít người truy cập web, VPS đó chỉ sử dụng 1CPU. Khi đó hệ thống của nhà cung cấp sẽ ngắt bớt các CPU dư thừa để tối ưu việc tiết kiệm sử dụng tài nguyên, hoặc có thể sử dụng năng lực xử lí đó cho một VPS khác đang yêu cầu tải cao. Còn vào thời gian nhiều người truy cập, yêu cầu xử lí tăng lên, hệ thống sẽ cấp đủ CPU cho VPS để đảm bảo đủ khả năng xử lí. Tất nhiên số CPU tối đa cấp cho khách hàng vẫn là 4.
Nếu khách hàng muốn sử dụng thêm CPU sẽ phải trả thêm phí cho phần vượt mức đó. 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. Measured Service (Điều tiết dịch vụ) Hệ thống Cloud Computing tự động kiểm soát và tối ưu hóa việc sử dụng tài nguyên như dung lượng lưu trữ, đơn vị xử lý, băng thông.
Lượng tài nguyên sử dụng có thể được kiểm soát, theo dõi và báo cáo một cách minh bạch cho cả phía nhà cung cấp dịch vụ và người sử dụng. On-demand self-service (Tự phục vụ theo nhu cầu) Với những khách hàng của dịch vụ Cloud Computing, họ chỉ cần gửi yêu cầu thông qua giao diện web của nhà cung cấp dịch vụ, hệ thống sẽ đáp ứng yêu cầu của người dùng. Tất cả các yêu cầu về server như CPU, RAM, GPU, bandwidth,. sẽ rất dễ dàng được đáp ứng chỉ với vài thao tác lựa chọn trên giao diện dịch vụ.
Trong quá trình sử dụng, các yêu cầu phát sinh như tăng thời gian thuê dịch vụ, tăng thêm cấu hình, hay tăng dung lượng lưu trữ đều có thế được đáp ứng một cách dễ dàng. Chỉ cần người dùng có một kết nối Internet và đương nhiên là khả năng chi trả. Các lợi ích của Cloud Computing Nguyễn Nam Hà – BK15BMMT Với những tính chất kể trên, Cloud Computing mang lại những lợi ích rất cơ bản và đặc trưng như: - Tăng sự linh hoạt của hệ thống (Increased Flexibility): mỗi khi cần thêm hay bớt một dịch vụ thành phần sẽ tốn rất ít thời gian. - Sử dụng tài nguyên theo yêu cầu (IT Resources on demand): tùy thuộc nhu cầu của người sử dụng mà nhà cung cấp sẽ phân bổ tài nguyên cho họ.
- Tăng khả năng sẵn sàng của hệ thống (Increased availability): các ứng dụng và dịch vụ được cân bằng động để đảm bảo tính khả dụng. Khi một trong các thành phần phần cứng bị hư hỏng sẽ không làm ảnh hưởng đến hệ thống, chỉ suy giảm tài nguyên hệ thống. - Tiết kiệm phần cứng (Hardware saving): mô hình truyền thống trong nhiều trường hợp cần một hệ thống riêng biệt cho mỗi tác vụ, dịch vụ. Điều này gây ra lãng phí, trong mô hình “Điện toán đám mây”, các tài nguyên IT được quản lý để đảm bảo sự không lãng phí này.
- Cung cấp các dịch vụ với độ sẵn sang gần như 100% - Trả theo nhu cầu sử dụng thực tế (Paying-as-you-go): mô hình Cloud Computing dễ dàng tích hợp với một hệ thống billing để thực hiện việc tính cước dựa theo dung lượng người dùng đối với các tài nguyên như tốc độ CPU, dung lượng RAM, dung lượng HDD,… Mô hình Cloud Computing khắc phục được 2 điểm yếu của mô hình tuyền thông về khả năng mở rộng và độ linh hoạt. Các doanh nghiệp có thể triển khai ứng dụng và dịch vụ nhanh chóng, chi phí thấp hơn và ít rủi ro hơn. Các mô hình Cloud Computing Các mô hình Cloud Computing được chia làm 2 loại - Các mô hình triển khai: phân loại cách thức triển khai dịch vụ Cloud Computing đến khách hàng Nguyễn Nam Hà – BK15BMMT - Các mô hình dịch vụ: phân loại các dịch vụ của các nhà cung cấp dịch vụ Cloud Computing 2. Các mô hình dịch vụ của Cloud Computing (Service Models) Hiện tại có rất nhiều nhà cung cấp dịch vụ Cloud Computing cung cấp nhiều loại dịch vụ khác nhau.
Tuy nhiên có ba loại dịch vụ Cloud Computing cơ bản là: dịch vụ cơ sở hạ tầng (Infrastructure as a Service – IaaS), dịch vụ nền tảng (Platform as a Service – PaaS) và dịch vụ phần mềm (Software as a Service – SaaS). Cách phân loại này thường được gọi là “mô hình SPI”. Các loại dịch vụ Cloud Computing 2. 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.