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

Tìm hiểu Cloud Computing và nền tảng Google app engine

50 592 0

Đ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 50
Dung lượng 1,54 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

• Theo Rajkumar Buyya: ” Cloud là một loại hệ thống phân bố và xử lý song gồm các máy tính ảo kết nối với nhau và được cung cấp động cho người dùng như một hoặc nhiều tài nguyên đồng nhấ

Trang 1

Mục Lục

Trang 2

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ậygiú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ònquan tâm đến cơ sở hạ tầng, công nghệ mà chỉ tập trung chính vào công việc kinhdoanh 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.

Thuật ngữ “cloud computing” ra đời bắt nguồn từ một trong những hoàn cảnh nhưvậy

Thuật ngữ “cloud computing” còn được 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ôngthấ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ềmnữ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ềucho 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

Vậy “cloud computing” là gì ? Nó có thể giải quyết bài toán trên như thế nào và cónhững đặc điểm nổi bật gì ? Chúng ta sẽ đi qua các phần sau để nắm rõ vấn đề này

Trang 3

B NỘI DUNG

Trang 4

CHƯƠNG I: CLOUD COMPUTING

1 Định nghĩa

Theo Wikipedia

“ Điện toán đám mây (cloud computing) là một mô hình điện toán có khả năng co giãn (scalable) linh động và các tài nguyên thường được ảo hóa được cung cấp như một dịch vụ trên mạng Internet “

Hình 1.1 Cloud computing Đứ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 mạnh tính toán, kho lưu trữ, các nền tảng và các dịch vụ được trực quan, ảo hóa và co giãn linh động, sẽ được phân phối theo nhu cầu cho các khách hàng bên ngoài thông qua Internet “.

Theo Rajkumar Buyya:

” Cloud là một loại hệ thống phân bố và xử lý song gồm các máy tính ảo kết nối với nhau và được cung cấp động cho người dùng như một hoặc nhiều tài nguyên đồng nhất dựa trên sự thỏa thuận dịch vụ giữa nhà cung cấp và người sử dụng”.

Theo Gartner (http://www.buildingthecloud.co.uk/) :

“Một mô hình điện toán nơi mà khả năng mở rộng và linh hoạt về công nghệ thông tin được cung cấp như một dịch vụ cho nhiều khách hàng đang sử dụng các

Trang 5

Cả hai định nghĩa trên đều định nghĩa Cloud Computing là một hệ phân bố, cungcấp các dạng tài nguyên ảo dưới dạng dịch vụ một cách linh động theo nhu cầu củangườ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à thu hồ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 Mô hình cloud computing

Các mô hình Cloud Computing được phân thành hai loại:

• Các mô hình dịch vụ (Service Models): Phân loại các dịch vụ của các nhà cungcấp dịch vụ Cloud Computing

• Các mô hình triển khai (Deployment Models): Phân loại cách thức triển khaidịch vụ Cloud Computing đến với khách hàng

Hình 2.1 Các loại dịch vụ Cloud Computing

Trang 6

2.1.1 SaaS - Software as a Service

Hình 2.1.1: Tầng SaaS

Tầng này có lẽ là hầu như quen thuộc với người dùng Web hàng ngày Tầng các dịch

vụ ứng dụng này lưu trữ các ứng dụng phù hợp với mô hình SaaS Đây là những ứngdụng chạy trong một đám mây và được cung cấp theo yêu cầu về các dịch vụ chongười dùng

Đôi khi các dịch vụ này được cung cấp miễn phí và các nhà cung cấp dịch vụtạo ra doanh thu từ những thứ khác như là các quảng cáo Web và nhiều khi các nhàcung cấp ứng dụng tạo ra doanh thu trực tiếp từ việc sử dụng dịch vụ Âm thanh quenthuộc quá phải không? Nó có lẽ làm như vậy kể từ khi hầu hết tất cả chúng ta đã sửdụng chúng

Nếu bạn đã từng gửi tệp thuế của bạn trực tuyến bằng cách sử dụng Turbo taxe,kiểm tra thư của bạn khi sử dụng Gmail hoặc Yahoo Mail hoặc theo kịp các cuộc hẹnkhi sử dụng Google Calendar, thì bạn đã quen thuộc với tầng trên cùng của đám mây.Đây chỉ là một vài ví dụ về các kiểu ứng dụng này Thật vậy có hàng ngàn ứng dụngSaaS và số lượng phát triển hàng ngày nhờ các công nghệ Web 2.0 Có lẽ không hoàntoàn rõ ràng với đa số công chúng về việc có nhiều ứng dụng trong tầng các dịch vụứng dụng được chuyển trực tiếp tới cộng đồng doanh nghiệp Ở đó có lưu trữ các yêucầu phần mềm có sẵn để xử lý bảng lương, quản lý nguồn nhân lực, cộng tác, quản lýquan hệ khách hàng, quản lý mối quan hệ đối tác kinh doanh và nhiều hơn nữa Các ví

dụ phổ biến về các yêu cầu này bao gồm IBM® Lotus® Live,IBM Lotus Sametime®,Unyte, Salesforce.com, Sugar CRM, và WebEx

a) Khái niệm SaaS

SaaS (Software as a Service), tiếng Việt tạm dịch là “phần mềm dịch vụ”

Theo định nghĩa của hãng nghiên cứu toàn cầu IDC

Trang 7

SaaS là “phần mềm hoạt động trên web, được quản lý bởi nhà cung cấp và chophép người sử dụng truy cập từ xa”

Theo Wikipedia,

SaaS là 1 mô hình dịch vụ phần mềm triển khai qua Internet ,trong đó, SaaS sẽcung cấp giấy phép một ứng dụng cho khách hàng để sử dụng một dịch vụ theoyêu cầu, hay còn gọi là “phần mềm theo yêu cầu”

Mô hình SaaS cho phép các nhà cung cấp phát triển, lưu trữ và vận hành phầnmềm để khách hàng sử dụng Thay vì mua các phần cứng và phần mềm để chạy mộtứng dụng, khách hàng chỉ cần một máy tính hoặc một máy chủ để tải ứng dụng vàtruy cập internet để chạy phần mềm

Phần mềm này có thể được cấp phép cho một người dùng duy nhất hoặc chomột nhóm người dùng.Cloud Computing cung cấp các phần mềm hoạt động trên nềnweb, được quản lý bởi nhà cung cấp và cho phép người sử dụng truy cập từ xa SaaS

sẽ cung cấp giấy phép một ứng dụng cho khách hàng để sử dụng một số dịch vụ theoyêu cầu

Như vậy, việc ứng dụng mô hình SaaS là có lợi cho cả 2 phía

• Phía khách hàng sẽ tiết kiệm được 1 khoản tiền khổng lồ do ko cần phải bỏ tiền

ra mua hạ tầng ứng dụng để lưu trữ thông tin và chi phí an ninh nếu phải duy trì

hệ thống đó

• Còn nhà cung cấp thì sẽ thu lợi nhuận từ việc cung cấp các ứng dụng này chokhách hàng với chi phí hợp lý nhất

b) Một số tính chất của SaaS

Tính ảo hoá: Lợi ích chính của ảo hóa là nó có thể tăng công suất của hệ thống

mà không cần lập trình thêm Mặt khác, một số lượng đáng kể các chương trình

có thể được yêu cầu để xây dựng một ứng dụng hiệu quả.Kết hợp đa người dùng

và ảo hóa cung cấp sự linh hoạt để điều chỉnh hệ thống cho hiệu năng tối ưu.Việc ảo hóa hệ muốn được áp dụng cho SaaS cần phải có hệ điều hành hỗ trợ,các kỹ thuật ảo hóa, các ứng dụng ảo hóa và các thiết bị hỗ trợ ảo hoá

Tập hợp dữ liệu: Thay vì thu thập dữ liệu từ nhiều nguồn, với những biểu đồ cơ

sở dữ liệu có khả năng khác nhau, tất cả các dữ liệu cho tất cả khách hàng đượclưu trong một lược đồ cơ sở dữ liệu duy nhất (tức là nhiều người thuê) Vì vậy,các xu hướng truy vấn khai thác dữ liệu chạy trên khách hàng và tìm kiếm sẽ đơngiản hơn nhiều

Kênh bán hàng: Với các sản phẩm tập trung vào các thị trường chung, bán hàng

online có thể trở thành một chủ trương tốn kém Các công ty SaaS tìm kiếm sựlựa chọn thay thế bằng cách bán thông qua các đại lý và các đối tác liên minh của

Trang 8

c) Kiến trúc của SaaS

Hình : cấu trúc của SaaS

Nói ngắn gọn, thì SaaS là tầng đầu tiên trong mô hình Cloud Computing – là mô hìnhtriển khai phần mềm từ 1 hệ tập trung sang chạy trên máy tính cục bộ (của người dùngcuối)

[1] Custom nơi mỗi khách hàng làm chủ phiên bản riêng của ứng dụng.

[2] Configurable cung cấp sự linh hoạt cấu hình thông qua metadata Vì vậy mà

nhiều khách hàng có thể sử dụng mã của cùng một ứng dụng Điều này chophép các nhà cung cấp để đáp ứng các nhu cầu khác nhau của mỗi khách hàngthông qua các tùy chọn cấu hình chi tiết, trong khi đơn giản hóa bảo trì và cậpnhật của một cơ sở mã chung

[3] Configurable, Multi-Tenant-Efficient cung cấp một chương trình duy nhất để

phục vụ cho hàng ngàn, hàng vạn khách hàng cùng 1 lúc

[4] Scalable, Configurable, Multi-Tenant-Efficient : cung cấp hiệu quả một kiến

trúc đa tầng để cho phép khả năng mở rộng giữa các máy chủ Các nhà cung cấp

có thể tăng hoặc giảm công suất của hệ thống để phù hợp với nhu cầu bằng cáchthêm hoặc loại bỏ các máy chủ, mà không cần bất kỳ sự thay đổi nào của cácứng dụng phần mềm kiến trúc

2.1.2 PaaS - Platform as a Service

Đây là tầng ở đó chúng ta thấy cơ sở hạ tầng ứng dụng nổi lên như là một tập hợp cácdịch vụ Dịch vụ này nhưng không bị hạn chế tầng giữa như là một dịch vụ, truyềnthông như là một dịch vụ, tích hợp như là một dịch vụ, thông tin như là một dịch vụ,kết nối như một dịch vụ, v.v Các dịch vụ ở đây được dành để hỗ trợ cho các ứng

Trang 9

dụng Các ứng dụng này có thể đang chạy trong đám mây và chúng có thể đang chạytrong một trung tâm dữ liệu doanh nghiệp truyền thống hơn Để đạt được khả năng mởrộng cần thiết trong một đám mây, các dịch vụ khác nhau được đưa ra ở đây thườngđược ảo hóa

Các ví dụ về các đề nghị trong phần này của đám mây bao gồm các ảnh ảo củaIBM® WebSphere® Application Server virtual images, Amazon Web Services,Boomi, Cast Iron, và Google App Engine Các dịch vụ nền tảng này cho phép ngườitiêu dùng chắc chắn rằng các ứng dụng của họ được trang bị để đáp ứng các nhu cầucủa người dùng bằng cách cung cấp cơ sở hạ tầng ứng dụng dựa theo yêu cầu

a) Khái niệm PaaS

PaaS (Platform as a Service) hỗ trợ việc triển khai ứng dụng mà không quan tâm đếnchi phí hay sự phức tạp của việc trang bị và quản lý các lớp phần cứng và phần mềmbên dưới, cung cấp tất cả các tính năng cần thiết để hỗ trợ chu trình sống đầy đủ củaviệc xây dựng và cung cấp một ứng dụng và dịch vụ web sẵn sàng trên internet màkhông cần bất kì thao tác tải hay cài đặt phần mềm cho những người phát triển , quản

lý tin học , hay người dùng cuối

Khi PaaS có sẵn như một dịch vụ, các developer và ISVs có thể kiểm soát toàn

bộ việc phát triển và triển khai ứng dụng PaaS cho phép các developer và ISV’s tạo

ra các ứng dụng web tùy chỉnh và phát hành nó một cách nhanh chóng , khi nhiều rắcrối như việc thiết lập hosting, servers, databases, quá trình tương tác người dùng vànhững frameworks được đóng gói

Hình 6: Mô hình PaaS

PaaS là một khái niệm được biết đến như một dịch vụ nền tảng CloudComputing Ứng dụng PaaS là một biến thể của ứng dụng Software as a Server(SaaS).PaaS còn được biết đến với một tên khác là cloudware

b) Đặc trưng

Trang 10

Một ứng dụng PaaS bao gồm các đặc trưng sau đây: Phục vụ cho việc phát triển, kiểmthử, 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.Cung cấp các công cụ khởi tạo với giao diện trên nền web.

• Có kiến trúc đồng nhất

• Tích hợp dịch vụ web và cơ sở dữ liệu

• Hỗ trợ cộng tác nhóm phát triển

• Cung cấp các công cụ hỗ trợ tiện tích khác

2.1.3 IASS – Infrastructure as a Service

Hình 2.1.1 :Cấu trúc tầng IASS

Tầng đáy của đám mây là tầng các dịch vụ cơ sở hạ tầng Ở đây, chúng ta thấy mộttập hợp các tài sản vật lí như các máy chủ, các thiết bị mạng và các đĩa lưu trữ đượcđưa ra như là các dịch vụ được cung cấp cho người tiêu dùng Các dịch vụ ở đây hỗtrợ cơ sở hạ tầng ứng dụng ( bất kể cơ sở hạ tầng đó đang được cung cấp qua mộtđám mây hay không) và nhiều người tiêu dùng hơn Cũng như với các dịch vụ nềntảng, sự ảo hóa là một phương pháp thường được sử dụng để tạo ra chế độ phân phốicác nguồn tài nguyên theo yêu cầu Dịch vụ hạ tầng, cung cấp cho người dùng hạ tầngthô (thường là dưới hình thức các máy ảo) như là một dịch vụ

Những kiến trúc ảo xếp chồng là một ví dụ của xu hướng mọi thứ là dịch vụ và

có cùng những điểm chung Hơn hẳn một máy chủ cho thuê, không gian luu trử tậptrung hay thiết bị mạng, máy trạm thay vì đầu tư mua những nguyên thì có thể thuêđầy đủ dịch 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ộtnhà 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

Trang 11

Các ví dụ về dịch vụ cơ sở hạ tầng bao gồm IBM , Bluehouse, VMware,Amazon EC2, Microsoft Azure Platform, Sun ParaScale Cloud Storage và nhiều hơnnữa Các dịch vụ cơ sở hạ tầng tập trung vào vấn đề trang

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êntích toán tổng hợp

Các dịch vụ cơ sở hạ tầng tập trung vào vấn đề trang bị đúng các trung tâm dữ liệubằng cách đảm bảo công suất điện toán khi cần thiết Ngoài ra, do thực tế là các kỹthuật ảo hóa thường được sử dụng trong tầng này, nên có thể thấy rõ sự tiết kiệm chiphí do việc sử dụng nguồn lực hiệu quả mang lại

2.2 Mô hình triển khai

Hình 2.2: Mô hình triễn khai

Trang 12

nôm na, điện toán đám mây là mô hình điện toán Internet Tuy nhiên, khi mô hình Ccdần định hình, các ưu điểm của nó đã được vận dụng để áp dụng

2.2.1 Các đám mây công cộng (Public cloud)

Hình 2.2.1: Mô hình Public Cloud

Các đám mây công cộng 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 công cộng cố gắng cung cấp cho người tiêu dùng với các phần tửcông nghệ thông tin tốt nhất Cho dù đó là phần mềm, cơ sở hạ tầng ứng dụng hoặc cơ

sở hạ tầng vật lý, nhà cung cấp đám mây chịu trách nhiệm về cài đặt, quản lý, cungcấp

và bảo trì Khách hàng chỉ chịu phí cho các tài nguyên nào mà họ sử dụng, vì thếcáichưa sử dụng được loại bỏ.Tất nhiên điều này liên quan đến chi phí

Các dịch vụ này thường được cung cấp với "quy ước về cấu hình," nghĩa làchúng được phân phối với ý tưởng cung cấp các trường hợp sử dụng phổ biến nhất.Các tùy chọn cấu hình thường là một tập hợp con nhỏ hơn so với những gì mà chúng

đã có nếu nguồn tài nguyên đã được người tiêu dùng kiểm soát trực tiếp Một điềukhác cần lưu ý là kể từ khi người tiêu dùng có quyền kiểm soát một chút trên cơ sở hạtầng, các quy trình đòi hỏi an ninh chặt chẽ và tuân thủ quy định dưới luật không phảilúc nào cũng thích hợp cho các đám mây chung.trong các môi trường có quy mô và

phạm vi riêng, hình thành các mô hình triển khai khác nhau Một đám mây công cộng

là sự lựa chọn rõ ràng khi

Trang 13

• Phân bố tải workload cho các ứng dụng được sử dụng bởi nhiều người, chẳnghạn như e-mail.

• Bạn cần phải thử nghiệm và phát triển các mã ứng dụng

• Bạn có các ứng dụng SaaS từ một nhà cung cấp có một chiến lược an ninh thựchiện tốt

• Bạn cần gia tăng công suất (khả năng bổ sung năng lực cho máy tính cao nhiềulần)

• Bạn đang thực hiện các dự án hợp tác

• Bạn đang làm một dự án phát triển phần mềm quảng cáo bằng cách sử dụngPaaS cung cấp các đám mây

2.2.2 Các đám mây riêng (Private cloud)

Hình 2.2.2 : Mô hình Private Cloud

Các đám mây riêng (Private cloud) là các dịch vụ đám mây được cung cấp trongdoanh 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 đượcdoanh nghiệp quản lý.Các đám mây riêng đưa ra nhiều lợi ích giống như các đám mâychung thực hiện với sự khác biệt chính: doanh nghiệp có trách nhiệm thiết lập và bảotrì đám mây này

Sự khó khăn và chi phí của việc thiết lập một đám mây bên trong đôi khi có thể

có chiều hướng ngăn cản việc sử dụng và chi phí hoạt động liên tục của đám mây cóthểvượt quá chi phí của việc sử dụng một đám mây chung.Các đám mây riêng đưa ranhiều lợi thế hơn so với loại chung Việc kiểm soát chi tiết hơn trên các tài nguyênkhác nhau đang tạo thành một đám mây mang lại cho công ty tất cả các tùy chọn cấuhình có sẵn

Ngoài ra, các đám mây riêng là lý tưởng khi các kiểu công việc đang đượcthực hiện không thiết thực cho một đám mây chung, do đúng với các mối quan tâm về

an ninh và về quản lý

Một đám mây riêng là sự lựa chọn rõ ràng khi

Trang 14

• Việc kinh doanh của bạn gắn với dữ liệu và các ứng dụng của bạn Vì vậy, việckiểm soát và bảo mật chiếm phần lớn công việc.

• Việc kinh doanh của bạn là một phần của một ngành công nghiệp phải phù hợpvới an ninh nghiêm ngặt và các vấn đề bảo mật dữ liệu

• Công ty của bạn là đủ lớn để chạy một dữ liệu trung tâm điện toán đám mây cóhiệu quả

2.2.3 Các đám mây lai (Hybrid cloud)

Hình 2.2.3 Hybrid Cloud

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à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

Đám mây lai sử dụng các dịch vụ có trong cả không gian công cộng và riêng.Các đám mây lai là câu trả lời khi một công ty cần sử dụng các dịch vụ của cả hai đámmây riêng và công cộng Theo hướng này, một công ty có thể phác thảo các mục tiêu

và nhu cầu của các dịch vụ và nhận được chúng từ đám mây công cộng hay riêng, khithích hợp

Một đám mây lai được xây dựng tốt có thể phục vụ các quy trình nhiệm vụ-tớihạn, an toàn, như nhận các khoản thanh toán của khách hàng, cũng như những thứ làkhông quan trọng bằng kinh doanh, như xử lý bảng lương nhân viên.Hạn chế chínhvới đám mây này là sự khó khăn trong việc tạo ra và quản lý có hiệu quả một giảipháp như vậy Phải có thể nhận được và cung cấp các dịch vụ lấy từ các nguồn khácnhau như thể chúng có nguồn gốc từ một chỗ và tương tác giữa các thành phần riêng

và chung có thể làm cho việc thực hiện thậm chí phức tạp hơn nhiều

Trang 15

Do đây là một khái niệm kiến trúc tương đối mới trong điện toán đám mây,nên cách thực hành và các công cụ tốt nhất về loại này tiếp tục nổi lên và bất đắc dĩchấp nhận mô hình này cho đến khi hiểu rõ hơn

2.2.4 Các đám mây cộng đồng (Community cloud)

Hình 2.2.4 : Community Cloud

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ặcmột bên thứ ba.Một đám mây cộng đồng có thể được thiết lập bởi một số tổ chức cóyêu cầu tương tự và tìm cách chia sẻ cơ sở hạ tầng để thực hiện một số lợi ích của điệntoán đám mâyTùy chọn này là tốn kém hơn nhưng có thể đáp ứng về sự riêng tư, an

ninh hoặc tuân thủ các chính sách tốt hơn

3 Đặc điểm của cloud computing

Nhanh chóng cải thiện với người dùng có khả năng cung cấp sẵn các tài nguyên cơ sở

hạ tầng công nghệ một cách nhanh chóng và ít tốn kém

Chi phí được giảm đáng kể và chi phí vốn đầu tư được chuyển sang hoạt độngchi 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ínhtoá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

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ốngbằ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ấpbởi đối tác thứ 3) và được truy cập thông qua Internet, do đó người dùng có thể kếtnối từ bất kỳ nơi nào

Trang 16

Việc cho thuê nhiều để có thể chia sẻ tài nguyên và chi phí giữa một phạm vi lớn người dùng, cho phép:

• Tập trung hóa cơ sở hạ tầng trong các lĩnh vực với chi phí thấp hơn (chẳng hạnnhư bất động sản, điện, v.v.)

• Khả năng chịu tải nâng cao (người dùng không cần kỹ sư cho các mức tải caonhất có thể)

• Cải thiện việc sử dụng và hiệu quả cho các hệ thống mà thường chỉ 10-20%được sử dụng

Độ 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ầnlớ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 kinhdoanh, IT phải làm cho nó ít đi

Tính co giãn linh động (“theo nhu cầu”) cung cấp tài nguyên trên một cơ sởmịn, tự bản thân dịch vụ và gần thời gian thực, không cần người dùng phải có kỹ sưcho chịu tải Hiệu suất hoạt động được quan sát và các kiến trúc nhất quán, kết nốilỏng lẽo được cấu trúc dùng web service như giao tiếp hệ thống

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ọngbả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ộtphầ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ể

Khả năng chịu đựng xảy ra thông qua việc tận dụng tài nguyên đã được cảithiện, các hệ thống hiệu quả hơn Tuy nhiên, các máy tính và cơ sở hạ tầng kết hợp lànhững thứ tiêu thụ năng lượng chủ yếu

Vấn đề về sức mạnh tính toán:

 Sử dụng các siêu máy tính (super-computer) để xử lý tính toán

 Sử dụng các hệ thống tính toán song song, phân tán, tính toán lưới (grid computing)

Vấn đề về cung cấp tài nguyên, phần mềm:

Trang 17

Cung cấp các dịch vụ như IaaS (infrastructure as a service), PaaS (platform as aservice), SaaS (software as a service)

5 Đặc điểm của cloud computing

Nhanh chóng cải thiện với người dùng có khả năng cung cấp sẵn các tài nguyên cơ sở

hạ tầng công nghệ một cách nhanh chóng và ít tốn kém

Chi phí được giảm đáng kể và chi phí vốn đầu tư được chuyển sang hoạt độngchi 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ínhtoá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

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ốngbằ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ấpbởi đối tác thứ 3) và được truy cập thông qua Internet, do đó người dùng có thể kếtnối từ bất kỳ nơi nào

Việc cho thuê nhiều để có thể chia sẻ tài nguyên và chi phí giữa một phạm vi lớn người dùng, cho phép:

• Tập trung hóa cơ sở hạ tầng trong các lĩnh vực với chi phí thấp hơn (chẳng hạnnhư bất động sản, điện, v.v.)

• Khả năng chịu tải nâng cao (người dùng không cần kỹ sư cho các mức tải caonhất có thể)

• Cải thiện việc sử dụng và hiệu quả cho các hệ thống mà thường chỉ 10-20%được sử dụng

Trang 18

Độ 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ầnlớ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 kinhdoanh, IT phải làm cho nó ít đi

Tính co giãn linh động (“theo nhu cầu”) cung cấp tài nguyên trên một cơ sởmịn, tự bản thân dịch vụ và gần thời gian thực, không cần người dùng phải có kỹ sưcho chịu tải Hiệu suất hoạt động được quan sát và các kiến trúc nhất quán, kết nốilỏng lẽo được cấu trúc dùng web service như giao tiếp hệ thống

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ọngbả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ộtphầ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ể

Khả năng chịu đựng xảy ra thông qua việc tận dụng tài nguyên đã được cảithiện, các hệ thống hiệu quả hơn Tuy nhiên, các máy tính và cơ sở hạ tầng kết hợp lànhững thứ tiêu thụ năng lượng chủ yếu

5 Xu hướng phát triển

Thuật ngữ “cloud computing” ra đời từ giữa năm 2007, cho đến nay đã không ngừngphát triển mạnh mẽ và được hiện thực bởi nhiều công ty lớn trên thế giới như IBM,Sun, Amazon, Google, Microsoft, Yahoo, SalesForce, …

Với mục tiêu giải quyết các bài toán về dữ liệu, tính toán, dịch vụ, … chokhách hàng, cloud computing đã và đang mang lại lợi nhuận lớn, đem đến một sânchơi, một thị trường rộng lớn cho các nhà cung cấp dịch vụ, nên sự phát triển nhanh

Trang 19

“grid computing” không mang tính kinh tế, lợi nhuận cao nên sự phát triển của nóđang ngày càng giảm sút, và chỉ đang được áp dụng vào lĩnh vực nghiên cứu khoahọc

Theo báo VNUnet (28/04/2009), trong một cuộc khảo sát các khách hàng sửdụng các dịch vụ của cloud computing thì có tới 27,7% quan tâm về vấn đề lưu trữ dữliệu (data storage); 17% về các ứng dụng liên quan tài chính; 12,8% về e-mail

6 Các khó khăn, thách thức

Trong quá trình hiện thực cloud computing, người ta nhận thấy một số khó khăn,thách thức sau:

• Bảo mật

 Sở hữu trí tuệ (Intellectual property)

 Tính riêng tư (Privacy)

 Độ tin cậy (Trust)

• Khả năng không kiểm soát dữ liệu

Trang 20

CHƯƠNG II : GOOGLE APP ENGINE

• GEA hỗ trợ ứng dụng viết trên một vài ngôn ngữ lập trình Với môi trườngJava, ta có thể xây dựng ứng dụng bằng những công nghệ Java chuẩn, bao gồmJVM, Java servlet và ngôn ngữ lập trình Java hay bất kỳ ngôn ngữ nào sử dụng

bộ thông dịch và biên dịch JVM (như là Javascript hay Ruby) GEA cũng cungcấp môi trường cho Python, bao gồm bộ thông dịch Python và các thư việnPython chuẩn Môi trường Java và Python được xây dựng để đảm bảo rằng ứngdụng chạy nhanh, an toàn và không bị ảnh hưởng bởi các ứng dụng khác trong

hệ thống

• GEA là một dịch vụ điện toán đám mây, chúng ta chỉ trả tiền cho những gì tadùng Không có phí cài đặt và phụ phí Những tài nguyên mà ứng dụng sửdụng, như dung lượng lưu trữ và băng thông, được tính theo gigabyte và tínhtiền mới một mức giá cạnh tranh Ta có thể quản lý lượng tối đa tài nguyên màứng dụng có thể dùng, do đó ta luôn kiểm soát được số tiền phải chi

• GEA không thu phí khi mới bắt đầu Tất cả các ứng dụng có thể dùng tới 500

MB dung lượng lưu trữ và một lượng CPU và băng thông đủ để hỗ trợ ứngdụng cung cấp khoảng 5 triệu lượt xem một tháng mà hoàn toàn miễn phí Khi

ta bật tính năng trả tiền, những giới hạn của ứng dụng được tăng lên, và ta củngchỉ phải trả cho những tài nguyên mà ta dùng hơn mức miễn phí

Những lý do vì sao GEA là môi trường phát triển ứng dụng hấp dẫn:

• Dễ dàng bắt đầu: GAE là một môi trường phát triển sử dụng những công nghệquen thuộc để xây dựng và host một ứng dụng web Với GAE, chúng ta chỉ cầnviết ứng dụng và tải nó lên bằng một vài cú nhấp chuột GAE sẽ lo tất cả cácviệc còn lại : từ việc tự động mở rộng đến việc quản lý máy chủ

• Tự động mở rộng: ứng dụng của ta sẽ sử dụng những công nghệ mở rộng màGoogle đang dùng như BigTable và GFS

• Độ tin cậy, hiệu năng cao và an toàn: Google có mười năm kinh nghiệm trongviệc vận hành các hệ thống mở rộng siêu lớn với hiêu nặng cao Chính sáchbảo mật đã dùng với tất cả các dịch vụ của Google cũng áp dụng với các ứngdụng trên GAE

• Giá thành thấp: Google đảm bảo luôn miễn phí với các dịch vụ mới và tính phítheo lượng sử dụng

Trang 21

• Miễn phí thử nghiệm: Google cung cấp 500 MB lưu trữ và lượng tài nguyên cóthể thỏa mãn khoảng 5 triệu lượt truy cập miễn phí để cho bất kỳ ai thửnghiệm Khi đã sẵn sàng, ta có thể bắt đầu việc trả tiền để sử dụng thêm tàinguyên.

• Ứng dụng AppEngine có thể sử dụng một lượng tài nguyên giới hạn Cơ chếnày nhằm đảm bảo rằng ứng dụng không dùng quá khả năng chi trả, và các ứngdụng khác cùng chạy trên AppEngine không ảnh hưởng lẫn nhau

Có hai định mức, một là mức miễn phí mà người lập trình có thể sử dụng miễn phítrước khi quyết định có trả thêm tiền để dùng thêm tài nguyên không Một mức nữa làmức tối đa mà một loạt tài nguyên có thể được sử dụng

Loại tài

nguyên Giới hạn hàng Định mức miễn phí Định mức trả phí

ngày Mức tối đa Giới hạn hàng ngày Mức tối đa

Requests 1.300.000

requests

7.400 requests/phút

43.000.000 requests

30.000 requests/phút

Băng thông ra 1 gigabyte 56

megabyte/phút 1 gigabyte miễnphí; 1.046

gigabyte

10 gigabyte/phút

Băng thông

đến 1 gigabyte 56 megabyte/phút 1 gigabyte miếnphí; 1.046

gigabyte

10 gigabyte/phút

CPU time 6.5 CPU-hour 15

CPU-minute/phút 6.5 CPU-hour miễn phí;1.729

CPU-hour

72 minute/phút

CPU-Bảng Định mức đối với các tài nguyên cơ bản

Tài nguyên Định mức miễn phí Định mức thu phí

Lưu trữ dữ liệu 1 gigabyte 1 gigabyte miễn phí; không

giới hạn

Bảng định mức lưu trữ

Trang 22

Loại tài

nguyên Giới hạn hàng Định mức miễn phí Định mức trả phí

ngày Mức tối đa Giới hạn hàng ngày Mức tối đa

Gọi API lưu

trữ dữ liệu

10.000.000 lời gọi

50 minute/phút

CPU-Bảng định mức với các tài nguyên liên quan tới lưu trữ

Ý nghĩa các loại tài ngyên:

• Requests: số yêu cầu đến ứng dụng

• Băng thông ra: tổng lượng dữ liệu gửi bởi ứng dụng để đáp ứng yêu cầu

• Băng thông vào: tổng lượng dữ liệu ứng dụng nhận được từ người dùng

• CPU time: tổng thời gian để xử lý yêu cầu, gồm thời gian chạy ứng dụng vàthời gian thực hiện các nhiệm vụ lưu trữ dữ liệu Không bao gồm thời gian đợicác dịch vụ khác CPU time được tính theo từng giây, nó bằng số CPU cycle

mà bộ xử lý 1.2 Ghz x86 của Intel thực hiện được trong khoảng thời gian đó

• Lưu trữ dữ liệu: dung lượng vật lý dùng để lưu dữ liệu

• Gọi API lưu trữ dữ liệu: tổng số lần ứng dụng gọi, thêm sửa xóa một thực thểhay thực hiện truy vấn

• Gửi dữ liệu đến API: tổng lượng dữ liệu gửi đến khi muốn tạo, sửa hay truyvấn

• Lấy dữ liệu từ API: tổng lượng dữ liệu nhận được khi thực hiện truy vấn

• Thời gian dùng CPU lưu dữ liệu: một phần của CPU time dùng để thực hiệncác lệnh truy xuất dữ liệu

Và dưới đây là giá các loại tài nguyên:

Tài nguyên Đơn vị Giá từng đơn vị Băng thông ra Gigabyte 0.12$

Băng thông vào Gigabyte 0.10$

Lưu trữ dữ liệu Gigabyte/tháng 0.15$

Nhận email biên lai Bản 0.0001$

Bảng giá các tài nguyên căn bản

Mỗi dịch vụ của google cũng có một định mức miễn phí và định mức khi thu phí đượcphép sử dụng Tuy nhiên Google chỉ tính tiền theo những tài nguyên nêu ở bảng trên

Trang 23

2 Môi trường phát triển ứng dụng

2.1 Tổng quan

GEA cung cấp khả năng xây dựng những ứng dụng tin cây, kể cả khi chạy ở mức yêucầu nặng với lượng lớn dữ liệu GEA bao gồm những tính năng sau :

• Hỗ trợ các công nghệ web động phổ biến

• Cơ sở dữ liệu có khả năng truy vấn, sắp xếp và xử lý theo phiên

• Tự động mở rộng và cân bằng lưu lượng

• API để xác thực và gửi mail bằng tài khoản Google

• Một môi trường đầy đủ các tính năng để phát triển ứng dụng nội bộ

• Task queue API cung cấp cơ chế thực hiện các công việc bên ngoài các yêu cầuweb

• Task schedule cho phép lên lịch thực hiện công việc tại các thời điểm địnhtrước với khoảng cách cho trước

Tại thời điểm hiện tại GAE hỗ trợ 2 ngôn ngữ là Python và Java Trong đồ án tốtnghiệp này, nhiệm vụ của luận văn chỉ đề cấp đến việc sử dụng Java

2.2 Môi trường thực thi Java

App Engine chạy các ứng dụng Java bằng cách sử dụng máy ảo Java 6 (JVM) GEASDK hỗ trợ Java 5 trở lên, và Java 6 JVM có thể sử dụng các lớp được biên dịch vớibất kỳ phiên bản của trình biên dịch Java

App Engine sử dụng Java Servlet tiêu chuẩn cho các ứng dụng web Bạn cungcấp các lớp servlet app của bạn, JavaServer Pages (JSP), các tập tin tĩnh và file dữliệu, cùng với các mô tả triển khai (tập tin web.xml) và các file cấu hình khác, trongmột cấu trúc thư mục tiêu chuẩn WAR App Engine phục vụ yêu cầu bằng cách gọiservlets theo mô tả triển khai

JVM chạy trong môi trường sandbox "an toàn" để cô lập ứng dụng của bạnnhằm đảm bảo khả năng phục vụ và an ninh Sandbox này đảm bảo rằng các ứng dụngchỉ có thể thực hiện hành động mà không ảnh hưởng tới hiệu suất và khả năng mởrộng của các ứng dụng khác Ví dụ, một ứng dụng không thể sinh luồng, ghi dữ liệuvào hệ thống tập tin địa phương hoặc thực hiện kết nối mạng tùy ý Một ứng dụngcũng không thể sử dụng JNI hoặc mã nguồn gốc khác Các JVM có thể thực thi bất kỳ

mã bytecode Java nào trong phạm vi hạn chế sandbox

2.3 Môi trường servlet

App Engine xác định rằng một yêu cầu đến là để dành cho ứng dụng của bạn bằngcách sử dụng tên miền của yêu cầu Một yêu cầu có tên miền là id.appspot.com đượcchuyển đến các ứng dụng có ID là “id” Mỗi ứng dụng có một tên miền appspot.commiễn phí

Tên miền appspot.com cũng hỗ trợ các tên miền phụ của id.appspot.com theomấu subdomain.id.appspot.com, nơi tên miền phụ có thể được bất kỳ chuỗi được chophép trong một phần của một tên miền (không phải “.”) Yêu cầu gửi đến bất kỳ tên

Trang 24

Bạn có thể thiết lập một tên miền cấp cao tùy chỉnh bằng cách sử dụng GoogleApps Với Google Apps, bạn chỉ định tên miền phụ của lĩnh vực kinh doanh của bạn

để ứng dụng khác nhau, chẳng hạn như Google Mail hay trang web Bạn cũng có thểkết hợp một ứng dụng App Engine với một tên miền phụ Để thuận tiện, bạn có thểthiết lập một Google Apps miền khi bạn đăng ký ứng dụng của bạn ID, hoặc sau đó từAdministrator Console

Tất cả các yêu cầu đến các URL này đều được chuyển tới phiên bản ứng dụng

mà ta đã chọn làm phiên bản mặc định trong Administrator Console Mỗi phiên bảncủa ứng dụng cũng có URL riêng của mình, vì vậy ta có thể triển khai và thử nghiệmmột phiên bản mới trước khi đặt nó là phiên bản mặc định URL cuả các phiên bản cụthể sử dụng các định danh phiên bản từ tập tin cấu hình ứng dụng đi kèm với tên miềnappspot.com, theo mẫu sau: version-id.latest.application-id.appspot.com Ta cũng cóthể sử dụng tên miền phụ với các URL của phiên bản cụ thể: subdomain.version-id.latest.application-id.appspot.com

Các tên miền được sử dụng để yêu cầu được bao gồm trong các dữ liệu của yêucầu chuyển vào ứng dụng Nếu bạn muốn ứng dụng của bạn có thể trả lời khác nhautùy thuộc vào tên miền được sử dụng để truy cập vào nó (để hạn chế truy cập vào cáclĩnh vực nhất định, hoặc chuyển hướng đến một tên miền chính thức), bạn có thể kiểmtra các dữ liệu yêu cầu (chẳng hạn như phần tiêu đề Host của yêu cầu) bằng mã ứngdụng và đáp ứng phù hợp

Khi App Engine nhận được một yêu cầu cho ứng dụng web của bạn, nó gọi cácservlet tương ứng với URL, như mô tả trong mô tả triển khai của ứng dụng (các fileweb.xml trong thư mục /WEB-INF) Nó sử dụng Java Servlet API để cung cấp dữ liệuyêu cầu cho servlet, và nhận về các dữ liệu phản hồi

App Engine sử dụng nhiều máy chủ web để chạy ứng dụng của bạn, và tự độngđiều chỉnh số lượng các máy chủ để xử lý yêu cầu một cách tin cậy Một yêu cầu nhấtđịnh có thể được chuyển đến máy chủ nào đó, và nó có thể không cùng một máy chủ

đã xử lý một yêu cầu trước đó từ cùng một người dùng

Ví dụ lớp servlet sau đây sẽ hiển thị một thông điệp đơn giản trên trình duyệt của người dùng.

import java.io.IOException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;

public class MyServlet extends HttpServlet { public void doGet(HttpServletRequest req, HttpServletResponse

resp) throws IOException { resp.setContentType("text/plain"); resp.getWriter().println("Hello, world");} }

}

Trang 25

App Engine gọi servlet với một đối tượng yêu cầu và một đối tượng phản hồi, sau đóđợi cho servlet để thiết lập đối tượng phản hồi và trả về Khi servlet trả về đối tượngphản hồi, dữ liệu về đối tượng phản hồi được gửi đến người dùng.

Một hàm xử lý yêu cầu có một lượng hạn chế thời gian để tạo ra và trả về mộtđáp ứng yêu cầu, thông thường khoảng 30 giây Một khi thời hạn đã được đạt tới, cáchàm xử lý yêu cầu bị gián đoạn

Môi trường Java runtime ngắt các servlet bằng cách đưa ra một ngoại lệcom.google.apphosting.api.DeadlineExceededException Nếu xử lý yêu cầu không bắtngoại lệ này, như với tất cả các trường hợp ngoại lệ còn chưa được xử lý, môi trườngthực thi sẽ trả lại một lỗi HTTP 500 máy chủ cho khách hàng

Việc xử lý yêu cầu có thể bắt lỗi này để tuỳ chỉnh các phản ứng Môi trườngthực thi cho các xử lý yêu cầu thêm một ít thời gian (ít hơn một giây) sau khi đưa rangoại lệ để chuẩn bị một phản ứng đã được tùy biến

Trong khi một yêu cầu có thể dùng đến 30 giây để được trả lời, App Engineđược tối ưu hóa cho các ứng dụng với các yêu cầu có thời gian phản hồi ngắn, thường

là những yêu cầu cần một vài trăm mili giây Một ứng dụng hiệu quả phải có phản hồinhanh chóng cho phần lớn các yêu cầu Một ứng dụng không như vậy sẽ không có khảnăng mở rộng với cơ sở hạ tầng quy mô App Engine của

2.4 Hộp cát (sandbox)

Để cho phép App Engine để phân phối các yêu cầu cho các ứng dụng giữa các máychủ web, và để ngăn chặn một ứng dụng can thiệp đến các ứng dụng khác, ứng dụngđược cho chạy trong môi trường sandbox Trong môi trường này, các ứng dụng có thểthực thi mã, lưu trữ và truy vấn dữ liệu trong kho dữ liệu App Engine, sử dụng dịch vụApp Engine mail, URL fetch, dịch vụ người dùng (xem thêm ở phần các dịch vụ củaGEA), và kiểm tra yêu cầu web của người dùng và chuẩn bị các kết quả trả về

Một ứng dụng App Engine không thể:

• Thay đổi hệ thống tập tin Các ứng dụng phải sử dụng App Engine datastore đểlưu trữ dữ liệu Cho phép đọc dữ liệu từ hệ thống tập tin, và từ các tập tin tảilên cùng với ứng dụng

• Mở một socket hoặc truy cập trực tiếp một máy chủ khác Một ứng dụng có thể

sử dụng dịch vụ App Engine URL fetch để tạo yêu cầu HTTP và HTTPS đếnmáy chủ khác trên cổng 80 và 443, tương ứng

• Sinh ra một tiến trình phụ hoặc luồng Một yêu cầu phải được xử lý trong mộttiến trình duy nhất trong vòng vài giây Tiến trình mất một thời gian rất dài đểđáp ứng được chấm dứt để tránh quá tải máy chủ web

• Tạo các loại cuộc gọi hệ thống khác

Ngày đăng: 19/05/2015, 22:44

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[2] iBm Center for the Business of Government, “Moving to the cloud: An introduction to cloud computing in government”, 2009, http://www.businessofgovernment.us/pdfs/WyldCloudReport.pdf Sách, tạp chí
Tiêu đề: Moving to the cloud: An introduction to cloud computing in government
Tác giả: iBm Center for the Business of Government
Năm: 2009
[3] Tahir Akram, “Developing Java Web Applications In Google App Engine”, 19/12/2009, slide tại trang www.slideshare.net Sách, tạp chí
Tiêu đề: Developing Java Web Applications In Google App Engine
Tác giả: Tahir Akram
Năm: 2009
[4] Google App Engine Documentation , http://code.google.com/appengine/ . [5] SanjayGhemawat ,HowardGobioff, and Shun-TakLeung, “The Google FileSystem”, 2003, http://labs.google.com/papers/gfs-sosp2003.pdf Sách, tạp chí
Tiêu đề: The Google FileSystem
Tác giả: Sanjay Ghemawat, Howard Gobioff, Shun-Tak Leung
Năm: 2003
[6] Google Web Toolkit Documentation , http://code.google.com/webtoolkit/ Sách, tạp chí
Tiêu đề: Google Web Toolkit Documentation
[7] Ryan Dewsbury, “Google Web Toolkit Application”, 2009, NXB Prentice Hall Sách, tạp chí
Tiêu đề: Google Web Toolkit Application
Nhà XB: NXB PrenticeHall
[8] Rick Hightower, 3 phần của “Google App Engine for Java”, 8/2009, http://www.ibm.com/developerworks/java/library/j-gaej1/ Sách, tạp chí
Tiêu đề: Google App Engine for Java
Tác giả: Rick Hightower
Nhà XB: IBM Developer
Năm: 2009

HÌNH ẢNH LIÊN QUAN

Hình 2.1. Các loại dịch vụ Cloud Computing - Tìm hiểu Cloud Computing và nền tảng Google app engine
Hình 2.1. Các loại dịch vụ Cloud Computing (Trang 5)
Hình 2.1.1: Tầng SaaS - Tìm hiểu Cloud Computing và nền tảng Google app engine
Hình 2.1.1 Tầng SaaS (Trang 6)
Hình : cấu trúc của SaaS - Tìm hiểu Cloud Computing và nền tảng Google app engine
nh cấu trúc của SaaS (Trang 8)
Hình 6: Mô hình PaaS - Tìm hiểu Cloud Computing và nền tảng Google app engine
Hình 6 Mô hình PaaS (Trang 9)
Hình 2.1.1 :Cấu trúc tầng  IASS - Tìm hiểu Cloud Computing và nền tảng Google app engine
Hình 2.1.1 Cấu trúc tầng IASS (Trang 10)
Hình 2.2: Mô hình triễn khai - Tìm hiểu Cloud Computing và nền tảng Google app engine
Hình 2.2 Mô hình triễn khai (Trang 11)
Hình 2.2.1: Mô hình Public Cloud - Tìm hiểu Cloud Computing và nền tảng Google app engine
Hình 2.2.1 Mô hình Public Cloud (Trang 12)
Hình 2.2.2 : Mô hình Private Cloud - Tìm hiểu Cloud Computing và nền tảng Google app engine
Hình 2.2.2 Mô hình Private Cloud (Trang 13)
Hình 2.2.4 : Community Cloud - Tìm hiểu Cloud Computing và nền tảng Google app engine
Hình 2.2.4 Community Cloud (Trang 15)
Bảng định mức lưu trữ - Tìm hiểu Cloud Computing và nền tảng Google app engine
ng định mức lưu trữ (Trang 21)
Bảng giá các tài nguyên căn bản - Tìm hiểu Cloud Computing và nền tảng Google app engine
Bảng gi á các tài nguyên căn bản (Trang 22)
Bảng định mức dịch vụ URL fetch - Tìm hiểu Cloud Computing và nền tảng Google app engine
ng định mức dịch vụ URL fetch (Trang 33)
Bảng định mức dịch vụ Mail - Tìm hiểu Cloud Computing và nền tảng Google app engine
ng định mức dịch vụ Mail (Trang 35)
Hình Phép thay đổi kích cỡ - Tìm hiểu Cloud Computing và nền tảng Google app engine
nh Phép thay đổi kích cỡ (Trang 40)
Hình Phép lật ngang - Tìm hiểu Cloud Computing và nền tảng Google app engine
nh Phép lật ngang (Trang 41)

TỪ KHÓA LIÊN QUAN

w