Google app engine là gì

Tôi đã tự hỏi sự khác biệt giữa App Engine & Compute Engine là gì. Bất cứ ai có thể giải thích sự khác biệt với tôi?

Máy ứng dụng là Nền tảng dưới dạng dịch vụ. Điều đó có nghĩa là bạn chỉ cần triển khai mã của mình và nền tảng sẽ làm mọi thứ khác cho bạn. Ví dụ: nếu ứng dụng của bạn trở nên rất thành công, App Engine sẽ tự động tạo thêm phiên bản để xử lý âm lượng tăng lên.

Bạn đang xem: Google app engine là gì

Đọc thêm về Máy ứng dụng

Công cụ tính toán là một cơ sở hạ tầng như một dịch vụ. Bạn phải tạo và cấu hình các trường hợp máy ảo của riêng bạn. Nó cho phép bạn linh hoạt hơn và thường có chi phí thấp hơn nhiều so với App Engine. Hạn chế là bạn phải tự quản lý ứng dụng và máy ảo của mình.

Đọc thêm về Công cụ tính toán

Bạn có thể trộn cả Máy ứng dụng và Máy tính, nếu cần. Cả hai đều hoạt động tốt với các phần khác của Google Cloud Platform .

EDIT (tháng 5 năm 2016):

Một điểm khác biệt quan trọng hơn: các dự án chạy trên Máy ứng dụng có thể giảm xuống còn 0 trường hợp nếu không có yêu cầu nào được đưa vào. Điều này cực kỳ hữu ích ở giai đoạn phát triển vì bạn có thể thực hiện trong nhiều tuần mà không vượt quá hạn ngạch miễn phí hào phóng. Thời gian chạy linh hoạt (tức là “VM được quản lý”) yêu cầu ít nhất một phiên bản để chạy liên tục.

EDIT (tháng 4 năm 2017):

Hàm đám mây (hiện đang ở giai đoạn thử nghiệm) là cấp độ tiếp theo từ Máy ứng dụng về mặt trừu tượng – không có trường hợp nào! Nó cho phép các nhà phát triển triển khai các đoạn mã có kích thước vừa phải để thực hiện theo các sự kiện khác nhau, có thể bao gồm các yêu cầu HTTP, các thay đổi trong Cloud Storage, v.v.

Sự khác biệt lớn nhất với App Engine là các chức năng được định giá trên 100 mili giây, trong khi các phiên bản của App Engine chỉ tắt sau 15 phút không hoạt động. Một ưu điểm khác là các Hàm đám mây thực thi ngay lập tức, trong khi một cuộc gọi đến Máy ứng dụng có thể yêu cầu một phiên bản mới – và việc khởi động lạnh một thể hiện mới có thể mất vài giây hoặc lâu hơn (tùy thuộc vào thời gian chạy và mã của bạn).

Điều này làm cho Chức năng đám mây trở nên lý tưởng cho (a) các cuộc gọi hiếm – không cần phải giữ một cá thể sống trong trường hợp có điều gì đó xảy ra, (b) thay đổi tải nhanh trong đó các trường hợp thường quay và tắt và có thể nhiều trường hợp sử dụng hơn.

Đọc thêm về Chức năng đám mây

Sự khác biệt cơ bản là Google App Engine (GAE) là một Nền tảng là một dịch vụ ( PaaS ) trong khi Google Compute Engine (GCE) là một Cơ sở hạ tầng như một dịch vụ ( IaaS ) .

Để chạy ứng dụng của bạn trong GAE, bạn chỉ cần viết mã của mình và triển khai nó vào GAE, không phải đau đầu. Vì GAE hoàn toàn có thể mở rộng, nó sẽ tự động thu được nhiều phiên bản hơn trong trường hợp lưu lượng truy cập tăng cao hơn và giảm các trường hợp khi lưu lượng truy cập giảm. Bạn sẽ bị tính phí cho các tài nguyên mà bạn thực sự sử dụng , ý tôi là, bạn sẽ được lập hóa đơn cho Instance-Giờ , Dữ liệu được truyền , Lưu trữ vv ứng dụng của bạn thực sự được sử dụng. Nhưng hạn chế là, bạn chỉ có thể tạo ứng dụng của mình trong Python, PHP, Java, NodeJS, .NET, Ruby và ** Go .

Mặt khác, GCE cung cấp cho bạn cơ sở hạ tầng đầy đủ dưới dạng Máy ảo . Bạn có toàn quyền kiểm soát môi trường và thời gian chạy của các VM đó khi bạn có thể viết hoặc cài đặt bất kỳ chương trình nào ở đó. Trên thực tế, GCE là cách để sử dụng Google Data Center. Trong GCE, bạn phải tự cấu hình cơ sở hạ tầng của mình để xử lý khả năng mở rộng bằng cách sử dụng Load Balancer .

Cả GAE và GCE đều là một phần của Google Cloud Platform .

Cập nhật: Vào tháng 3 năm 2014, Google đã công bố một dịch vụ mới trong App Engine có tên Máy ảo được quản lý . Các máy ảo được quản lý cung cấp các ứng dụng công cụ ứng dụng linh hoạt hơn một chút so với các tùy chọn nền tảng ứng dụng, CPU và bộ nhớ. Giống như GCE, bạn có thể tạo môi trường thời gian chạy tùy chỉnh trong các máy ảo này cho ứng dụng công cụ ứng dụng. Các máy ảo được quản lý trên thực tế của App Engine làm mờ biên giới giữa IAAS và PAAS ở một mức độ nào đó.

Nói một cách đơn giản: công cụ tính toán cung cấp cho bạn một máy chủ mà bạn có toàn quyền kiểm soát/trách nhiệm. Bạn có quyền truy cập trực tiếp vào hệ điều hành và bạn cài đặt tất cả phần mềm mà bạn muốn, thường là máy chủ web, cơ sở dữ liệu, v.v …

Trong công cụ ứng dụng, bạn không quản lý hệ điều hành của bất kỳ phần mềm cơ bản nào. Bạn chỉ tải lên mã (Java, PHP, Python hoặc Go) và voila – nó chỉ chạy …

Công cụ ứng dụng giúp giảm rất nhiều đau đầu, đặc biệt là đối với những người thiếu kinh nghiệm nhưng nó có 2 nhược điểm đáng kể: 1. đắt hơn (nhưng nó có hạn ngạch miễn phí mà máy tính không có) 2. bạn có ít quyền kiểm soát hơn có thể, hoặc chỉ có thể theo một cách cụ thể (ví dụ: lưu và ghi tệp).

Hoặc để làm cho nó đơn giản hơn nữa (vì đôi khi chúng ta không phân biệt được GAE Standard và GAE Flex):

Compute Engine tương tự như một PC ảo, nơi bạn triển khai một trang web + cơ sở dữ liệu nhỏ chẳng hạn. Bạn quản lý mọi thứ, bao gồm kiểm soát các ổ đĩa được cài đặt. Nếu bạn triển khai một trang web, bạn có trách nhiệm thiết lập DNS, v.v.

Google App Engine (Standard) giống như một thư mục hộp cát chỉ đọc nơi bạn tải lên mã để thực thi và đừng lo lắng về phần còn lại (có: chỉ đọc – có một bộ thư viện cố định được cài đặt cho bạn và bạn không thể triển khai các thư viện bên thứ 3 tùy ý). DNS/Tên miền phụ, vv rất dễ dàng để lập bản đồ.

Google App Engine (Linh hoạt) trên thực tế giống như toàn bộ hệ thống tệp (không chỉ là thư mục bị khóa), nơi bạn có nhiều năng lượng hơn so với Công cụ tiêu chuẩn, ví dụ: bạn có quyền đọc/ghi, nhưng ít hơn so với Công cụ tính toán). Trong tiêu chuẩn GAE, bạn có một bộ thư viện cố định được cài đặt cho bạn và bạn không thể triển khai các thư viện bên thứ 3 theo ý muốn. Trong môi trường Linh hoạt, bạn có thể cài đặt bất kỳ thư viện nào mà ứng dụng của bạn phụ thuộc vào, bao gồm cả môi trường xây dựng tùy chỉnh (như Python 3).

Xem thêm:  #1 Đầu Số 0922 là mạng gì?

Mặc dù GAE Standard rất khó xử lý (mặc dù Google làm cho nó nghe có vẻ đơn giản), nhưng nó có quy mô thực sự tốt khi chịu áp lực. Nó cồng kềnh vì bạn cần kiểm tra và đảm bảo khả năng tương thích với môi trường bị khóa và đảm bảo mọi thư viện bên thứ 3 bạn sử dụng không sử dụng bất kỳ thư viện bên thứ 3 nào khác mà bạn không biết có thể không hoạt động theo tiêu chuẩn GAE. Phải mất nhiều thời gian hơn để thiết lập nó trong thực tế nhưng có thể bổ ích hơn trong thời gian dài hơn cho các triển khai đơn giản.

Ngoài các ghi chú của App Engine vs Compute Engine ở trên danh sách ở đây cũng bao gồm so sánh với Google Kubernete Engine và một số ghi chú dựa trên trải nghiệm với nhiều ứng dụng từ nhỏ đến rất lớn. Để biết thêm điểm, hãy xem tài liệu Google Cloud Platform mô tả các tính năng cấp cao trong Tiêu chuẩn ứng dụng và Flex trên trang Chọn Môi trường máy ứng dụng . Để so sánh khác về việc triển khai App Engine và Kubernetes, hãy xem bài đăng của Daz Wilkin App Engine Flex hoặc Kubernetes Engine .

Xem thêm: Cách Làm Mờ Ảnh Bằng Paint (Mờ Luôn Cả Ảnh), Hướng Dẫn Cách Làm Mờ Ảnh Bằng Paint

Tiêu chuẩn máy ứng dụng

Ưu điểm

Rất kinh tế cho các ứng dụng lưu lượng truy cập thấp về chi phí trực tiếp và chi phí duy trì ứng dụng.Quản lý tối thiểu, các nhà phát triển chỉ cần tập trung vào ứng dụng của họ. Các nhà phát triển không cần phải lo lắng về việc quản lý VM một cách đáng tin cậy, như trong GCE, hoặc tìm hiểu về các cụm, như với GKE.Truy cập vào Memcache được hỗ trợ.Hộp cát App Engine rất an toàn. So với việc phát triển trên GCE hoặc các máy ảo khác, nơi bạn cần thực hiện sự chuyên cần của mình để ngăn chặn máy ảo bị chiếm quyền điều khiển ở cấp độ hệ điều hành, hộp cát App Engine Standard mặc định tương đối an toàn.

Nhược điểm

Nói chung bị hạn chế hơn so với các môi trường khác Trường hợp nhỏ hơn. Mặc dù điều này tốt cho việc tự động hóa nhanh, nhưng nhiều ứng dụng có thể được hưởng lợi từ các trường hợp lớn hơn, chẳng hạn như kích thước cá thể GCE lên tới 96 lõi.Mạng không được tích hợp với GCEKhông thể đặt App Engine đằng sau Google Cloud Load Balancer. Giới hạn trong thời gian chạy được hỗ trợ: Python 2.7, Java 7 và 8, Go 1.6-1.9 và PHP 5.5. Trong Java, có một số hỗ trợ cho Servlets nhưng không phải là tiêu chuẩn J2EE đầy đủ.

Flex máy ứng dụng

Ưu điểm

Có thể sử dụng thời gian chạy tùy chỉnhTích hợp riêng với mạng GCEPhiên bản và quản lý lưu lượng thuận tiện, giống như Tiêu chuẩnCác kích thước cá thể lớn hơn có thể phù hợp hơn với các ứng dụng phức tạp lớn, đặc biệt là các ứng dụng Java có thể sử dụng nhiều bộ nhớ

Nhược điểm

Tích hợp mạng không hoàn hảo – không tích hợp với bộ cân bằng tải bên trong hoặc Đám mây riêng ảo được chia sẻTruy cập vào Memcache được quản lý thường không khả dụng

Công cụ Google Kubernetes

Ưu điểm

Tích hợp riêng với các thùng chứa cho phép thời gian chạy tùy chỉnh và kiểm soát tốt hơn đối với cấu hình cụm.Cung cấp một khung triển khai nhất quán và lặp lạiDựa trên các tiêu chuẩn mở, đáng chú ý là Kubernetes, về tính di động giữa các đám mây và tại chỗ.

Nhược điểm

Quản lý và phân chia lưu lượng là tự làm, có thể tận dụng Istio và EnvoyMột số chi phí quản lýĐôi khi cần tăng cường các khái niệm Kubernetes, chẳng hạn như nhóm, triển khai, dịch vụ, xâm nhập và không gian tênGiám sát tích hợp không hoàn hảoTrong khi cân bằng tải bên trong L3 được hỗ trợ nguyên bản trên Kubernetes Engine, cân bằng tải bên trong L7 là tự làm, có thể tận dụng Envoy

Công cụ tính toán

Ưu điểm

Dễ dàng tăng tốc – không cần phải tăng tốc trên Kubernetes hoặc Máy ứng dụng, chỉ cần sử dụng lại bất cứ điều gì bạn biết từ kinh nghiệm trước đó. Đây có lẽ là lý do chính để sử dụng Compute Engine trực tiếp.Kiểm soát hoàn toàn – bạn có thể tận dụng trực tiếp nhiều tính năng của Compute Engine và cài đặt những thứ mới nhất trong tất cả những thứ bạn yêu thích để duy trì sự cạnh tranh.Không cần IP công cộng. Một số phần mềm cũ có thể quá khó để khóa nếu có bất cứ điều gì được phơi bày trên các IP công cộng.Bạn có thể tận dụng HĐH Tối ưu hóa Container để chạy các container Docker

Nhược điểm

Chủ yếu là tự làm, có thể là thách thức để thực hiện đầy đủ độ tin cậy và bảo mật, mặc dù bạn có thể sử dụng lại các giải pháp từ nhiều nơi khác nhau, bao gồm Trình khởi chạy đám mây.Chi phí quản lý nhiều hơn. Có nhiều công cụ quản lý cho Compute Engine nhưng họ không nhất thiết phải hiểu cách bạn đã triển khai ứng dụng của mình, như các công cụ giám sát của Engine Engine và Kubernetes Engine làmTự động hóa dựa trên các phiên bản GCE, có thể chậm hơn so với Máy ứng dụngXu hướng là cài đặt phần mềm trên các phiên bản GCE của bông tuyết, đây có thể là một số nỗ lực để duy trì
App Engine cung cấp cho các nhà phát triển khả năng kiểm soát các lõi của Google Compute Engine, cũng như cung cấp giao diện người dùng trực tuyến cho các ứng dụng xử lý dữ liệu của Google Compute Engine.

Mặt khác, Compute Engine cung cấp quản lý hệ điều hành trực tiếp và hoàn chỉnh cho các máy ảo của bạn. Để trình bày Ứng dụng của bạn, bạn sẽ cần tài nguyên và Google Cloud Storage là lý tưởng để lưu trữ tài sản và dữ liệu của bạn, bất cứ thứ gì chúng được sử dụng cho. Bạn có thể truy cập dữ liệu nhanh chóng với lưu trữ trên toàn cầu. Độ tin cậy được đảm bảo với thời gian hoạt động 99,95% và Google cũng cung cấp khả năng sao lưu và khôi phục dữ liệu của bạn và tin hay không, lưu trữ là không giới hạn.

Bạn có thể quản lý tài sản của mình với Google Cloud Storage, lưu trữ, truy xuất, hiển thị và xóa chúng. Bạn cũng có thể nhanh chóng đọc và ghi vào các biểu dữ liệu phẳng được lưu trong Cloud Storage. Tiếp theo trong dòng sản phẩm Google Cloud là BigQuery. Với BigQuery, bạn có thể phân tích lượng dữ liệu khổng lồ, chúng tôi sẽ nói về hàng triệu bản ghi, trong vòng vài giây. Quyền truy cập được xử lý thông qua giao diện người dùng đơn giản hoặc Giao diện chuyển trạng thái đại diện hoặc giao diện REST.

Lưu trữ dữ liệu, như bạn có thể nghi ngờ, không phải là vấn đề, và quy mô lên đến hàng trăm TB. BigQuery có thể truy cập thông qua một loạt các thư viện máy khách, bao gồm các thư viện cho Java, .NET, Python, Go, Ruby, PHP và Javascript. Một cú pháp giống như SQL có tên là NoQuery có sẵn có thể được truy cập thông qua các thư viện máy khách này hoặc thông qua giao diện người dùng web. Cuối cùng, hãy nói về các tùy chọn cơ sở dữ liệu nền tảng đám mây của Google, Cloud SQL và Cloud Datastore.

Xem thêm:  Web24h.vn hướng dẫn qui trình thanh toán

Có một sự khác biệt lớn. Cloud SQL dành cho cơ sở dữ liệu quan hệ, chủ yếu là MySQL, trong khi Cloud Datastore dành cho cơ sở dữ liệu không liên quan sử dụng noQuery. Với Cloud SQL, bạn có thể chọn lưu trữ ở Hoa Kỳ, Châu Âu hoặc Châu Á, với 100 GB dung lượng lưu trữ và 16 GB RAM cho mỗi phiên bản cơ sở dữ liệu.

Cloud Datastore có sẵn miễn phí cho tối đa 50 K hướng dẫn đọc/ghi mỗi tháng và 1 GB dữ liệu được lưu trữ mỗi tháng. Tuy nhiên, có một khoản phí nếu bạn vượt quá hạn ngạch này. App Engine cũng có thể hoạt động với các thành viên ít được biết đến hơn, được nhắm mục tiêu hơn của nền tảng Google Cloud, bao gồm Điểm cuối đám mây để tạo phụ trợ API, API dự đoán Google để phân tích dữ liệu và dự báo xu hướng hoặc API Google Dịch, cho đầu ra đa ngôn ngữ.

Mặc dù bạn có thể tự mình kiếm được một số tiền khá lớn với Máy ứng dụng, nhưng đó là tiềm năng của bạn khi bạn tính đến khả năng hoạt động dễ dàng và hiệu quả với các dịch vụ nền tảng Google Cloud của mình.

Như đã giải thích, Google Compute Engine (GCE) là Cơ sở hạ tầng dưới dạng dịch vụ (IaaS) trong khi Google App Engine (GAE) là Nền tảng là Dịch vụ (PaaS). Bạn có thể kiểm tra sơ đồ sau để hiểu sự khác biệt theo cách tốt hơn (Lấy từ và giải thích rõ hơn tại đây ) –

*

Công cụ tính toán của Google GCE là một dịch vụ quan trọng được cung cấp từ Google Cloud Platform (GCP) do hầu hết các dịch vụ GCP sử dụng các phiên bản GCE (VM) bên dưới lớp quản lý (không chắc chắn là dịch vụ nào không được cung cấp). Điều này bao gồm Công cụ ứng dụng, Chức năng đám mây, Công cụ Kubernetes (Công cụ chứa trước đó), Cloud SQL, v.v. Hầu hết thời gian mọi người sử dụng GCE để chuyển các ứng dụng On-Prem của họ sang GCP, vì nó yêu cầu thay đổi tối thiểu. Sau đó, họ có thể chọn sử dụng các dịch vụ GCP khác cho thành phần riêng biệt của ứng dụng.

Công cụ ứng dụng Google GAE là dịch vụ đầu tiên được cung cấp bởi GCP (Rất lâu trước khi Google đến với doanh nghiệp đám mây). Nó tự động đếm từ 0 đến không giới hạn (Nó sử dụng GCE bên dưới). Nó đi kèm với 2 hương vị Môi trường tiêu chuẩn và Môi trường linh hoạt.

Môi trường tiêu chuẩn thực sự rất nhanh, giảm xuống 0 ví dụ khi không có ai sử dụng ứng dụng của bạn, tăng giảm tốc độ trong vài giây và có các dịch vụ và thư viện Google chuyên dụng để lưu trữ, xác thực, v.v. kể từ khi nó chạy trong một hộp cát Bạn phải sử dụng thời gian chạy được quản lý chỉ cho các ngôn ngữ lập trình cụ thể. Các bổ sung gần đây là Node.js (8.x) và Python 3.x. Các thời gian chạy cũ hơn có sẵn cho Go, PHP, Python 2.7, Java, v.v.

Môi trường linh hoạt cởi mở hơn vì nó cho phép bạn sử dụng thời gian chạy tùy chỉnh vì nó sử dụng các container docker. Do đó, nếu thời gian chạy của bạn không có sẵn trong thời gian chạy được cung cấp, bạn luôn có thể tạo dockerfile của riêng mình cho môi trường thực thi. Thông báo trước với nó là, nó yêu cầu phải có ít nhất 1 phiên bản đang chạy, ngay cả khi không có ai đang sử dụng ứng dụng của bạn, cộng với việc tăng giảm tỷ lệ lên xuống cần vài phút.

Đừng nhầm lẫn GAE linh hoạt với Kubernetes Engine, vì phiên bản sau sử dụng Kubernetes thực tế và cung cấp nhiều tính năng và tùy chỉnh hơn. GAE Flex rất hữu ích khi bạn muốn các thùng chứa không trạng thái và ứng dụng của bạn chỉ dựa trên các giao thức HTTP hoặc HTTPS. Đối với các giao thức khác Kubernetes Engine (GKE) hoặc GCE là lựa chọn duy nhất của bạn. Kiểm tra câu trả lời khác của tôi để được giải thích rõ hơn.

Tôi sẽ giải thích nó theo cách có ý nghĩa với tôi:

PaaS (Compute Engine): Nếu bạn là người tự làm hoặc có một nhóm CNTT và bạn chỉ muốn thuê một máy tính trên đám mây có HĐH cụ thể (ví dụ: linux), bạn đi Công cụ tính toán. Bạn phải làm mọi thứ một mình.

SaaS (Máy ứng dụng): Nếu bạn (ví dụ) là một lập trình viên python và bạn muốn thuê một máy tính được cấu hình sẵn trên đám mây có Linux với máy chủ web đang chạy và python 3 mới nhất với các mô-đun cần thiết và một số trình cắm để tích hợp với các dịch vụ bên ngoài khác, bạn sử dụng Máy ứng dụng.

microservice (Chức năng đám mây): Nếu bạn muốn viết một loạt API (chức năng) thực hiện công việc cụ thể, bạn hãy tìm đến Google Cloud Function. Bạn chỉ cần tập trung vào các chức năng cụ thể đó, phần còn lại của công việc được thực hiện cho bạn để hiển thị các chức năng của bạn dưới dạng microservice.

Xem thêm: Các Mẹo Sinh Con Đẹp Vừa Thông Minh, Mẹ Bầu Phải Nằm Lòng Bí Quyết Ăn Uống Này!

Khi bạn đi sâu hơn, bạn mất một số tính linh hoạt nhưng bạn không lo lắng về các khía cạnh kỹ thuật không cần thiết. Bạn cũng trả nhiều hơn một chút nhưng bạn tiết kiệm thời gian và chi phí cho các dịch vụ hỗ trợ (phần CNTT): một người khác (google) đang làm điều đó cho bạn.

Máy chủ Google kết nối PuTTY “Đã ngắt kết nối: Không có phương thức xác thực được hỗ trợ nào

Làm cách nào để sử dụng công cụ ứng dụng Google với tên miền trần của riêng tôi (không phải tên miền phụ)?

Cách yêu cầu tăng dung lượng GPU trong Google Cloud

Lỗi. Thẻ của bạn không hỗ trợ thanh toán định kỳ tự động – Google cloud

Dịch vụ Google Cloud Platform nào dễ nhất để chạy Tensorflow?

Lưu trữ FTP sang Google

java.lang.NoClassDefFoundError: com.google.firebase.FirebaseOptions

Lỗi GCP: Đã vượt quá hạn ngạch “GPUS_ALL_REGIONS”. Giới hạn: 0,0 trên toàn cầu

Làm thế nào để SSH vào docker container trong cụm kubernetes?

Cách sao chép tệp từ google compute engine vào thư mục cục bộ

Có cách nào để sử dụng gcloud với python3 không?

Kubernetes Ingress (GCE) liên tục trả về lỗi 502

Sơ đồ điện toán đám mây của Google, IPv6

ImportError: Không có mô-đun có tên google.oauth2

Công cụ tính toán Ubuntu 17.04 của Google Compute Engine không còn có tệp Phát hành

Google App Engine kiểm tra sức khỏe ứng dụng spam

Làm cách nào để tăng kích thước của đĩa gốc trong Google Compute Engine?

Google Compute Engine: Sử dụng ảnh chụp nhanh từ một dự án khác?

Tại sao chọn Google Kubernetes Engine thay vì Google AppEngine?

Phần mềm và phần mềm của phần mềm trong Google Cloud Compute

Chuyên mục: Hỏi đáp

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *