TRUYỀN DỮ LIỆU VÀ MẠNG MÁY TÍNH ĐỀ TÀI: CLOUD COMPUTING VÀ ẢO HÓA SERVER Máy tính ngày nay đã trở thành 1 phần không thể thiếu của cuộc sống. Chúng ta cần máy ở mọi nơi cho công viêc, nghiên cứu hay bất cứ lĩnh vực nào. Với việc sử dụng máy tính ngày càng nhiều trong cuộc sống hàng ngày thì tài nguyên máy tính mà chúng ta cần cũng ngày càng tăng lên. Đối với các công ty như Google hay Microsoft thì tài nguyên không phải là vấn đề nhưng với những doanh nghiệp nhỏ thì việc chi trả sẽ trở thành 1 yếu tố lớn. Cơ sở hạ tầng lớn có thể dẫn đến những vấn đề như machines failure, hard drive crashes, lỗi phần mềm ...
Trang 1TRUYỀN DỮ LIỆU VÀ MẠNG MÁY TÍNH
ĐỀ TÀI: CLOUD COMPUTING VÀ ẢO HÓA SERVER
Trang 2Hà Nội – 2012 MỤC LỤC
Contents
Trang 3Giới thiệu :
Máy tính ngày nay đã trở thành 1 phần không thể thiếu của cuộc sống Chúng ta cần máy ở mọi nơi cho công viêc, nghiên cứu hay bất cứ lĩnh vực nào Với việc sử dụng máy tính ngày càng nhiều trong cuộc sống hàng ngày thì tài nguyên máy tính mà chúng ta cần cũng ngày càng tăng lên Đối với các công ty như Google hay Microsoft thì tài nguyên không phải là vấn đề nhưng với những doanh nghiệp nhỏ thì việc chi trả sẽ trở thành 1 yếu tố lớn Cơ sở hạ tầng lớn có thể dẫn đến những vấn đề như machines failure, hard drive crashes, lỗi phần mềm
Từ một bài toán điển hình như vậy, chúng ta thấy được rằng nếu có một nơi tin cậy giúp các doanh nghiệp quản lý tốt nguồn dữ liệu đó, các doanh nghiệp sẽ không còn quan tâm đến cơ sở hạ tầng, công nghệ mà chỉ tập trung chính vào công việc kinh doanh của
họ thì sẽ mang lại cho họ hiệu quả và lợi nhuận ngày càng cao hơn
Để 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 1000 lần?" Nếu người xin việc bê nguyên những công thức được học ở 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 1000 lần 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 ảoCloud computing bắt nguồn từ ý tưởng đưa tất cả mọi thứ như dữ liệu, phần mềm, tính toán, … lên trên mạng Internet Chúng ta sẽ không còn trông thấy các máy PC, máy chủ của riêng các doanh nghiệp để lưu trữ dữ liệu, phần mềm nữa mà chỉ còn một số các
“máy chủ ảo” tập trung ở trên mạng Các “máy chủ ảo” sẽ cung cấp các dịch vụ giúp cho doanh nghiệp có thể quản lý dữ liệu dễ dàng hơn, họ sẽ chỉ trả chi phí cho lượng sử dụng dịch vụ của họ, mà không cần phải đầu tư nhiều vào cơ sở hạ tầng cũng như quan tâm nhiều đến công nghệ Xu hướng này sẽ giúp nhiều cho các công ty, doanh nghiệp vừa và nhỏ mà không có cơ sở hạ tầng mạng, máy chủ để lưu trữ, quản lý dữ liệu tốt
Trang 4I. TỔNG QUAN VỀ ĐIỆN TOÁN ĐÁM MÂY
1. Điện toán đám mây là gì:
Thuật ngữ "Điện toán đám mây" 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, Điện toán đám mây 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 Điện toán đám mây 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)
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
Trang 5cũ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
Trang 62. Các đặc điểm của Điện toán đám mây
Bất kỳ ứng dụng hay dịch vụ nào đang chạy trong môi trường cloud computing đều có khả năng tự phục hồi Trong trường hợp ứng dụng xảy ra lỗi luôn luôn có 1 bản backup của ứng dụng sẵn sàng hoạt động mà không có xảy ra gián đoạn Mỗi ứng dụng có nhiều bản sao – mỗi bản sao thường xuyên tự cập nhật chính nó để khi xảy ra lỗi có 1 nhất 1 bản sao có thể tiếp tục hoạt động mà không có sự thay đổi về trạng thái hoạt động
Hệ thống cho phép một số khách hàng có thể chia sẻ cơ sở hạ tầng được phân bổ cho họ mà không cần bất kỳ người trong số họ nhận thức được việc chia sẻ Điều này được thực hiện bằng việc ảo hóa các máy chủ trên vùng lưu trữ (machine pool) và sau đó phân bố các máy chủ cho nhiều người dùng Điều này được thực hiện 1 cách bảo mật để đảm bảo sự an toàn cho dữ liệu của người sử dụng không
bị xâm nhập
Chi phí được giảm đáng kể và chi phí vốn đầu tư được chuyển sang hoạt động chi tiêu Điều này làm giảm rào cản cho việc tiếp nhận, chẳng hạn như cơ sở hạ tầng được cung cấp bởi đối tác thứ 3 và không cần phải mua để dùng cho các tác vụ tính toán thực hiện 1 lần hay chuyên sâu mà không thường xuyên Việc định giá dựa trên cơ sở tính toán theo nhu cầu thì tốt đối với những tùy chọn dựa trên việc
sử dụng và các kỹ năng IT được đòi hỏi tối thiểu (hay không được đòi hỏi) cho việc thực thi
Độ tin cậy cải thiện thông qua việc sử dụng các site có nhiều dư thừa, làm nó thích hợp cho tính liên tục trong kinh doanh và khôi phục thất bại Tuy nhiên, phần lớn các dịch vụ của cloud computing có những lúc thiếu hụt và người giám đốc kinh doanh, IT phải làm cho nó ít đi
Sự độc lập giữa thiết bị và vị trí làm cho người dùng có thể truy cập hệ thống bằng cách sử dụng trình duyệt web mà không quan tâm đến vị trí của họ hay thiết bị nào
mà họ đang dùng, ví dụ như PC, mobile Vì cơ sở hạ tầng off-site (được cung cấp bởi đối tác thứ 3) và được truy cập thông qua Internet, do đó người dùng có thể kết nối từ bất kỳ nơi nào
Việc bảo mật cải thiện nhờ vào tập trung hóa dữ liệu, các tài nguyên chú trọng bảo mật, v.v… nhưng cũng nâng cao mối quan tâm về việc mất quyền điều khiển dữ liệu nhạy cảm Bảo mật thường thì tốt hay tốt hơn các hệ thống truyền thống, một
Trang 7phần bởi các nhà cung cấp có thể dành nhiều nguồn lực cho việc giải quyết các vấn đề bảo mật mà nhiều khách hàng không có đủ chi phí để thực hiện Các nhà cung cấp sẽ ghi nhớ (log) các truy cập, nhưng việc truy cập vào chính bản thân các audit log có thể khó khăn hay không thể
3. Mô hình tổng quan
Theo định nghĩa, 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
Hiện nay, các nhà cung cấp đưa ra nhiều dịch vụ của cloud computing theo nhiều hướng khác nhau, đưa ra các chuẩn riêng cũng như cách thức hoạt động khác nhau
Do đó, việc tích hợp các cloud để giải quyết một bài toán lớn của khách hàng vẫn còn
là một vấn đề khó khăn Chính vì vậy, các nhà cung cấp dịch vụ đang có xu hướng tích hợp các cloud lại với nhau thành “sky computing”, đưa ra các chuẩn chung để giải quyết các bài toán lớn của khách hàng
Mô hinh tổng quan của cloud computing
Trang 84. Các mô hình triển khai của điện toán đám mây
Các đám mây công cộng- Public cloud: là các dịch vụ đám mây được một bên
thứ ba (người bán) cung cấp Chúng tồn tại ngoài tường lửa công ty và chúng được lưu trữ đầy đủ và được nhà cung cấp đám mây quản lý
Các đám mây riêng- Private cloud: là các dịch vụ đám mây được cung cấp trong
doanh nghiệp Những đám mây này tồn tại bên trong tường lửa công ty và chúng được doanh nghiệp quản lý
Các đám mây lai- Hybrid cloud:là một sự kết hợp của các đám mây công cộng
và đám mây riêng Những đám mây này thường do doanh nghiệp tạo ra và các trách nhiệm quản lý sẽ được phân chia giữa doanh nghiệp và nhà cung cấp đám mây công cộng
Các đám mây cộng đồng- Community Cloud: là các đám mây được chia sẻ bởi
một số tổ chức và hỗ trợ một cộng đồng cụ thể có mối quan tâm chung (ví dụ: chung
sứ mệnh, yêu cầu an ninh, chính sách…) Nó có thể được quản lý bởi các tổ chức hoặc một bên thứ ba
5. Sự cần thiết của điện toán đám mây
Chúng ta có thể làm gì khi dữ liệu và sức mạnh của CPU tăng gấp 1000 lần Một câu hỏi đơn giản nhưng khiến rất nhiều người gặp khó khăn khi xin việc ở Google Đây là 1 câu hỏi hoàn toàn phù trong hoàn cảnh hiện tại khi lượng dữ liệu mà một ứng dụng xử lý
là ngày càng nhiều và sức mạnh của CPU cũng ngày càng tăng lên
Có nhiều câu trả lời cho câu hỏi trên Với khả năng của CPU lớn hơn, chúng ta có thể tăng số người sử lên thêm 1000 lần nữa Ngay bây giờ chúng ta đang thu thập số liệu thống kê về tất cả người dùng đang sử dụng ứng dụng Với tăng khả năng của CPU, chúng ta có thể theo dõi từ việc click đến các tương tác của mọi người dùng như vậy mà chúng ta có thể thu thập tất cả các số liệu thống kê về người dùng Chúng ta có thể cải thiện các hệ thống recommendation của người sử dụng Chúng ta có thể lựa chọn mô hình kế hoạch tốt hơn
Có rất nhiều thứ chúng ta có thể làm với việc tăng cường khả năng của CPU và xử lý
dữ liệu Nhưng có 1 trong những lý do đã giữ chúng ra lại là những khó khăn trong việc quản lý các kiến trúc lớn Có rất nhiều vấn đề khác nhau với kiến trúc mà chúng ta cần
Trang 9phải hỗ trợ Những chiếc máy bắt đầu lỗi, các ổ đĩa cứng có thể hỏng hóc, đường truyền mạng đi xuống và hàng loạt vấn đề với phần cứng Phần cứng cho các kiến trúc phải được thiết kế với độ tin cậy và khả năng mở rộng do đó các kiến trúc quy mô lớn có chi phí trả trước rất lớn cũng như chi phí bảo trì cao Các hệ thống cũng không thể tổ chức lại khi cần thiết và cũng không dễ dàng để cấu hình lại.
6. Điện toán đám mây mang lại lợi ích như thế nào cho người dùng?
Tính linh động: Người dùng có thể thoải mái lựa chọn các dịch vụ phù hợp với nhu cầu của mình, cũng như có thể bỏ bớt những thành phần mà mình không muốn (Thay vì phải bỏ ra hàng trăm USD cho 1 bộ Ms office, ta có thể mua riêng lẻ từng phần hoặc chỉ trả 1 khoản phí rất nhỏ mỗi khi sử dụng 1 phần nào đó của nó)
Giảm bớt phí: Người dùng không chỉ giảm bớt chi phí bản quyền mà còn giảm phần lớn chi phí cho việc mua và bảo dưỡng máy chủ Việc tập hợp ứng dụng của nhiều tổ chức lại 1 chỗ sẽ giúp giảm chi phí đầu tư ban đầu, cũng như tăng hiệu năng
sử dụng các thiết bị này một cách tối đa
Tạo nên sự độc lập: Người dùng sẽ không còn bị bó hẹp với 1 thiết bị hay 1 vị trí
cụ thể nào nữa Với điện toán đám mây, phần mềm, dữ liệu có thể được truy cập và sử dụng từ bất kì đâu, trên bất kì thiết bị nào mà không cần phải quan tâm đến giới hạn phần cứng cũng như địa lý (Bạn có thể chơi Call of Duty 6 trên iPad hoặc iPhone mà không cần quan tâm đến cấu hình của nó)
Tăng cường độ tin cậy: Dữ liệu trong mô hình điện toán đám mây được lưu trữ 1 cách phân tán tại nhiều cụm máy chủ tại nhiều vị trí khác nhau Điều này giúp tăng độ tin cậy, độ an toàn của dữ liệu mỗi khi có sự cố hoặc thảm họa xảy ra (Hãy tưởng tượng 1 ngày nào đó, server yêu quý của công ty tự nhiên bốc cháy với toàn bộ dữ liệu quý giá bên trong, bạn sẽ làm gì??)
Bảo mật: Việc tập trung dữ liệu từ nhiều nguồn khác nhau sẽ giúp các chuyên gia bảo mật tăng cường khả năng bảo vệ dữ liệu của người dùng, cũng như giảm thiểu rủi
ro bị ăn cắp toàn bộ dữ liệu (Dữ liệu được đặt tại 6 máy chủ khác nhau → trong
trường hợp hacker tấn công, bạn cũng sẻ chỉ bị lộ 1/6 Đây là 1 cách chia sẻ rủi ro giữa các tổ chức với nhau)
Bảo trì dễ dàng: Mọi phần mềm đều nằm trên server, lúc này, người dùng sẽ không cần lo lắng cập nhật hay sửa lỗi phần mềm nữa Các lập trình viên cũng dễ dàng hơn trong việc cài đặt,nâng cấp các ứng dụng của mình
Trang 107. Xu hướng phát triển
Các ông lớn đã bắt đầu rục rịch trong cuộc chạy đua đến với “điện toán đám mây”
Những Google, Microsoft, Amazone, Sun… đều đã và đang phát triển những nền tảng
“điện toán đám mây” của riêng mình Các nền tảng “điện toán đám mây” lớn có thể kể đến bao gồm: Google App Engine của Google: http://code.google.com/appengine/
Windows Azure của Microsoft: http://www.microsoft.com/windowsazure/windowsazure/Nền tảng “điện toán đám mây” ra đời đầu tiên: Amazone Webservice của Amazon.comSun Cloud của Sun http://www.sun.com/solutions/cloudcomputing/
Một số nhà cung cấp dịch vụ cloud computingNhững ứng dụng “điện toán đám mây” dù mới nhưng đang mở ra một tương lai đầy hứa hẹn Một trong những ứng dụng đầy tiềm năng là nền tảng game Gaikai Với Gaikai, người dùng có thể chơi bất kì game nào trên bất kì thiết bị nào, miễn là nó có đường truyền internet đủ mạnh Các game trong hệ thống Gaikai sẽ được chạy trên hệ thống máy chủ cực mạnh của nhà cung cấp rồi được truyền tới máy người dùng dưới dạng 1 video stream
Cách thiết kế này mở ra một chân trời mới đầy tiềm năng mà ở đó, ta hoàn toàn có thể chứng kiến những tựa game có cấu hình khủng được chơi trên những thiết bị cầm tay như iPad, hoặc trên các máy tính xách tay có cấu hình thường thường bậc trung
Trang 11II. KIẾN TRÚC CÁC PHẦN MỀM DỊCH VỤ TRONG ĐIỆN TOÁN ĐÁM MÂY
Cloud computing cung cấp hạ tầng, nền tảng và phần mềm như là dich vụ, mà có thể được cung ứng như là một dich vụ cho thuê trong cách dùng bao nhiêu trả bấy nhiêu đối với người dùng
Cloud computing được có 3 loại dịch vụ:
vụ bên ngoài Những dịch vụ này thông thường được tính chi phí trên cơ sở tính toán chức năng và lượng tài nguyên sử dụng (và từ đó ra chi phí) sẽ phản ảnh được mức độ của hoạt động Đầy lầ một sự phát triển của những giải pháp lưu trữ web và máy chủ cá nhân ảo
Tên ban đầu được sử dụng là dịch vụ phần cứng (HaaS) và được tạo ra bởi một nhà kinh tế học Nichlas Car vào thang 3 năm 2006, nhưng điều này cần thiết Nhưng từ này đã dần bị thay thế bởi khái niệm dịch vụ hạ tầng vào khoảng cuối năm 2006
Những đặc trưng tiêu biểu:
Cung cấp tài nguyên như là dịch vụ: bao gồm cả máy chủ, thiết bị mạng, bộ nhớ, CPU, không gian đĩa cứng, trang thiết bị trung tâm dữ liệu
Khả năng mở rộng linh hoạt
Chi phí thay đổi tùy theo thực tế
Nhiều người thuê có thể cùng dùng chung trên một tài nguyên
Cấp độ doanh nghiệp: đem lại lợi ích cho công ty bởi một nguồn tài nguyên tích toán tổng hợp
Khả năng phục hồi và hiệu suất đáng tin cậy
IaaS sử dụng nhiều công nghệ mới, dịch vụ và đầu tư trung tâm dữ liệu để cung cấp IT như một dịch vụ cho khách hàng, tập trung xung quanh mô hình cung cấp dịch vụ mà quy định một tiêu chuẩn được xác định trước cơ sở hạ tầng đặc biệt tối ưu cho các ứng dụng của khách hàng
Trang 12Cung cấp dịch vụ nền tảng (PaaS) bao gồm những điều kiện cho qui trình thiết kế ứng dụng, phát triển, kiểm thử, triển khai và lưu trữ ứng dụng có giá trị như là dịch vụ ứng dụng như cộng tác nhóm, săp xếp và tích hợp dịch vụ web, tích hợp cơ sở dữ liệu, bảo mật, khả năng mở rộng, quản lý trạng thái, phiên bản ứng dụng, các lợi ích cho cộng đồng phát triển và nghiên cứu ứng dụng Những dịch vụ này được chuẩn bị như là một giải pháp tính hợp trên nền web
Những đặc trưng tiêu biểu:
Phục vụ cho việc phát triển, kiêm thử, triển khai và vận hành ứng dụng giống như
là môi trường phát triển tích hợp
Các công cụ khởi tạo với giao diện trên nền web
• Khả năng tích hợp nhiều nguồn của dich vụ web
• Giảm chi phí ngoài lề khi tích hợp các dịch vụ về bảo mật, khả năng mở rộng, kiểm soát lỗi…
• Giảm chi phí khi trừu tượng hóa công việc lập trình ở mức cao để tạo dục
vụ, giao diện người dùng và các yếu tố ứng dụng khác
Trang 13• Mong đợi ở người dùng có kiến thức có thể tiếp tục hoàn thiện và hỗ trợ tương tác với nhiều người để giúp xác định mức đô khó khăn của vấn đề chúng ta gặp phải
• Hướng việc sử dụng công nghệ để đạt được mục đích tạo điều kiện dễ dàng hơn cho việc phát triển ứng dụng đa người dùng cho những người không chỉ trong nhóm lập trình mà có thể kết hợp nhiều nhóm cùng làm việc
Những đặc trưng tiêu biểu:
Phần mềm sẵn có đòi hỏi việc truy xuất, quản lý qua mạng
Quản lý các hoạt dộng từ một vị trí tập trung hơn là tại mỗi nơi của khách hàng, cho phép khác hàng truy xuất từ xa thông qua web
Cung cấp ứng dụng thông thường gần gũi với mô hình ánh xạ từ một đến nhiều hơn là mô hình 1:1 bao gồm cả các đặc trưng kiến trúc, giá cả và quản lý
Những tính năng tập trung nâng cấp, giải phóng người dùng khỏi việc tải các bản
vá lỗi và cập nhật
Thường xuyên tích hợp những phần mềm giao tiếp trên mạng diện rộng
4. So sánh dịch vụ SaaS, PaaS và IaaS:
Để có thể hiểu rõ hơn về các dịch vụ SaaS, PaaS và IaaS trên nền Cloud Computing, chúng ta có bảng so sánh về các dịch vụ này: