• 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 1Mục Lục
Trang 2Từ 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 3B NỘI DUNG
Trang 4CHƯƠ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 5Cả 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 62.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 7SaaS 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 8c) 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 9dụ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 10Mộ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 11Cá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 12nô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 15Do đâ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 16Việ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 17Cung 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 20CHƯƠ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 22Loạ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 232 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 24Bạ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 25App 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