1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm hiểu tổng quan về điện toán đám mây và giới thiệu một số công nghệ điện toán đám mây của các hãng lớn

47 1K 5

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 47
Dung lượng 4,65 MB

Nội dung

Khái niệm điện toán đám mây ĐTĐM Theo Wikipedia thì ĐTĐM là môi trường tính toán dựa trên internet mà ở đó tất cả phần mềm, dữ liệu, tài nguyên được cung cấp cho máy tính và các thiết bị

Trang 1

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG

Trang 2

TP HCM, NĂM 2013

Mục Lụ

CHƯƠNG 1 : Tổng quan về công nghệ điện toán đám mây (Cloud Computing) 1

1.1 Khái niệm điện toán đám mây (ĐTĐM) 1

1.2 Các tính chất cơ bản của ĐTĐM 2

1.2.1 Cơ sở hạ tầng linh động (Dynamic computing infrastructure) 2

1.2.2 Môi trường điện toán hướng dịch vụ (IT service-centric approach) 3

1.2.3 Mô hình sử dụng tự phục vụ (Self-service based usage model) 4

1.2.4 Nền tảng tự quản lý (Self-managed platform) 5

1.2.5 Trả phí dựa trên mức độ sử dụng (Consumption-based billing) 6

1.3 Mô hình các lớp dịch vụ 7

1.3.1 Dịch vụ hạ tầng IaaS (Infrastructure as a Service - IaaS) 7

1.3.2 Dịch vụ nền tảng PaaS (Platform as a Service - PaaS) 8

1.3.3 Dịch vụ phần mềm SaaS (Software as a Service - SaaS) 8

1.4 Các mô hình triển khai 8

1.4.1 Đám mây “công cộng” (Public Cloud) 8

1.4.2 Đám mây “doanh nghiệp” (Private Cloud) 9

1.4.3 Đám mây “chung” (Community Cloud) 10

1.4.4 Đám mây “lai” (Hybrid Cloud) 11

1.5 Đánh giá mô hình ĐTĐM 12

1.5.1 Ưu điểm 12

1.5.2 Nhược điểm 12

CHƯƠNG 2 : Giới thiệu một số công nghệ ĐTĐM của các hãng lớn 14

2.1 Công nghệ Google App Engine 14

Trang 3

2.2.5 Xử lý tập hợp dữ liệu với Amazon SimpleDB 21

2.3 Công nghệ ĐTĐM của Microsoft (Windows Azure) 22

2.3.1 Giới thiệu 22

2.3.2 Windows Azure Service Platform 24

2.3.3 Các Thành Phần Của Windows Azure 29

2.3.4 Kịch bản triển khai ứng dụng trên Windows Azure 37

Tài liệu tham khảo 43

Trang 4

CHƯƠNG 1 : Tổng quan về công nghệ điện toán đám mây

(Cloud Computing)

1.1 Khái niệm điện toán đám mây (ĐTĐM)

Theo Wikipedia thì ĐTĐM là môi trường tính toán dựa trên internet mà

ở đó tất cả phần mềm, dữ liệu, tài nguyên được cung cấp cho máy tính và các thiết bị khác theo nhu cầu

Hình 1 Mọi thứ đều tập trung vào đám mây (trích từ: http://infreemation.net/cloud-computing-linear-utility-or-complex-

ecosystem/ )

Đứng ở góc nhìn khoa học kỹ thuật cũng có nhiều định nghĩa khác nhau, trong đó có hai định nghĩa của Ian Foster và Rajkumar Buyya được dùng khá phổ biến và có nhiều điểm tương đồng

Theo Ian Foster: Cloud Computing là một mô hình điện toán phân tán cótính co giãn lớn mà hướng theo co giãn về mặt kinh tế, là nơi chứa các sức

Trang 5

Hình 2 Hình ảnh Cloud Computing

Cả hai định nghĩa trên đều định nghĩa Cloud Computing là một hệ phân

bố, cung cấp các dạng tài nguyên ảo dưới dạng dịch vụ một cách linh động theonhu cầu của người dùng trên môi trường internet

Theo Viện tiêu chuẩn và công nghệ quốc gia Bộ Thương Mại Mỹ (NIST): Điện toán đám mây là một mô hình cho phép truy cập mạng thuận tiện,theo nhu cầu đến một kho tài nguyên điện toán dùng chung, có thể định cấu hình (ví dụ như mạng, máy chủ, lưu trữ, ứng dụng) có thể được cung cấp và thuhồi một cách nhanh chóng với yêu cầu tối thiểu về quản lý hoặc can thiệp của nhà cung cấp dịch vụ

1.2 Các tính chất cơ bản của ĐTĐM

1.2.1 Cơ sở hạ tầng linh động (Dynamic computing infrastructure)

Điện toán mây yêu cầu cơ sở hạ tầng tính toán phải linh động, tức là nó phải được chuẩn hóa để có thể "co dãn" được các nguồn lực điện toán Trước hết, hệ thống máy chủ của điện toán đám mây phải luôn dư thừa một lượng tài nguyên nhất định để đảm bảo tính sẵn sàng khi có yêu cầu mở rộng mà không cần thay đổi kiến trúc của tất cả các cụm máy Tiếp đến, một hạ tầng linh động thì nhất thiết phải được ảo hóa để có thể "co dãn" Ngày nay, môi trường ảo hóatạo điều kiện cho việc ảo hóa máy chủ thành nền tảng để chạy các dịch vụ (điểnhình là sản phẩm của VMWare, Microsoft hay Xen) Cơ chế ảo hóa sẽ đảm bảo việc cấp phát và thu hồi tài nguyên cho các dịch vụ diễn ra một cách tự động

Trang 6

tái sử dụng tài nguyên, đồng thời làm tăng hiệu quả của vốn đầu tư cho trang thiết bị phần cứng.

Hình 3 Sản phẩm VMware hiện đang được sử dụng như một nền tảng ảo hóa phổ

biến nhất trong lĩnh vực điện toán đám mây

Như vậy, cơ sở hạ tầng linh động là mấu chốt quan trọng trong việc hỗ trợ tính mềm dẻo của việc cấp phát và thu hồi dịch vụ theo yêu cầu của người

sử dụng một cách nhanh chóng nhất mà vẫn duy trì sự an toàn và độ tin cậy cao của hệ thống

1.2.2 Môi trường điện toán hướng dịch vụ (IT service-centric

approach)

Điều này tương phản hoàn toàn với mô hình truyền thống mà ta đã biết Trong hầu hết các trường hợp, người sử dụng thường chỉ muốn sử dụng vài dịch vụ hay ứng dụng với mục đích cố định và có thời hạn; họ không muốn bị

Trang 7

Hình 4 Người dùng có thể lựa chọn dịch vụ tùy theo nhu cầu (chẳng hạn sử dụng phần mềm văn phòng trên Microsoft Office365 với giá vài dollars gồm những tính năng cơ bản thay vì mua cả bộ phần mềm Office với giá hàng trăm dollars gồm hàng

trăm tính năng không dùng đến bao giờ)

Như vậy, cách tiếp cận hướng dịch vụ của điện toán đám mây sẽ giúp cho người sử dụng thực hiện công việc được nhanh hơn, dễ dàng hơn và đồng thời cũng tiết kiệm được đáng kể chi phí

1.2.3 Mô hình sử dụng tự phục vụ (Self-service based usage model)

Việc tương tác với các "đám mây" vẫn đòi hỏi người sử dụng tự phục vụ

ở mức độ nhất định Những công việc mà người dùng tự phục vụ điển hình là: tải dữ liệu lên máy chủ (upload), cá nhân hóa giao diện, cài đặt, cấu hình, tinh chỉnh hệ thống theo nhu cầu; v.v Những dịch vụ hỗ trợ người dùng tự phục vụthường có giao diện dễ sử dụng, có tính trực quan để họ có thể quản lý hiệu quảcủa công việc và chất lượng của nhà cung cấp dịch vụ Lợi ích của việc tự phục

vụ này đều đến từ hai phía Từ góc độ người dùng thì điều đó đem lại cho họ cảm giác về sự "sở hữu", “độc lập” và “tự do” trong quá trình sử dụng dịch vụ Còn đối với nhà cung cấp dịch vụ, càng nhiều dịch vụ tự phục vụ có thể được chuyển sang phía người sử dụng thì lúc đó càng cần ít công việc mà họ phải quản

Trang 8

1.2.4 Nền tảng tự quản lý (Self-managed platform)

Để nhà cung cấp dịch vụ điện toán đám mây làm việc một cách hiệu quả,

họ phải xây dựng một nền tảng tự quản lý cho hệ thống Những "đám mây" tự quản lý thường được điều khiển thông qua các phần mềm tự động và được trang

bị những tính năng như: tự động giải phóng tài nguyên để tái sử dụng; dự trữ và

dự phòng tài nguyên; lập kế hoạch và chính sách cho việc truy cập, sử dụng, bảo vệ tài nguyên, v.v…

Hình 5 Một chính sách bảo vệ tài nguyên của VMware thể hiện tính năng tự trị: Khi

có sự cố xảy ra tại một máy chủ, dữ liệu lập tức được chuyển sang của máy chủ khác

để đảm bảo việc sử dụng của khách hàng không bị gián đoạn.

Tất cả các tính năng này vừa duy trì được sự mềm dẻo trong cung cấp dịch vụ nhưng cũng đồng thời đảm bảo được những nguyên tắc trọng yếu trong

Trang 9

thanh toán cũng dựa trên cơ sở tiêu thụ đó (có thể là: lượng băng thông, dung lượng lưu trữ, số lượng tính năng, công suất tính toán hoặc thời gian vận hành, v.v… ) Các ứng dụng nền tảng của điện toán mây phải cung cấp các cơ chế để ghi lại thông tin về lượng sử dụng và gửi lại báo cáo hay tích hợp với các hệ thống thanh toán của khách hàng.

Lợi ích về phía người sử dụng có thể thấy là việc tiết kiệm chi phí nhờ trả tiền theo mức độ sử dụng Còn đối với nhà cung cấp, cách tính này cho phép

họ theo dõi và tối ưu hóa được chi phí quản lý và vận hành hệ thống

Để có thể hình dung một cách đơn giản nhất về những đặc trưng này, chúng ta hãy liên tưởng mỗi "đám mây" là một máy bán bánh pizza tự động trong đó mỗibánh pizza được coi là một dịch vụ (pizza as service) Khi đó các đặc trưng của một máy bán hàng tự động sẽ được thể hiện trong hình dưới đây:

Hình 6 Các đặc trưng cơ bản của một mô hình dịch vụ bán bánh pizza tự động.

1.3 Mô hình các lớp dịch vụ

Dịch vụ ĐTĐM rất đa dạng và bao gồm tất cả các lớp dịch vụ điện toán

từ cung cấp năng lực tính toán trên dưới máy chủ hiệu suất cao hay các máy chủ

Trang 10

một ứng dụng kế toán … Các dịch vụ cũng được phân loại khá da dạng, nhưng các mô hình dịch vụ ĐTĐM phổ biến nhất có thể được phân thành 3 nhóm: Dịch vụ hạ tầng (Infrastructure as a Service - IaaS), Dịch vụ nền tảng (Platform

as a Service - PaaS) và Dịch vụ phần mềm (Software as a Service - SaaS)

Hình 7 Các tầng điện toán đám mây được nhúng trong các thành phần "là một dịch vụ"

1.3.1 Dịch vụ hạ tầng IaaS (Infrastructure as a Service - IaaS)

Dịch vụ IaaS cung cấp dịch vụ cơ bản bao gồm năng lực tính toán, không gian lưu trữ, kết nối mạng tới khách hàng Khách hàng (cá nhân hoặc tổ chức) có thể sử dụng tài nguyên hạ tầng này để đáp ứng nhu cầu tính toán hoặc cài đặt ứng dụng riêng cho người sử dụng Với dịch vụ này khách hàng làm chủ

hệ điều hành, lưu trữ và các ứng dụng do khách hàng cài đặt Khách hàng điển hình của dịch vụ IaaS có thể là mọi đối tượng cần tới một máy tính và tự cài đặtứng dụng của mình

Ví dụ điển hình về dịch vụ này là dịch vụ EC2 của Amazon

tính ảo trên dịch vụ của Amazon và lựa chọn một hệ thống điều hành (ví dụ

Trang 11

vụ PaaS cũng có thể được xây dựng riêng và cung cấp cho khách hàng thông qua một API riêng Khách hàng xây dựng ứng dụng và tương tác với hạ tầng ĐTĐM thông qua API đó Ở mức PaaS, khách hàng không quản lý nền tảng Cloud hay các tài nguyên lớp như hệ điều hành, lưu giữ ở lớp dưới Khách hàngđiển hình của dịch vụ PaaS chính là các nhà phát triển ứng dụng (ISV).

Dịch vụ App Engine của Google là một dịch vụ PaaS điển hình, cho phép khách hàng xây dựng các ứng dụng web với môi trường chạy ứng dụng vàphát triển dựa trên ngôn ngữ lập trình Java hoặc Python

1.3.3 Dịch vụ phần mềm SaaS (Software as a Service - SaaS)

Dịch vụ SaaS cung cấp các ứng dụng hoàn chỉnh như một dịch vụ theo yêu cầu cho nhiều khách hàng với chỉ một phiên bản cài đặt Khách hàng lựa chọn ứng dụng phù hợp với nhu cầu và sử dụng mà không quan tâm tới hay bỏ công sức quản lý tài nguyên tính toán bên dưới

Dịch vụ SaaS nổi tiếng nhất phải kể đến http://www.Salesforce.com với các ứng dụng cho doanh nghiệp mà nổi bật nhất là CRM Các ứng dụng SaaS cho người dùng cuối phổ biến là các ứng dụng office Online của Microsoft hay Google Docs của Google

1.4 Các mô hình triển khai

1.4.1 Đám mây “công cộng” (Public Cloud)

Mô hình đầu tiên được nói đến khi đề cập tới ĐTĐM chính là mô hình Public Cloud Đây là mô hình mà hạ tầng ĐTĐM được một tổ chức sỡ hữu và cung cấp dịch vụ rộng rãi cho tất cả các khách hàng thông qua hạ tầng mạng Internet hoặc các mạng công cộng diện rộng Các ứng dụng khác nhau chia sẻ chung tài nguyên tính toán, mạng và lưu trữ Do vậy, hạ tầng ĐTĐM được thiết

kế để đảm bảo cô lập về dữ liệu giữa các khách hàng và tách biệt về truy cập

Trang 12

Các dịch vụ Public Cloud hướng tới số lượng khách hàng lớn nên

thường có năng lực về hạ tầng cao, đáp ứng nhu cầu tính toán linh hoạt, đem lạichi phí thấp cho khách hàng Do đó khách hàng của dịch vụ trên Public Cloud

sẽ bao gồm tất cả các tầng lớp mà khách hàng cá nhân và doanh nghiệp nhỏ sẽ được lợi thế trong việc dễ dàng tiếp cận các ứng dụng công nghệ cao, chất lượng mà không phải đầu tư ban đầu, chi phí sử dụng thấp, linh hoạt

1.4.2 Đám mây “doanh nghiệp” (Private Cloud)

Đám mây doanh nghiệp (Private Cloud) là mô hình trong đó hạ tầng đámmây được sở hữu bởi một tổ chức và phục vụ cho người dùng của tổ chức đó Private Cloud có thể được vận hành bởi một bên thứ ba và hạ tầng đám mây có thể được đặt bên trong hoặc bên ngoài tổ chức sở hữu (tại bên thứ ba kiêm vận hành hoặc thậm chí là một bên thứ tư)

Trang 13

Private Cloud được các tổ chức, doanh nghiệp lớn xây dựng cho mình nhằm khai thác ưu điểm về công nghệ và khả năng quản trị của ĐTĐM Với Private Cloud, các doanh nghiệp tối ưu được hạ tầng IT của mình, nâng cao hiệu quả sử dụng, quản lý trong cấp phát và thu hồi tài nguyên, qua đó giảm thời gian đưa sản phẩm sản xuất, kinh doanh ra thị trường.

1.4.3 Đám mây “chung” (Community Cloud)

Đám mây chung (Community Cloud) là mô hình trong đó hạ tầng đám mây được chia sẻ bởi một số tổ chức cho cộng đồng người dùng trong các tổ chức đó Các tổ chức này do đặc thù không tiếp cận với các dịch vụ Public Cloud và chia sẻ chung một hạ tầng ĐTĐM để nâng cao hiệu quả đầu tư và sử dụng

Trang 14

1.4.4 Đám mây “lai” (Hybrid Cloud)

Mô hình đám mây lai (Hybrid Cloud) là mô hình bao gồm hai hoặc nhiều hơn các đám mây trên tích hợp với nhau Mô hình Hybrid Cloud cho phép chia sẻ hạ tầng hoặc đáp ứng nhu cầu trao đổi dữ liệu

Trang 15

- Tốc độ xử lý nhanh, cung cấp cho người dùng những dịch vụ nhanh chóng và giá thành rẻ dựa trên nền tảng cơ sở hạ tầng tập trung (đám mây).

- Khả năng mở rộng được, giúp cải thiện chất lượng các dịch vụ được cung cấp trên “đám mây”

- Các ứng dụng của điện toán đám mây dễ dàng để sửa chữa hơn bởi lẽ chúng không được cài đặt cố định trên một máy tính nào Chúng cũng dễ dàng được hỗ trợ và cài thiện về tính năng

- Tài nguyên sử dụng của điện toán đám mây luôn được quản lý và thống

kê trên từng khách hàng và ứng dụng, theo từng ngày, từng tuần, từng tháng Điều này đảm bảo cho việc định lượng giá cả của mỗi dịch vụ do điện toán đámmây cung cấp để người dùng có thể lựa chọn phù hợp

- Mất dữ liệu: Một vài dịch vụ lưu trữ dữ liệu trực tuyến trên đám mây bất ngờ ngừng hoạt động hoặc không tiếp tục cung cấp dịch vụ, khiến cho người dùng phải sao lưu dữ liệu của họ từ “đám mây” về máy tính cá nhân Điều này sẽ mất nhiều thời gian Thậm chí một vài trường hợp, vì một lý do nào

đó, dữ liệu người dùng bị mất và không thể phục hồi được

Trang 16

- Tính di động của dữ liệu và quyền sở hữu: Một câu hỏi đặt ra, liệu người dùng có thể chia sẻ dữ liệu từ dịch vụ đám mây này sang dịch vụ của đám mây khác? Hoặc trong trường hợp không muốn tiếp tục sử dụng dịch vụ cung cấp từ đám mây, liệu người dùng có thể sao lưu toàn bộ dữ liệu của họ từ đám mây? Và làm cách nào để người dùng có thể chắc chắn rằng các dịch vụ đám mây sẽ không hủy toàn bộ dữ liệu của họ trong trường hợp dịch vụ ngừng hoạt động.

- Khả năng bảo mật: Vấn đề tập trung dữ liệu trên các “đám mây” là cách thức hiệu quả để tăng cường bảo mật, nhưng mặt khác cũng lại chính là mối lo của người sử dụng dịch vụ của điện toán đám mây Bởi lẽ một khi các đám mây bị tấn công hoặc đột nhập, toàn bộ dữ liệu sẽ bị chiếm dụng Tuy nhiên, đây không thực sự là vấn đề của riêng “điện toán đám mây”, bởi lẽ tấn công đánh cắp dữ liệu là vấn đề gặp phải trên bất kỳ môi trường nào, ngay cả trên các máy tính cá nhân

Trang 17

CHƯƠNG 2 : Giới thiệu một số công nghệ ĐTĐM của các hãng lớn2.1 Công nghệ Google App Engine

2.1.1 Tổng quan về Google App Engine

“Google App Engine” (GAE) là một nền tảng hosting bao gồm web server, cơ sở dữ liệu BigTable and kho lưu trữ file GFS GAE cho phép bạn viếtứng dụng web dựa trên cơ sở hạ tầng của Google Nghĩa là bạn không cần quan tâm là trang web bạn được lưu trữ như thế nào (kể cả database đi kèm), mà chỉ cần quan tâm đến việc phát triển ứng dụng theo các API do Google cung cấp Với App Engine, bạn chỉ cần tải lên các ứng dụng của bạn, và nó sẵn sàng để phục vụ người dùng của bạn

Bạn có thể sửdụng tên miền riêng của mình thông qua google apps Hoặc bạn có thể dùng sub-domain miễn phí của appspot.com GAE cho phép được host miễn phí với dung lượng 1GB lưu trữ và cho phép 5 triệu pageview hàng tháng, vượt qua mức này bạn sẽ phải trả phí Dùng GAE, chúng ta khỏi phải thiết kế database, viết SQL để truy vấn data, map data với object Chúng tachỉ cần design các class và GAE tự động lo phần làm việc với database Tóm lại, giờ đây bạn chỉ cần phải nghĩ ra và viết những ứng dụng tuyệt vời nhất rồi kêu gọi cả thế giới vào dùng Tuy nhiên, mặt trái của việc xây dựng ứng dụng trên GAE là bạn sẽ phụ thuộc hoàn toàn vào các công nghệ của Google và rất khó có thể tách ra thành một ứng dụng độc lập Yahoo hay Microsoft sẽ chẳng bao giờ mua một ứng dụng xây dựng trên nền tảng của đối thủ Còn các nhà đầu

tư cũng rất e ngại khi tài sản của công ty bạn đặt hết vào tay người khác, dù cho

đó là Google GAE được Google cho ra mắt vào tháng 4 năm 2008 hỗ trợ ngôn ngữ Python Đến tháng 4 năm 2009, GAE đã công bố hỗ trợ ngôn ngữ chính thức thứ hai là Java, đánh dấu một sự thay đổi lớn trong cách xây dựng ứng dụng Một số ngôn ngữ khác như PHP cũng có thể chạy được nếu cài cùng với

bộ chuyển từ PHP sang Java

GAE là nền tảng ĐTĐM theo mô hình PaaS GAE cho phép khách hàng triển khai các ứng dụng web để chạy trên cơ sở hạ tầng của Google Với các đặctrưng dễ dàng xây dựng, bảo trì và khả mở, GAE đã được các nhà phát triển và

Trang 18

các doanh nghiệp triển khai sử dụng Với chi phí xây dựng và triển khai ứng dụng ban đầu gần như bằng 0, khách hàng dễ dàng xây dựng các ứng dụng theoyêu cầu Khi ứng dụng đã thu được lợi nhuận và vượt qua mức sử dụng thì khách hàng chỉ phải trả khoản phí tài nguyên mà mình đã sử dụng.

2.1.2 Môi trường phát triển

Một ứng dụng App Engine đáp ứng các yêu cầu web Một yêu cầu web

sẽ bắt đầu khi có một người dùng hay điển hình là các trình duyệt web của người dùng gửi một yêu cầu truy cập vào ứng dụng thông qua giao thức HTTP Khi App Engine nhận được yêu cầu, nó sẽ xác định ứng dụng dựa vào tên miền,hoặc tên miền con của appspot.com (cung cấp miễn phí mỗi ứng dụng) hoặc là một tên miền riêng của chúng ta đã được đăng kí và thiết lập với Google Apps App Engine lựa chọn một máy chủ từ nhiều máy chủ để xử lý các yêu cầu đó Sau đó, App Engine sẽ gửi các yêu cầu đã nhận được từ người dùng đến ứng dụng phù hợp để xử lý, sau khi đã xử lý xong các ứng dụng này sẽ gửi dữ liệu trả về cho App Engine, App Engine sẽ nhận dữ liệu phản hồi từ các ứng dụng

và trả về cho người dùng thông qua trình duyệt web

Theo góc nhìn của ứng dụng, môi trường thực thi chỉ xuất hiện và tồn tạikhi bắt đầu một yêu cầu và sẽ biến mất khi yêu cầu đó được đáp ứng xong AppEngine cung cấp tối thiểu 2 cách thức lưu trữ dữ liệu tồn tại giữa các yêu cầu , nhưng các cơ chế này tồn tại bên ngoài môi trường thực thi Môi trường thực thi

sẽ không duy trì trạng thái giữa các yêu cầu, hoặc ít nhất không mong muốn cáctrạng thái sẽ được duy trì giữa các yêu cầu App Engine có thể phân phát lưu lượng truy cập trong nhiều server, vì nó cần phải đáp ứng cho nhiều yêu cầu xử

lý như nhau, bất kể có bao nhiêu lưu lượng truy cập nó sẽ xử lý cùng một lúc

Trang 19

Sandboxcho phép App Engine chạy nhiều ứng dụng trên cùng một máy chủ, trong đó hành vi của một ứng dụng không làm ảnh hưởng đến các ứng dụng khác Ngoài ra để giới hạn quyền truy cập đến hệ điều hành, môi trường thực thi cũng giới hạn việc sử dụng CPU và bộ nhớ App Engine giữ các giới hạn này linh hoạt và chặt chẽ hơn các giới hạn này để các ứng dụng sử dụng nhiều tài nguyên hơn để bảo vệ tài nguyên được chia sẻ từ những ứng dụng

“không mong muốn”

Mỗi yêu cầu có tối đa 30s để trả về phản hồi cho client Mặc dù thời giannày có vẻ đáp ứng tốt cho một ứng dụng web, nhưng App Engine được tối ưu hóa cho các ứng dụng đáp ứng chưa đầy một giây Ngoài ra nếu một ứng dụng

sử dụng nhiều CPU, App Engine có thể làm chậm nó xuống, nên các ứng dụng không trì hoãn bộ vi xử lý trên một máy phục vụ đa ứng dụng Một CPU tập trung xử lý yêu cầu có thể mất nhiều thời gian để hoàn thành, khi App Engine

dò tìm các mô hình theo cách sử dụng CPU và phân bổ cho phù hợp

Google App Engine cung cấp hai môi trường thực thi chính cho các ứng dụng Đó là Java và Python, hiện đang thử nghiệm trên Go Môi trường chúng

ta chọn sẽ phụ thuộc vào ngôn ngữ và những công nghệ liên quan khi chúng ta dùng để phát triển ứng dụng

Môi trường Java thực thi các ứng dụng được viết cho JVM6 Ứng dụng

có thể được phát triển dựa vào ngôn ngữ lập trình Java hoặc hầu hết các ngôn ngữ có thể biên dịch và chạy trên JVM: ví dụ PHP (dùng Quercus), Ruby (dùng JRuby), Javascript (dùng Rhino), Scala, Groovy App Engine cũng hỗ trợ Google Web Tootkit (GWT)

Môi trường Python thực thi các ứng dụng được viết dựa vào ngôn ngữ lập trình Python bản 2.5 App Engine gọi các ứng dụng Python nhờ vào CGI Ứng dụng có thể dùng hầu hết các thư viện của Python, các framework của Python như Django, web2py, Pylons

Cả hai môi trường Java và Python đều sử dụng chung một mô hình: một yêu cầu gửi đến ứng dụng trên server, ứng dụng được kích hoạt (nếu cần thiết), gọi bộ phận xử lý yêu cầu và trả về kết quả cho client Mỗi môi trường sử dụng

bộ tiền xử lý (interpreter) cho riêng mình (JVM hay Python)

Trang 20

2.1.3 Mô hình kiến trúc và các dịch vụ của GAE

Trong mô hình kiến trúc này cho thấy được hoạt động của GAE Một yêu cầu từ trình duyệt của máy bàn, máy xách tay, điện thoại, … được gửi tới GAE thông qua lối vào (Front End) Một ứng dụng chủ (App Master) sẽ điều khiển, lập lịch cho tất cả các yêu cầu Nếu yêu cầu truy cập tệp tin tĩnh, yêu cầu

sẽ gửi đến dịch vụ các tệp tĩnh (Static Flies) Nếu yêu cầu nội dung động, yêu cầu sẽ được gửi tới ứng dụng của mình trên GAE, thông qua các thư viện APIs, ứng dụng có thể truy cập tới các dịch vụ lưu trữ (Datastore), dịch vụ lưu trữ bộ nhớ (Memcache), dịch vụ thao tác ảnh (Image manipulation), … Mỗi dịch vụ

có chức năng và hoạt động riêng biệt, không phụ thuộc lẫn nhau Khi xây dựng ứng dụng với ngôn ngữ Java, GAE hỗ trợ thư viện kết hợp thư viện chuẩn Java cho phép ứng dụng truy cập vào các dịch vụ tương ứng

Hình8 Kiến trúc GAE

2.2 Công nghệ ĐTĐM của Amazone

2.2.1 Amazon Web Services

Amazon Web Services là tập hợp các dịch vụ cung cấp cho người lập

Trang 21

Bạn có thể xây dựng các ứng dụng phức tạp và gồm nhiều phần khác nhau bằng cách sử dụng các chức năng phân tầng với các dịch vụ đáng tin cậy, hiệu quả khối hợp nhất được cung cấp bởi Amazon Các dịch vụ Web mà tồn tại bên trong đám mây phía bên ngoài môi trường của bạn và có khả năng thực hiện là rất cao.

Có hai mức độ được hỗ trợ cho người dùng của Amazon Web Services:

 Hỗ trợ dựa trên diễn đàn tự do từ nhân viên Amazon, người điều khiển các diễn đàn thảo luận Amazon

 Hỗ trợ các cặp đóng gói cái, cung cấp kiểu một-tới-một và kiểu

hỗ trợ thông qua điện thoại và là cách thận trọng hơn cách yêu cầu trợ giúp

Amazon cung cấp các giao diện chuẩn dựa trên SOAP và REST để tương tác với từng dịch vụ Các thư viện phát triển hoặc là từ Amazon hoặc từ một trong các ngôn ngữ cho phép, như Ruby, Python, Java™, Erlang và PHP,

để thực hiện trao đổi với các dịch vụ này Các công cụ dòng lệnh là cũng có thể

để thực hiện quản lý tài nguyên tính toán trên EC2 Giao diện REST là dễ dàng

sử dụng; bạn có thể sử dụng chương trình bên phía máy khách được viết bằng bất cứ ngôn ngữ nào dưới dạng giao thức HTTP để cho phép thực hiện gửi yêu cầu tới các dịch vụ Web

2.2.2 Dịch vụ Amazon Simple Storage Service (S3)

Amazon Simple Storage Service (S3) cung cấp các giao diện dịch vụ Web cho việc lưu trữ và khôi phục dữ liệu Dữ liệu được cho ở bất kỳ loại nào

và có thể được lưu trữ và truy cập đến từ bất kỳ vị trí nào thông qua Internet Bạn có thể lưu trữ không giới hạn một lượng lớn các đối tượng trong S3 với kích thước của mỗi đối tượng trong khoảng từ 1 byte tới 5 GB Các lưu trữ là cóthể ở trong Hoa Kỳ hoặc trong Liên Minh Châu Âu Bạn có thể chọn vị trí lưu trữ cho các đối tượng của bạn khi bạn tạo ra buckets, cái mà tương tự như khái niệm của thư mục trong hệ thống xử lý của bạn Dữ liệu được lưu trữ an toàn bằng cách sử dụng cùng hạ tầng cơ sở lưu trữ Amazon sử dụng sức mạng của mình trên toàn thế giới với một mạng lưới các trang Web thương mại điện tử

Sự hạn chế truy cập có thể được xác định cho từng đối tượng bạn lưu trữ

Trang 22

giản Thậm chí bạn có thể tạo ra các đối tượng để tải về bằng cách sử dụng giaothức BitTorrent.

S3 giải phóng hoàn toàn cho bạn về các lo lắng cho không gian lưu trữ, truy cập vào dữ liệu, hoặc bảo vệ dữ liệu Bạn thậm chí không phải đối phó với chi phí của việc bảo trì các máy chủ lưu trữ

Hình 9 Amazon Simple Storage Services

2.2.3 Dịch vụ Amazon Elastic Compute Cloud (EC2)

Amazon EC2 là dịch vụ Web cho phép bạn yêu cầu các máy ảo trong vòng một vài phút và dễ dàng thay đổi khả năng của bạn hoặc tải xuống dựa trên nhu cầu Bạn chỉ cần phải trả chi phí cho khoảng thời gian mà bạn sử dụng.Nếu bạn muốn tăng khả năng tính toán của bạn nên, bạn có thể nhanh chóng tiếp cận khởi tạo máy áo và sau đó chấm dứt chúng khi mà nhu cầu của bạn giảm đi

Những trường hợp mà dựa trên Linux® và có thể chạy trên bất kỳ ứng dụng nào hoặc phần mềm nào bạn muốn Bạn có thực hiện điều khiển cho từng trường hợp cụ thể Môi trường của EC2 là được xây dựng trên cùng mã nguồn

mở Xen hypervisor, cái được phát triển tại trường Đại học Cambridge Amazon

Trang 23

các thương mại miễn phí và có sẵn được xây dựng cho EC2 đều dựa trên nền tảng Linux.

Amazon EC2 cung cấp chính xác quy mô máy tính cái cho phép dễ dàng

để thay đổi quy mô tài nguyên tính toán của bạn lên và xuống Bạn hoàn toàn kiểm soát được môi trường tính toán cái mà chạy trong trung tâm dữ liệu của Amazon Amazon cung cấp năm kiểu của các máy chủ; để cho phép bạn chọn lựa một trong các loại này phù hợp với ứng dụng cần thiết của bạn Các máy chủ cung cấp từ loại đơn lõi x86 đến loại tám lõi x86_64 Bạn có thể thay thế các trường hợp trong các mô hình địa lý khác nhau hoặc trong các vùng mà từ chỗ đảm bảo thực hiện đến chỗ có thể thất bại Amazon cũng chỉ dẫn khái niệm của địa chỉ IP thay đổi cho phép làm việc với địa chỉ động

2.2.4 Khả năng truyền thông điệp tin cậy của Amazon Simple

Queue Service

Amazon Simple Queue Service (SQS) cung cấp khả năng truy cập tới hạ tầng kiến trúc thông điệp đảm bảo được sử dụng bởi Amazon Bạn có thể thực hiện gửi và nhận các thông điệp từ bất cứ nơi nào bằng cách sử dụng các yêu cầu HTTP đơn giản dựa trên REST Không cần phải cài đặt cái gì, không cần phải thực hiện cấu hình gì cả Bạn có thể tạo ra một lượng không giới hạn của các hàng đợi và gửi một lượng không giới hạn các tin nhắn Các tin nhắn được lưu trữ bởi Amazon thông qua nhiều máy chủ và các trung tâm dữ liệu để cung cấp khả năng dư thừa và đáng tin cậy bạn cần từ hệ thống nhắn tin Mỗi một tin nhắn có thể chứa lên tới 8KB dữ liệu văn bản Chỉ sử dụng các ký tự dạng Unicode với nguyên tắc sau phải tuân thủ Mỗi một hàng đợi có thể phải định dạng xác định khoảng thời gian timeout (hạn thời gian), cái được sử dụng để điều khiển cách truy cập tới hàng đợi bởi nhiều người đọc khác nhau Mỗi một ứng dụng đọc một thông điệp từ hàng đợi, thông điệp này sẽ không được đọc bởi bất kỳ một người đọc khác cho đến khi khoảng thời gian timeout kết thúc Thông điệp sẽ được lặp lại trong hàng đợi sau một khoảng thời gian timeout được xác định sau đó nó được giữ bởi một bộ xử lý đọc khác

SQS tích hợp rất tốt với các Amazon Web Sercives khác Nó cung cấp một cách nào đó để xây dựng hệ thống riêng biệt nơi mà EC2 của bạn có thể

Ngày đăng: 09/04/2015, 19:17

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w