Ở mô hình điện toán này, mọi khả năng liên quan đến công nghệ thông tin đều đượccung cấp dưới dạng các "dịch vụ", cho phép người sử dụng truy cập các dịch vụ côngnghệ từ một nhà cung cấp
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
-o0o -BÀI THU HOẠCH MÔN ĐIỆN TOÁN LƯỚI VÀ ĐÁM MÂY
XÂY DỰNG DỊCH VỤ E-LEARNING TRÊN NỀN TẢNG WINDOW AZURE
Giảng viên hướng dẫn:
PGS.TS Nguyễn Phi Khứ Học viên thực hiện:
Lê Duy Đắc Nhân CH1301045 Lớp: Cao học khóa 08
TP HCM Tháng 06-2014
LỜI MỞ ĐẦU
Trang 2qua quá trình phát triển vượt bậc, Internet đã đưa công nghệ đến gần với đời sống conngười từ những chiếc máy tính để bàn đến các thiết bị di động cầm tay Internet trởthành một phần không thể thiếu trong ngành công nghệ thông tin và truyền thông.Trong quá trình phát triển đó, các doanh nghiệp đã nhận ra rằng họ không thể gói gọntrong một mô hình của mình mà phải thay đổi linh động để phù hợp với từng nhu cầukhách hàng khác nhau Đây là một bài toán được ưu tiên hàng đầu, rằng làm sao để cóthể vừa linh hoạt mềm dẻo trong việc cung cấp sản phẩm dịch vụ, vừa có thể quản lýhiệu quả dữ liệu của riêng công ty cũng như dữ liệu khách hàng
Từ một bài toán điển hình như vậy, ta thấy rằng cần có một giải pháp để doanhnghiệp áp dụng Thuật ngữ "Cloud computing" hay còn gọi là "Điện toán đám mây" rađời bắt nguồn từ một trong những hoàn cảnh đó Với ý tưởng đưa tất cả mọi thứ từ dữliệu, việc xử lý,… đến phần mềm lên mạng Internet, Cloud computing đang đặt ra cho
cả thế giới nhiều cơ hội và được xem là quá trình phát triển tất yếu của ngành côngnghệ thông tin
Em quyết định thực hiện đề tài: "Dịch vụ E-learning trên nền tảng Windows
Azure" Đây cũng là quyết định xuất phát từ niềm mong mỏi mọi người được tiếp cận
những kiến thức trên thế giới mà không có điều kiện học trực tiếp Em hy vọng đề tàinày sẽ mở ra một cái nhìn rõ nét hơn về tính ứng dụng của Điện toán đám mây và thayđổi cách giảng dạy truyền thống, đưa con người trên thế giới lại gần nhau hơn Mọingười dễ dàng chia sẻ kiến thức và tạo ra một thế giới phát triển cân bằng
Trang 3 Chương 1 - GIỚI THIỆU: Nêu lên vấn đề cần phải giải quyết của đề tài cũng
như đề ra mục tiêu, phạm vi đề tài
Chương 2 – TỔNG QUAN VỀ CLOUD COMPUTING: Cái nhìn tổng quan
về Điện toán đám mây, những lợi ích và thách thức và tương lai của điện toánđám mây
Chương 3 – TÌM HIỂU VỀ WINDOWS AZURE PLATFORM: Tìm hiểu
về nền tảng Điện toán đám mây – Windows Azure của Microsoft
Chương 4 – XÂY DỰNG DỊCH VỤ E-LEARNING NL-AZURE: Giới thiệu
dịch vụ NL-Azure, và mô tả chức năng, hoạt động
KẾT LUẬN: Tổng kết các kết quả đạt được và những mặt còn hạn chế của đề
tài, đồng thời cũng đưa ra hướng phát triển cho ứng dụng trong tương lai
Trang 51.1 Đặt vấn đề 1
1.2 Mục tiêu và phạm vi đề tài 2
Chương 2: TỔNG QUAN VỀ CLOUD COMPUTING 4
2.1 Khái niệm và quá trình hình thành 4
2.2 Các tầng của mô hình điện toán đám mây 7
2.3 Các loại dịch vụ đám mây 8
2.4 Các kiểu mô hình điện toán đám mây 9
2.5 Giới thiệu các công nghệ nền tảng cho sự ra đời của điện toán đám mây 10
2.5.1 Công nghệ ảo hóa (virtualization) 10
2.5.2 Web Service và kiến trúc SOA (Service-Oriented Architecture) 11
2.5.3 Service Flow và Workflows 11
2.5.4 Web 2.0 và Mashup 12
2.6 Bảo mật trong điện toán đám mây 12
2.7 Các lợi ích và thách thức của điện toán đám mây 13
2.7.1 Lợi ích 13
2.7.2 Thách thức 14
2.8 Tương lai của điện toán đám mây 15
Chương 3: TÌM HIỂU WINDOWS AZURE PLATFORM 16
3.1 Tổng quan Windows Azure Platform 16
3.2 Hệ điều hành Windows Azure 17
3.3 SQL Azure 19
3.3.1 Giới thiệu 19
3.3.2 Kiến trúc SQL Azure 20
3.3.3 Kiến trúc truy xuất dữ liệu 22
3.3.3.1 Kiến trúc truy xuất gần 22
3.3.3.2 Kiến trúc truy xuất từ xa 23
3.4 Tổng quan Windows Azure Platform AppFabric 24
3.4.1 Giới thiệu 24
3.4.2 Access Control Service 24
3.4.2.1 Giới thiệu 24
Trang 63.4.3 Service Bus 26
Chương 4: XÂY DỰNG DỊCH VỤ E-LEARNING NL-AZURE 28
4.1 Giới thiệu 28
4.2 Chức năng 29
4.3 Phân tích thiết kế 31
4.3.1 Sơ đồ Use Case 31
4.3.2 Biểu đồ Sequence 36
4.3.2.1 Tạo phòng học 36
4.3.2.2 Sử dụng phòng học 37
4.3.2.3 Vận hành phòng học 38
4.3.3 Kiến trúc hệ thống 39
4.3.3.1 Kiến trúc MVC 39
4.3.3.2 Mô hình phòng học 42
4.3.4 Sơ đồ lớp 44
4.3.4.1 Sơ đồ lớp tổng quan 44
4.3.4.2 Sơ đồ lớp phòng học online 45
4.3.5 Sơ đồ quan hệ cơ sở dữ liệu 46
4.3.6 Sơ đồ luồng dữ liệu 47
KẾT LUẬN 48
Trang 7Hình 2.1 – Mô hình Cloud Computing 4
Hình 2.2 – Sáu giai đoạn phát triển của mô hình điện toán 5
Hình 2.3 – Các máy tính sơ khai sử dụng mô hình Điện toán Mainframe 6
Hình 2.4 – Các tầng của mô hình điện toán đám mây 7
Hình 2.5 – Các kiểu dịch vụ đám mây 8
Hình 2.6 – Mối liên hệ giữa các kiểu mô hình điện toán đám mây 9
Hình 2.7 – Sử dụng công nghệ ảo hóa trong mô hình điện toán đám mây 11
Hình 2.8 – Kiến trúc đám mây sử dụng nhiều thành phần khác nhau 12
Hình 2.9 – Kiến trúc đám mây lai phân tán 15
Hình 3.1 – Windows Azure Platform 16
Hình 3.2 – Đối tượng phục vụ của Windows Azure 17
Hình 3.3 – Các dịch vụ cốt lõi của Windows Azure 17
Hình 3.4 – Các thành phần chính của SQL Azure 19
Hình 3.5 – Kiến trúc SQL Azure 20
Hình 3.6 - Các bản sao của cơ sở dữ liệu SQL Azure 21
Hình 3.7 – Kiến trúc truy xuất dữ liệu gần 22
Hình 3.8 – Kiến trúc truy xuất dữ liệu từ xa 23
Hình 3.9 – Các thành phần của AppFabric 24
Hình 3.10 – Lược đồ tài nguyên ACS 25
Hình 4.1 – Sơ đồ Use Case tổng quát 31
Hình 4.2 – Sơ đồ Use case quản lý tài khoản 32
Hình 4.3 – Use case quản lý tài liệu 33
Hình 4.4 – Use case quản lý phòng học 34
Hình 4.5 – Quá trình thực hiện để tạo phòng học 36
Hình 4.6 – Quá trình thực hiện để sử dụng phòng học 37
Hình 4.7 – Quá trình thực hiện để sử dụng chức năng trình diễn Slideshow 38
Hình 4.8 – Mô hình kiến trúc MVC 39
Hình 4.9 – Các lớp Model trong hệ thống ứng dụng NL-Azure 39
Hình 4.10 – Minh họa liên hệ giữa View và Model 40
Trang 8Hình 4.12 – Mô hình phòng học online 42
Hình 4.13 – Sơ đồ lớp tổng quan 44
Hình 4.14 – Sơ đồ lớp phòng học online 45
Hình 4.15 – Sơ đồ quan hệ cơ sở dữ liệu 46
Hình 4.16 – Sơ đồ luồng dữ liệu 47
Trang 9Bảng 4.1 – Mô tả sơ đồ Use Case tổng quát 31
Bảng 4.2 – Mô tả sơ đồ Use Case quản lý tài khoản 32
Bảng 4.3 – Mô tả sơ đồ Use Case quản lý tài liệu 33
Bảng 4.4 – Mô tả sơ đồ Use Case quản lý phòng học 35
Trang 10Chương 1: GIỚI THIỆU 1.1 Đặt vấn đề
Khái niệm E-learning đã trở nên quen thuộc đối với người Việt Nam Hiện nay ở cáctrường Đại học trong cả nước đã và đang áp dụng E-learning nhằm tối ưu công việcgiảng dạy và truyền đạt thông tin, kiến thức E-learning được xem là một cuộc cáchmạng giáo dục trong thế kỷ 21
Ta cùng điểm lại vài cột mốc quan trọng trong quá trình phát triển giáo dục trên thếgiới để dẫn tới việc ra đời E-learning là một điều tất yếu:
Trước năm 1983: Kỷ nguyên giảng viên làm trung tâm
Trước khi máy tính được sử dụng rộng rãi, phương pháp giáo dụng "Lấy giảngviên làm trung tâm" là phương pháp phổ biến nhất trong các trường học Họcviên chỉ có thể trao đổi tập trung quanh giảng viên và các bạn học Đặc điểmcủa loại hình này là giá thành đào tạo rẻ
Giai đoạn 1984-1993: Kỷ nguyên đa phương tiện
Hệ điều hành Windows 3.1, Máy tính Macintosh, phần mềm trình diễnPowerPoint, đây là các công nghệ cơ bản trong kỷ nguyên đa phương tiện Nócho phép tạo ra các bài giảng tích hợp hình ảnh và âm thanh trên máy tính sửdụng công nghệ Computer Base Training (CBT) phân phối qua đĩa CD-ROMhặc đĩa mềm vào bất kỳ thời gian nào, ở đâu, người học cũng có thể mua vàhọc Tuy nhiên sự hướng dẫn của giảng viên là rất hạn chế
Giai đoạn 1994-1999: Làn sóng E-learning thứ nhất
Khi công nghệ Web được phát minh ra, các nhà cung cấp dịch vụ đào tạo bắtđầu nghiên cứu cách thức cải tiếp phương pháp giáo dục bằng công nghệ này
"Người thầy" giờ đây dần lộ rõ thông qua các phương tiện: E-mail, CBT quaIntranet với text và hình ảnh đơn giản, đào tạo bằng công nghệ WEB với hìnhảnh chuyển động tốc độ thấp đã được triển khai trên diện rộng
Trang 11 Giai đoạn 2000-2005: Làn sóng E-learning thứ hai
Các công nghệ tiên tiến bao gồm NET, JAVA và các ứng dụng mạng IP, côngnghệ truy nhập mạng và băng thông Internet được nâng cao, các công nghệthiết kế Web tiên tiến đã trở thành một cuộc cách mạng trong giáo dục đào tạo.Ngày nay thông qua Web giáo viên có thể kết hợp hướng dẫn trực tuyến (hìnhảnh, âm thanh, các công cụ trình diễn) tới mọi người học, nâng cao hơn chấtlượng dịch vụ đào tạo Ngày qua ngày công nghệ Web đã chứng tỏ có khả năngmang lại hiệu quả cao trong giáo dục đào tạo, cho phép đa dạng hoá các môitrường học tập Tất cả những điều đó tạo ra một cuộc cách mạng trong đào tạovới giá thành rẻ, chất lượng và hiệu quả Đó chính là làn sóng thứ 2 của E-learning
Như vậy, E-learning đã khẳng định được những lợi ích: tính linh hoạt, không bị giớihạn bởi không gian và thời gian, tiết kiệm chi phí Tuy nhiên hiện nay, việc áp dụngE-learning ở Việt Nam vẫn chỉ dừng lại ở mức chia sẻ thông tin và chưa có độ tươngtác cao giữa giảng viên và học viên Tính tương tác là rất quan trọng Bởi vì học viên
sẽ cảm thấy mình đang tham gia một lớp học thực sự Điều đó tạo nên một tâm lý chủđộng và ham thích học hỏi Ngoài ra học viên có thể gửi những thắc mắc trực tiếp vàđược giảng viên hay bạn bè của mình giải đáp ngay lập tức
Vậy vấn đề đặt ra là làm sao để tạo ra một lớp học trực tuyến nhưng tạo cảm giác họctập thực thụ đến với từng người tham gia Đồng thời mong muốn xây dựng thành một
Mạng xã hội chia sẻ giáo dục, nơi mà mọi người ở tất cả mọi nơi đều có thể tham gia
giảng dạy và học tập Điều này sẽ giúp cho mọi người tiếp cận những kiến thức mớinhất trên toàn thế giới
1.2 Mục tiêu và phạm vi đề tài
Đề tài nghiên cứu tìm hiểu tổng quan về Điện toán đám mây và Windows AzurePlatform để hiểu được kiến trúc, thành phần, chức năng, lợi ích của xu hướng côngnghệ mới này Làm nền tảng để xây dựng nên ứng dụng E-learning đám mây
Qua các thông tin tìm hiểu được, nhóm bắt tay vào xây dựng ứng dụng Ứng dụng sẽ
đáp ứng được 2 yêu cầu cơ bản là hỗ trợ E-learning và là một dịch vụ đám mây.
Trang 12 E-learning: Hỗ trợ việc học trực tuyến
- Trình diễn Slideshow tương tác trực tiếp Hỗ trợ các định dạng: ppt, pptx, pdf,doc, docx, txt
- Tính năng trò chuyện (Chat) qua message và voice dùng để trao đổi giữanhững người tham gia lớp học
- Tính năng Webcam cho phép học viên có thể nhìn thấy giảng viên đang đứnglớp Mục đích là tạo cảm giác là một lớp học thật sự
- Tính năng chia sẻ Desktop giúp hỗ trợ trong một số trường hợp đặc biệt cầntrao đổi, giải đáp, thảo luận,…
- Các tính năng phân quyền và xử lý dữ liệu,…
Trang 13Chương 2: TỔNG QUAN VỀ CLOUD COMPUTING 2.1 Khái niệm và quá trình hình thành
Cloud computing hay Điện toán đám mây là mô hình điện toán sử dụng các công nghệmáy tính và phát triển dựa vào mạng Internet Thuật ngữ "đám mây" ở đây là lối nói
ẩn dụ chỉ mạng Internet (dựa vào cách được bố trí của nó trong sơ đồ mạng máy tính)
và như một liên tưởng về độ phức tạp của các cơ sở hạ tầng chứa trong nó
Ở mô hình điện toán này, mọi khả năng liên quan đến công nghệ thông tin đều đượccung cấp dưới dạng các "dịch vụ", cho phép người sử dụng truy cập các dịch vụ côngnghệ từ một nhà cung cấp nào đó "trong đám mây" mà không cần phải có các kiếnthức, kinh nghiệm về công nghệ đó, cũng như không cần quan tâm đến các cơ sở hạtầng phục vụ công nghệ đó
Theo tổ chức Xã hội máy tính IEEE:
"Nó là hình mẫu trong đó thông tin được lưu trữ thường trực tại các máy chủ trên Internet và chỉ được được lưu trữ tạm thời ở các máy khách, bao gồm máy tính cá nhân, trung tâm giải trí, máy tính trong doanh nghiệp, các phương tiện máy tính cầm tay, "
Hình 2.1 – Mô hình Cloud Computing.
Trang 14Điện toán đám mây đã trở thành một xu hướng công nghệ quan trọng, nhiều chuyêngia kỳ vọng điện toán đám mây sẽ định hình lại các quy trình công nghệ thông tin vàthị trường IT Với điện toán đám mây, người dùng có thể dùng các thiết bị như PC,Laptop, Smartphone, PDA để truy cập các chương trình, dữ liệu và triển khai ứngdụng trên Internet thông qua các dịch vụ được cung cấp.
Hình 2.2 – Sáu giai đoạn phát triển của mô hình điện toán.
Hình 2.2 mô tả quá trình phát triển của các mô hình điện toán từ lúc sơ khai cho đếnhiện nay
Giai đoạn 1: Giai đoạn này là thời kỳ sơ khai của máy tính Để xử lý một tínhiệu, lệnh sẽ được truyền từ một Console Terminal đến Mainframe Có thể xemConsole Terminal là "client" và Mainframe lúc này đóng vai trò như là
Trang 15"server" Mainframe có nhiệm vụ xử lý tín hiệu được truyền vào Mô hình nàyđược gọi là Điện toán Mainframe (Mainframe Computing).
Hình 2.3 – Các máy tính sơ khai sử dụng mô hình Điện toán Mainframe.
Giai đoạn 2: Chỉ một PC cũng đã đủ sức mạnh để đáp ứng nhu cầu tính toáncủa người dùng
Giai đoạn 3: PC, Laptop và các Server được kết nối vào mạng cục bộ để chia sẻtài nguyên và nâng cao hiệu năng Giai đoạn này là nền tảng tạo ra mạngInternet
Giai đoạn 4: Mạng cục bộ này kết nối vào mạng cục bộ khác tạo thành mộtmạng toàn cầu như Internet ngày nay để sử dụng các ứng dụng và tài nguyên từxa
Giai đoạn 5: Điện toán lưới (Grid Computing) nâng cao hiệu năng tính toán vàlưu trữ dữ liệu chung thông qua một hệ thống tính toán phân tán
Giai đoạn 6: Điện toán đám mây cung cấp các tài nguyên dùng chung trênInternet một cách linh hoạt
So sánh sáu mô hình điện toán trên, ta có thể nhận thấy rằng điện toán đám mây là sựtrở lại của mô hình điện toán Mainframe ban đầu Tuy nhiên, hai mô hình này cũng có
Trang 16những khác biệt căn bản Mô hình Mainframe chỉ cung cấp năng lực tính toán hạnchế, trong khi điện toán đám mây cung cấp năng lực tính toán không giới hạn Thêmnữa, trong mô hình tính toán Mainframe, các Console Terminal được coi là thiết bịgiao diện người dùng, trong khi đó với mô hình điện toán đám mây, PC có thể tự xử lýcục bộ một phần trước khi gửi các yêu cầu đến "Cloud" để tiến hành xử lý trọn vẹn.
2.2 Các tầng của mô hình điện toán đám mây
Hình 2.4 – Các tầng của mô hình điện toán đám mây.
Điện toán đám mây có thể coi như là một tập hợp dịch vụ, tập hợp này có thể đượctrình bày như một kiến trúc phân tầng theo hình 2.4 Các dịch vụ điện toán đám mâyđược cung cấp thường bao gồm:
Software as a Service (SaaS):
SaaS cho phép người dùng chạy các ứng dụng từ xa của đám mây Đây lànhững ứng dụng chạy trong một đám mây và được cung cấp theo yêu cầu Cómột số dịch vụ được cung cấp miễn phí Các ứng dụng được cung cấp qua môhình SaaS giúp cho người tiêu dùng sử dụng nhanh chóng tiện lợi, không cầncài đặt và bảo trì phần mềm Yahoo Mail, Gmail là một điển hình
Infrastructure as a Service (IaaS):
Cung cấp tài nguyên dùng để tính toán xử lý bao gồm: các thiết bị mạng, cácđĩa lưu trữ và các máy chủ ảo hóa được cung cấp thành dịch vụ cho người tiêudùng Ví dụ về các dịch vụ cơ sở hạ tầng bao gồm IBM Bluehouse, VMware,Amazon EC2, Microsoft Azure Platform, Sun ParaScale Cloud Storage
Platform as a Service (PaaS):
Trang 17Ngoài các dịch vụ cung cấp tương tự IaaS, PaaS còn có các hệ điều hành vàdịch vụ cần thiết để chạy một ứng dụng cụ thể Các dịch vụ PaaS phổ biến:Amazon Web Services, Boomi, và Google App Engine
Data Storage as a Service (dSaaS):
Cung cấp không gian lưu trữ bao gồm cả băng thông sử dụng cho khách hàng
2.3 Các loại dịch vụ đám mây
Theo Chappel (tác giả bài viết A Short Introduction to Cloud Platforms: An
Enterprise-Oriented View, năm 2008) thì có ba kiểu dịch vụ đám mây.
Hình 2.5 – Các kiểu dịch vụ đám mây.
Hình 2.5a thể hiện dịch vụ đám mây SaaS Theo đó toàn bộ ứng dụng chạy trênđám mây Client chỉ cần dùng một trình duyệt để truy cập vào ứng dụng Ví dụđiển hình của SaaS là Salesforce.com
Hình 2.5b minh họa một kiểu khác của dịch vụ đám mây Ứng dụng sẽ chạytrên client, tuy nhiên nó truy nhập được vào các chức năng và tiện ích đượccung cấp trên đám mây Một ví dụ điển hình của kiểu dịch vụ đám mây nàytrên desktop là Apple's iTunes
Trang 18Ứng dụng trên desktop dùng để chơi nhạc, trong khi dịch vụ đám mây được sửdụng để người dùng mua nội dung audio và video.
Hình 2.5c thể hiện một cloud platform để tạo ra các ứng dụng Chúng đượcdành cho các developers Họ sẽ dựa vào cloud platform để tạo ra ứng dụngSaaS
2.4 Các kiểu mô hình điện toán đám mây
Có 3 kiểu mô hình điện toán đám mây: Public cloud, private cloud và hybrid cloud
Hình 2.6 – Mối liên hệ giữa các kiểu mô hình điện toán đám mây.
Public cloud (hoặc external cloud): Tài nguyên sử dụng sẽ được cung cấp linhhoạt trên Internet thông qua các ứng dụng Web hoặc Web Services Các ứngdụng Web và Web Services này được vận hành và cung cấp bởi một hãng thứ
ba tùy theo nhu cầu của từng khách hàng
Private cloud (hoặc internal cloud): Có liên kết với các hệ thống xử lý đặt trongmạng nội bộ Private cloud có tính bảo mật cao hơn khi chỉ được xây dựng đểdùng riêng cho một client được đăng ký trước với nhà cung cấp Các luồng dữliệu đi qua private cloud sẽ được kiểm soát chặt chẽ nhằm bảo đảm an ninh và
Trang 19chất lượng dịch vụ Private cloud được xây dựng và quản lý bởi một công tythuộc sở hữu của một tổ chức IT hoặc một nhà cung cấp dịch vụ đám mây.
Hybrid cloud: Là sự kết hợp của nhiều mô hình loại public cloud và privatecloud có nhiệm vụ phân bổ các ứng dụng giữa 2 loại mô hình đó
2.5 Giới thiệu các công nghệ nền tảng cho sự ra đời của điện toán đám mây 2.5.1 Công nghệ ảo hóa (virtualization)
Đây là tính năng quan trọng của điện toán đám mây Việc áp dụng công nghệ ảo hóagiúp cho khả năng phân bổ và chia sẻ tài nguyên các máy chủ được tốt hơn nhằm phục
vụ nhu cầu đa dạng của khách hàng
Hình 2.7 – Sử dụng công nghệ ảo hóa trong mô hình điện toán đám mây.
Hình 2.7 cho thấy rằng các ứng dụng được hiểu là đang chạy trên server của chính nótùy vào nhu cầu đăng ký sử dụng ban đầu Nhưng thực chất chỉ có 2 server thật sự
hoạt động trong mô hình đám mây Ta thấy Server A với cơ chế máy ảo đã tạo ra 2
server với 2 hệ điều hành khác nhau dành riêng cho 2 ứng dụng Chính cơ chế ảo hóa
đã giúp điện toán đám mây được linh hoạt, mềm dẻo hơn
Trang 20Các kỹ thuật máy ảo thường dùng trong công nghệ ảo hóa: Vmware và Xen, VirtualNetworks hay còn gọi là Virtual Private Network (VPN) Máy ảo cung cấp cơ sở hạtầng IT ảo hóa theo nhu cầu, còn Virtual Networks hỗ trợ người dùng một môi trườngmạng tùy biến để truy cập vào các tài nguyên trong đám mây.
2.5.2 Web Service và kiến trúc SOA (Service-Oriented Architecture)
Web Service và SOA không phải là ý tưởng mới, tuy nhiên chúng là cơ sở cho điệntoán đám mây Các dịch vụ đám mây được thiết kế điển hình như Web Service, tuântheo các chuẩn WSDL, SOAP, UDDI Một SOA tổ chức và quản lý các Web servicetrong đám mây Trong khi đó bản thân SOA cũng bao gồm một tập hợp các dịch vụđám mây, chúng có thể được phân bố nhiều nơi ở nhiều nền tảng khác nhau
2.5.3 Service Flow và Workflows
Service Flow và Workflow là ý tưởng về sự tích hợp các hoạt động trên nền dịch vụ
sử dụng trên đám mây Workflows đã trở thành nghiên cứu quan trọng của cơ sở dữliệu và hệ thống thông tin
Trang 212.5.4 Web 2.0 và Mashup
Hình 2.8 – Kiến trúc đám mây sử dụng nhiều thành phần khác nhau.
Hình 2.8 mô tả kiến trúc đám mây có sử dụng công nghệ Web 2.0 và Mashup Theo
Hutchinson và Ward (tác giả bài viết Navigating the Next-Generation Application
Architecture, năm 2009) thì đây là hai công nghệ rất hữu ích đối với điện toán đám
2.6 Bảo mật trong điện toán đám mây
Có một vấn đề đặt ra là mô hình điện toán đám mây sử dụng các máy ảo chạy trên cácmáy chủ vật lý Nếu có sự tấn công vào các máy ảo có thể dẫn đến nguy cơ tạo điềukiện xâm nhập và tấn công vào các máy chủ vật lý Khi đó các máy ảo khác cùngdùng chung tài nguyên của các máy chủ vật lý này sẽ bị ảnh hưởng Các máy chủ
Trang 22trong cùng hệ thống điện toán đám mây sử dụng các hệ điều hành và các ứng dụngWeb như nhau Do đó một kẻ tấn công có thể khai thác từ xa các điểm yếu trong hệthống và ứng dụng đó.
Các nhà cung cấp dịch vụ điện toán đám mây cũng sẽ sử dụng các biện pháp an ninhtruyền thống Tức là sẽ sử dụng tường lửa, hệ thống phòng ngừa và phát hiện xâmnhập, giám sát tích hợp và thanh tra truy nhập Tuy nhiên các biện pháp này sẽ đượctriển khai ngay trên máy ảo
2.7 Các lợi ích và thách thức của điện toán đám mây 2.7.1 Lợi ích
Tính sẵn sàng cao và đáp ứng nhiều nhu cầu khác nhau của khách hàng: Điện
toán đám mây cung cấp tài nguyên và dịch vụ cho người dùng tùy theo nhu cầucủa họ Tài nguyên luôn ở trạng thái sẵn sàng, cần đến đâu đáp ứng đến đó
Giao diện hướng người dùng: Giao diện đám mây được thiết kế để truy cập
thông qua các trình duyệt Vì giao diện thiết kế theo hướng người dùng nêntính thân thiện và dễ sử dụng cao
Đảm bảo chất lượng dịch vụ: Dịch vụ đám mây được cung cấp sẽ được đảm
bảo về hiệu năng phần cứng/CPU, băng thông và công suất bộ nhớ
Chi phí thấp: Người dùng không cần phải đầu tư lớn về ban đầu cho các chi phí
phần cứng, bảo trì, nâng cấp,… mà chỉ cần trả cho dịch vụ và công suất mà họthuê theo đúng nhu cầu sử dụng
Độc lập với các thiết bị và vị trí: Người dùng có thể truy cập vào ứng dụng
đám mây bằng nhiều thiết bị và ở bất kỳ nơi nào thông qua Internet
Hỗ trợ đa dạng khách hàng: cho phép chia sẻ tài nguyên và chi phí giữa một
phạm vi lớn người dùng nhằm: Tập trung cơ sở hạ tầng tại một vùng với chiphí thấp; khả năng chịu tải cao; cải thiện việc sử dụng và nâng cao hiệu suấtcho hệ thống
Trang 232.7.2 Thách thức
Hiệu năng: Vì hầu hết các ứng dụng đám mây đều chạy trên nền Web thông
qua Internet nên những người dùng ở khoảng cách xa so với nhà cung cấp dịch
vụ đám mây có thể bị trễ một khoảng thời gian nhất định khi sử dụng dịch vụ
An ninh và tính riêng tư: Đây là điều mà các doanh nghiệp thật sự quan tâm và
vẫn đang cân nhắc Khách hàng lo lắng liệu các thông tin cá nhân của mình có
bị xâm phạm hay không? Và các điểm yếu của dịch vụ đám mây dẫn đến tìnhtrạng bị tấn công, gây thất lạc thông tin
Kiểm soát: Một số khách hàng băn khoăn về việc nhà cung cấp điện toán đám
mây kiểm soát hoàn toàn các platforms Do đó khi muốn thay đổi điều gì,khách hàng phải tiến hành thêm một bước là thông qua nhà cung cấp
Chi phí băng thông: Với điện toán đám mây, các công ty có thể tiết kiệm tiền
bạc mua sắm phần cứng và phần mềm Tuy nhiên, có thể họ sẽ phải trả chi phícao cho băng thông Chi phí này có thể thay đổi tùy theo ứng dụng đám mây
mà công ty sử dụng Nếu ứng dụng cần đến dữ liệu lớn thì chi phí băng thông
sẽ tăng và ngược lại
Độ tin cậy: Điện toán đám mây vẫn không thể cung cấp dịch vụ có độ tin cậy
suốt ngày đêm Vẫn có trường hợp dịch vụ đám mây có sự cố
Vấn đề tuân thủ: Những nhà cung cấp dịch vụ điện toán đám mây có thể
chuyển dữ liệu tới quốc gia có giá rẻ hơn, nhưng luật lỏng lẻo hơn Vậy ai sẽ làngười chịu trách nhiệm pháp lý khi xảy ra các vấn đề về bảo mật?
Trang 242.8 Tương lai của điện toán đám mây
Hình 2.9 – Kiến trúc đám mây lai phân tán.
Điện toán đám mây vẫn còn trong giai đoạn hoàn thiện Trong tương lai gần, điện toánđám mây có thể xuất hiện dưới nhiều hình thức
Một gợi ý được đưa ra là doanh nghiệp có thể sử dụng đám mây lai phân tán như
minh họa 2.9 Theo kịch bản này, doanh nghiệp sẽ sử dụng các lõi ngay trên đám mâycủa họ, trong khi đó một số ứng dụng khác sẽ được phân tán trên một vài đám mâykhác và chúng sẽ được tối ưu hóa để hoạt động
Trang 25Chương 3: TÌM HIỂU WINDOWS AZURE PLATFORM 3.1 Tổng quan Windows Azure Platform
Windows Azure Platform là nền tảng để phát triển và triển khai các dịch vụ điện toánđám mây Đối tượng hướng đến bao gồm: Người sử dụng dịch vụ đám mây, các lậptrình viên cá nhân hay tổ chức phát triển phần mềm Mỗi thành phần trong WindowsAzure Platform được thiết kế dành riêng, hỗ trợ đầy đủ tính năng cho một dịch vụ đámmây
Có 3 thành phần cốt lõi trong Windows Azure Platform: Hệ điều hành WindowsAzure, SQL Azure và AppFabric
Hình 3.1 – Windows Azure Platform.
Windows Azure: Là một hệ điều hành cung cấp môi trường nền tảng Windows
để chạy ứng dụng và lưu trữ dữ liệu trên máy chủ trong trung tâm dữ liệu củaMicrosoft
SQL Azure: Là dịch vụ cơ sở dữ liệu quan hệ đám mây, xây dựng trên lõi công
nghệ SQL Server
AppFabric: Cung cấp các dịch vụ đám mây để kết nối các ứng dụng chạy trên
đám mây hoặc on-premise
Windows Azure SQL Azure AppFabric
Windows Azure Platform
Trang 263.2 Hệ điều hành Windows Azure
Windows Azure là một hệ điều hành Nó cung cấp môi trường nền tảng để chạy cácdịch vụ đám mây trên Windows Azure Platform Bên cạnh đó, Windows Azure còncung cấp cho các nhà phát triển một hệ thống giả lập để xây dựng và kiểm thử dịch vụtrước khi triển khai nó trên Windows Azure
Khách hàng dùng Windows Azure để chạy ứng dụng và lưu trữ dữ liệu trên các máy ởtrung tâm dữ liệu Microsoft Tất cả đều có thể được truy xuất qua Internet Microsoftcung cấp Windows Azure cho cả doanh nghiệp và người dùng cá nhân
Hình 3.2 – Đối tượng phục vụ của Windows Azure.
Windows Azure có 3 dịch vụ cốt lõi: Compute, Storage và Management
Hình 3.3 – Các dịch vụ cốt lõi của Windows Azure.
Compute Storage Management
Windows Azure
Trang 27 Compute: Là dịch vụ tính toán có khả năng mở rộng tùy theo nhu cầu ngườidùng.
Storage: Là dịch vụ lưu trữ dữ liệu trong Windows Azure Có ba loại Storagelà: tables, blobs và queues Và tất cả đều hỗ trợ REST REST (RepresentationState Transfer) là một giao thức được dùng trong công nghệ Web 2.0 Cónhiệm vụ truyền các thông tin, trạng thái hoạt động từ máy khách đến máy chủ.Windows Azure tables không giống như các tables trong cơ sở dữ liệu quan hệcủa SQL Server mà nó cung cấp khả năng lưu trữ có cấu trúc thông qua môhình lưu trữ độc lập Nó được thiết kế để lưu trữ lượng dữ liệu lớn đến hàngTerabytes
Windows Azure blobs được dùng để lưu trữ dữ liệu dạng nhị phân của Videos,hình ảnh, âm thanh,… Khả năng lưu trữ của blob lên đến hàng gigabyte
Windows Azure queues cung cấp khả năng đồng bộ hóa giữa các dịch vụ củaWindows Azure và các nhà cung cấp thứ ba
Management: Là dịch vụ hỗ trợ cho các nền tảng tự động trên Windows Azure
Nó có khả năng vận hành máy ảo và triển khai ứng dụng cloud lên đó Fabric lànền tảng của dịch vụ này
Trang 283.3 SQL Azure 3.3.1 Giới thiệu
SQL Azure là cơ sở dữ liệu quan hệ trên Windows Azure Platform, được xây dựngdựa trên cơ sở SQL Server Cũng giống như cách làm truyền thống, để truy vấn vàoSQL Azure, các lập trình viên có thể áp dụng cách truy vấn từng bảng như đã từnglàm với SQL Server thông qua các client hỗ trợ như ADO.NET, LINQ, ODBC,JDBC,…
Hình 3.4 – Các thành phần chính của SQL Azure.
Relational Data Storage: Đây là thành phần cốt lõi của SQL Azure, kế thừa cácđặc tính của SQL Server như tables, indexes, views, stored procedures vàtriggers
DataSync: Cung cấp khả năng đồng bộ hóa dữ liệu trên các hệ thống lớn, sửdụng Microsoft Sync Framework
Management: Cung cấp các khả năng cấp phát tự động, tính toán đo đạc, chiphí, cân bằng tải, chuyển đổi dự phòng và bảo mật cho SQL Azure Tính năngchuyển đổi dự phòng rất quan trọng vì nó bảo toàn dữ liệu giúp công việc cóthể tiếp diễn không bị gián đoạn khi xảy ra sự cố
Data Access: Hỗ trợ nhiều cách thứ truy cập vào cơ sở dữ liệu SQL Azure nhưADO.NET, ODBC, LINQ,…
DataSync Management Data Access
SQL Azure
Relational Data Storage