Điện toán đám mây là một kiểu tính toán mà ở đó các công việc CNTT được cungcấp như một dịch vụ trên internet đến nhiều khách hàng bên ngoài và khách hàng đượctính tiền theo sự sử dụng d
Trang 1ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA: KỸ THUẬT MÁY TÍNH
- -TIỂU LUẬN MÔN HỌC
GVHD: ThS Nguyễn Văn Lợi SVTH: Phan Đình Duy 06520111
Lê Phước Phát Đạt Đức 06520089
Trang 2Hồ Chí Minh – 2009
Trang 3MỤC LỤC
TÓM TẮT NỘI DUNG VÀ GIỚI THIỆU ĐỀ TÀI 3
1 Điện toán đám mây 4
2 Các đặc điểm của điện toán đám mây 5
3 Sự cần thiết của điện toán đám mây 8
4 Hoạt động của điện toán đám mây 9
4.1 Kiến trúc của ứng dụng điện toán đám mây 9
4.2 Kiến trúc của máy chủ 11
4.3 Map Reduce 13
4.4 Google file system 20
4.5 Hadoop 22
5 Tổng kết 23
TÀI LIỆU THAM KHẢO 24
Trang 4TÓM TẮT NỘI DUNG VÀ GIỚI THIỆU ĐỀ TÀI
Đề tài “Điện toán đám mây ” tìm hiểu các định nghĩa, chức năng, nguyên tắc hoạt
động và các ứng dụng của điện toán đám mây trong thực tế cuộc sống
Máy vi tính ngày nay đã trở thành một phần tất yếu của cuộc sống Chúng tacần máy tính ở khắp mọi nơi, có thể là cho công việc, nghiên cứu hoặc trong bất kỳlĩnh vực nào Khi việc sử dụng máy tính trong cuộc sống hàng ngày của chúng ta tănglên, các nguồn tài nguyên máy tính mà chúng ta cũng cần tăng lên Đối với các công tylớn như Google và Microsoft, khai thác các nguồn tài nguyên như vậy khi họ cầnkhông phải là một vấn đề lớn Nhưng khi nói đến doanh nghiệp nhỏ hơn, các nguồn tàinguyên lớn như vậy trở thành một yếu tố rất lớn tác động đến kinh doanh Với nhữngvấn đề lớn về cơ sở hạ tầng CNTT như máy hỏng, treo ổ cứng, lỗi phần mềm, v.v Đóthật sự là những vấn đề rất đau đầu cho các doanh nghiệp Điện toán đám mây cungcấp một giải pháp cho tình trạng này
Điện toán đám mây là một cuộc dịch chuyển cách mạng trong đó việc tính toán sẽđược chuyển từ máy tính cá nhân và thậm chí cả các máy chủ ứng dụng doanh nghiệp,
cá nhân đến một đám mây máy tính Đám mây là một hình tượng để chỉ đến tập cácmáy chủ ảo hóa có thể cung cấp các nguồn tài nguyên của máy tính khác nhau chokhách hàng của họ Người sử dụng của hệ thống này chỉ cần được quan tâm tới cácdịch vụ máy tính đang được yêu cầu Cái chi tiết bên dưới hệ thống của nó như thế nàothì được ẩn khỏi người dùng Các dữ liệu và các dịch vụ cung cấp nằm trong các trungtâm dữ liệu của đám mây có khả năng mở rộng lớn và có thể được truy cập ở bất kỳđâu, từ bất kỳ thiết bị được kết nối trên thế giới
Điện toán đám mây là một kiểu tính toán mà ở đó các công việc CNTT được cungcấp như một dịch vụ trên internet đến nhiều khách hàng bên ngoài và khách hàng đượctính tiền theo sự sử dụng dịch vụ của họ Nhiều nhà cung cấp điện toán đám mây đãxuất hiện và có một sự tăng trưởng đáng kể trong việc sử dụng dịch vụ này Google,Microsoft, Yahoo, IBM và Amazon đã bắt đầu cung cấp dịch vụ điện toán đám mây.Trong đó Amazon là nhà tiên phong trong lĩnh vực này Các công ty nhỏ hơn nhưSmugMug, một trang web lưu trữ hình ảnh trực tuyến, có sử dụng dịch vụ điện toánđám mây để lưu trữ tất cả các dữ liệu và thực hiện một số dịch vụ của mình
Trang 5Điện toán đám mây được sử dụng trong các lĩnh vực khác nhau như webhosting, lập trình song song, dựng hình đồ hoạ, mô hình tài chính(IBM Clouds), các
phương pháp duyệt và tìm kiếm trên web(web spider), phân tích gen(Amazon Clouds),
v.v
1 Điện toán đám mây
Một điều đang xảy ra ngày hôm nay tại thế giới máy tính, dữ liệu và các chươngtrình đang được chuyển dịch từ máy tính để bàn và văn phòng công ty lên các máychủ và được cài đặt trong "những đám mây tính toán", nói chung, đang có một chuyểndịch địa lý của việc tính toán
Điện toán đám mây chính xác là gì? Chúng ta sẽ bắt đầu bằng một định nghĩa:
"Một mô hình máy tính mới, nơi đó dữ liệu và các dịch vụ cư trú tại các trung tâm
dữ liệu trong đám mây và có thể được truy cập từ bất kỳ thiết bị kết nối nàoqua internet "
Điện toán đám mây là một mô hình mới trong ngành công nghiệp máy tính,nơi việc tính toán và lưu trữ dữ liệu được chuyển đến một đám mây máy tính Nó đãtrở thành một trong công nghệ được chú ý của ngành công nghiệp Khái niệm cốt lõicủa điện toán đám mây, là nguồn tài nguyên điện toán to lớn mà chúng ta cần sẽ đượcđặt trong các đám mây và chúng ta sẽ kết nối với chúng và sử dụng chúng khi cầnthiết
Điện toán có thể được mô tả là bất kỳ hoạt động nào của việc sử dụng và phát triểnphần cứng hay phần mềm máy tính, nghĩa là tất cả mọi thứ từ sức mạnh tính toán đếnkhả năng lưu trữ Đám mây điện toán quan hệ cùng tất cả các thực thể của nó để làmcho chúng như một thực thể tích hợp duy nhất bằng sự quản lý tinh vi
Đám mây(cloud) là một thuật ngữ được sử dụng như là một ẩn dụ cho các mạngdiện rộng (như Internet) hoặc bất cứ môi trường mạng lớn như vậy Nó bắt nguồn từbiểu tượng giống đám mây được sử dụng để đại diện cho những mạng phức tạp trong
sơ đồ nguyên lý(schematic) Nó đại diện cho tất cả những phức tạp của mạng có thểbao gồm mọi thứ từ cáp, router, máy chủ, trung tâm dữ liệu và tất cả các thiết bị khácnhư vậy
Tính toán bắt đầu với thời đại máy tính mainframe Đã có những mainframe lớn
và tất cả mọi người kết nối với chúng thông qua thiết bị đầu cuối câm (dumb terminal)
Mô hình cũ của doanh nghiệp máy tính là gây nên sự bất tiện và gò bó cho người ngồi
Trang 6ở các thiết bị đầu cuối câm, vì họ chỉ có thể làm những gì họ được "ủy quyền" để làm.
Họ bị lệ thuộc vào quản trị viên máy tính Những nguời quản trị viên máy tính, chứkhông phải họ, sẽ cho phép họ làm việc hoặc sửa chữa những vấn đề của họ Họ
có không có cách nào để ở lại đó làm việc cho đến khi những sáng kiến mới nhất nảyra
Các máy tính cá nhân là một cuộc cách mạng nhằm thay đổi áp đặt và bất tiện củahoạt động tính toán tập trung Có một loại tự do trong việc sử dụng máy tính cánhân Nhưng điều này sau đó được thay thế bởi các kiến trúc máy chủ, với các máychủ doanh nghiệp và những loại khác được thực hiện trong ngành công nghiệp Điềunày đã làm cho chắc chắn là tính toán được hoàn tất và nó sẽ không làm trùng lắp cácnguồn lực đã có Tất cả các máy tính đã được thực hiện tại các máy chủ Internet đãtăng trưởng mạnh mẽ trong rất nhiều vòng của những máy chủ này Với Điện toánđám mây chúng ta đã đến một sự giải quyết cho những vấn đề trên một cách đầy đủhơn Chúng ta trở lại cơ sở hạ tầng điện toán tập trung Nhưng ở trong môi trườngđược cải tiến đó tại thời điểm này chúng ta có thể dễ dàng truy cập thông qua internet
và nắm toàn quyền điều khiển qua truy cập mạng đó
2 Đặc điểm của điện toán đám mây
Một định nghĩa cho điện toán đám mây có thể được đưa ra như là một mô hìnhmáy tính mới mà ở đó dữ liệu và các dịch vụ được đặt tại các trung tâm dữ liệu có thể
mở rộng trong các đám mây và có thể được truy cập từ bất kỳ thiết bị nào qua internet
Đám mây điện toán là một cách để cung cấp các dịch vụ khác nhau trên các máy
ảo được cấp phát trong một tập hợp các máy tính vật lý lớn nằm trong đám mây Điệntoán đám mây trở nên tập trung chỉ khi chúng ta suy nghĩ về cái mà CNTT đã luônluôn mong muốn - một cách để tăng năng lực hoặc thêm các khả năng khác nhau vàothiết lập hiện tại mà không cần đầu tư vào cơ sở hạ tầng mới, đào tạo nhân viên mớihoặc cấp giấy phép mới phần mềm Và đám mây điện toán đã cung cấp một giải pháptốt hơn
Chúng ta có khả năng tính toán lớn và khả năng lưu trữ ở trong môi trường phântán của đám mây Điện toán đám mây phải làm thế nào để khai thác khả năng của cáctài nguyên và làm cho các tài nguyên sẵn sẵn sàng như một thực thể duy nhất mà cóthể được thay đổi để đáp ứng các nhu cầu hiện tại của người dùng Cơ sở của Điệntoán đám mây là tạo ra một tập các máy chủ ảo rộng lớn và khách hàng sẽ truy cậpchúng Bất thiết bị truy cập web nào cũng có thể được sử dụng để truy cập vào các
Trang 7nguồn tài nguyên thông qua các máy chủ ảo Căn cứ vào tính toán nhu cầu của kháchhàng, cơ sở hạ tầng được phân bổ cho khách hàng có thể được tăng lên hoặc hạ xuống.
Nhìn từ quan điểm kinh doanh, điện toán đám mây là một phương pháp để giảiquyết khả năng mở rộng và những mối quan tâm cho các ứng dụng quy mô lớn, trong
đó bao gồm việc chi phí ít hơn Bởi vì tài nguyên được phân bổ cho khách hàng có thểdựa trên nhu cầu khác nhau của khách hàng và có thể được thực hiện mà không phiềnphức nào, các nguyên cần thiết là rất ít
Một trong những thành tựu quan trọng của điện toán đám mây có thể khái quát là
xử lý dữ liệu lớn gấp 1000 lần không nhất thiết phải thực hiện với sự phức tạp hơn
1000 lần thông thường Khi số lượng dữ liệu tăng, các đám mây dịch vụ điện toán cóthể được sử dụng để quản lý việc tải một cách hiệu quả và làm cho công việc xử lý dễdàng hơn Trong thời đại của máy chủ doanh nghiệp và máy tính cá nhân, phần cứng
là tiêu chuẩn chính cho khả năng xử lý, chúng phụ thuộc vào cấu hình phần cứng củamáy chủ Nhưng với sự ra đời của đám mây máy tính, các hàng hóa đã thay đổi vớichu kỳ và byte - tức là trong dịch vụ điện toán đám mây, người dùng được tính dựatrên số lượng các chu trình được thực hiện hay là số lượng byte được dịch chuyển
Các phần cứng hoặc các máy mà các ứng dụng được chạy thì được ẩn khỏi người
sử dụng Số lượng phần cứng cần thiết cho tính toán được thực hiện bởi trình quản lý
và nói một cách khái quát là khách hàng được tính chi phí dựa trên cách ứng dụng sửdụng các nguồn tài nguyên
Những Đặc Điểm Của Điện Toán Đám Mây:
2.1 Tự Sửa Chữa:
Bất kỳ ứng dụng hoặc dịch vụ nào đang chạy trong một môi trường điện toán đámmây có một tính chất tự sửa chữa Trong trường hợp ứng dụng thất bại, luôn luôn cómột dự phòng tức thời của ứng dụng sẵn sàng để cho công việc không bị gián đoạn
Có nhiều bản sao của cùng một ứng dụng - mỗi bản cập nhật chính nó thường xuyên vìvậy ở những lần thất bại, có ít nhất một bản sao của ứng dụng có thể lấy lên hoạt động
mà thậm chí không cần thay đổi nhỏ nào trong trạng thái chạy của nó
2 2 Nhiều người sử dụng:
Với điện toán đám mây, bất kỳ ứng dụng nào cũng hỗ trợ đa người dùng - đó
là khái niệm dùng để chỉ nhiều người sử dụng đám mây trong cùng thời gian Hệ thốngcho phép một số khách hàng chia sẻ cơ sở hạ tầng được phân bổ cho họ mà không
Trang 8ai trong họ nhận biết về sự chia sẻ này Điều này được thực hiện bởi việc ảo hóa cácmáy chủ trong một dải các máy tính và sau đó cấp phát các máy chủ đến nhiều người
sử dụng Điều này được thực hiện theo cách mà trong đó sự riêng tư của người sửdụng và bảo mật của dữ liệu của họ không bị tổn hại
2.3 Khả năng mở rộng tuyến tính:
Dịch vụ điện toán đám mây có khả năng mở rộng tuyến tính Hệ thống có khảnăng phân chia các luồng công việc thành phần nhỏ và phục vụ nó qua cơ sở hạ tầng.Một ý tưởng chính xác của khả năng mở rộng tuyến tính có thể được lấy từ thực tế lànếu một máy chủ có thể xử lý 1000 giao dịch trong một giây, thì hai máy chủ có thể xử
lý 2.000 giao dịch trong một giây
2.4 Hướng dịch vụ:
Hệ thống Điện toán đám mây là tất cả các dịch vụ theo định hướng – những dịch
vụ như vậy được tạo ra từ những dịch vụ rời rạc khác Rất nhiều dịch vụ rời rạc nhưvậy là sự kết hợp của nhiều dịch vụ độc lập khác với nhau để tạo dịch vụ này Điềunày cho phép việc tái sử dụng các dịch vụ khác nhau sẵn có và đang được tạo ra Bằngviệc sử dụng các dịch vụ đã được tạo ra trước đó, những dịch vụ khác có thể được tạo
ra từ đó
2.5 Điều khiển SLA(Service level agreement):
Thông thường các doanh nghiệp có thỏa thuận về số lượng dịch vụ Khả năng mởrộng và các vấn đề có sẵn có thể làm cho các thỏa thuận này bị phá vỡ Tuy nhiên, cácdịch vụ điện toán đám mây là hướng SLA, như việc khi hệ thống có kinh nghiệm đạtđỉnh của tải, nó sẽ tự động điều chỉnh chính nó để tuân thủ các thỏa thuận ở cấp độdịch vụ Các dịch vụ sẽ tạo ra thêm những thực thể của ứng dụng trên nhiều server đểcho việc tải có thể dễ dàng quản lý
2.6 Khả năng ảo hóa:
Các ứng dụng trong điện toán đám mây hoàn toàn tách rời khỏi phần cứng nằm bên dưới Môi trường điện toán đám mây là một môi trường ảo hóađầy đủ
2.7 Linh hoạt:
Một tính năng khác của các dịch vụ điện toán đám mây là chúng linh hoạt Chúng
có thể được dùng để phục vụ rất nhiều loại công việc có khối lượng khác nhau từ tảinhỏ của một ứng dụng nhỏ cho đến tải rất nặng của một ứng dụng thương mại
Trang 93 Sự cần thiết của điện toán đám mây.
Một câu hỏi được đặt ra là làm cách nào để có thể tăng năng lực tính toán và lưutrữ dữ liệu lên hàng nghìn lần so với chỉ dùng phần cứng tại chỗ? Câu hỏi đã từng làmđau đầu các nhà phát triển hệ thống, và với sự ra đời của mạng internet vấn đề đã đượcgiải quyết bởi sự xuất hiện của dịch vụ điện toán đám mây Điện toán đám mây là mộtdịch vụ tính toán và lưu trữ do nhà cung cấp dịch vụ cung cấp cho khách hàng, vì vậynăng lực tính toán và lưu trữ dữ liệu có khả năng tăng lên hàng nghìn lần so với việcchỉ dùng hệ thống tính toán truyền thống của khách hàng, và điều này phụ thuộc vàonăng lực của nhà cung cấp dịch vụ chứ không phụ thuộc vào hệ thống tại chỗ củakhách hàng, mà thường là các máy của các nhà cung cấp dịch vụ thường là những máy
có năng lực tính toán rất lớn để có thể cung cấp cho nhiều người
So với các hệ thống máy tính truyền thống thì điện toán đám mây có nhiều ưuđiểm vượt trội hơn Ưu điểm đầu tiên là về tài nguyên hệ thống, giả sử với một công tykhi trang bị hệ thống tính toán truyền thống cần phải xây dựng một hệ thống mạnh đủ
để phục vụ công việc cho một công ty Điều đó đồng nghĩa với việc chi phí lắp đặt hệthống ban đầu tốn kém, và đối với hệ thống của công ty cần phải có người quản trị hệthống tốn thêm tài nguyên và nhân lực, và chi phí cho năng lượng tiêu thụ của hệthống cũng rất cao Thêm vào đó là sự lãng phí tài nguyên khi mà hệ thống khôngđược sử dụng hết công suất của nó Điều đó cho thấy rằng đầu tư vào một hệ thốngmáy tính theo kiểu truyền thống thì có thể là tốn kém và lãng phí Và nếu công ty sửdụng điện toán đám mây thì khi đó không phải tốn một người quản trị, năng lượng tiêuthụ cho hệ thống cũng không còn là vấn đề, đặc biệt là tài nguyên không sử dụng sẽkhông bị lãng phí vì khi đó công ty chỉ trả tiền cho phần tài nguyên mà họ sử dụng,phần tài nguyên còn lại sẽ được người cung cấp dịch vụ cung cấp cho một công tykhác
Một ưu điểm nữa của điện toán đám mây là khả năng truy cập và sử dụng tàinguyên ở mọi lúc mọi nơi khi mà ta có một máy tính bình thường được nối mạnginternet, khi đó ta có thể thực hiện một phép tính khổng lồ hoặc có thể sử dụng mộtkhối lượng dữ liệu lớn chỉ với một máy tính đơn giản
Vấn đề về bản quyền phần mềm cũng là một vấn đề hết sức nan giải đối với cáccông ty khi mà các phần mềm đó có giá quá cao Với điện toán đám mây thì chỉ cầnnhà cung cấp dịch vụ bỏ tiền ra mua bản quyền thì tất cả các khách hàng của họ đều cóthể sử dụng nó như một phần mềm có bản quyền thật sự mà không phải bỏ ra một sốtiền lớn để mua bản quyền mà họ chi phải trả tiền cho những gì họ dùng
Trang 10Bên cạnh đó điện toán đám mây cũng có những nhược điểm cố định của nó Vớiđiện toán đám mây người dùng không thực sự an tâm về dữ liệu của họ vì khi đó tàinguyên thật sự không còn là của riêng họ mà nằm trong đám mây của nhà cung cấpdịch vụ Theo đó thì sự bảo mật dữ liệu cũng là vấn đề làm lo lắng cho người dùng Vàkhi có sự cố về mạng internet thì người dùng không thể làm việc với dữ liệu của chính
họ được nữa
4 Công nghệ.
Trang 114.1 Kiến trúc của ứng dụng điện toán đám mây
Bây giờ chúng ta sẽ đi vào tìm hiểu cấu trúc cơ bản của điện toán đám mây, chúng
ta biết rằng điện toán đám mây là một tổ hợp tính toán dựa trên các thiết bị hạ tầngphần cứng trong một đám mây của nhà cung cấp dịch vụ Hạ tầng phần cứng bao gồmcác sản phẩm máy chủ chứa dữ liệu nhỏ được kết nối lại với nhau như một hệ thốngphục vụ cho việc lưu trữ và xử lý dữ liệu và các ứng dụng tính toán trên các tài nguyênkhác Điện toán đám mây gọi một ứng dụng chạy trên máy chủ ảo như là nó đang chạytại chỗ trên hạ tầng phần cứng phân tán trong đám mây Những máy chủ ảo được tạo
ra theo những cách mà ở đó những thỏa thuận dịch vụ (SLA) khác nhau và sự tin cậyđều được đảm bảo Có thể có nhiều thực thể khác nhau của cùng một máy chủ ảo truycập vào những phần sẵn sàng của cơ sở hạ tầng phần cứng Điều này đảm bảo rằng cónhiều bản sao của các ứng dụng, để khi xảy ra lỗi chúng sẵn sàng khắc phục Máy chủ
ảo phân tán quá trình xử lý vào cơ sở hạ tầng phần cứng và sau khi quá trình tính toánđược hoàn thành chúng sẽ trả về kết quả Quá trình này cần có một phần mềm hoặc hệđiều hành xử lý công việc quản lý hệ thống phân tán, giống như kỹ thuật tính toánlưới, giúp quản lý các yêu cầu khác nhau đến máy chủ ảo Cơ chế này sẽ đảm bảo việctạo ra nhiều bản sao và cả việc bảo vệ sự thống nhất dữ liệu được lưu trên cơ sở hạtầng Đồng thời hệ điều hành đó cũng có thể tự điều chỉnh như là khi gặp quá tải cáctiến trình, phân chia xử lý để hoàn thành đáp ứng yêu cầu Hệ thống quản lý công việcnhư vậy được che dấu với người dùng, hay nói các khác là ẩn với người dùng Sự độclập với người dùng thể hiện ở chỗ nó xử lý và trả về kết quả đạt được, chứ không cần
Trang 12phải quan trọng nó ở đâu và nó thực hiện điều đó bằng cách nào Người dùng trả tiềntrên lưu lượng sử dụng hệ thống, như đã nói dịch vụ được tính bằng chu kỳ của CPUhoặc byte Thực tế số tiền mà khách hàng phải trả thường được tính dựa vào lưu lượngdùng CPU trên một giờ hoặc số Gb dữ liệu di chuyển trong một giờ.
4.2 Kiến trúc máy chủ:
Điện toán đám mây được tạo thành bằng cách sử dụng tài nguyên vật lý lớn từ
nhiều máy chủ trong đám mây của nhà cung cấp dịch vụ Đây là một ứng dụng của
nguyên tắc kết hợp vào trong bài toán cần một hệ thống tính toán lớn mà thiết bị hoặc cơ sở vật chất không cho phép nên chúng ta cần phải ghép những thiết bị, những hệ thống nhỏ lại với nhau để trở thành một hệ thống lớn đáp ứng những nhu cầu lớn hơn cho người sử dụng trong những hệ thống yêu cầu tính toán và lưu trữ lớn Như đã nói bên trên, dịch vụ và ứng dụng của điện toán đám mây dựa
Trang 13trên máy chủ ảo được thiết kế từ tài nguyên góp lại này Có hai ứng dụng (hoặc hệđiều hành) sẽ giúp quản lý các thể hiện trên máy trong đám mây, cũng như quản lý tất
cả các tài nguyên của các thể hiện máy chủ ảo Đây là một ứng dụng nguyên lý tách
khỏi vào trong hệ thống điện toán đám mây nhằm tách biệt phần cứng phức tạp
của hệ thống vói giao diện bên ngoài Nhằm tạo ra một giao diện người dùng đơn giản, dễ sử dụng hơn so với phần cứng phức tạp bên dưới và cũng là để tách biệt giao diện người dùng với hệ thống phần cứng, khi đó người dùng chỉ cần quan tâm đến những ứng dụng mà học cần chứ không cần quan tâm đến phần cứng bên dưới được thực hiện như thế nào Ứng dụng thứ nhất là Xen hypervisor cung
cấp các lớp trừu tượng giữa phần cứng và hệ điều hành ảo, nhờ vậy sự phân tán củacác tài nguyên và tiến trình được quản lý giống như là đang thực hiện trên một máy.Ứng dụng thứ hai cũng được sử dụng rộng rãi là hệ thống quản lý máy chủ ảoEnomalism, nó được sử dụng để quản lý hạ tầng phần cứng nền tảng
Khi Xen sử dụng cho các lớp ảo của các cơ sở hạ tầng máy chủ, một lớp phần mềm là Xen hypervisor đã được cài đặt giữa máy chủ và hệ điều hành Nó cung cấp một lớp trừu tượng cho phép mỗi server vật lý có thể được chạy như là một hoặc nhiều