Wednesday, October 28, 2009

Gridbon Technologies

dam-may.jpg
Gridbon Space

Cloud Computing – Cách mạng số lần 2

“Cloud Computing” đang đến gần với chúng ta và nó được mong chờ sẽ mang đến bước chuyển lớn trong ngành công nghệ thông tin.

Năm 1969, nguy cơ một cuộc chiến hạt nhân giữa Mỹ và Nga đã lên đến đỉnh điểm. Bộ Quốc phòng Mỹ, với mong muốn gửi thông tin một cách an toàn trong tình trạng báo động, đã cho ra đời Mạng lưới cơ quan quản lý dự án nghiên cứu phát triển (ARPANET), một hệ thống mạng có chức năng liên kết các máy tính với nhau. Có thể coi ARPANET là cha đẻ của mạng lưới Internet ngày nay. 40 năm sau khi mạng Internet đầu tiên của thế giới ra đời, một cuộc cách mạng mới lại sắp bắt đầu.

Cloud Computing – Đám mây điện toán khổng lồ với các bộ kết nối server

Sau khi tốt nghiệp Khoa công nghệ máy tính, Đại học Washington và trở thành kỹ sư của Google-“cỗ máy” tìm kiếm lớn nhất trên thế giới, Chritophe Bisciglia đã ca than về môi trường IT của các trường đại học không đủ dung lượng server để tiếp cận với các dữ liệu điện toán. Vì muốn tìm ra một giải pháp để sinh viên các trường đại học có thể tiếp cận với nguồn thông tin rộng lớn hơn, Bisciglia đã đưa ra một sáng kiến là biến khái niệm máy tính cá nhân thành một mạng lưới quy mô lớn hay còn gọi là “cloud of computers (đám mây điện toán)”. Ý tưởng của Bisciglia là dựa vào khái niệm phát minh ra một siêu máy tính có khả năng kết nối các server và trung tâm dữ liệu bằng một hệ thống mạng. Siêu máy tính này có khả năng chứa một lượng dữ liệu và phần mềm khổng lồ mà không cần cơ sở hạ tầng IT tốn kém.

Tại sao Cloud Computing lại được coi là cuộc cách mạng số lần 2?

“Cloud Computing” sử dụng mạng có dây và không dây để kết nối các máy tính. Vậy mạng máy tính này đặc biệt ở chỗ nào mà người ta coi nó như cuộc cách mạng số lần 2? Các chuyên gia thường ví “Cloud Computing” như hệ thống sản xuất điện quy mô lớn.

Khi lần đầu tiên phát minh ra điện, người ta đã dùng các máy phát điện để sản xuất điện. Tuy nhiên, với sự đời của các nhà máy phát điện quy mô lớn, người dân bắt đầu sử dụng điện do những nhà máy này sản xuất và trả tiền hàng tháng cho số lượng điện mà họ đã dùng. “Cloud Computing cũng cho phép người dùng sử dụng dịch vụ điện toán mà họ cần chỉ đơn giản bằng cách kết nối với Internet mà không cần sở hữu những nguồn riêng như server, phần mềm hay hệ thống mạng.

Điều đó có nghĩa rằng người dùng có thể sử dụng nhiều nguồn điện toán họ cần mà không phải mua máy tính cá nhân dung lượng cao. Nếu áp dụng “Cloud Computing” thì các doanh nghiệp sẽ thu được rất nhiều lợi ích. Họ có thể tập trung vào R&D (nghiên cứu và phát triển) thay vì phải đầu tư một số tiền lớn vào điện toán. Thay vì xây dựng và vận hành mạng lưới cơ sở hạ tầng IT tốn kém, các tập đoàn loại vừa và lớn có thể đầu tư thêm tiền vào các sản phẩm và dịch vụ để nâng cao sức cạnh tranh.

Dark Clouds (Những đám mây đen)

Tuy nhiên, cũng giống như tất cả các công nghệ mới, “Cloud Computing” không phải là bức tranh hoàn hảo 100%. Nếu dữ liệu quan trọng của các cá nhân hoặc doanh nghiệp được lưu giữ trong hệ thống “Cloud Computing”-hệ thống mà tất cả mọi người đều có khả năng truy cập thì sẽ dẫn đến hiện tượng dữ liệu dễ bị rò rỉ. Bên cạnh đó, để sử dùng nhiều hệ điều hành với một siêu máy tính thì cần phải xây dựng một máy tính, một mạng lưới và một kho lưu trữ ảo. Điều này sẽ gây ra sự quá tải và người dùng sẽ khó kết nối với mạng Internet.

Đây cũng là lý do giải thích tại sao trong 7 năm qua “Cloud Computing” chỉ đơn giản được xem là công nghệ tiềm năng. Tuy nhiên, trong cuộc khủng hoảng kinh tế toàn cầu như hiện nay thì “Cloud Computing”, với giá thành giảm đang trở thành công nghệ thu hút trong ngành công nghệ thông tin. Gần đây, Thời báo New York đã sử dụng công nghệ này để chuyển 11 triệu bài báo sang định dạng PDF chỉ trong vài ngày mà chỉ tốn vài trăm đô la. Giờ đây, “Cloud Computing” không còn là công nghệ của tương lai mà nó đã trở thành một phần của cuộc sống số.

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.

Gridbon Technologies

Cloud computing - cách mạng điện toán giá rẻ nhờ Internet
Cloud computing - điện toán đám mây hay điện toán máy chủ ảo. Ảnh: InfoWorld.
Cloud computing - điện toán đám mây hay điện toán máy chủ ảo. Ảnh: InfoWorld.

Các xu hướng giảm chi phí đầu tư cho người dùng và doanh nghiệp như chuyển ứng dụng desktop lên web, điện toán theo nhu cầu, phần mềm dịch vụ SaaS... được gọi chung là điện toán máy chủ ảo (cloud computing).

Cloud computing là gì?

Để kiểm tra phản ứng nhanh nhạy của các ứng viên xin việc, Google chỉ cần đặt ra một câu hỏi tưởng chừng đơn giản: "Bạn sẽ làm gì nếu dữ liệu hiện có tăng gấp 1.000 lần?". Nếu người xin việc bê nguyên những công thức được "nhồi sọ" ở trường vào tình huống này, họ sẽ biến máy chủ thành những chú ốc sên khi nhân lượng video, ảnh, bản đồ, thông tin mua sắm... lên 1.000.

Bởi thế, để tìm được chỗ đứng ở Google, họ cần học cách làm việc và cả ước mơ ở một cấp độ rộng lớn hơn. Họ phải biết cách đưa khối lượng dữ liệu khổng lồ đó thoát khỏi phạm vi những trung tâm dữ liệu chật chội và đặt chúng ở đâu đó ngoài kia - nơi mà các chuyên gia của Google gọi là "cloud" - những đám mây ảo.

Thuật ngữ "cloud computing" ra đời giữa năm 2007 không phải để nói về một trào lưu mới, mà để khái quát lại các hướng đi của cơ sở hạ tầng thông tin vốn đã và đang diễn ra từ mấy năm qua. Quan niệm này có thể được diễn giải một cách đơn giản: các nguồn điện toán khổng lồ như phần mềm, dịch vụ... sẽ nằm tại các máy chủ ảo (đám mây) trên Internet thay vì trong máy tính gia đình và văn phòng (trên mặt đất) để mọi người kết nối và sử dụng mỗi khi họ cần.

Như vậy, cloud computing chỉ là khái niệm hoàn chỉnh cho một xu hướng không mới bởi nhiều doanh nghiệp hiện không có máy chủ riêng, PC chỉ cài một số phần mềm cơ bản còn tất cả đều phụ thuộc vào cloud. Chẳng hạn, họ đăng ký dịch vụ hosting cho website công ty, thuê công cụ quản lý doanh thu từ Salesforce.com, lấy dữ liệu khảo sát thị trường từ tổ chức Survey Monkey... Và tất nhiên, họ dùng Google để tìm kiếm, phân tích, chia sẻ và lưu trữ tài liệu.

Với các dịch vụ sẵn có trên Internet, doanh nghiệp không phải mua và duy trì hàng trăm, thậm chí hàng nghìn máy tính cũng như phần mềm. Họ chỉ cần tập trung sản xuất bởi đã có người khác lo cơ sở hạ tầng và công nghệ thay họ. Google, theo lẽ tự nhiên, nằm trong số những hãng ủng hộ điện toán máy chủ ảo tích cực nhất bởi hoạt động kinh doanh của họ dựa trên việc phân phối các cloud (virtual server).

Tuy nhiên, mặt hạn chế là người dùng sẽ bị phụ thuộc vào công nghệ mà nhà cung cấp đưa ra cho họ, khiến cho sự linh hoạt và sáng tạo giảm đi. Cloud computing có nguy cơ lặp lại khiếm khuyết của mô hình điện toán cũ: các công ty sở hữu những hệ thống máy tính trung ương lớn (cloud) và mọi người sẽ kết nối với chúng qua các trạm. Người sử dụng cảm thấy bức bối vì chỉ có quyền thực hiện những việc trong phạm vi nhà quản trị cho phép nên không thể bắt kịp cải tiến mới nhất. Trước tình hình đó, máy tính cá nhân ra đời và phát triển như là cuộc "phản kháng" đối với sự độc tài của mô hình điện toán trung tâm (nổi tiếng nhất là IBM mainframe).
AJAX - sự kết hợp kỳ diệu của công nghệ web
Mashup - món quà thú vị của trào lưu Web 2.0
Xu hướng truy cập offline các ứng dụng web
SaaS - cơ hội không chỉ dành cho các 'ông lớn'

Nhưng điện toán "đám mây" hiện mở hơn rất nhiều và quan trọng hơn, đây là giải pháp giá rẻ của các doanh nghiệp cũng như sự lựa chọn hàng đầu cho những ai thường xuyên phải đi xa nhưng không có laptop riêng. Ngay cả những hãng có năng lực tài chính cũng đánh giá cao xu hướng này, như Coca-Cola gần đây đã ký thỏa thuận đưa tất cả tài khoản e-mail của họ (khoảng 75.000) lên dịch vụ trực tuyến Microsoft Exchange Online.

Các nhánh của cloud computing

Phần mềm hoạt động như dịch vụ (SaaS - Software as a Service)

Với loại cloud computing này, một phần mềm sẽ được phân phối qua trình duyệt tới hàng nghìn khách hàng. Về phía người sử dụng, SaaS đồng nghĩa với việc họ không cần đầu tư tiền bạc cho máy chủ và bản quyền phần mềm. Còn đối với nhà cung cấp, ví dụ như Salesforce.com, họ chỉ phải duy trì một ứng dụng chung cho nhiều đơn vị nên chi phí rẻ hơn so với kiểu hosting truyền thống.

Điện toán theo yêu cầu (Utility Computing)

Hình thức kinh doanh đã xuất hiện từ lâu này đang được thổi một luồng gió mới từ Amazon.com, Sun, IBM và một số công ty cung cấp kho lưu và máy chủ ảo theo nhu cầu khác. Hiện đa số doanh nghiệp coi utility computing như một giải pháp bổ sung, phục vụ những công việc không mang tính trọng tâm. Nhưng về lâu dài nó sẽ thay thế một phần trung tâm cơ sở dữ liệu.

Dịch vụ web (Web service)

Liên quan mật thiết đến SaaS, web service cung cấp giao diện lập trình ứng dụng (API - Application Programming Interface), như API của Google Maps, qua Internet để các chuyên gia phát triển phần mềm có thể khai thác tính năng.

Nền tảng như một dịch vụ (PaaS - Platform as a Service)

Đây cũng là một biến thể của SaaS nhưng mô hình cloud computing này mang đến môi trường phát triển như một dịch vụ: bạn xây dựng ứng dụng chạy trên cơ sở hạ tầng của nhà cung cấp và phân phối tới người dùng qua máy chủ của nhà cung cấp đó. Bạn sẽ không hoàn toàn được tự do bởi bị ràng buộc về thiết kế và và công nghệ. Một số ví dụ điển hình về PaaS là Force.com của Salesforce.com, Google App Engine, Yahoo Pipes…

Dịch vụ quản lý (MSP - Managed Service Provider)

MSP - hình thức cloud computing lâu đời nhất - là ứng dụng chủ yếu dành cho giới chuyên môn hơn là người dùng đầu cuối, chẳng hạn dịch vụ quét virus cho e-mail hay chương trình quản lý desktop. Một số nhà cung cấp nổi tiếng là SecureWorks, IBM, Verizon và Everdream.

Điện toán tích hợp (Internet integration)

Quá trình kết hợp các "đám mây" xuất hiện trên Internet mới đang ở giai đoạn đầu. Nhà cung cấp SaaS Workday gần đây đã sáp nhập vào một công ty khác trong cùng lĩnh vực này là CapeClear. Mục tiêu của họ cũng giống hãng Grand Central là trở thành cổng kết nối các cloud nhằm mang đến những giải pháp tích hợp cho khách hàng.

Với mô hình cuối cùng này, điện toán cloud computing về sau sẽ được mô tả như là sky computing: Internet giống như bầu trời chứa nhiều đám mây dịch vụ riêng lẻ cho khách hàng dễ dàng kết nối.