Sự khác biệt giữa Google App Engine và Google Compute Engine là gì?


427

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?


35
Nó không rõ ràng cho tôi trên trang chủ của họ. Thật tuyệt khi chỉ đơn giản là nó ở đây. Trang StackOverflow này đã làm việc cho tôi. Để mỗi anh ấy / cô ấy. :)
Mikeumus

10
đã đồng ý. ai đó cần nói "đủ rồi!" cho các loại tiếp thị này
Randy L

Câu trả lời:


468

Máy ứng dụng là một Nền tảng như một 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.

Tìm hiểu thêm về Máy ứng dụng

Compute Engine 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.

Tìm hiểu 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í. 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):

Các chức năng đám mây (hiện đang trong 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 khớp cắn để 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à Chức năng đá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 phiên bả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) tải thay đổi nhanh chóng 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.

Tìm hiểu thêm về Chức năng đám mây


7
Nếu tôi muốn triển khai qua Docker, sự khác biệt (ngoài giá cả) giữa việc sử dụng GAE và GCE là gì?
FullStack

2
Xin chào, Volgin, bạn có thể giải thích lý do tại sao "Compute Engine" có chi phí thấp hơn nhiều so với App Engine. Cảm ơn
fangzhzh

21
Máy ứng dụng cung cấp mức độ tự động hóa (nghĩa là tiện lợi) mà bạn không có trên GCE. Trong 5 năm sử dụng GAE, tôi không bao giờ phải cài đặt, vá hoặc cấu hình bất kỳ phần mềm, sao chép đĩa, v.v. Nó cũng cung cấp khả năng quản lý tải và tải tương đối mạnh mẽ - tự động quay và tắt các trường hợp theo yêu cầu. Nhìn chung, các tính năng này cho phép Google tính phí nhiều hơn trong vài giờ và nhiều công ty và nhà phát triển cá nhân sẵn sàng trả phí này vì GAE tiết kiệm rất nhiều thời gian có thể được chi tiêu tốt hơn để cải thiện ứng dụng của riêng bạn hoặc kiếm tiền.
Andrei Volgin

7
Google cũng cung cấp một dịch vụ khác gọi là: Container Engine tập trung vào quản lý docker và container (kubernetes).
Bram

8
Nhận xét nhanh về "Một lợi thế khác là Chức năng đám mây thực thi ngay lập tức". Từ kinh nghiệm thực tế, họ có cùng một nhược điểm của khởi đầu lạnh có thể tạo ra một khoản tiền đơn giản (a, b) {return a + b} mất vài phút với khởi đầu lạnh
Adam

89

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 bạn thực sự sử dụng , ý tôi là, bạn sẽ được lập hóa đơn cho Giờ lập tức , Dữ liệu được truyền , Lưu trữ , v.v. ứng dụng của bạn thực sự được sử dụng. Nhưng hạn chế là, bạn có thể tạo ứng dụng của mình chỉ bằng 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 Managed Virtual Machine . Các máy ảo được quản lý cung cấp cho 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 đó.


1
Từ tài liệu của họ, bạn có thể triển khai VM sang GAE thông qua Docker. cloud.google.com/appengine/docs/managed-vms
FullStack

Có vẻ như bây giờ bạn cũng có thể sử dụng Node.js và Ruby trên GAE.
Blaszard

3
Các máy ảo được quản lý hiện được gọi là Môi trường linh hoạt của Máy ứng dụng
killjoy

1
Tôi đã triển khai mã của mình vào Công cụ ứng dụng, khi tôi kiểm tra bảng điều khiển của mình, tôi cũng thấy một phiên bản máy tính Compute Engine VM khi kiểm tra bảng điều khiển của Công cụ ứng dụng, tôi thấy dấu vết của các yêu cầu dịch vụ HTTP. Vì vậy, tôi đang sử dụng công cụ ứng dụng hoặc công cụ tính toán?
EhsanR

Tôi nghĩ rằng phần lưu trữ trong " ... bạn sẽ được lập hóa đơn cho Giờ lập tức, Dữ liệu được truyền, Lưu trữ, v.v. ứng dụng của bạn thực sự được sử dụng ..." về GAE là sai. Các trường hợp GAE (hầu hết) không ổn định. Do đó, khi một cá thể bị tắt máy (ví dụ: nếu cá thể được tạo ra để đáp ứng với sự gia tăng lưu lượng và hiện đang bị xóa khi lưu lượng truy cập giảm), bạn sẽ mất tất cả dữ liệu được lưu trữ. Do đó, tôi không nghĩ là đúng khi nói rằng bạn bị "tính phí" cho "lưu trữ" trong GAE, mặc dù bạn có thể kết nối ứng dụng của mình trong GAE với một sản phẩm GCP khác cung cấp dung lượng lưu trữ và được tính phí cho lần sau, không phải là GAE
Damilola Olowookere

56

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 chưa có 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, do đó, một số thứ nhất định không phải là có thể, hoặc chỉ có thể theo một cách cụ thể (ví dụ: lưu và ghi tệp).


2
Bạn có thể triển khai VM sang GAE thông qua Docker, vì vậy bạn có thể quản lý HĐH, v.v. cloud.google.com/appengine/docs/managed-vms
FullStack

3
"nó chỉ chạy", bạn có nghiêm túc không? Tôi nghĩ rằng tôi không phải là người duy nhất gặp rắc rối với việc điều chỉnh mã cho GAE, khi nói đến tải lên tệp hoặc quá trình nền
emfi

36

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 sẽ 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 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 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).

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. Thật 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.


ý bạn là "chỉ đọc", thực tế là chúng ta không thể ghi vào đĩa?
John Balvin Arias

@JohnBalvinArias vâng, đó là một hộp đựng cát chỉ đọc. Bạn không thể truy cập vào thế giới 'bên ngoài', bạn cũng không thể ghi vào thùng chứa / đĩa này. Nó ở đó để bạn thực thi mã của mình từ đó.
lạ lùng

Vì vậy, nếu tôi có thể sử dụng docker để cài đặt s / w trong GAE, điều đó có nghĩa là google sẽ quan tâm đến việc tạo / phân bổ một phiên bản linux với các cấu hình cơ bản và sau đó chạy docker trên đỉnh của nó? Về bản chất, công cụ tính toán bổ sung thêm trách nhiệm cho các cấu hình VM. Tôi có đúng không
thầy tu già

32

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 một loạt các ứ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 cho 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 .

Tiêu chuẩn ứng dụng

Ưu

  • 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.
  • Tự động mở rộng quy mô nhanh. Tự động hóa trong Máy ứng dụng dựa trên các lớp đối tượng nhẹ F1-F4 .
  • Quản lý phiên bản và phân chia lưu lượng nhanh chóng và thuận tiện. Các tính năng này được tích hợp vào Máy ứng dụng (cả Tiêu chuẩn và Flex) nguyên bản.
  • 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 Datastore rất nhanh. Khi App Engine được phát hành lần đầu tiên, thời gian chạy được đặt cùng với Datastore. Datastore sau đó được tách ra thành sản phẩm độc lập Cloud Datastore nhưng đồng vị trí của App Engine Standard phục vụ với Datastore vẫn còn.
  • 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 GCE
  • Khô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 đủ.

Ứng dụng Flex

Ưu

  • Có thể sử dụng thời gian chạy tùy chỉnh
  • Tích hợp riêng với mạng GCE
  • Quản lý phiên bản và lưu lượng truy cập thuận tiện, giống như Tiêu chuẩn
  • Cá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

  • 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.
  • Thể hiện nhiều thực tiễn tốt nhất làm việc với các máy ảo, chẳng hạn như môi trường thời gian chạy bất biến và khả năng dễ dàng quay trở lại các phiên bản trước
  • Cung cấp một khung triển khai nhất quán và lặp lại
  • Dự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ỗ.
  • Quản lý phiên bản có thể được thực hiện với các container Docker và Google Container Registry

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à Envoy
  • Mộ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ên
  • Cần hiển thị một số IP công cộng trừ khi sử dụng Cụm riêng , hiện đang ở giai đoạn thử nghiệm, loại bỏ nhu cầu đó nhưng bạn vẫn cần cung cấp quyền truy cập vào các vị trí nơi các lệnh kubectl sẽ được chạy từ đó.
  • Giám sát tích hợp không hoàn hảo
  • Trong khi cân bằng tải nội bộ L3 được hỗ trợ nguyên bản trên Kubernetes Engine, cân bằng tải nội bộ L7 là tự làm, có thể tận dụng Envoy

Công cụ tính toán

Ưu

  • 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 để luôn ở bên cạnh.
  • 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ọ sẽ 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àm
  • Tự độ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ụng
  • Xu 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ì

18

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 ở đây ) -

Các loại điện toán đám mây

Google Compute Engine
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à không có). Điều này bao gồm Máy ứ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. Các phiên bản GCE là đơn vị tùy biến nhất ở đó và do đó chỉ nên được sử dụng khi ứng dụng của bạn không thể chạy trên bất kỳ dịch vụ GCP nào khác. 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.

Google App Engine
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 dành riêng cho bộ nhớ đệm, 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 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 để giải thích tốt hơn.


10

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

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ể lựa chọn lưu trữ ở Mỹ, 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. Máy ứng dụng 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.


10

Nếu bạn quen thuộc với các dịch vụ phổ biến khác:

Công cụ tính toán của Google -> AWS EC2

Google App Engine -> Heroku hoặc AWS Elastic Beanstalk

Chức năng Google Cloud -> Chức năng AWS Lambda


7

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

  • 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ụ như linux), bạn hãy đến Compute Engine. Bạn phải làm mọi thứ một mình.

  • 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 dùng cho Máy ứng dụng.

  • Serverless Container (Cloud Run) : Nếu bạn muốn triển khai hình ảnh chính xác của môi trường thiết lập cục bộ của mình (ví dụ: python 3.7 + Vase + sklearn) nhưng bạn không muốn xử lý máy chủ, chia tỷ lệ, v.v. Bạn tạo một container trên máy cục bộ của bạn (thông qua docker) và sau đó triển khai nó lên Google Run.

  • Serverless microservice (Chức năng đám mây) : Nếu bạn muốn viết một loạt các 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 (máy chủ, bảo trì, chia tỷ lệ, v.v.) đượ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.

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í (phần CNTT): một người khác (google) đang làm điều đó cho bạn.

Nếu bạn không muốn quan tâm đến việc cân bằng tải, chia tỷ lệ, v.v., điều quan trọng là phải chia ứng dụng của bạn thành một loạt các dịch vụ web "không trạng thái" ghi bất cứ điều gì tồn tại trong một bộ lưu trữ riêng biệt (cơ sở dữ liệu hoặc lưu trữ blob). Sau đó, bạn sẽ thấy Cloud Run và Cloud Function tuyệt vời như thế nào.

Cá nhân, tôi thấy Google Cloud Run là một giải pháp tuyệt vời, tự do tuyệt đối trong phát triển (miễn là không trạng thái), trưng bày nó như một dịch vụ web, cập nhật giải pháp của bạn, triển khai nó với Cloud Run. Hãy để google là IT và DevOps của bạn, bạn không cần quan tâm đến việc mở rộng và bảo trì.

Tôi đã thử tất cả các tùy chọn khác và mỗi tùy chọn đều tốt cho mục đích khác nhau nhưng Google Run chỉ tuyệt vời. Đối với tôi, nó là máy chủ thực sự mà không mất tính linh hoạt trong phát triển.


3

Các dịch vụ đám mây cung cấp một loạt các tùy chọn từ các dịch vụ được quản lý hoàn chỉnh đến các dịch vụ ít được quản lý hơn. Các dịch vụ ít được quản lý cung cấp nhiều quyền kiểm soát hơn cho các nhà phát triển. Điều tương tự cũng là sự khác biệt trong máy tính và ứng dụng. Hình ảnh dưới đây chi tiết hơn về điểm này nhập mô tả hình ảnh ở đây


1

Công cụ tính toán của Google (GCE)

Máy ảo (VM) được lưu trữ trên đám mây. Trước đám mây, chúng thường được gọi là Máy chủ riêng ảo (VPS). Bạn sẽ sử dụng những cách này giống như cách bạn sử dụng máy chủ vật lý, nơi bạn cài đặt và định cấu hình hệ điều hành, cài đặt ứng dụng, cài đặt cơ sở dữ liệu, cập nhật HĐH, v.v. Điều này được gọi là Cơ sở hạ tầng- như một dịch vụ (IaaS).

Máy ảo rất hữu ích khi bạn có một ứng dụng hiện có đang chạy trên máy ảo hoặc máy chủ trong trung tâm dữ liệu của bạn và muốn dễ dàng di chuyển nó sang GCP.

Máy ứng dụng Google

Máy ứng dụng lưu trữ và chạy mã của bạn, mà không yêu cầu bạn phải xử lý hệ điều hành, mạng và nhiều thứ khác mà bạn phải quản lý với máy chủ vật lý hoặc VM. Hãy nghĩ về nó như một thời gian chạy, có thể tự động triển khai, phiên bản và mở rộng ứng dụng của bạn. Đây được gọi là Nền tảng dưới dạng dịch vụ (PaaS).

Máy ứng dụng hữu ích nhất khi bạn muốn triển khai tự động và tự động mở rộng ứng dụng của mình. Trừ khi ứng dụng của bạn yêu cầu cấu hình HĐH tùy chỉnh, App Engine thường thuận lợi hơn trong việc cấu hình và quản lý VM bằng tay.


Tôi không hiểu tại sao câu trả lời này không nhận được tất cả các khuyến khích xứng đáng của nó! :)
Damilola Olowookere
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.