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

Bài Tập Lớn Môn Điện Toán Đám Mây Chủ Đề Google App Engine.pdf

20 1 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Nội dung

Trang 1

TRƯỜNG ĐẠI HỌC KINH DOANH VÀ CÔNG NGHỆ HÀ NỘIKHOA CÔNG NGHỆ THÔNG TIN

BÀI TẬP LỚN MÔN ĐIỆN TOÁN ĐÁM MÂYChủ đề : GOOGLE APP ENGINE

Lớp : PM25.15

Sinh viên thực hiện : Trần Văn Hoàng AnhTô Vũ HoàngNguyễn Đình Linh Nguyễn Thanh HoàngNgô Đức Anh Vũ Xuân HinhGiảng viên hướng dẫn : Lê Anh

Hà Nội , ngày 7 tháng 12 năm 2023

Trang 2

Thứ ba, các tài liệu trong bài được tìm hiểu và chọn lọc từ những nguồn uytín trên internet.

Đại diện nhóm 3Hoàng AnhTrần Văn Hoàng Anh

Trang 3

1.2 Khái niệm về điện toán đám mây 6

1.3 Kiến trúc của điện toán đám mây 7

1.4 Đặc điểm của điện toán đám mây 7

1.5 Mô hình dịch vụ 8

1.6 Mô hình của điện toán đám mây 9

1.7 Ưu điểm và nhược điểm của điện toán đám mây 11

II : Nền tảng Google App Engine 11

2.1 Giới thiệu về Google App Engine : 12

2.2 Các nền tảng được hỗ trợ 13

2.3 Tương Thích với Xu Hướng Hiện Đại: 13

III: Các bước làm bài tập lớn 14

14

III: Dịch vụ SAAS 16

3.1 SaaS: Mở Rộng Chức Năng và Tiết Kiệm Thời Gian 16

3.2 Khả Năng Tương Thích Mạnh Mẽ 17

3.3 Quản Lý Dữ Liệu Hiệu Quả 17

3.4 Google Workspace: Tối Ưu Hóa Công Việc Nhóm 17

3.5 Giảm Bớt Gánh Nặng Quản Lý 18

3.6 Sự Kết Hợp với Dịch Vụ Bảo Mật của Google Cloud 18

Kết luận : Hướng tới tương lai 18

Kết luận : 19

Tài liệu tham khảo : 20

Trang 4

Mở đầu

Trong lĩnh vực công nghệ thông tin, ngày nay ngoài các ứng dụng để bàn,một xu hướng mới đáng chú ý là phát triển các ứng dụng web và các ứng dụngcho thiết bị di động Tất cả các ứng dụng này đều cần được lưu ở một máy chủ đểngười dùng có thể truy cập được thông qua mạng.

Điện toán đám mây ra đời và đang là xu hướng mới của ngày nay Trong điện toánđám mây, Các nguồn thông tin và tính toán khổng lồ sẽ nằm tại các máy chủ ảo (đám mây) được truy cập thông qua Internet để kết nối với mọi người khi cần.Thông qua đám mây các doanh nghiệp không cần phải mua các phần mềm, duy trìcác dịch vụ mà chỉ cần sử dụng các dịch vụ sẵn có trên Internet để phục vụ cho nhucầu công việc của mình.

Google là một trong những nhà cung cấp dịch vụ điện toán đám mây hiệnnay, trong đó Google App Engine là một nền tảng chiến lược của Google GoogleApp Engine cung cấp cho lập trình viên nhiều tiện ích và hạ tầng để xây dựng cácứng dụng trên nền web.

Tìm hiểu về điện toán đám mây, cụ thể là công cụ google App Engine là điểm trọng tâm của bài tập lớn môn học này.

Xin chân thành cảm ơn cô Lê Anh đã giúp chúng em có nhìn mới và tổng quan về môn học.

Trang 5

Nội dung chính :

I: Giới thiệu về điện toán đám mây

Cloud Computing (CC) là mô hình diện toán cho phép truy cập qua mạng đểlựa chọn và sử dụng tài nguyên tính toán theo nhu cầu một cách thuận tiện vànhanh chóng, đồng thời cho phép kết thúc sử dụng dịch vụ, giải phóng tài nguyêndễ dàng, giảm thiểu các giao tiếp với nhà cung cấp.

1.1 Lịch sử hình thành

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ánlướ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.

Trang 6

1.2 Khái niệm về điện toán đám mây

Hình 1.1

 Điện toán đám mây (thuật ngữ tiếng Anh: Cloud computing, hay còn được biếtđến với tên gọi “Điện toán máy chủ ảo”) là mô hình máy tính dựa trên nền tảng phát triển của internet, nơi được chia sẻ tài nguyên, phần mềm và thông tin cung cấp cho máy tình cũng như các thiết bị khác theo yêu cầu qua 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 đượcbố 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ủacá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ó

Trang 7

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ệ đó.

1.3 Kiến trúc của điện toán đám mây

Điểm chủ yếu trong cơ sở hạ tầng của điện toán đám mây hiện nay bao gồm các dịch vụ tin cậy được phân phối qua trung tâm dữ liệu và được xây dựng trên các máy chủ với các công nghệ ảo hóa khác nhau

Các dịch vụ này có thể truy cập được từ bất kỳ nơi nào trên thế giới, và “đám mây”là điểm truy cập duy nhất đáp ứng tất cả nhu cầu của người dùng máy tính Việc cung cấp đám mây phải phù hợp với yêu cầu của khách hàng về chất lượng dịch vụ và mức độ chấp nhận của dịch vụ Các tiêu chuẩn mở và phần mềm nguồn mở cũng quyết định đến sự lớn mạnh của điện toán đám mây.

Kiến trúc đám mây gồm: nền tảng đám mây (Cloud Platform), các dịch vụ đám mây (Cloud Service), cơ sở hạ tầng đám mây (Cloud Infrastructure), lưu trữ đám mây (Cloud Storage).

1.4 Đặc điểm của điện toán đám mây

 Điện toán đám mây có những đặc điểm chính sau đây:

 Phân phối theo nhu cầu sử dụng

 Quản lý được hiệu suất

 Tin cậy, khả năng mở rộng và cải thiện tài nguyên

Trang 8

 Khả năng duy trì

1.5 Mô hình dịch vụ

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ácmá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ậptrình, hay một ứng dụng kế toán … Các dịch vụ cũng được phân loại khá da dạng,nhưng các mô hình dịch vụ 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).

 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ách hàng (cá nhân hoặc tổ chức) có thể sử dụng tài nguyên hạ tầng này để đáp ứng nhu cầu tính toán hoặc cài đặt ứng dụng riêng cho người sử dụng Với dịch vụ này khách hàng làm chủ hệ điều hành, lưu trữ và các ứng dụng do khách hàng cài đặt Khách hàng điển hình của dịch vụ IaaS có thể là mọi đối tượng cần tới một máy tính và tự cài đặt ứng dụng của mình.Ví dụ điển hình về dịch vụ này là dịch vụ EC2 của Amazon Khách hàng có thểđăng ký sử dụng một máy tính ảo trê dịch vụ của Amazon và lựa chọn một hệ thống điều hành (ví dụ, Windows hoặc Linux) và tự cài đặt ứng dụng của mình.

 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ácphầ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ó 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ớingô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 với hạ tầng CC thông qua API đó Ở mức

Trang 9

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

 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 dụng phù hợp với nhu cầu và sử dụng mà không quan tâm tói hay bỏ công sức quản lý tài nguyên tính toán bên dưới.

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

1.6 Mô hình của điện toán đám mây

 Đám mây “công cộng”

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

Trang 10

Các dịch vụ Public Cloud hướng tới số lượng khách hàng lớn nên thường có năng lực về hạ tầng cao, đáp ứng nhu cầu tính toán linh hoạt, đem lại chi phí thấp cho khách hàng Do đó khách hàng của dịch vụ trên Public Cloud sẽ bao gồm tất cả cáctầng lớp màkhách hàng cá nhân và doanh nghiệp nhỏ sẽ được lợi thế trong việc dễ dàng tiếp cận các ứng dụng công nghệ cap, chất lượng mà không phải đầu tư ban đầu, chi phí sử dụng thấp, linh hoạt.

 Đám mây “doanh nghiệp”

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

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

 Đám mây “chung”

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

Trang 11

 Đám mây “lai”

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

1.7 Ưu điểm và nhược điểm của điện toán đám mây

 Ưu điểm của điện toán đám mây

o Tốc độ xử lý nhanh, chi phí đầu tư ban đầu được giảm đến mức thấp nhất.

Chia sẻ tài nguyên và chi phí trên một địa bàn rộng lớnĐộ tin cậy cao, các vấn đề đều được các chuyên gia xử lý.Dữ liệu được tập trung ở một nơi.

 Nhược điểm của điện toán đám mâyo Tính riêng tư, bảo mật

Tính sẵn sang, di động của dữ liệu

II : Nền tảng Google App Engine

Google App Engine (GAE) là một nền tảng phát triển và triển khai ứng dụngweb đám mây do Google cung cấp GAE cho phép các nhà phát triển xây dựng vàtriển khai các ứng dụng web mà không cần phải lo lắng về việc quản lý cơ sở hạtầng GAE cung cấp một loạt các tính năng và lợi ích.

Trang 12

Lựa chọn đề tài "Google App Engine" cho bài tập lớn về môn điện toán đám mâylà một quyết định được đưa ra sau một quá trình xem xét cẩn thận và đánh giá kỹlưỡng của tập thể chúng em Có nhiều lý do mà chúng em quyết định tập trung vàonền tảng này, và dưới đây là những lý do chi tiết và rõ ràng

2.1 Giới thiệu về Google App Engine :

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

Với App Engine, ta chỉ cần tải lên các ứng dụng, và nó sẵn sàng để phục vụ người dùng ta có thể sử dụng tên miền riêng của mình (chẳng hạn như) thông qua googleapps Hoặc có thể dùng sub-domain miễn phí của appspot.com.

GAE cho phép được host miễn phí với dung lượng 500 MB lưu trữ và cho phép 10 GB băng thông lưu chuyển mỗi ngày hay tương đương 5 triệu pageview hàng tháng, vượt qua mức này bạn sẽ phải trả phí Dùng GAE, chúng ta khỏi phải thiết kế database, viết SQL để truy vấn data, map data vô object Chúng ta chỉ cần design các class và GAE tự động lo phần làm việc với database.

Những tài nguyên này được đo bằng gigabyte và không có bất kì lệ phí hàng tháng nào hay lệ phí để chúng ta thay đổi diện mạo trang web Hóa đơn thanh toán nhữngnguồn tài nguyên này bao gồm CPU chúng ta sử dụng, lưu trữ hàng tháng, băng

Trang 13

thông vào ra (incoming and outgoing bandwidth), và một số các tài nguyên khác của dịch vụ App Engine.

2.2 Các nền tảng được hỗ trợ

Hiện App Engine hỗ trợ 2 loại ngôn ngữ chính là: Python và Java hiện tại thêm ngôn ngữ Go (đang ở mức thử nghiệm) Một số ngôn ngữ khác như PHP cũng có thể chạy được nếu cài cùng với bộ chuyển từ PHP sang Java.

Kiến trúc của App Engine khác với những server lưu trữ ứng dụng web thông thường Ở phần lõi của nó, App Engine sẽ hạn chế những truy cập từ ứng dụng của chúng ta đến cơ sở hạ tầng vật lý, ngăn cản chúng ta từ việc mở các socket, chạy các tiến trình ngầm, hay các cách đi khác bằng cổng sau để giúp chương trình của ta có quyền trên môi trường này.

Trong GAE, tùy vào ứng dụng viết theo ngôn ngữ nào, nó sẽ được chạy trên môi trường Java hay Python tương ứng Song song đó, chúng ta sẽ được cung cấp sử dụng miễn phí các dịch vụ của google như URL Fetch, Mail, Memcache, … và được lưu trữ trên cơ sở dữ liệu hướng đối tượng datastore

Khi yêu cầu được gửi lên từ phía người dùng, GAE sẽ chuyển yêu cầu đó cho ứng dụng của chúng ta Tùy theo việc xử lý chúng mà ta cấu hình và sử dụng các ứng dụng thích hợp của GAE.

2.3 Tương Thích với Xu Hướng Hiện Đại:

Việc chọn đề tài liên quan đến Google App Engine không chỉ giúp hiểu rõvề công nghệ đám mây mà còn đặt mình vào vị trí của nhà phát triển trong thế giớiphát triển phần mềm đương đại, giúp nắm bắt xu hướng và kỹ thuật mới.

Tổng cộng, việc lựa chọn đề tài "Google App Engine" cho bài tập lớn khôngchỉ là để hiểu rõ về một dịch vụ đám mây cụ thể mà còn để mở rộng tầm hiểu biếtvề điện toán đám mây và các ứng dụng thực tế của nó trong phát triển phần mềm.Thông qua việc tìm hiểu sâu rộng về Google App Engine, chúng ta có cơ hội thấu

Trang 14

hiểu sâu sắc về mô hình phát triển ứng dụng trên đám mây và cách nó liên quanđến thế giới phức tạp của công nghệ thông tin hiện đại.

III: Các bước làm bài tập lớn

Hình 4.1: Mở và đăng ký tài khoản Google App Engine

Hình 4.2 : Khi tạo tài khoản thành công sẽ có giao diện như trên

Trang 15

Hình 4.3: Tải Google Cloud SDK

Hình 4.4 : Tạo project và cấp quyền

Trang 16

Hình 4.5 : Kết quả

III: Dịch vụ SAAS

Sự kết hợp giữa Software as a Service (SaaS) và Google App Engine là mộtbước tiến quan trọng trong việc hiện thực hóa sự linh hoạt và hiệu suất trong pháttriển ứng dụng trên đám mây Khi tích hợp SaaS vào mô hình phát triển dựa trênnền tảng của Google, chúng ta không chỉ mở rộng khả năng chức năng của ứngdụng mà còn tận dụng lợi ích của việc giảm thiểu gánh nặng quản lý.

3.1 SaaS: Mở Rộng Chức Năng và Tiết Kiệm Thời Gian

SaaS, như một mô hình phần mềm dịch vụ, cung cấp ứng dụng hoặc dịch vụtrực tuyến thông qua môi trường đám mây Việc tích hợp các ứng dụng SaaS vàoGoogle App Engine mang lại sự linh hoạt về chức năng, giúp ứng dụng của bạn cóthể mở rộng và thích ứng một cách nhanh chóng với yêu cầu thay đổi.

Ngày đăng: 17/07/2024, 18:26

w