Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 68 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
68
Dung lượng
1,8 MB
Nội dung
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA KHOA HỌC MÁY TÍNH Báo cáo kết thúc môn học ĐIỆN TOÁN LƯỚI VÀ ĐÁM MÂY TÌM HIỂU VỀ CLOUD COMPUTING VÀ NỀN TẢNG WINDOWS AZURE Giáo viên hướng dẫn : PGS. TS. Nguyễn Phi Khứ Sinh viên thực hiện : Lâm Hàn Vũ MSHV : CH1301119 1 TP Hồ Chí Minh, tháng 6 năm 2014 2 MỤC LỤC 3 Trang 4 LỜI CẢM ƠN Để có thể hoàn thành tốt bài báo cáo, trước tiên tôi gởi lời chân thành cảm ơn đến TS. Nguyễn Phi Khứ đã tận tình giảng dạy và giúp đỡ trong thời gian thực hiện bài báo cáo. Xin gửi lời cảm ơn đến gia đình, cảm ơn các anh chị, bạn bè, những người luôn sát cánh, động viên tôi trên bước đường học tập cũng như trong cuộc sống. Xin chân thành biết ơn sự tận tình dạy dỗ và sự giúp đỡ của tất cả quý thầy cô tại trường Đại học Công Nghệ Thông Tin, đặc biệt là các thầy cô trong khoa Khoa học Máy tính, cảm ơn các thầy cô thuộc bộ phận quản trị thiết bị đã tạo điều kiện thuận lợi về mặt tinh thần, điều kiện học tập trong quá trình học tập môn học. Tất cả các kiến thức mà nhà trường và quý thầy cô đã truyền đạt là hành trang to lớn để tôi mang theo trên con đường học tập, làm việc và nghiên cứu cũng như trong quá trình hoàn thiện nhân cách của mình. Tp. HCM, ngày 06 tháng 06 năm 2014 Học viên Lâm Hàn Vũ Lâm Hàn Vũ – CH1301119 GVHD: TS. Nguyễn Phi Khứ Trang 5 LỜI NÓI ĐẦU Trong vòng vài năm trở lại đây, điện toán đám mây – cloud computing đã và đang trở thành một trong những thuật ngữ được nhắc đến nhiều nhất trong ngành công nghệ thông tin. Điện toán đám mây được hứa hẹn là giải pháp giải quyết được nhiều vấn đề như độ sẵn sàng (availability), khả năng co giãn (scalability), chi phí (cost), điện năng tiêu thụ (power consumption)… Tuy nhiên, hiểu rõ hơn về các khái niệm của cloud computing, các đặc tính, các ưu điểm, nhược điểm cũng như các thách thức đối với công nghệ để có thể khai thác, triển khai khi cần thiết lại là một việc còn chưa được quan tâm đúng mức. Đề tài này nhằm làm rõ phần nào các khía cạnh của cloud-computing, cũng như nghiên cứu sâu hơn về một nền tảng cloud-computing cụ thể. Báo cáo sẽ cố gắng đưa ra các định nghĩa về cloud computing, các đánh giá khách quan về ưu nhược điểm cũng như tương lai của công nghệ này. Đồng thời, báo cáo cũng chọn nền tảng Windows Azure Platform để đào sâu nghiên cứu, vì đây là một nền tảng có nhiều ưu điểm, lại thân thiện với các nhà phát triển và sử dụng nhiều công cụ sẵn có. Bố cục của báo cáo này bao gồm: • Phần 1: Tổng quan về cloud computing, các khái niệm, định nghĩa, các ưu nhược điểm của các loại hình dịch vụ trong cloud computing, các nền tảng cloud computing phổ biến • Phần 2: Đi sâu về nghiên cứu về nền tảng Windows Azure Platform, bao gồm nghiên cứu về cơ sở hạ tầng – infrastructure, về cấu trúc – architect, một số use cases và API lập trình • Phần 3: Giới thiệu về môi trường lập trình cho Windows Azure Platform Lâm Hàn Vũ – CH1301119 GVHD: TS. Nguyễn Phi Khứ Trang 6 CHƯƠNG 1 TỔNG QUAN VỀ CLOUD COMPUTING 1.1. Định nghĩa về cloud computing - điện toán đám mây Cloud-computing hiện vẫn là mẫu hình đang tiến hoán, những định nghĩa về mô hình này vẫn chưa thống nhất và các khái niệm hiện nay chỉ là tạm thời. Những định nghĩa được nêu trong phần 1 của báo cáo này được lấy dựa trên các tài liệu được sử dụng khá rộng rãi như wikipedia, hay định nghĩa của NIST - National Institute of Standards and Technology. Trên thực tế, có thể có nhiều cách định nghĩa khác. Theo NIST: “Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.” Tạm dịch: Điện toán đám mây là một mô hình cho phép truy cập mạng dễ dàng, theo yêu cầu, đến một tài nguyên điện toán chia sẻ (như network, máy chủ, không gian lưu trữ, ứng dụng và dịch vụ), có thể nhanh chóng cung cấp và thu hồi với chi phí quản lý và tương tác với nhà cung cấp dịch vụ tối thiểu. Source: http://csrc.nist.gov/groups/SNS/cloud-computing/index.html Định nghĩa trên đã nêu ra những đặc tính cơ bản nhất của điện toán đám mây, sẽ được trình bày rõ hơn trong phần dưới đây. 1.2. Các đặc tính của điện toán đám mây 1.2.1. 5 đặc tính cơ bản (Essential characteristics) 5 đặc tính cơ b ản ủa điện toán đám mây được NIST đưa ra như sau: • On-demand self-service – Tự phục vụ theo nhu cầu Lâm Hàn Vũ – CH1301119 GVHD: TS. Nguyễn Phi Khứ Trang 7 Khách hàng có thể tự tăng cường năng lực tính toán, ví dụ như thời gian server hay không gian lưu trữ trên network, một cách hoàn toàn tự động dựa theo nhu cầu mà không cần phải thương lượng với nhà cung cấp dịch vụ. Đặc tính này thường được biết đến với tên gọi Pay-as-you-go • Broad network access- Truy cập thông qua mạng băng thông rộng. Truy cập mạng băng rộng. Khả năng tính toán được cung cấp thông qua network và được truy cập thông qua một cơ cấu chuẩn, mà có thể dung bằng nhiều nền tảng client khác nhau (như mobile phones, laptops, và PDA) • Resource pooling – Quay vòng tài nguyên. Tài nguyên điện toán của nhà cung cấp được quay vòng để phục vụ cho nhiều khách hàng sử dụng một mô hình multi-tenant, với các tài nguyên thực và ảo hóa khác nhau được cấp phát và tái cấp phát một cách động (dynamically) tùy thuộc vào yêu cầu của khác hàng. Không phụ thuộc vị trí … khách hàng về tổng quát không có quyền hay thậm chí là không có hiểu biết về vị trí chính xác của các tài nguyên được cung cấp nhưng có thể xác định vị trí của các tài nguyên cấp cao hơn (ví dụ như nước, bang, datacenter). Các tài nguyên bao gồm không gian lưu trữ, tính toán, bộ nhớ, băng thông mạng và các máy ảo. • Rapid elasticity - Co giãn nhanh. Khả năng tính toán có thể được cung cấp một cách nhanh chóng và co giãn, trong một số trường hơp là tự động, để có thể giãn ra hoặc co vào phụ thuộc vào nhu cầu người dùng. Đối với khách hàng, tài nguyên hiện có được coi như như vô hạn và có thể mua với bất kì số lượng nào vào bất kì thời gian nào. • Measured Service. Các hệ thống cloud tự động điều khiển và tối ưu hóa tài nguyên sử dụng bằng cách trừu tượng hóa tương ứng với kiểu dịch vụ (lưu trữ, khả năng xử lý, băng thông, và số người dùng active). Tài nguyên sử dụng có thể được giám sát, điều Lâm Hàn Vũ – CH1301119 GVHD: TS. Nguyễn Phi Khứ Trang 8 khiển và báo cáo một cách trong suốt cho cả nhà cung cấp và khách hàng của dịch vụ đã dùng. Một số tài liệu đưa thêm đặc tính không phụ thuộc vào địa điểm – Location Independence. Điều này có thể hiểu như có thể sử dụng các dịch vụ của cloud computing từ mọi nơi. Tuy nhiên, đặc tính này có thể coi như đồng nhất với đặc tính Broadband network access nên không được xét đến trong báo cáo này. 1.2.2. 3 mẫu hình dịch vụ (3 service models) Hình 1.1: Các kiểu hình dịch vụ đối với Cloud computing On-Premises: Ứng dụng chạy hoàn toàn trên hệ thống của doanh nghiệp. Đây là kiểu dịch vụ phổ biến hiện nay. Doanh nghiệp quản lý hoàn toàn về hạ tầng mạng, hệ thống lưu trữ, máy chủ, ảo hoá, hệ điều hành, phần mềm tầng giữa, các lớp runtime, dữ liệu và ứng dụng. Trong phần còn lại của báo cáo này, các ứng dụng chạy trên hệ thống doanh nghiệp như thế này sẽ được gọi chung là các ứng dụng on-premises. Lâm Hàn Vũ – CH1301119 GVHD: TS. Nguyễn Phi Khứ Trang 9 3 mẫu hình dịch vụ cơ bản mà cloud computing đang được triển khai là Infrastucture as a Service (IssA), Platform as a Service (PaaS) và Software as a Service (SaaS). • Cung cấp dịch vụ cơ sở hạ tầng (Infrastructure as as Service): Khách hàng chỉ quản lý từ phần mềm tầng giữa – middeware trở lên, còn lại các tầng từ hệ điều hành trở xuống do nhà cung cấp dịch vụ quản lý. Các dịch vụ dạng IaaS hiện có: • Computers (Amazon EC2, Rackspace, GoGrid ) • Storage (Amazon S3, MobileMe, Google Drive ) • Elasticity (Rightscale…) • Bandwidth (Limelight, Amazon CloudFront…) Lợi ích của IaaS Thách thức của IaaS • Hệ thống được quản lý bởi SLA giảm bớt được các lỗ thủng • Thu nhập cao hơn trên tài nguyên • Giảm chi phí do: o Ít phần cứng hơn o Giảm bớt chi phí không gian o Tăng tính tự động hoá và giảm bớt sự can thiệp của các nhà quản trị o Giảm bớt tiêu thụ năng lượng • Khả năng đạt được tiêu thụ theo yêu cầu – consumption on demand. • Tính di động - portability của các ứng dụng • Sự hoàn thiện của các công cụ quản lý hệ thống • Tích hợp qua giới hạn của Cloud • Các vấn đề về bảo mật bên trong Bảng 1.1: Lợi ích và thách thức đối với IaaS • Cung cấp dịch vụ cơ sở hạ tầng (Platform as a Service): Khách hàng chỉ quản lý ứng dụng và dữ liệu của mình, các tầng phía dưới, từ tầng runtime trở xuống do nhà cung cấp dịch vụ quản lý. Các dịch vụ dạng PaaS hiện có: Salesforce.com, Apprenda SaaSGrid, Google App Engine, Microsoft Azure, Appistry, Talis Platform Lâm Hàn Vũ – CH1301119 GVHD: TS. Nguyễn Phi Khứ Trang 10 Lợi ích của PaaS Thách thức của PaaS - Pay-as-you-go đối với môi trường phát triển, test và kinh doanh - Cho phép các nhà phát triển tập trung vào mã ứng dụng - Nền tảng toàn cầu - Loại bỏ các phụ thuộc phần cứng và các vấn đề về dung lượng (Capacity concerns) - Tính co giãn sẵn có - Mô hình triển khai đơn giản - Điều hành - Bị trói với nhà cung cấp - Mở rộng mẫu hình bảo mật với nhà cung cấp - Khả năng kết nối - Sự tin cậy đối với SLA của bên thứ 3. Bảng 1.2: Lợi ích và thách thức đối với PaaS • Cung cấp dịch vụ phần mềm (SaaS): Khách hàng sử dụng phần mềm của nhà cung cấp. Các dịch vụ dạng SaaS hiện có: Google Apps, Zoho, Acrobat.com, iWork.com, Kashflow, FreeAgent, WordPress.com, MobileMe, Salesforce.com Lợi ích của SaaS Thách thức của SaaS - Tốc độ - Giảm chi phí ban đầu, có khả năng giảm chi phí toàn bộ (life- time cost - Chuyển một phần/tất cả trách nhiệm hỗ trợ - Loại bỏ các nguy cơ về giấy phép - Loại bỏ nguy cơ về tương thích phiên bản - Giảm ảnh hưởng của phần cứng - Yêu cầu mô hình bảo mật với nhà cung cấp (sự riêng tư và quyển sở hữu dữ liệu) - Điều hành và quản lý chi phí - Đồng bộ giữa client và vendor migration - Hỗ trợ người dùng cuối tích hợp - Khả năng co giãn Bảng 1.3 Lợi ích và thách thức đối với SaaS 1.2.3. 4 mẫu đóng gói (4 deployment models) • Private cloud: Kiến trúc đám mây được điều khiển bởi riêng một tổ chức. Nó có thể được quản lý bởi tổ chức hoặc một bên thứ ba và có thể tồn tại • Community cloud: Kiến trúc đám mây được chia sẻ giữa một số tổ chức và hỗ trợ một cộng đồng cụ thể có cùng các mối quan tâm (ví dụ: nhiệm vụ, yêu Lâm Hàn Vũ – CH1301119 GVHD: TS. Nguyễn Phi Khứ [...]... trúc Windows Azure Platform Windows Azure Platform bao gồm 3 thành phần chính: Windows Azure, SQL Azure và App Fabric 2.1.1 Hệ điều hành Windows Azure Windows Azure là hệ điều hành nằm bên dưới, chịu trách nhiệm chạy các ứng dụng cloud trên Windows Azure platform Microsoft đặt tên Windows Azure là hệ điều hành đám mây vì nó cung cấp tất cả các tính năng cần thiết để chạy các dịch vụ nền cloud Nó cung... CHƯƠNG 2 WINDOWS AZURE PLATFORM Windows Azue Platform là nền tảng phục vụ cho điện toán đám mây của Microsoft Đây là nền tảng đầu cuối (end-to-end) cho việc phát triển và triển khai các dịch vụ đám mây Mỗi thành phần của Windows Azure Platform được thiết kế phục vụ một chức năng cụ thể đối với các dịch vụ cloud Trong phần này sẽ trình bày về kiến trúc mức cao của nền tảng Windows Azure 2.1 Kiến trúc Windows. .. Microsoft Windows Azure Website: http://windowsazure.com : Windows Azure là giải pháp cloud computing được đầu tư một cách nghiêm túc nhằm thương mại hóa Microsoft đã xây dựng 16 data centers trên khắp thế giới và vẫn đang tiếp tục xây dựng thêm Điều này đảm bảo cho tương lai của Windows Azure, ít nhất là trong thời gian tới Windows Azure được xây dựng trên những nền tảng rất quen thuộc của Microsoft: Windows. .. chủ quyền, cho phép dữ liệu và tính di động của ứng dụng 1.2.4 Cloud computing và grid computing: Cloud computing có thể coi là một xây dựng – implementation – đặc biệt của kiến trúc client-server Chính vì vậy, nó thường được đem so sánh với distributed computing và cụ thể hơn là grid computing Dưới đây sẽ là so sánh chi tiết về 2 kiến trúc này: Cloud computing và grid computing đều “co giãn” Khả năng... kiểm soát dữ liệu (cả về phần cứng và phần mềm – vật lý và logic) và áp dụng các chính sách phù hợp Trong đó, bảo mật vẫn là mối quan tâm lớn nhất, theo khảo sát của InformationWeek: Hình 1.2 Mối quan tâm đối với cloud computing 1.4 Các nền tảng cloud computing phổ biến Như đã nói ở trên, Cloud computing đã và đang trở thành một xu hướng nổi bật trong ngành công nghệ phần mềm và nhận được sự hậu thuẫn... quản lý và các bộ cân bằng tải (load-balancer) Windows Azure cũng cung cấp cho các nhà phát triển một fabric cục bộ cho việc xây dựng và kiểm tra các service trước khi chúng được triển khai tới Windows Azure trên cloud 3 dịch vụ chủ chốt của Windows Azure bao gồm: • Compute: Dịch vụ tính toán cung cấp khả năng hosting các dịch vụ trên nền tảng Windows Server 2008 64-bit với hỗ trợ Hyper-V Nền tảng này... Bảng 1.4 So sánh giữa Cloud computing và grid computing 1.3 Tại sao lại chọn cloud computing Trước hết, phải nói rằng cloud- computing hoàn toàn không phải phải là một kiến trúc phần mềm mới Có thể thấy qua việc minh họa các dạng dịch vụ cloud computing, như các dịch vụ máy chủ riêng ảo, hosting, webmail… đều đã được nhắc đến từ lâu, trước khi thuật ngữ cloud- computing xuất hiện Trong vài năm trở lại đây,... engine) của nền tảng Windows Azure cung cấp dịch vụ điều khiển truy cập (access control service) và service bus AppFabric là một kiến trúc hướng dịch vụ (service-oriented architecture), giúp tạo các điều kiển truy cập liên hợp và phân phối message giữa các ứng dụng cloud và on-premises Có thể coi AppFabric là xương sống tích hợp của nền tảng Windows Azure, vì nó cung cấp khả năng kết nối và truyền tải... compute, lưu trữ storage và quản lý - management Dịch vụ tính toán cung cấp hosting cho các ứng dụng web trên nền IIS và các tiến trình NET chạy nền Các ứng dụng web được gọi là web role, và các tiến trình chạy nền được gọi là Worker role Một dịch vụ cloud trên Windows Azure bao gồm một Web role và/ hoặc một Woker role cùng với các định nghĩa của dịch vụ Dịch vụ lưu trữ trên Windows Azure hỗ trợ 3 kiểu dịch... Amazon, cloud computing đã có những bước tiến mạnh mẽ Các nhà phát triển có thể nhanh chóng xây dựng ứng dụng đám mây trên nền tảng mà công ty cung cấp, với những cấu trúc và API được thiết kế dành riêng cho cloud- computing Một công cụ quản lý hợp nhất, cho phép khách hàng sử dụng cloud- computing có thể tuỳ biến dịch vụ cho phù hợp với nhu cầu của mình một cách đơn giản và dễ dàng Những điều này khiến cloud- computing . của nền tảng Windows Azure. 2.1. Kiến trúc Windows Azure Platform Windows Azure Platform bao gồm 3 thành phần chính: Windows Azure, SQL Azure và App Fabric. 2.1.1. Hệ điều hành Windows Azure Windows. quan về cloud computing, các khái niệm, định nghĩa, các ưu nhược điểm của các loại hình dịch vụ trong cloud computing, các nền tảng cloud computing phổ biến • Phần 2: Đi sâu về nghiên cứu về nền. TIN KHOA KHOA HỌC MÁY TÍNH Báo cáo kết thúc môn học ĐIỆN TOÁN LƯỚI VÀ ĐÁM MÂY TÌM HIỂU VỀ CLOUD COMPUTING VÀ NỀN TẢNG WINDOWS AZURE Giáo viên hướng dẫn : PGS. TS. Nguyễn Phi Khứ Sinh viên thực