Google App Engine là một hệ thống tích hợp đầy đủ các kĩ thuật cho một ứngdụng web hiện đại. Google App Engine cung cấp một khả năng phát triển và triểnkhai ứng dụng nhanh chóng, việc quản lý đơn giản, dễ dàng để quy mô như lưulượng truy cập và nhu cầu lưu trữ dữ liệu của ứng dụng lớn. Người dùng không cần lo lắng đến phần cứng, các bản vá lỗi hoặc sao lưu.Qua đó để nắm bắt được công nghệ tương lai này, em thực hiện đề tài: “Tìmhiểu về dịch vụ Google App Engine của Google” .
Trang 1NHẬN XÉT ĐÁNH GIÁ
Trang 2
LỜI MỞ ĐẦU
Hiện nay chúng ta nghe nói về điện toán đám mây (Cloud Computing) khá nhiều Đây là mô hình điện toán sử dụng mạng máy tính và phát triển dựa vào mạng Internet Điện toán đám mây là khái niệm tổng thể bao gồm các khái niệm như phần mềm dịch vụ, Web 2.0 và các vấn đề khác xuất hiện gần đây, các xu hướng công nghệ nổi bật nhưng chủ yếu dựa vào Internet để đáp ứng những nhu cầu điện toán của người dùng
Google App Engine (viết tắt là AppEngine hay GAE), một trong những nền tảng điện toán đám mây phát triển hàng đầu trên thị trường Ở đó, Google có cung cấp sẵn một hệ thống máy chủ điện toán đám mây và người lập trình viết ứng dụng của mình trên đó Ứng dụng này sẽ chạy trên đám mây của Google Google App Engine cũng cấp những ứng dụng kinh doanh trực tuyến thông thường, có thể truy cập từ một trình duyệt web, còn các dữ liệu và phần mềm được lưu trên máy chủ
Google App Engine là một hệ thống tích hợp đầy đủ các kĩ thuật cho một ứng dụng web hiện đại Google App Engine cung cấp một khả năng phát triển và triển khai ứng dụng nhanh chóng, việc quản lý đơn giản, dễ dàng để quy mô như lưu lượng truy cập và nhu cầu lưu trữ dữ liệu của ứng dụng lớn Người dùng không cần
lo lắng đến phần cứng, các bản vá lỗi hoặc sao lưu
Qua đó để nắm bắt được công nghệ tương lai này, em thực hiện đề tài: “Tìm hiểu về dịch vụ Google App Engine của Google”
Trang 3CHƯƠNG 1: TỔNG QUAN VỀ ĐIỆN TOÁN ĐÁM MÂY
1 Khái niệm
Điện toán đám mây (tiếng Anh: Cloud Computing), còn gọi là điện toán máy chủ
ảo, là mô hình điện toán sử dụng các công nghệ máy tính và phát triển dựa vào mạng Internet Thuật ngữ "đám mây" ở đây là lối nói ẩn dụ chỉ mạng Internet (dựa vào cách được bố trí của nó trong sơ đồ mạng máy tính) và như một liên tưởng về độ phức tạp của các cơ sở hạ tầng chứa trong nó Ở mô hình điện toán này, mọi khả năng liên quan đến công nghệ thông tin đều được cung cấp dưới dạng các "dịch vụ", cho phép người sử dụng truy cập các dịch vụ công nghệ từ một nhà cung cấp nào đó
"trong đám mây" mà không cần phải có các kiến thức, kinh nghiệm về công nghệ
đó, cũng như không cần quan tâm đến các cơ sở hạ tầng phục vụ công nghệ đó Theo
tổ chức IEEE "Nó là hình mẫu trong đó thông tin được lưu trữ thường trực tại các máy chủ trên Internet và chỉ được được lưu trữ tạm thời ở các máy khách, bao gồm máy tính cá nhân, trung tâm giải trí, máy tính trong doanh nghiệp, các phương tiện máy tính cầm tay, "
Hình 1: Cloud Computing
Điện toán đám mây là khái niệm tổng thể bao gồm cả các khái niệm như phần mềm dịch vụ, Web 2.0 và các vấn đề khác xuất hiện gần đây, các xu hướng công nghệ nổi bật, trong đó đề tài chủ yếu của nó là vấn đề dựa vào Internet để đáp ứng những nhu cầu điện toán của người dùng Ví dụ, dịch vụ Google AppEngine cung
Trang 4cấp những ứng dụng kinh doanh trực tuyến thông thường, có thể truy nhập từ một trình duyệt web, còn các phần mềm và dữ liệu đều được lưu trữ trên các máy chủ
2 Lịch sử
Thuật ngữ điện toán đám mây xuất hiện bắt nguồn từ ứng dụng điện toán lưới (grid computing) trong thập niên 1980, tiếp theo là điện toán theo nhu cầu (utility computing) và phần mềm dịch vụ (SaaS)
Điện toán lưới đặt trọng tâm vào việc di chuyển một tải công việc (workload) đến địa điểm của các tài nguyên điện toán cần thiết để sử dụng Một lưới là một nhóm máy chủ mà trên đó nhiệm vụ lớn được chia thành những tác vụ nhỏ để chạy song song, được xem là một máy chủ ảo
Với điện toán đám mây, các tài nguyên điện toán như máy chủ có thể được định hình động hoặc cắt nhỏ từ cơ sở hạ tầng phần cứng nền và trở nên sẵn sàng thực hiện nhiệm vụ, hỗ trợ những môi trường không phải là điện toán lưới như Web ba lớp chạy các ứng dụng truyền thống hay ứng dụng Web 2.0
3 Kiến trúc
Đại bộ phận hạ tầng cơ sở của điện toán đám mây hiện nay là sự kết hợp của những dịch vụ đáng tin cậy được phân phối thông qua các trung tâm dữ liệu (data center) được xây dựng trên những máy chủ với những cấp độ khác nhau của các công nghệ ảo hóa Những dịch vụ này có thể được truy cập từ bất kỳ đâu trên thế giới, trong đó Đám mây là một điểm truy cập duy nhất cho tất cả các máy tính có nhu cầu của khách hàng Các dịch vụ thương mại cần đáp ứng yêu cầu chất lượng dịch vụ từ phía khách hàng và thông thường đều đưa ra các mức thỏa thuận dịch vụ (Service level agreement) Các tiêu chuẩn mở (Open standard) và phần mềm mã nguồn mở (open source software) cũng góp phần phát triển điện toán máy chủ ảo
Trang 5Hình 2: Kiến trúc của điện toán đám mây
4.1: Tính tự phục vụ theo nhu cầu
• Đặc tính kỹ thuật của điện toán đám mây cho phép khách hàng đơn phương thiết lập yêu cầu nguồn lực nhằm đáp ứng yêu cầu của hệ thống như: Thời gian sử dụng Server, dung lượng lưu trữ, cũng như là khả năng đáp ứng các tương tác lớn của hệ thống ra bên ngoài
4.2: Truy cập diện rộng
• Điện toán đám mây cung cấp các dịch vụ chạy trên môi trường Internet do vậy khách hàng chỉ cần kết nối được với Internet là có thể sử dụng được dịch vụ.Các thiết bị truy xuất thông tin không yêu cầu cấu hình cao (thin
or thick client platforms) như : Mobile phone, Laptop và PDAs…
4.3: Dùng chung tài nguyên và độc lập vị trí
• Tài nguyên của nhà cung cấp dịch vụ được dùng chung, phục vụ cho nhiều người dùng dựa trên mô hình “multi-tenant” Mô hình này cho phép tài nguyên phần cứng và tài nguyên ảo hóa sẽ được cấp pháp động dựa vào nhu cầu của người dùng Khi nhu cầu người dùng giảm xuống hoặc tăng nên thì tài nguyên sẽ được trưng dụng để phục vụ yêu cầu
Trang 6• Người sử dụng không cần quan tâm tới việc điều khiển hoặc không cần phải biết chính xác vị trí của các tài nguyên sẽ được cung cấp Ví dụ : Tài nguyên sẽ được cung cấp bao gồm : Tài nguyên lưu trữ, xử lý, bộ nhớ, băng thông mạng và máy ảo
4.4: Khả năng co giãn nhanh chóng
• Khả năng này cho phép tự động mở rộng hoặc thu nhỏ hệ thống tùy theo nhu cầu của người sử dụng một cách nhanh chóng Khi nhu cầu tăng, hệ thống sẽ tự động mở rộng bằng cách thêm tài nguyên vào Khi nhu cầu giảm, hệ thống sẽ tự động giảm bớt tài nguyên
• Khả năng co giãn giúp cho nhà cung cấp sử dụng tài nguyên hiệu quả, tận dụng triệt để tài nguyên dư thừa, phục vụ được nhiều khách hàng Đối với người sử dụng dịch vụ, khả năng co giãn giúp họ giảm chi phí do họ chỉ trả phí cho những tài nguyên thực sự dùng
4.5: Chi trả theo thực dùng
• Nhiều dịch vụ điện toán đám mây sử dụng mô hình điện toán theo nhu cầu,
mô hình tương tự với cách các tiện ích theo nhu cầu truyền thống như điện được tiêu thụ, trong khi một số khác tiếp thị dựa vào tiền đóng trước Điện toán đám mây cho phép giới hạn dung lượng lưu trữ, băng thông, tài nguyên máy tính và số lượng người dùng kích hoạt theo tháng
• Ngoài năm đặc điểm chính đã mô tả ở trên, điện toán đám mây còn cung cấp một số các đặc điểm sau :
• Độ tin cậy: Độ 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ần lớ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 kinh doanh, IT phải làm cho nó ít đi
• Hiệu suất: 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ối lỏng lẽo được cấu trúc dùng web service như giao tiếp hệ thống
• Khả năng chịu đựng: Khả năng chịu đựng xảy ra thông qua việc tận dụng tài nguyên đã được cải thiệ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ủ
Trang 75 Mô hình dịch vụ trong điện toán đám mây
Dịch vụ Cloud Computing (CC) 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ủ ảo, không gian lưu trữ dữ liệu, hay một hệ điều hành, một công cụ lập trình, hay một ứng dụng kế toán… Các dịch vụ cũng được phân loại khá đa dạng, nhưng các mô hình dịch vụ CC phổ biến nhất có thể được phân thành 3 nhóm: Dịch vụ hạ tầng (IaaS), Dịch vụ nền tảng (PaaS) và Dịch vụ phần mềm (SaaS)
5.1: Dịch vụ hạ tầng Iaas (Infrastructure as a Service)
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ác hàng (cá nhân hoặc tổ chức) có thể sử dụng tài ngiên hạ tầng này để đáp ứng nhu cầu tính toán hoặc cìa đặt ứng dụng riêng cho người sử dụng Với dịch vụ này khác hàng làm chủ hệ điều hành, lưu trữ 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 Khách hàng có thể đăng ký sử dụng một máy tính ảo trên dịch vụ của Amazon và lựa chọn một hệ điều hành (ví dụ, Windows hoặc Linux) và tự cài đặt ứng dụng của mình
5.2: Dịch vụ nền tảng PaaS (Platform as a Service)
Dịch vụ PaaS cung cấp nền tảng điện toán cho phép khách hàng phát triển các phần mềm, phục vụ nhu cầu tính toán hoặc xây dựng thành dịch vụ trên nền tảng Cloud đó Dịch vụ PaaS có thể được cung cấp dưới dạng các ứng dụng lớp giữa (middleware), các ứng dụng chủ (application server) cùng các công cụ lập trình với ngôn ngữ lập trình nhất định để xây dựng ứng dụng Dịch 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 hạ tầng CC 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ự trên ngôn ngữ lập trình Java hoặc Python
5.3: Dịch vụ phần mềm SaaS (Software as a Service)
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
Trang 8dụng phù hợp với nhu cầu và sử dụng mà không quan tâm 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 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
6 Các mô hình triển khai của điện toán đám mây
Có 4 mô hình triển khai chính đám mây đó là: Đám mây công cộng (Public Cloud), đám mây riêng (Private Cloud) , đám mây lai (Hybrid Cloud) và đám mây cộng đồng (Community Cloud)
Hình 3: Mô hình triển khai điện toán đám mây
Trang 9Hình 4 : Mô hình đám mây riêng
Đám mây riêng có thể được xây dựng và quản lý bởi chính đội ngũ IT của doanh nghiệp hoặc có thể thuê một nhà cung cấp dịch vụ đảm nhiệm công việc này
6.2: Public Cloud
Các dịch vụ Cloud được nhà cung cấp dịch vụ cung cấp cho mọi người sử dụng rộng rãi Các dịch vụ được cung cấp và quản lý bởi một nhà cung cấp dịch vụ
và các ứng dụng của người dùng đều nằm trên hệ thống Cloud
Các tài nguyên trong đám mây sẽ được cấp phát động, Các dịch vụ được cung cấp thông qua môi trường internet Khách hàng sử dụng dịch vụ sẽ được lợi là chi phí đầu tư thấp, giảm thiểu rủi ro do nhà cung cấp dịch vụ đã gánh vác nhiệm vụ quản lý hệ thống, cơ sở hạ tầng, bảo mật ngoài ra đám mây công cộng còn cung cấp khả năng co giãn theo yêu cầu của người sử dụng
Trang 10Hình 5 : Mô hình đám mây công cộng
Public Cloud có một trở ngại, đó là vấn đề mất kiểm soát về dữ liệu và vấn đề an toàn dữ liệu Trong mô hình này mọi dữ liệu đều nằm trên dịch vụ Cloud, do nhà cung cấp dịch vụ Cloud đó bảo vệ và quản lý Chính điều này khiến cho khách hàng, nhất là các công ty lớn cảm thấy không an toàn đối với những dữ liệu quan trọng của mình khi sử dụng dịch vụ Cloud
6.3: Community Cloud
Đám mây cộng đồng được xây dựng nhằm mục đích chia sẻ hạ tầng giữa các
tổ chức(doanh nghiệp) Ví dụ các doanh nghiệp hoạt động trong cùng lĩnh vực y tế
có thể chia sẻ chung đám mây Tuy nhiên để xây dựng đám mây công đồng thì ngoài việc cùng chung lĩnh vực hoạt động kinh doanh thì các doanh nghiệp cần phải có nhiều điểm tương đồng như có cùng mối quan tâm chung về bảo mật, …Khi đó các doanh nghiệp này sẽ nhóm họp nhau lại để cùng xây dụng đám mây cộng đồng chung nhằm phục vụ cho chính các doanh nghiệp của họ
Trang 11Thiết lập, chạy và điều hành điện đám mây cộng đồng một chút giống như điều hành bệnh viện, trường học vì vậy chắc hẳn sẽ xuất hiện những vấn đề và những rủi ro, người điều hành cần phải có một kế hoạch cụ thể nhằm giảm thiểu và xử lý những vấn đề phát sinh gặp phải
Trang 12Quá trình xây dựng và triển khai đám mây cộng đồng là tốn kém hơn nhưng nó đáp ứng được sự riêng tư, an ninh và có thể thiết lập các quy tắc để tuân thủ các chính sách thực hiện quản lý đám mây giữa các doanh nghiệp
6.4: Hybrid Cloud
Ý tưởng hình thành của đám mây lai đó là việc triển khai đám mây dựa trên
ưu điểm của đám mây riêng và đám mây công cộng Với đám mây công cộng dễ áp dụng, chi phí thấp nhưng không an toàn Ngược lại, Private Cloud an toàn hơn nhưng tốn chi phí và khó áp dụng
Hình 7: Mô hình đám mây lai
Hybrid Cloud là sự kết hợp của Public Cloud và Private Cloud Trong đó doanh nghiệp sẽ “out-source” các chức năng nghiệp vụ và dữ liệu không quan trọng, sử dụng các dịch vụ Public Cloud để giải quyết và xử lý các dữ liệu này Đồng thời, doanh nghiệp sẽ giữ lại các chức năng nghiệp vụ và dữ liệu tối quan trọng trong tầm
Trang 137 Các nhà cung cấp
Điện toán đám mây đang được phát triển và cung cấp bởi nhiều nhà cung cấp, trong đó có Amazon, Google, EXA, và Salesforce cũng như những nhà cung cấp truyền thống như Sun Microsystems, HP, IBM, Intel, Cisco và Microsoft Nó đang được nhiều người dùng cá nhân cho đến những công ty lớn như General Electric, L'Oréal, Procter & Gamble và Valeo chấp nhận và sử dụng
• Đối với những tổ chức, hoặc công ty khi sử dụng công nghệ điện toán đám mây này sẽ giảm bớt được chi phí đầu tư ban đầu về cơ sở hạ tầng, bên cạnh
đó những chi phí như máy móc và nguồn nhân lực cũng sẽ được giảm đến mức thấp nhất
• Loại bỏ được yếu tố vật lý và địa lý, với không gian ảo, điện toán đám mây sẽ cho phép người dùng truy cập và sử dụng hệ thống thông qua mạng Internet
ở bất kỳ đâu và trên bất kỳ thiết bị nào mà họ sử dụng
• Với khả năng tiện dụng, cộng nghệ điện toán đám mây phù hợp với nhiều mô hình công việc, có thể áp dụng cho nhiều lĩnh vực Đáp ứng được mọi nhu cầu
từ phổ thông đến những nhu cầu trong kinh doanh và nghiên cứu khoa học…
• Khả năng mở rộng và thu hẹp nhanh chóng, tránh được tình trạng hoang phí hay thiếu hụt tài nguyên khi triển khai công việc, giúp cải thiện chất lượng các dịch vụ được cung cấp trên điện toán đám mây
• Với mô hình 3 lớp của điện toán đám mây, khả năng bảo mật có thể nói là tương đối ổn
• Các ứng dụng triển khai trên nền tảng điện toán đám mây có thể dễ dàng sửa chữa và cải thiện về tính năng, bởi chúng không được cài đặt cố định trên một máy tính nào