Saturday, November 14, 2009

Công nghệ tìm kiếm trên Web

Bài viết này sẽ đưa ra các khái niệm cơ bản nhằm định hướng ban đầu cho những người muốn tìm hiểu các công nghệ tìm kiếm trên Web

Về cơ bản có 3 loại công cụ tìm kiếm: một số được vận hành bởi các crawler (hoặc spider); một số được vận hành bởi human submissions, và một số là sự kết hợp của hai loại trên.


1/ Crawler - Based Search Engines


• Do chuơng trình máy tính tự động tạo ra.


Các công cụ dựa trên Crawler gửi các crawler, hoặc là spider ra ngoài. Các crawler này sẽ đến một trang web, đọc các thông tin thực sự của trang web đó, đọc các meta tag của trang web và nó cũng đến tận các link mà trang web đó link đến. Các crawler này sẽ gửi tất cả các thông tin về trung tâm lưu trữ để liệt kê các dư liệu ra. Crawler sẽ quay trở lại trang web đó một cách định kỳ để cập nhập sự thay đổi trên trang web đó, và chu kỳ cập nhật này là do ngưòi quản trị của công cụ tìm kiếm đó đặt cấu hình.

Web crawler, web spider hay web robot là một chương trình tự động tìm kiếm trên Internet. Nó được thiết kết để thu thập tài nguyên Internet (trang Web, hình ảnh, video, tài liệu Word, PDF hay PostScrips) , cho phép máy tìm kiếm đánh chỉ số sau đó.

Cùng phương thức, nhưng một số robots lại bị sử dụng để lượm các tài nguyên hoặc để lọc địa chỉ email.

Để đánh chỉ số các tài nguyên Web, mỗi robot sẽ đi theo các liên kết mà nó tìm thấy tại một trang trung tâm. Sau đó, mỗi trang đã duyệt sẽ được ghi nhớ lại và gán cho tần số đánh lại chỉ số dựa vào mức độ cập nhật thường xuyên hay không của trang.

Để điểu chỉnh ứng xử các robots, một tệp tin ngoại trừ (robots.txt) sẽ được đặt tại thư mục gốc của trang Web để chỉ định cho robots một danh sách những tài nguyên không được tiếp cận. Tệp tin robots.txt này còn đưa ra danh sách những bọ tìm kiếm nào được quyền đánh chỉ số trang Web. Qui tắc này cho phép giảm tải trên máy chủ và tránh đánh chỉ số những tài liệu không cần thiết hoặc nhạy cảm. Tuy nhiên có nhiều bọ tìm kiếm không tôn trọng chỉ định này, và hoàn toàn bỏ qua tệp tin ngoại trừ (robots.txt).

Một số bọ tìm kiếm phổ biến của các máy tìm kiếm :

- Googlebot của Google
- MSNBot của MSN
- Slurp của Yahoo
- Scooter của Alta Vista
- Baidu của Baidu

Image

Thuật ngữ khác của Web Crawler có thể dễ hiểu hơn là Web Spider hoặc Web Robot. Được hiểu nó là 1 chương trình hoặc các đoạn mã có khả năng tự động duyệt các trang web # theo 1 phương thức, cách thức tự động. Ngoài ra có thể dung những từ để chỉ thuật ngữ Web Crawler như ants, automatic indexers, bots, and worms.

Quá trình thực hiện được gọi là Web crawling hay spidering, rất nhiều các công cụ tìm kiếm trên thế giới sử dụng spidering để cập nhật kho dữ liệu website của mình. Chẳng hạn như google dùng nó để lấy các thông tin trên các website rồi cập nhật vào cơ sở dữ liệu của nó giúp người dùng search ra các trang theo ý muốn.

Web crawler là 1 loại của cái gọi là bot (là 1 tác tử thực hiện tự động, nghĩa giống như spider). Nó bắt đầu từ danh sách các địa chỉ URL được gọi là seeds (hạt giống). Nó sẽ vào các địa chỉ này lọc thông tin rồi tìm ra các địa chỉ URL khác thêm chúng vào danh sách các địa chỉ đã duyệt qua gọi là crawl frontier. Sau nó nó lại lặp lại quá trình đó duyệt qua những URL mới. Cứ thế, cứ thể nó lần qua rất nhiều địa chỉ website và thu thập rất nhiều nội dung khác nhau giúp ta dễ dàng tìm kiếm thông tin mình cần.

Trên thế giới những web crawler rất nhiều và áp dụng vào rất nhiều loại hình website khác nhau như: web rao vặt, web so sánh giá, web tổng hợp tin tức, web tìm kiếm,…

Ở Việt Nam cũng đã xuất hiện khá nhiều như:
- Web so sánh giá cả aha.vn
- Web tổng hợp tìm kiếm rao vặt 123g0.com
- Web tổng hợp tin tức như: baomoi.com, timnhanh.com,…
- Web tổng hợp nhạc, tìm kiếm nhạc như: baamboo.com, mp3.zing.vn, 7sac.com
- Web tổng hợp tìm kiếm như: vnnsearch.com, vnsearch.net,…

2/ Human-powered Directories

• Là dạng quản lý thư mục internet do con người quản lý.


Các công cụ tìm kiếm Human-powered thì lại tin vào các thông tin được liệt kê ra bởi người quản trị trang web, rồi sau đó các thông tin này sẽ được liệt kê và đưa vào bảng liệt kê. Chỉ những thông tin được đưa ra bởi nhà quản trị web mới được đưa vào bảng liệt kê.

Các thư mục internet hòan tòan phụ thuộc vào sự quản lý của con người. Bạn đăng ký website của bạn vào thư mục với một vài dòng mô tả ngắn gọn hoặc các biên tập viên của thư mục viết giúp phần mô tả cho bạn - chúng phù hợp với nội dung và chủ đề của từng danh mục.

Việc thay đổi những trang web không có hiệu lực trên danh mục của bạn. Những thứ hữu ích để cải thiện vị trí xếp hạng với một cỗ máy tìm kiếm không có gì để làm với việc cải thiện một vị trí trong một thư mục. Ngoại lệ duy nhất là một site tốt, với nội dung tốt, có lẽ thích hợp hơn để được xem xét so với một website nghèo nàn.


3/ Kết hợp 2 loại trên

Trong cả hai trường hợp, khi bạn yêu cầu tìm kiếm một thông tin gì thì thực tế bạn đều phải tìm trong bảng liệt kê công cụ tìm kiếm mà nó đã tạo ra. Thực tế bạn sẽ không tìm trên các web! Các bảng liệt kê này là những cơ sở dữ liệu khổng lồ được tạo ra, lưu trữ và sau đó được tìm kíêm. Điều này giải thích tại sao thỉnh thoảng khi tìm kiếm trên các công cụ tìm kiếm thương mại, ví dụ như Yahoo! Hay Google, sẽ trả về kết quả chỉ là các link. Bởi vì là các kết quả dựa trên bảng liệt kê, nên khi các công cụ tìm kiếm chưa kịp cập nhật thì nếu có một web nào đó không hoạt động nữa, kết quả vẫn ra link tới nó. Điều này chỉ được sửa lại khi công cụ tìm kiếm cập nhật lại thông tin từ web đó.

Trong thực tế, các hãng tìm kiếm khổng lồ đều kết hợp cả 2 loại trên, crawler để tự động update thông tin mới, còn bảng thư mục do nguời quản trị xử lý trong những truờng hợp website đăng ký trả tiền để đưọc lên các vị trí đầu trong quá trình search.

Vậy, tại sao cùng tìm kiếm một thông tin trên các công cụ khác nhau thì lại cho kết quả không giống nhau? Một phần là vì không phải các bảng liệt kê của các công cụ là hoàn toàn giống nhau. Nó phụ thuộc vào các spider được tìm thấy hay thông tin được nhà quản trị web trình ra. Nhưng một điều quan trọng là không phải các công cụ đều dùng chung một thuật toán để tìm trên các bảng liệt kê. Thuật toán là cách mà các công cụ tìm ra các thông tin liên quan, phù hợp với thông tin mà người dùng cần tìm.

Một trong các yếu tố của thuật toán tìm kiếm của các công cụ tìm kiếm là: tần số xuất hiện và vị trí của các từ khoá (Keyword). Tần số suất hiện càng cao thì càng thích hợp.

Một yếu tố khác cũng rất phổ biến của công cụ tìm kiếm là nó dựa vào cách trang web đó link đến các trang khác như thế nào trong trang web. Bằng cách phân tích các trang link tới nhau như thế nào, các công cụ tìm kiếm có thể xác định được nội dung trang đấy là về cái gì, biết được trang nào là phù hợp hơn. Các công cụ ngày càng trở nên tinh vi hơn và tìm kiếm cũng hiệu quả, chính xác hơn!

Trong tương lai việc lọc các tin tức trên internet sẽ là rất quan trọng giúp cho người sử dụng dễ dàng tìm được cái minh muốn bởi vì Internet ngày càng lớn mạnh cũng có nghĩa là lượng thông tin ngày càng nhiều và càng trở nên hỗn độn hơn.

4/ Các thành phần của một cỗ máy tìm kiếm tự động

Những cỗ máy tìm kiếm tự động có 3 phần tử chính:

Đầu tiên là spider, cũng được gọi là crawlers. Spider đến thăm một trang web, đọc nó, và sau đó đi theo sau những mối liên kết tới những trang khác bên trong website. Có nghĩa là, khi có ai đó tìm kiếm đến một trang, các spiders sẽ ghi nhớ điều đó. Nó sẽ quay lại trang đó và theo chu kỳ 1-2 tháng. Như vậy, nếu trang web được tìm thấy càng nhiều, thì các spiders càng năng quay trở lại hơn và như thế, kết quả tìm kiếm của bạn cũng được cải thiện theo.

Mọi thứ spider tìm thấy đi vào trong phần thứ hai của cỗ máy tìm kiếm, Chỉ mục (the index). Chỉ mục, đôi khi gọi là tài liệu, là một kho lưu trữ khổng lồ chứa đựng một sự sao chép của mọi trang web mà spider tìm thấy. Nếu một trang web thay đổi, thì danh sách này được cập nhật với thông tin mới. Đôi khi, cần phải có thời gian để các spiders lập chỉ mục cho một trang mới hay một trang được thay đổi nội dung. Như vậy, sẽ có trường hợp: một trang đã được các spiders tìm đến, nhưng lại chưa được lập chỉ mục. Và trong khỏang thời gian này, trang web sẽ hòan tòan không tồn tại trên Search engine.

Phần mềm tìm kiếm chính là phần tử thứ ba của một cỗ máy tìm kiếm. Đây là một chương trình máy tính có chức năng sàng lọc thông tin từ hàng triệu trang tương tự nhau để sắp xếp vị trí từng trang sao cho phù hợp nhất. Đây chính là nơi mà các công ty SEO khai thác để đưa một website nào đó lên vị trí Top khi được tìm kiếm với một hay nhiều từ khóa chỉ định.

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

Image



Image




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

Ở đâ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.

Saturday, November 7, 2009



Kinh tế suy thoái giúp điện toán đám mây phát triển

- Theo dự báo của Gartner, các hãng công nghệ và bản thân người dùng đang hướng tới giải pháp điện toán đám mây như một xu thế tất yếu để tiết kiệm chi phí, và kết quả là những nhà cung cấp dịch vụ này sẽ kiếm được bộn tiền.

Tuần trước Gartner vừa đưa ra một báo cáo cho biết doanh thu trong lĩnh vực điện toán đám mây năm nay có thể không vượt quá con số 56,3 tỉ USD, nhưng tới năm 2013 sẽ đạt hơn 150 tỉ USD. Các nhà phân tích cũng nói rằng các dịch vụ IT truyền thống đang chuyển hướng sang “đám mây” giúp cho lĩnh vực này ngày càng được mở rộng và phát triển ổn định.

Các quy trình kinh doanh dựa trên “đám mây” là phần lớn nhất của thị trường dịch vụ “đám mây”, bao gồm quảng cáo, thương mại điện tử, nhân lực, và xử lý thanh toán. Gartner dự báo rằng mức tăng trưởng của lĩnh vực này trong năm nay sẽ là 19,8%, tương đương với 46,6 tỉ USD.

Cũng theo Gartner, các dịch vụ hỗ trợ bằng quảng cáo như được cung cấp bởi Google, Microsoft, Yahoo, và một số hãng khác đang chiếm tới 60% thị trường dịch vụ “đám mây”, và sẽ vẫn tiếp tục nở rộ cho tới năm 2013.

Kinh tế suy giảm, chi tiêu cho IT bị bó hẹp sẽ là những yếu tố giúp cho điện toán đám mây ngày càng trở nên thông dụng hơn. Dịch vụ này giúp cung cấp những ứng dụng và dịch vụ trên nền Web với chi phí thấp, giúp các doanh nghiệp không phải đầu tư một khoản tiền lớn mà vẫn duy trì được hoạt động sản xuất kinh doanh. InfoWorld ghi nhận những chuyển đổi nhanh chóng của điện toán đám mây từ mùa thu trước, còn IDC thì dự đoán rằng sự tăng trưởng của lĩnh vực này đang hiển diện rất rõ ràng.

Tuy nhiên, cũng theo Gartner, điện toán đám mây không phải là công nghệ duy nhất tăng trưởng trong bối cảnh suy thoái kinh tế này. Phần mềm lưu trữ và IT chăm sóc y tế cũng được cho là sẽ phát triển khá mạnh.

Gridbon Technologies

Tuesday, November 3, 2009

Cloud Computing with Microsoft Technology case study in Vietnam

Cloud Computing with Microsoft Technology case study in Vietnam

Tôi ko có ý định viết 1 entry về giải pháp Cloud Computing của Microsoft vì những vấn đề mà tôi sắp đề cập ko hề liên quan gì đến Cloud Platform Azure mà chủ yếu là giải pháp ảo hóa và hosting services đang dần dần trở nên phổ biến tại Vietnam.

Gridbon là công ty chuyên cung cấp giải pháp hosting, có DataCenter khá hoành tráng ở Đức và nghe đâu dang xây dựng DC tại VietNam, tại Đức chúng tôi cung cấp dịch vụ chủ yếu trên Suse Linux và Server chạy chip AMD. Gridbon đã có các giải pháp về máy chủ ảo (VPS) từ rất sớm ra thị trường Châu Âu. Bước vào thị trường Việt Nam, nhận thấy nhu cầu với VPS Windows là rất lớn nên đã chủ động liên hệ với MS Vietnam để tìm hiểu về giải pháp ảo hóa Hyper-V trên nền tảng Wins Server 2008. Gridbon sau thời gian chạy thử nghiệm giải pháp máy chủ ảo trên nền tảng Hyper-V của Windows Server 2008 đã chính thức cung cấp dịch vụ này cho khách hàng.

1

2

Nếu mọi người để ý máy ảo Linux tại Gridbon có chi phí rẻ hơn chỉ khoảng 10$ so với máy ảo Windows, tôi có hỏi anh Bôn sao chi phí chênh nhau có vẻ hơi ít vì người ta hay nói về Open Source như Zero Cost Solution thì anh Bôn cho biết đã gọi là giải pháp cho Comercial thì đều phải bỏ tiền ra mua cả vì để triển khai giải pháp ảo hóa chuẩn trên nền tảng OpenSource thì Gridbon cũng phải bỏ tiền để mua chứ ko phải free.

Quay lại vụ máy ảo Windows Server 2008, sau thời gian triển khai gói dịch vụ ảo hóa trên nền tảng Microsoft, anh Bôn có cho biết rằng một số khách hàng mua để host các ứng dụng LOB như phần mềm kế toán được dùng chung giữa các văn phòng nằm rải rác trên cả nước. Cách thức họ sử dụng là người dùng phải Remote Desktop vào máy chủ ảo và sử dụng ứng dụng LOB từ icon trên màn hình điều khiển. Tôi mới đề xuất với anh Bôn là ứng dụng giải pháp Presentation-V có sẵn trên Windows Server 2008 tức Terminal Services RemoteApp cho phép triển khai giải pháp End-to-End cho khách hàng. Tức lúc đó người dùng sẽ ko pải remote desktop nữa mà có thể sử dụng ngay ứng dụng LOB host ở máy chủ ảo Hyper-V host tại Gridbon ngay từ icon trên desktop của họ. Sau khi thử nghiệm và đưa vào ứng dụng thì anh Bôn có cho biết là khách hàng rất phấn khích và sẽ đặt thêm máy chủ ảo để triển khai một số ứng dụng khác.

3

4

Vì vậy tôi mới nói đùa với mọi người Gridbon là Hosting Solution Provider cung cấp giải pháp Cloud Computing trên nền tảng công nghệ Microsoft tại Vietnam hiện nay với công thức: Hyper-V + Present-V+InToon= SaaS + Hosted Services = Cloud Computing with Microsoft Technology+InToon=Gridbon Technology

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.