1.2.3.1. Tự phục vụ nhu cầu (On-demand self-service)
Người sử dụng có thể tự tăng cường năng lực tính toán cho mình, ví dụ như về thời gian sử dụng máy chủ hay không gian lưu trữ trên mạng, một cách hoàn toàn tự động theo như cầu mà không cần phải thương lượng với nhà cung cấp dịch vụ.
1.2.3.2. Truy cập thông qua mạng băng thông rộng (Broad network access) access)
Các khả năng tính toán luôn sẵn sàng trên mạng và được truy cập đến thông qua những kỹ thuật tiêu chuẩn, mà có thể thực hiện bằng nhiều loại máy trạm khác nhau (như điện thoại di động, máy tính xách tay hay các thiết bị số hỗ trợ cá nhân- PDA).
1.2.3.3. Quay vòng tài nguyên (Resource pooling)
Các tài nguyên tính toán của nhà cung cấp được quay vòng để phục vụ cho nhiều người dùng cùng sử dụng theo mô hình multi-tenance- đa khách hàng, với các tài nguyên
26
thực và ảo hóa khác nhau được cấp phát và tái cấp phát động tùy thuộc vào yêu cầu của người sử dụng. Ở đây cảm giác của người sử dụng về tài nguyên không phụ thuộc vào vị trí của chúng, họ không điều khiển và cũng không hiểu biết về vị trí chính xác của các tài nguyên được cung cấp, họ chỉ có thể xác định vị trí của chúng ở mức trừu tượng hóa có thể quay vòng bao gồm không gian lưu trữ, xử lý, bộ nhớ, băng thông mạng và các máy ảo.
1.2.3.4. Co giãn nhanh (Rapid elasticity)
Khả năng tính toán có thể được cung cấp một cách nhanh chóng và co giãn, trong một số trường hợp hoạt động cung cấp này có thể tự động giãn ra hoặc co vào phụ thuộc vào nhu cầu người dùng. Trên phương diện người sử dụng, tài nguyên hiện có được coi như vô hạn và có thể mua với bất kì số lượng, bất kì thời gian nào.
1.2.3.5. Dịch vụ đƣợc đo đếm (Measured Service)
Các hệ thống đám mây điều khiển tự động và tối ưu hóa tài nguyên sử dụng bằng cách sử dụng khả năng đo lường mức độ trừu tượng hóa phù hợp với kiểu dịch vụ (lưu trữ, khả năng xử lý, băng thông, và tài khoản người dùng đang hoạt động).
1.2.4. Mô hình đóng gói
Mô hình đóng gói của tính toán đám mây có 4 thành phần như sau:
1.2.4.1 Đám mây riêng (Private Cloud)
Cơ sở hạ tầng tính toán đám mây được hoạt động chỉ phục vụ duy nhất cho một tổ chức. Nó có thể được quản lý bởi chính tổ chức hoặc một bên thứ 3 và có thể tồn tại trên chính hệ thống của tổ chức đó hoặc không.
27
Hình 1.8. Mô hình đám mây riêng (Private Cloud)
1.2.4.2. Đám mây công cộng (Public Cloud)
Cơ sở hạ tầng tính toán đám mây loại này được tạo sẵn cho số đông công chúng hoặc một nhóm ngành công nghiệp lớn và được sở hữu bởi một tổ chức bán các dịch vụ đám mây.
28
1.2.4.3. Đám mây ghép (Hybrid Cloud)
Cơ sở hạ tầng tính toán đám mây mà thành phần được ghép từ hai hoặc nhiều đám mây khác (có thể là đám mây riêng, cộng đồng hoặc công cộng) mà vẫn hoạt động như một thực thể duy nhất. Các đám mây thành phần này được ràng buộc với nhau bằng công nghệ tiêu chuẩn hoặc độc quyền cho phép dữ liệu và ứng dụng có tính di động.
Hình 1.10. Mô hình đám mây ghép (Hybrid Cloud)
1.2.4.4. Đám mây cộng đồng (Community Cloud)
Cơ sở hạ tầng tính toán đám mây được chia sẻ bởi một số tổ chức và hỗ trợ một cộng đồng cụ thể mà cùng chia sẻ mối quan tâm (như là nhiệm vụ, yêu cầu chính sách an ninh, và xem xét tuân thủ). Nó có thể được quản lý bởi các tổ chức hoặc một bên thứ 3 và có thể tồn tại trên chính hệ thống của nhóm các tổ chức đó hoặc không.
29
1.3. Dịch vụ dữ liệu cho Cloud Computing
1.3.1. Khái niệm dịch vụ dữ liệu (Data Service)
Database as a Service (DaaS) được cung cấp bởi tính toán đám mây. Ý tưởng của DaaS là giúp khách hàng giảm sự phức tạp và chi phí của việc tự tổ chức và duy trì 1 cơ sở dữ liệu. [2]
o Lợi ích của DaaS:
Dễ dùng: Không có phục vụ để cung cấp và không có hệ thống thừa phải lo lắng. Người sử dụng không phải lo lắng về việc mua, cài đặt, và duy trì phần cứng cho cơ sở dữ liệu.
Năng lượng: Các cơ sở dữ liệu không nằm tại địa phương, nhưng điều đó không có nghĩa là nó không phải là chức năng và hiệu quả. Tùy thuộc vào nhà cung cấp nhưng người sử dụng có thể tùy chỉnh dữ liệu xác nhận để đảm bảo thông tin chính xác. Người sử dụng có thể tạo và quản lý cơ sở dữ liệu dễ dàng.
Tích hợp: Cơ sở dữ liệu có thể được tích hợp với các dịch vụ khác của bạn để cung cấp giá trị nhiều và quyền lực. Ví dụ, gắn nó với lịch, email, và người dân làm công việc của bạn mạnh hơn.
Quản trị: Nhà cung cấp thường sử dụng nhân công nước ngoài để khai thác giá nhân rẻ. Ví dụ, hoàn toàn có thể sử dụng dịch vụ ở Chicago, máy chủ vật lý dặt ở Washington, người quản trị cơ sở dữ liệu ở Philippines.
1.3.2. Các mô hình dịch vụ dữ liệu đám mây
Các mô hình dịch vụ dữ liệu tính toán đám mây có thể phần thành 3 mô hình cơ bản như sau:
30
Hình 1.11. Các kiểu cung cấp dịch vụ tính toán đám mây
1.3.2.1. Mô hình dịch vụ cung cấp phần mềm (Software as a Service - SaaS) - SaaS)
31
SaaS là một mô hình trong đó ứng dụng được triển khai dưới dạng dịch vụ theo yêu cầu cho khách hàng truy cập nó thông qua Internet. Dịch vụ này cung cấp cho người tiêu dùng là khả năng sử dụng các phần mềm ứng dụng của nhà cung cấp dịch vụ, mà các phần mềm ứng dụng này đang chạy trên một đám mây cơ sở hạ tầng chứ không phải chạy trên các máy tính gia đình hay văn phòng. Các ứng dụng này có thể truy cập được từ nhiều loại thiết bị khách hàng khác nhau thông qua một giao diện máy cấu hình nhẹ tương tự như một trình duyệt web (ví dụ, dựa trên web email). Người sử dụng không quản lý hoặc kiếm soát các cơ sở hạ tầng tính toán đám mây bên dưới bao gồm mạng, máy chủ, hệ điều hành, lưu trữ, hoặc thậm chí cả khả năng ứng dụng cá nhân, ngoại trừ việc có thể thiết lập cấu hình hạn chế người sử dụng ứng dụng cụ thể.
Các dịch vụ dạng SaaS hiện có: Google Apps, Google Docs, Gmail, Google Calendar, Zoho, Acrobat.com, iWork.com, Kashflow, FreeAgent, WordPress.com, MobileMe, Salesforce.com [2].
Các dịch vụ dữ liệu theo mô hình này là Simple Storage Service và Datasore [2].
1.3.2.2 Mô hình dịch vụ cung cấp nền tảng (Platform as a Service - PaaS) PaaS)
PaaS là một mô hình xây dựng và triển khai ứng dụng thông qua Internet. PaaS cung cấp tất cả tài nguyên cần dùng để xây dựng ứng dụng và dịch vụ, mà không cần tải về hoặc cài đặt thêm bất cứ phần mềm nào.
32
Hình 1.13. Mô hình PaaS
Dịch vụ PaaS bao gồm thiết kế ứng dụng, phát triển, kiếm thử, triển khai ứng dụng. Các dịch vụ khác: cộng tác nhóm làm việc, tích hợp dịch vụ web, tích hợp cơ sở dữ liệu, bảo mật, mở rộng, lưu trữ, quản lý trạng thái và phiên bản. Một điểm yếu của PaaS là thiếu đi khả năng tích hợp và chuyển đổi giữa các nhà cung cấp dịch vụ. Người dùng khó có thể chuyển ứng dụng từ nhà cung cấp dịch vụ này sang nhà cung cấp khác, hoặc có thể phải chịu chi phí cao. Thêm vào đó, nếu nhà cung cấp ngừng hoặt động, mọi ứng dụng và dữ liệu của người dùng có khả năng bị mất.
PaaS thường đưa ra những tiện ích hỗ trợ tạo giao diện người dùng dựa trên HTML và JavaScript. PaaS cũng có hỗ trợ giao diện giao phát triển nền web, ví dụ như Simple Object Access Protocol (SOAP)và Representation State Transfer (REST), cho phép khởi tạo nhiều dịch vụ web.
PaaS thường có 3 loại:
Tiện ích phát triển: Cho phép tùy chỉnh 1 ứng dụng SaaS đang hoạt động
Môi trường độc lập (Stand-alone environment), môi trường này nói chung chỉ được sử dụng cho quá trình phát triển.
Môi trường phát triển khai ứng dụng: Môi trường này hỗ trợ triển khai dịch vụ, bảo mật, mở rộng theo yêu cầu. Nó không bao gồm chức năng phát triển, gỡ lỗi và kiếm thử.
33 Khả năng cho phép nhóm phát triển ở các vị trí phân tán có thể làm
việc cùng nhau
Khả năng cho phép tổ hợp các dịch vụ web từ nhiều nguồn khác nhau
Khả năng nhìn nhận được lợi ích về chi phí khi sử dụng 1 dịch vụ có tích hợp cơ sở hạ tầng cho bảo mât, mở rộng và chịu lỗi, thay vì phát triển và kiểm thử chúng một cách độc lập
Khả năng nhìn nhận được chi phí cắt giảm được thông qua việc sử dụng môi trường lập trình trừu tượng ở mức cao.
Rào cản đối với PaaS
Bởi các nhà cung cấp có thể sử dụng các dịch vụ hoặc ngôn ngữ phát triển đặc thù, nên một vài nhà phát triển e ngại việc bị giới hạn trong 1 nhà cung cấp dịch vụ PaaS
Nhà cung cấp có thể cho phép ứng dụng được chuyển sang nhà cung cấp khác, tuy nhiên chi phí thường là cao hơn so với việc chuyển ứng dụng giữa các host như thông thường.
Các dịch vụ dạng PaaS hiện có: Salesforce.com, Apprenda SaaSGrid, Google App Engine, Microsoft Azure, Appistry, Talis Platform [2].
Dịch vụ cơ sở dữ liệu theo mô hình này là Datastore của Google App Engine [2].
1.3.2.3 Mô hình dịch vụ cung cấp cơ sở hạ tầng (Infrastructure as a Service - IaaS) Service - IaaS)
Trong một số tài liệu cũng được gọi là Hardware as a Service (HaaS). Dịch vụ này cung cấp cho người tiêu dùng là năng lực xử lý, không gian lưu trữ, Network, và các tài nguyên tính toán cơ bản khác mà người sử dụng có thể dùng để triển khai và chạy phần mềm tùy ý, có thể là hệ điều hành và các ứng dụng. Người sử dụng không quản lý hoặc kiẻm soát các cơ sở hạ tầng cơ bản của đám mây nhưng có thể kiểm soát đối với hệ điều hành, không gian lưu trữ và các ứng dụng do họ triển khai, và có thể kiểm soát giới hạn của các thành phần mạng mà họ chọn.
Các dịch vụ dạng IaaS hiện có: Amazon Elastic Computing Cloud (EC2), Amazon S3, Elastra (Beta 2.0 2/2009), Nirvanix, AppNexus [7].
34
1.3.3. Triển khai dịch vụ đám mây
Giải pháp tính toán đám mây được tạo ra từ một số yếu tố cơ bản là các máy trạm (clients), trung tâm dữ liệu (Datacenters), và các máy chủ phân tán (Distributed Servers). Như trong hình 1.14, các yếu tố này tạo thành 3 thành phần cơ bản của một giải pháp tính toán đám mây.
Mỗi thành phần có một mục đích và đóng một vai trò cụ thể trong việc sinh ra một đám mây chức năng dựa trên ứng dụng, sau đây chúng ta hãy xem xét kỹ hơn.
Hình 1.14. 3 thành phần tạo nền một giải pháp Cloud Computing
1.3.3.1. Máy trạm (Clients)
Trong kiến trúc tính toán đám mây, loại máy trạm thông thường là các máy tính để bàn, cũng có thể là các máy tính xách tay, điện thoại di động, hoặc các thiết bị số hỗ trợ cá nhân (Personal Digital Assistant - PDA) – cùng tất cả các trình điều khiển Cloud Computing vì tính di động của các thiết bị này.
Máy trạm là các thiết bị mà người sử dụng dùng để tương tác quản lý thông tin của họ trên các đám mây.
35
Máy trạm có thể chia làm 3 loại:
Máy di động( Mobile): Là các thiết bị di động bao gồm các thiết bị PDA hay điện thoại thông minh (như Blackberry, Windows Mobile Smartphone, hoặc iPhone).
Máy cấu hình nhẹ (Thin): Những máy trạm này là các máy tính không có ổ đĩa cứng nội bộ, tất cả các công việc được thực hiện tại các máy chủ trên đám mây, sau đó chúng chỉ hiển thị thông tin.
Máy cấu hình nặng (Thick): Loại máy trạm này là những máy tính thông thường, chúng kết nối với các đám mây bằng cách sử dụng một trình duyệt web như Firefox hay Internet Explore.
Hiện nay, máy cấu hình nhẹ đang trở thành một giải pháp ngày càng phổ biến, vì giá cả, hiệu quả và sự an toàn hơn của chúng đối với môi trường.
1.3.3.2. Trung tâm dữ liệu (Datacenters)
Trung tâm dữ liệu là tập hợp các máy chủ trong đó có chứa các ứng dụng mà những người dùng đăng ký sử dụng. Nó có thể đặt trong một căn phòng lớn tại tầng hầm của chính tòa nhà có người sử dụng, cũng có thể trong một căn phòng đầy các máy chủ ở tận phía bên kia trái đất mà người sử dụng truy cập vào đó thông qua Internet.
Một xu hướng phát triển trong thế giới Công nghệ thông tin hiện nay đó là các máy chủ ảo. Điều này có nghĩa là, phần mềm có thể được cài đặt để cho phép giống như nhiều máy chủ ảo đang cùng được sử dụng. Có nghĩa là có thể có nhiều các máy chủ ảo chạy trên một máy chủ vật lý. Tất nhiên số lượng máy chủ ảo có thể tồn tại trên một máy chủ vật lý phụ thuộc vào tốc độ của máy chủ vật lý và ứng dụng nào sẽ được chạy trên đó.
36
1.3.3.3. Máy chủ phân tán (Distributed Servers)
Trong thực tế, các máy chủ không phải được đặt trong cùng một địa điểm. Thông thường, chúng nằm phân tán tại các vị trí địa lý khác nhau. Nhưng với người sử dụng - thuê bao đám mây, thì những máy chủ này hoạt động như thể chúng được đặt cùng một nơi.
Điều này cho phép các nhà cung cấp dịch vụ tính toán đám mây linh hoạt hơn trong các tùy chọn và đảm bảo an toàn. Lấy ví dụ, Amazon có giải pháp tính toán đám mây của mình trong các máy chủ trên toàn thế giới. Nếu xảy ra một vấn đề gì đó tại một trang web, gây ra một sự cố, thì dịch vụ này vẫn sẽ được truy cập thông qua một trang web khác. Ngoài ra, nếu đám mây cần thêm phần cứng, khi đó không cần phải tăng thêm các máy chủ trong phòng đó mà có thể thêm chúng vào một trang web khác và chỉ cần làm cho nó trở thành một phần của đám mây.
1.4. Các dịch vụ dữ liệu đám mây hiện có
1.4.1. Amazon
Amazon cung cấp 2 dịch vụ dữ liệu đám mây là Amazon S3 và Amazon SimpleDB.
Amazon S3
Website: http://aws.amazon.com/s3/
Amazon S3 cung cấp một giao diện dịch vụ web, cho phép lưu trữ và truy xuất bất kỳ khối lượng dữ liệu nào, bất cứ lúc nào, từ bất cứ nơi nào thông qua mạng Internet.
Người sử dụng có thể lưu trữ các đối tượng có kích thước từ 1 byte đến 5 gigabyte với số lượng các đối tượng có thể lưu trữ là không giới hạn. Mỗi đối tượng lưu trữ trên Amazon S3 được cấu thành từ hai thành phần: siêu dữ liệu (metadata) chứa thông tin cấu trúc dữ liệu và dữ liệu thể hiện (data) là các dữ liệu thật sự chứa các thông tin cần lưu trữ
37
của người sử dụng. Mỗi đối tượng được lưu trữ trong một ngăn riêng (bucket) và được định danh thông qua một khóa duy nhất được xác định bởi chính người sử dụng.
Một ngăn có thể được lưu trữ ở một hoặc vài khu vực. Người sử dụng có thể chọn khu vực lưu trữ để có thể tối ưu về độ trễ, giảm thiểu chi phí, hoặc yêu cầu tùy chỉnh địa chỉ.
Đối tượng được lưu giữ trong một khu vực không bao giờ rời khỏi khu vực đó, trừ khi chính người sử dụng chuyển chúng đi. Ví dụ, đối tượng được lưu trữ trong EU (Ireland) không bao giờ rời khỏi khu vực EU.
Cơ chế xác thực được cung cấp trong Amazon S3 đảm bảo rằng dữ liệu được giữ an toàn với những truy cập trái phép. Đối tượng có thể mang tính riêng tư hoặc công cộng, và các quyền có thể được cấp cho người sử dụng cụ thể. Độ tin cậy được Amazon S3 hỗ trợ bởi các mức dịch vụ thỏa thuận.
Amazon S3 sử dụng các tiêu chuẩn dựa trên giao diện REST và SOAP được thiết kế để làm việc với bất kỳ bộ công cụ phát triển Internet nào. Giao thức tải về mặc định là