Tải bản đầy đủ (.doc) (5 trang)

cloud computing - hạ tầng và ứng dụng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (130.72 KB, 5 trang )

Cloud computing - hạ tầng và ứng dụng
Tính toán và lưu trữ dạng “đám mây” chuyển các tài nguyên vật lý (như bộ vi xử lý và
thiết bị lưu trữ) thành các tài nguyên mở rộng được và chia sẻ được trên Internet (tính
toán và lưu trữ dưới dạng các “dịch vụ”). Mặc dù không phải là một khái niệm mới
nhưng ảo hóa (virtualization) khiến cloud computing trở nên dễ mở rộng và hiệu quả hơn
nhiều thông qua việc chia sẻ các hệ vật lý với sự ảo hóa server. Cloud computing cho
phép người dùng tiếp cận đến các tài nguyên tính toán và lưu trữ khổng lồ mà không cần
biết chúng ở đâu và được cấu hình như thế nào. Trong cloud computing Linux đóng một
vai trò to lớn.
Ngày nay bạn khó có thể đọc một Website kỹ thuật nào mà lại không nhắc đến cloud
computing. Cloud computing không gì khác chính là việc cung cấp các tài nguyên tính
toán (máy tính và phương tiện lưu trữ) như là một dịch vụ. Cùng với đó là khả năng mở
rộng các máy tính và phương tiện lưu trữ theo một cách đơn giản và “trong suốt”. Tất cả
các điều này tương tự như ý tưởng của utility computing , trong đó các tài nguyên tính
toán được xem như các dịch vụ “đo” được, chẳng hạn như trong các tiện ích truyền thống
(điện, nước). Điều khác biệt chính là các công nghệ đã có sẽ kết hợp cùng nhau để biến
cloud computing thành hiện thực.
Một trong nhưng xý tưởng quan trọng nhất của cloud computing là khả năng mở rộng
và công nghệ chủ chốt là công nghệ ảo hóa. Ảo hóa cho phép sử dụng tốt hơn một server
bằng cách kết hợp các hệ điều hành và các ứng dụng trên một máy tính chia sẻ đơn lẻ. Ảo
hóa cũng cho phép di trú trực tuyến (online migration) để khi một server quá tải, một
instance của hệ điều hành (và các ứng dụng trên đó) có thể di trú đến một server mới,ít tải
hơn.
Từ góc nhìn bên ngoài, cloud computing đơn giản chỉ là việc di trú tài nguyên tính toán
và lưu trữ từ doanh nghiệp vào “đám mây”. Người dùng chỉ định yêu cầu tài nguyên và
cloud provider hầu như tập hợp các thành phần ảo này trong hạ tầng của nó. (xem hình 1)
H1 : Tính toán “đám mây” di trú tài nguyên trên Internet
Nhưng tại sao bạn lại sẵn sàng từ bỏ quyền kiểm soát tài nguyên của mình và cho
phép chúng tồn tại ảo trong “đám mây” ? Có nhiều lý do nhưng theo tôi quan trọng nhất
là tính dễ mở rộng và chi phí.
Ưu điểm mới của cloud computing là khả năng ảo hóa và chia sẻ tài nguyên giữa các


ứng dụng. Hình 2 cho thấy một ví dụ.
H2 : Ảo hóa và sử dụng tài nguyên
[/b]
Ở đây 3 nền tảng độc lập tồn tại cho các ứng dụng khác nhau , mỗi ứng dụng chạy
trên server của nó. Trong “đám mây”, server có thể được chia sẻ (được ảo hóa) giữa các
hệ điều hành và các ứng dụng để sử dụng server tốt hơn. Càng ít server thì càng cần ít
không gian (giảm vùng bao phủ của các data center) và càng ít năng lượng làm mát (giảm
tiêu hao nhiên liệu).
Nhưng vẫn có các trả giá và cloud computing có nhược điểm của nó (sẽ nói đến sau)
Bên trong cloud computing
Bên trong “đám mây” không chỉ có một dịch vụ mà là một tập các dịch vụ. Các tầng
định nghĩa mức dịch vụ được cung cấp
H3 : Các tầng của tính toán “đám mây”
Tầng thấp nhất là Hạ tầng (Hạ tầng như một dịch vụ - IaaS). IaaS là việc cho thuê hạ
tầng như một dịch vụ bao gồm các máy tính ảo hóa và băng thông dành riêng cho lưu trữ
và truy cập Internet. Về cơ bản, đó là khả năng cho thuê máy tính hay data center với
ràng buộc về QoS sao cho người dùng có khả năng chạy phần mềm hay hệ điều hành bào
đó tùy ý.
Lên mức tiếp theo là Nền tảng (Nền tảng nưh một dịch vụ - PaaS). PaaS giống như IaaS
nhưng gồm cả hệ điều hành và các dịch vụ cần thiết cho một ứng dụng chuyên biệt. Ví dụ
PaaS ngoài server và lưu trữ ảo hóa cung hệ điều hành đặc biệt và tập các ứng dụng (như
một máy ảo) cùng các dịch vụ cần thiết như MySQL…Nói cách khác, PaaS là IaaS với
một software stack dành cho một ứng dụng.
Trên cùng của hình 3 là dịch vụ đơn giản nhất được cung cấp : ứng dụng. Tầng này
được gọi là Phần mềm như một dịch vụ (SaaS) và nó là mô hình triển khai phần mềm từ
một hệ tập trung sang chạy trên máy tính cục bộ. Dưới dạng dịch vụ “đo” được, SaaS cho
phép bạn thuê một ứng dụng và chỉ trả tiền cho thời gian sử dụng.
Trên đây là cái nhìn sơ lược về cloud computing , bỏ qua một số khía cạnh như là Dữ
liệu như một dịch vụ (DaaS ) cho phép người dùng trả tiền cho dung lượng lưu trữ và
băng thông truy cập. Các dịch vụ “đám mây” cũng đang nối lên, chúng vừa có cơ chế nội

để tương kết (interoperability) vừa cung cấp các API cho bên ngoài.
Toàn cảnh về cloud computing
Trong mấy tháng gần đây, có sự bùng nổ về đầu tư cho cloud computing và các hạ tầng
liên quan. Các đầu tư lớn cho thấy nhu cầu ảo hóa các tài nguyên trong “đám mây”. Năm
vừa qua chứng kiến nhiều dịch vụ mới (như hình 4)
Vai trò Linux và mã nguồn mở trong “đám mây”
Software-as-a-Service
SaaS là khả năng tiếp cận phần mềm trên Intenet như một dịch vụ. Cách tiếp cận trước
đây của SaaS là ASP (Nhà cung cấp dịch vụ ứng dụng). Các ASP cung cấp các thuê bao
đối với phần mềm được lưu trữ và phân phối trên mạng. ASP tính phí theo theo thời gian
sử dụng. Theo cách này ,bạn không phải mua phần mềm mà chỉ thuê nó khi cần.
Góc độ khác về SaaS là việc sử dụng phần mềm chạy từ xa trên mạng. Phần mềm này
có thể ở dạng Web services (các dịch vụ dùng bởi ứng dụng cục bộ) hay các ứng dụng từ
xa mà có thể theo dõi kết quả thông qua trình duyệt web. Một ví dụ đó là Google Apps.
Còn việc chạy ứng dụng từ xa thường dựa trên các application server (là một software
framework cung cấp các API – như quản lý giao dịch hay truy cập CSDL). Lấy ví dụ như
Red Hat JBoss Application Server, Apache Geronimo, và IBM® WebSphere®
Application Server.
Platform-as-a-Service
PaaS có thể mô tả như là một nền tảng được ảo hóa toàn bộ gồm một hay nhiều Server
(ảo hóa trên một tập các server vật lý), các hệ điều hành và các ứng dụng chuyên biệt
(như là Apache và MySQL cho ứng dụng web). Trong một vài trường hợp, các nền tảng
này có thể được định nghĩa và chọn trước. Trong trường hợp còn lại, bạn có thể cung cấp
file hình ảnh máy ảo (VM image) chứa tất cả các ứng dụng theo yêu cầu người dùng.
Một ví dụ thú vị của PaaS là Google App Engine. App Engine là một dịch vụ cho phép
bạn triển khai ứng dụng web của mình trên kiến trúc rất khả mở của Google. App Engine
cung cấp một sandbox cho ứng dụng Python của bạn (các ngôn ngữ khác sẽ hỗ trợ sau)
như là các API Python để lưu trữ và quản lý dữ liệu (dùng Google Query Language) bên
cạnh các hỗ trợ về xác thực người dùng, thao tác hình ảnh và gửi email.
Một ví dụ khác về PaaS là 10gen, nó vừa là một nền tảng “đám mây” vừa là một gói

phần mềm nguồn mở cho phép bạn download để tạo ra “đám mây” của riêng mình.
Software stack của nó cũng giống như App Engine nhưng cũng có vài điểm khác : hỗ trợ
các ngôn ngữ Java,Python, Ruby. Nền tảng của nó cũng dùng khái niệm sandbox để cô
lập các ứng dụng và cung cấp một môi trường đáng tin cậy trên nhiều máy tính (sử dụng
Linux).
Infrastructure-as-a-Service
IaaS là việc phân phối hạ tầng máy tính như một dịch vụ. Tầng này khác với PaaS ở
chỗ : phần cứng ảo được cung cấp không kèm theo software stack. Thay vào đó, người
dùng tự đưa ra VM image của mình. IaaS là dạng “thô” nhất của “computing as a
service”. Nhà cung cấp IaaS thương mại nối tiếng nhất là Amazon Elastic Compute
Cloud (EC2). Trong EC2 , bạn có thể chỉ định máy ảo (VM) đặc biệt của mình và triển
khai các ứng dụng trên đó hay là cung cấp VM iamge của bạn và chạy nó trên server. Bạn
chỉ phải trả tiền cho thời gian tính toán, dung lượng lưu trữ và băng thông mạng.
Dự án Eucalyptus (Elastic Utility Computing Architecture for Linking Your Programs
To Useful Systems) là một bản thực thi mã nguồn mở của EC2, trong đó tương thích về
giao diện với dịch vụ thương mại. Giống như EC2, Eucalyptus dựa trên Linux với Xen
dùng cho ảo hóa hệ điều hành. Eucalyptus được phát triển tại đại học California cho mục
đích nghiên cứu cloud computing. Bạn có thể download về hay thử nghiệm nó thông qua
Eucalyptus Public Cloud (với một số hạn chế).
Một thực thi khác theo kiểu của EC2 là nền tảng tính toán đám mây Enomalism (cũng
là nguồn mở). Enomalism dựa trên Linux với hỗ trợ cho cả Xen và Kernel Virtual
Machine (KVM). Nhưng không giống các giải pháp IaaS thuần túy khác, Enomalism
cung cấp một software stack dựa trên TurboGears Web application framework và
Python.
Các phát triển “đám mây” khác
Nói thêm một vài gói nguồn mở dựa trên Linux khác. Hadoop là một Java™ software
framework nguồn mở tương tự như PaaS nhưng tập trung vào thao tác các tập dữ liệu lớn
trên các server nối mạng với nhau (lấy ý tưởng từ Google MapReduce cho phép xử lý
song song trên các tập dữ liệu lớn). Như thế thì nó sẽ tìm được các ứng dụng trong tìm
kiếm và quảng cáo. Hadoop cũng cung cấp các dự án con phỏng theo các ứng dụng của

Google. Ví dụ Hbase đưa ra chức năng giống như CSDL Google BigTable và Hadoop
Distributed File System (HDFS) đưa ra chức năng giống như Google File System (GFS)
Các vấn đề và thử thách
Các vấn đề của tính toán “đám mây” trở nên rõ ràng khi mà tính riêng tư và bảo mật là
2 trong số những vấn đề quan trọng nhất. Tính riêng tư có thể dựa và mã hóa nhưng vẫn
cần được chú ý khi chọn dịch vụ tính toán đám mây. Ngay cả e-Commerce cũng bị hoài
nghi khi Web bắt đầu phát triển. Trên quy mô toàn cầu, hàng nghìn tỉ đôla của các giao
dịch thương mại điện tử diễn ra hằng năm vì thế tính toán “đám mây” hưởng lợi từ mọi
công nghệ đã có (như SSL) để khiến cho Web ngày nay trở nên an toàn.

×