Google App Engine ile Google Compute Engine arasındaki fark nedir?


428

App Engine ve Compute Engine arasındaki farkın ne olduğunu merak ediyordum. Farkı kimse açıklayabilir mi?


35
Ana sayfalarında benim için net değildi. Burada olduğu gibi düz olması güzel. Bu StackOverflow sayfası benim için iş yaptı. Her birine kendi. :)
Mikeumus

10
kabul. birisinin "zaten yeterli!" pazarlama türlerine giriş
Randy L

Yanıtlar:


468

App Engine bir Hizmet Olarak Platformdur. Bu, kodunuzu dağıtmanız anlamına gelir ve platform sizin için her şeyi yapar. Örneğin, uygulamanız çok başarılı olursa App Engine, artan ses düzeyini işlemek için otomatik olarak daha fazla örnek oluşturur.

App Engine hakkında devamını oku

Compute Engine bir Hizmet Olarak Altyapıdır. Kendi sanal makine örneklerinizi oluşturmanız ve yapılandırmanız gerekir. Size daha fazla esneklik sağlar ve genellikle App Engine'den çok daha düşük maliyetlidir. Dezavantajı, uygulamanızı ve sanal makinelerinizi kendiniz yönetmeniz gerektiğidir.

Compute Engine hakkında devamını oku

Gerekirse hem App Engine hem de Compute Engine'i karıştırabilirsiniz. Her ikisi de Google Cloud Platformunun diğer bölümleriyle iyi çalışır .

EDIT (Mayıs 2016):

Daha önemli bir ayrım: App Engine'de çalışan projeler, herhangi bir istek gelmezse sıfır örneğe kadar ölçeklenebilir. Bu, geliştirme saatlerinde son derece kullanışlıdır; Esnek çalışma zamanı (yani "yönetilen VM'ler") sürekli çalışmak için en az bir örnek gerektirir.

EDIT (Nisan 2017):

Bulut İşlevleri (şu anda beta sürümündedir), App Engine'in soyutlama açısından bir sonraki seviyesidir - örnek yok! Geliştiricilerin, HTTP istekleri, Cloud Storage'daki değişiklikler vb. Gibi farklı olaylara yanıt olarak yürütülen ısırık boyutlu kod parçalarını dağıtmasına izin verir.

App Engine ile en büyük fark, işlevlerin 100 milisaniye başına fiyatlandırılması ve App Engine'in örneklerinin yalnızca 15 dakika işlem yapılmaması durumunda kapanmasıdır. Diğer bir avantaj, Bulut İşlevlerinin hemen yürütülmesidir, ancak App Engine'e yapılan bir çağrı için yeni bir örnek gerekebilir - ve yeni bir örneği soğuk başlatma (çalışma süresine ve kodunuza bağlı olarak) birkaç saniye veya daha uzun sürebilir.

Bu, Bulut İşlevlerini (a) nadir çağrılar için ideal hale getirir - bir şey olması durumunda bir örneği canlı tutmaya gerek yoktur, (b) örneklerin sık sık döndüğü ve kapatıldığı yükleri hızla değiştirmek ve muhtemelen daha fazla kullanım durumu.

Bulut İşlevleri hakkında devamını oku


7
Docker aracılığıyla dağıtmak istersem, GAE ve GCE kullanımı arasındaki farklar (fiyatlandırmanın yanı sıra) nelerdir?
FullStack

2
Merhaba Volgin, "Compute Engine" in neden App Engine'den daha düşük maliyetli olduğunu açıklayabilir misiniz? Teşekkürler
fangzhzh

21
App Engine, GCE'ye girmediğiniz bir otomasyon seviyesi (örn. Kolaylık) sunar. GAE'yi kullandığım 5 yıl boyunca herhangi bir yazılımı, diskleri vb. Yüklemem, yamalamam veya yapılandırmam gerekiyordu. Ayrıca, göreceli olarak sağlam yük ve kapasite yönetimi sunar - gerektiğinde örnekleri otomatik olarak döndürür ve kapatır. Genel olarak, bu özellikler Google'ın örneğin saatlerce daha fazla ücret almasına izin verir ve birçok şirket ve bireysel geliştirici bu primi ödemekten mutluluk duyar, çünkü GAE kendi uygulamalarınızı geliştirmek veya başka şekilde para kazanmak için daha fazla zaman harcayabilir.
Andrei Volgin

7
Google ayrıca, docker ve konteyner yönetimine (kubernetes) odaklanan Container Engine adlı başka bir hizmet daha sunmaktadır.
Bram

8
"Başka bir avantajı da Bulut İşlevlerinin hemen yürütülmesidir" hakkında hızlı yorum. Gerçek yaşam deneyimlerinden, soğuk başlangıçların aynı dezavantajına sahiptirler, bu da basit bir miktar oluşturabilir (a, b) {dönüş a + b} soğuk başlangıçlarla dakikalar alır
Adam

89

Temel fark olmasıdır Google App Engine ( GAE'nin ) bir olan bir Servisi (olarak Platformu PaaS ) oysa Google Hesaplama Motoru ( GCE ) bir olan bir Servisi (Olarak Altyapı IaaS ) .

Uygulamanızı GAE'de çalıştırmak için kodunuzu yazmanız ve GAE'ye dağıtmanız yeterlidir, başka bir baş ağrısı yoktur. GAE tamamen ölçeklenebilir olduğundan, trafiğin yükselmesi durumunda otomatik olarak daha fazla örnek alır ve trafik azaldığında örnekleri azaltır. Gerçekten kullandığınız kaynaklar için ücretlendirilirsiniz , yani uygulamanızın gerçekten kullandığı Örnek-Saat , Aktarılan Veri , Depolama vb. İçin faturalandırılırsınız . Ancak kısıtlama, uygulamanızı yalnızca Python, PHP, Java, NodeJS, .NET, Ruby ve ** Go'da oluşturabilirsiniz .

Öte yandan, GCE size Sanal Makine şeklinde tam altyapı sağlar . Oraya herhangi bir program yazabildiğiniz veya yükleyebildiğiniz için bu VM'lerin ortamı ve çalışma zamanı üzerinde tam kontrole sahipsiniz. Aslında GCE, Google Veri Merkezlerini sanal olarak kullanmanın bir yoludur. GCE'de, Yük Dengeleyici'yi kullanarak ölçeklenebilirliği kaldıracak şekilde altyapınızı el ile yapılandırmanız gerekir .

Hem GAE hem de GCE, Google Cloud Platform'un bir parçasıdır .

Güncelleme: Mart 2014'te Google, App Engine altında Yönetilen Sanal Makine adlı yeni bir hizmet duyurdu . Yönetilen VM'ler, uygulama motoru uygulamalarına uygulama platformu, CPU ve bellek seçeneklerine göre biraz daha esneklik sunar. GCE gibi, uygulama motoru uygulaması için bu VM'lerde özel bir çalışma zamanı ortamı oluşturabilirsiniz. Aslında App Engine'in Yönetilen VM'leri IAAS ve PAAS arasındaki sınırı bir ölçüde bulanıklaştırıyor.


1
Dokümanlarından Docker aracılığıyla GAE'ye bir VM dağıtabilirsiniz. cloud.google.com/appengine/docs/managed-vms
FullStack

Görünüşe göre şimdi GAE'de Node.js ve Ruby kullanabilirsiniz.
Blaszard

3
Yönetilen VM'lere artık App Engine Esnek Ortamı deniyor
killjoy

1
Kodumu Uygulama motoruna konuşlandırdım, konsolumu kontrol ettiğimde bir Compute Engine VM örneği de görüyorum. Uygulama motoru konsolunu kontrol ederken HTTP sunucu uygulaması isteklerinin izlerini de görüyorum. uygulama motoru veya hesaplama motoru mu kullanıyorum?
EhsanR

Sanırım depolama ile ilgili bölüm " ... GAE hakkında uygulamanızın gerçekten kullandığı Örnek-Saat, Aktarılan Veri, Depolama vb. İçin faturalandırılacaksınız ..." yanlış. GAE örnekleri (çoğunlukla) uçucudur. Bu nedenle, bir örnek kapatıldığında (örneğin, trafik dalgalanmasına yanıt olarak oluşturulmuşsa ve şimdi trafik düştüğünde kaldırılıyorsa), depolanan tüm verileri kaybedersiniz. Bu nedenle, GAE'deki uygulamanızı GAE olarak değil depolama sağlayan ve daha sonraki sürümler için ücret alan başka bir GCP ürününe bağlayabilmenize rağmen, GAE'deki "depolama" için "ücretlendirildiğini" belirtmenin doğru olduğunu düşünmüyorum
Damilola Olowookere

56

Basitçe söylemek gerekirse: hesaplama motoru size tam kontrol / sorumluluğunuz olan bir sunucu verir. İşletim sistemine doğrudan erişiminiz vardır ve genellikle bir web sunucusu, veritabanı vb. Olan istediğiniz tüm yazılımı yüklersiniz.

Uygulama motorunda temel yazılımların hiçbirinin işletim sistemini yönetmezsiniz. Sadece kod (Java, PHP, Python veya Go) ve voila yüklersiniz - sadece çalışır ...

App motoru, özellikle deneyimsiz insanlar için ton baş ağrısı kaydeder, ancak 2 önemli dezavantajı vardır: 1. daha pahalı (ama hesaplama motoru ücretsiz bir kota var) 2. daha az kontrole sahip, bu nedenle bazı şeyler sadece değil mümkün veya yalnızca belirli bir şekilde mümkündür (örneğin dosya kaydetme ve yazma).


2
Vb OS yönetebilmek üzere, Docker aracılığıyla GAE için bir sanal makine dağıtabilir cloud.google.com/appengine/docs/managed-vms
FullStack

3
"sadece koşuyor", ciddi misin? Dosya yüklemeleri veya arka plan işlemleri söz konusu olduğunda, GAE kodunu uyarlamakta sorun yaşayan tek kişi ben değilim
emfi

36

Veya daha da basitleştirmek için (zaman zaman GAE Standardı ve GAE Flex'i ayırt edemediğimizden):

Compute Engine , örneğin küçük bir web sitesi + veritabanı dağıtacağınız sanal bir PC'ye benzer. Kurulu disk sürücülerinin kontrolü dahil her şeyi yönetirsiniz. Bir web sitesi dağıtırsanız DNS vb.

Google App Engine (Standart) , yürütmek için kod yüklediğiniz ve geri kalanını düşünmediğiniz salt okunur korumalı bir klasör gibidir (evet: salt okunur - sizin için yüklenmiş sabit bir kitaplık grubu vardır ve dağıtamazsınız 3. taraf kütüphaneleri isteğe bağlıdır). DNS / Alt alan adlarını vb. Eşlemek çok daha kolaydır.

Google App Engine (Esnek) aslında Standart motordan daha fazla güce sahip olduğunuz, örneğin okuma / yazma izinlerine sahip olduğunuz (ancak bir Compute Engine ile karşılaştırıldığında daha az) bir dosya sistemi (sadece kilitli bir klasör değil) gibidir. ). GAE standardında sizin için yüklenmiş sabit bir kitaplık grubunuz vardır ve üçüncü taraf kitaplıkları istediğiniz şekilde dağıtamazsınız. Esnek ortamda, özel oluşturma ortamları (Python 3 gibi) dahil olmak üzere uygulamanızın bağlı olduğu her türlü kütüphaneyi yükleyebilirsiniz.

GAE Standardı ile uğraşmak çok zahmetli olsa da (Google kulağa basit gelmesine rağmen), baskı altına alındığında gerçekten iyi ölçeklenir. Bu çok hantaldır çünkü kilitli ortamla uyumluluğu test etmeniz ve sağlamanız ve kullandığınız herhangi bir üçüncü taraf kütüphanesinin GAE standardında çalışmayabileceğinden habersiz başka herhangi bir üçüncü taraf kütüphanesi kullanmadığından emin olmanız gerekir. Uygulamada kurulumu daha uzun sürer, ancak basit kurulumlar için daha uzun vadede daha faydalı olabilir.


"salt okunur" derken, dosya diskine yazamayız mı?
John Balvin Arias

@JohnBalvinArias evet, salt okunur korumalı bir kap. 'Dış' dünyaya erişemezsiniz ve bu kapsayıcıya / diske yazamazsınız. Kodunuzu yürütmeniz için orada.
strangetimes

Yani GAE'de s / w yüklemek için docker'ı kullanabilirsem, google temel konfigürasyonlarla bir linux örneği oluşturmaya / ayırmaya özen gösterir ve sonra bunun üzerine docker'ı çalıştırır mı? Temel olarak, hesaplama motoru VM yapılandırmalarının ek sorumluluğunu da ekler. Haklı mıyım?
old-monk

32

Listenin yukarısındaki App Engine vs Compute Engine notlarına ek olarak, Google Kubernete Engine ile bir karşılaştırma ve küçükten büyüğe kadar geniş bir uygulama yelpazesi deneyimine dayanan bazı notlar da içerir. Daha fazla puan için App Engine Ortamı ve Sayfa Seçme sayfasındaki App Engine Standard ve Flex'teki özelliklerin üst düzey açıklamasına bakın . App Engine ve Kubernetes dağıtımının başka bir karşılaştırması için Daz Wilkin App Engine Flex veya Kubernetes Engine'in gönderisine bakın .

App Engine Standardı

Artıları

  • Doğrudan maliyetler ve aynı zamanda uygulamanın bakım maliyeti açısından düşük trafik uygulamaları için çok ekonomiktir.
  • Otomatik ölçeklendirme hızlıdır. App Engine'deki otomatik ölçeklendirme, hafif örnek sınıfları F1-F4'ü temel alır .
  • Sürüm yönetimi ve trafik bölme işlemleri hızlı ve kullanışlıdır. Bu özellikler yerel olarak App Engine'e (hem Standart hem de Flex) yerleştirilmiştir.
  • Minimum yönetim, geliştiricilerin yalnızca uygulamalarına odaklanması gerekir. Geliştiricilerin VM'leri GCE'de olduğu gibi güvenilir bir şekilde yönetme veya GKE'de olduğu gibi kümeler hakkında bilgi edinme konusunda endişelenmeleri gerekmez.
  • Datastore'a erişim hızlıdır. App Engine ilk piyasaya sürüldüğünde, çalışma zamanı Datastore ile birlikte bulundu. Daha sonra Datastore, bağımsız bir ürün Cloud Datastore olarak ayrıldı, ancak Datastore ile hizmet veren App Engine Standard'ın ortak konumu devam ediyor.
  • Memcache erişimi desteklenir.
  • App Engine korumalı alanı çok güvenlidir. Sanal makinenin işletim sistemi düzeyinde devralınmasını önlemek için kendi gayretinizi yapmanız gereken GCE veya diğer sanal makinelerdeki geliştirmeyle karşılaştırıldığında, App Engine Standart korumalı alanı varsayılan olarak nispeten güvenlidir.

Eksileri

  • Genellikle diğer ortamlardan daha kısıtlıdır Örnekler daha küçüktür. Bu, hızlı otomatik ölçeklendirme için iyi olsa da, birçok uygulama 96 çekirdeğe kadar GCE örnek boyutları gibi daha büyük örneklerden yararlanabilir.
  • Ağ iletişimi GCE ile entegre değil
  • App Engine, Google Cloud Load Balancer'ın arkasına yerleştirilemez. Desteklenen çalışma zamanlarıyla sınırlıdır: Python 2.7, Java 7 ve 8, Go 1.6-1.9 ve PHP 5.5. Java'da, Servlets için bazı destek vardır, ancak tam J2EE standardı yoktur.

App Engine Flex

Artıları

  • Özel bir çalışma zamanı kullanabilir
  • GCE ağı ile yerel entegrasyon
  • Standart ile aynı sürüm ve trafik yönetimi uygundur
  • Büyük örnek boyutları, büyük karmaşık uygulamalar, özellikle çok fazla bellek kullanabilen Java uygulamaları için daha uygun olabilir

Eksileri

  • Ağ entegrasyonu mükemmel değil - dahili yük dengeleyicileri veya Paylaşılan Sanal Özel Bulutlar ile entegrasyon yok
  • Yönetilen Memcache erişimine genel olarak erişilemiyor

Google Kubernetes Motoru

Artıları

  • Kapsayıcılarla yerel entegrasyon, özel çalışma zamanlarına ve küme yapılandırması üzerinde daha fazla denetime olanak tanır.
  • Değişmez çalışma zamanı ortamları ve önceki sürümlere geri dönme yeteneği gibi sanal makinelerle çalışan birçok en iyi uygulamayı içerir
  • Tutarlı ve tekrarlanabilir bir dağıtım çerçevesi sağlar
  • Bulutlar ve şirket içi taşınabilirlik için özellikle Kubernetes olmak üzere açık standartlara dayanır.
  • Sürüm yönetimi Docker kapsayıcıları ve Google Kapsayıcı Kayıt Defteri ile gerçekleştirilebilir

Eksileri

  • Trafik bölünmesi ve yönetimi, muhtemelen Istio ve Envoy'dan yararlanıyor
  • Bazı yönetim giderleri
  • Kapsüller, dağıtımlar, hizmetler, giriş ve ad alanları gibi Kubernetes kavramlarını hızlandırmak için biraz zaman
  • Şu anda beta olan Özel Kümeler kullanılmadıkça bazı genel IP'leri ortaya çıkarmanız gerekiyor, ancak yine de kubectl komutlarının çalıştırılacağı konumlara erişim sağlamanız gerekiyor.
  • İzleme entegrasyonu mükemmel değil
  • L3 dahili yük dengelemesi Kubernetes Engine'de yerel olarak desteklenirken, L7 dahili yük dengelemesi kendiniz yapın ve muhtemelen Elçiden yararlanın

Bilgi İşlem Motoru

Artıları

  • Hızlanması kolay - Kubernetes veya App Engine'de hızlanmanıza gerek yok, sadece önceki deneyimlerinizden bildiklerinizi tekrar kullanın. Muhtemelen Compute Engine'i doğrudan kullanmanın ana nedeni budur.
  • Tam kontrol - birçok Compute Engine özelliğinden doğrudan yararlanabilir ve kanayan kenarda kalmak için en sevdiğiniz şeylerin en sonuncusunu yükleyebilirsiniz.
  • Herkese açık IP'lere gerek yoktur. Herkese açık IP'lerde bir şey ortaya çıkarsa, bazı eski yazılımların kilitlenmesi çok zor olabilir.
  • Docker kapsayıcılarını çalıştırmak için Kapsayıcı Optimize Edilmiş İşletim Sisteminden yararlanabilirsiniz

Eksileri

  • Bulut Başlatıcısı da dahil olmak üzere çeşitli yerlerden çözümleri yeniden kullanabilmenize rağmen, çoğunlukla güvenilirlik ve güvenlik için yeterince zor olabilecek kendin yap.
  • Daha fazla yönetim yükü. Compute Engine için birçok yönetim aracı vardır, ancak App Engine ve Kubernetes Engine izleme araçları gibi uygulamanızı nasıl dağıttığınızı anlamaları gerekmeyecektir.
  • Otomatik ölçeklendirme, App Engine'den daha yavaş olabilen GCE örneklerine dayanır
  • Eğilim, korumak için biraz çaba olabilecek GCE kar tanesi örneklerine yazılım yüklemektir.

19

Daha önce açıklandığı gibi, Google Compute Engine (GCE) bir hizmet olarak Altyapı (IaaS), Google App Engine (GAE) bir Hizmet olarak Platform (PaaS). Farkı daha iyi anlamak için aşağıdaki şemayı kontrol edebilirsiniz ( Buradan alınmıştır ve daha iyi açıklanmıştır ) -

Bulut Bilişim Türleri

Google Compute Engine
GCE, GCP hizmetlerinin çoğu yönetim katmanının altında GCE örnekleri (VM'ler) kullandığından (hangisinin kullanmadığından emin değil) Google Cloud Platformundan (GCP) sağlanan önemli bir hizmettir. Buna App Engine, Cloud Functions, Kubernetes Engine (Önceki Konteyner Motoru), Cloud SQL vb. Dahildir. GCE örnekleri orada en özelleştirilebilir birimdir ve bu nedenle yalnızca uygulamanız başka hiçbir GCP hizmetinde çalışamadığında kullanılmalıdır. Çoğu zaman insanlar GCE'yi Şirket İçi uygulamalarını GSO'ya aktarmak için kullanırlar çünkü minimum değişiklik gerektirir. Daha sonra, uygulamalarının ayrı bileşenleri için diğer GCP hizmetlerini kullanmayı seçebilirler.

Google App Engine
GAE, GCP tarafından sunulan ilk hizmettir (Google, bulut işine gelmeden çok önce). 0'dan sınırsız örneğe otomatik ölçeklendirir (altında GCE kullanır). Standart Çevre ve Esnek Çevre olmak üzere 2 çeşidi vardır.

Standart Ortam gerçekten hızlıdır, hiç kimse uygulamanızı kullanmadığında 0 örneğe kadar ölçeklenir, saniyeler içinde ölçeklenir ve önbelleğe alma, kimlik doğrulama vb. İçin özel Google hizmetlerine ve kitaplıklarına sahiptir. Standart ortamla ilgili uyarı, çok kısıtlayıcı olmasıdır çünkü bir sanal alanda çalışır. Yönetilen çalışma zamanlarını yalnızca belirli programlama dilleri için kullanmanız gerekir. Son eklenenler Node.js (8.x) ve Python 3.x'tir. Eski çalışma zamanları Go, PHP, Python 2.7, Java vb. İçin kullanılabilir.

Esnek Ortam, liman işleyicilerini kullandığı için özel çalışma zamanlarını kullanmanıza izin verdiği için daha açıktır. Böylece, çalışma zamanınız sağlanan çalışma zamanlarında kullanılamıyorsa, yürütme ortamı için her zaman kendi dockerfile'ınızı oluşturabilirsiniz. Bununla ilgili uyarı, hiç kimse uygulamanızı kullanmasa bile en az 1 örneğin çalışmasını gerektiriyor, ayrıca yukarı ve aşağı ölçeklendirme birkaç dakika gerektiriyor.

GAE'yi Kubernetes Engine ile esnek hale getirmeyin, çünkü daha sonra gerçek Kubernetes kullanıyor ve çok daha fazla özelleştirme ve özellik sağlıyor. GAE Flex, durum bilgisi olmayan kaplar istediğinizde ve uygulamanızın yalnızca HTTP veya HTTPS protokollerine güvenmesi gerektiğinde kullanışlıdır. Diğer protokoller için tek seçenek Kubernetes Engine (GKE) veya GCE'dir. Daha iyi bir açıklama için diğer cevabımı kontrol et .


10

App Engine, geliştiricilere Google Compute Engine çekirdeklerini kontrol etme ve Google Compute Engine veri işleme uygulamaları için web'e dönük bir ön uç sağlama olanağı verir.

Öte yandan, Compute Engine sanal makineleriniz için doğrudan ve eksiksiz bir işletim sistemi yönetimi sunar. Uygulamanızı sunmak için kaynaklara ihtiyacınız olacak ve Google Cloud Storage, ne için kullanılırsa kullanılsın, varlıklarınızı ve verilerinizi depolamak için idealdir. Tüm dünyada barındırma ile hızlı veri erişimi elde edersiniz. Güvenilirlik% 99,95'lik bir çalışma süresinde garanti edilir ve Google ayrıca verilerinizi yedekleme ve geri yükleme ve ister inan ister inanma, depolama sınırsızdır.

Varlıklarınızı Google Cloud Storage ile depolayabilir, depolayabilir, alabilir, görüntüleyebilir ve silebilirsiniz. Ayrıca, Cloud Storage'da tutulan düz veri sayfalarını hızlı bir şekilde okuyabilir ve bunlara yazabilirsiniz. Google Cloud serisinde sırada BigQuery var. BigQuery ile devasa miktarda veriyi analiz edebilirsiniz, saniyeler içinde milyonlarca kayıttan bahsediyoruz. Erişim, basit bir kullanıcı arayüzü veya Temsili Durum Transferi veya REST arayüzü aracılığıyla gerçekleştirilir.

Veri depolama, şüphelenebileceğiniz gibi, bir sorun değildir ve yüzlerce TB'ye ölçeklendirilir. BigQuery'ye Java, .NET, Python, Go, Ruby, PHP ve Javascript için de dahil olmak üzere birçok istemci kitaplığı aracılığıyla erişilebilir. Bu istemci kütüphaneleri veya bir web kullanıcı arayüzü üzerinden erişilebilen NoSQL adlı SQL benzeri bir sözdizimi mevcuttur. Son olarak, Google Cloud platform veritabanı seçenekleri, Cloud SQL ve Cloud Datastore hakkında konuşalım.

Büyük bir fark var. Cloud SQL, başta MySQL olmak üzere ilişkisel veritabanları için kullanılırken Cloud Datastore, noSQL kullanan ilişkisel olmayan veritabanları içindir. Cloud SQL ile, ABD, Avrupa veya Asya'da, 100 GB depolama alanı ve veritabanı örneği başına 16 GB RAM ile barındırma seçeneğine sahipsiniz.

Cloud Datastore, aylık 50 K okuma / yazma talimatı ve ayda 1 GB veri depolaması karşılığında ücretsiz olarak kullanılabilir. Ancak bu kotaları aşarsanız ücret alınır. App Engine, API arka uçları oluşturmak için Cloud Endpoints, veri analizi ve trend tahmini için Google Tahmin API'sı veya çok dilli çıktı için Google Translate API dahil Google Cloud platformunun daha az bilinen, daha hedefli üyeleriyle de çalışabilir.

App Engine ile tek başına adil bir miktar yapabilirsiniz, ancak diğer Google Cloud platform hizmetleriyle kolay ve verimli bir şekilde çalışma yeteneğini hesaba kattığınızda potansiyel bir hava roketidir.


10

Diğer popüler hizmetlere aşina iseniz:

Google Compute Engine -> AWS EC2

Google App Engine -> Heroku veya AWS Elastik Beanstalk

Google Cloud İşlevleri -> AWS Lambda İşlevleri


7

Bunu bana mantıklı bir şekilde açıklayacağım:

  • Compute Engine : Kendiniz yapın veya bir BT ekibiniz varsa ve sadece belirli bir işletim sistemine sahip bir bulutta (örneğin linux) bir bilgisayar kiralamak istiyorsanız, Compute Engine'e gidersiniz. Her şeyi kendin yapmalısın.

  • App Engine : (örneğin) bir python programcısıysanız ve çalışan bir web sunucusuna sahip Linux ve gerekli modülleri ve entegre etmek için bazı eklentileri olan en son python 3'ü içeren önceden yapılandırılmış bir bilgisayarı bulutta kiralamak istiyorsanız diğer harici hizmetler için App Engine'i kullanabilirsiniz.

  • Sunucusuz Kap (Cloud Run) : Yerel kurulum ortamınızın tam görüntüsünü dağıtmak istiyorsanız (örneğin: python 3.7 + flask + sklearn), ancak sunucu, ölçekleme, vb. İle uğraşmak istemiyorsanız. yerel makinenizde (docker aracılığıyla) ve ardından Google Run'a dağıtın.

  • Sunucusuz Mikro Hizmet (Bulut İşlevleri) : Belirli bir işi yapan bir grup API (işlev) yazmak istiyorsanız, google Bulut İşlevleri'ne gidersiniz. Sadece bu belirli işlevlere odaklanırsınız, işinizin geri kalanı (sunucu, bakım, ölçeklendirme, vb.) İşlevlerinizi mikro hizmet olarak göstermek için yapılır.

Daha derine inerken, biraz esneklik kaybedersiniz, ancak gereksiz teknik yönlerden endişe duymazsınız. Ayrıca biraz daha fazla ödeme yaparsınız, ancak zaman ve maliyetten tasarruf edersiniz (BT bölümü): başka biri (google) bunu sizin için yapıyor.

Yük dengeleme, ölçeklendirme, vb. İle ilgilenmek istemiyorsanız, uygulamanızı ayrı bir depolamada (veritabanı veya blob depolama) kalıcı olan her şeyi yazan "durumsuz" web hizmetlerine bölmek çok önemlidir. Sonra Cloud Run ve Cloud Functions'ın ne kadar harika olduğunu göreceksiniz.

Şahsen, Google Cloud Run'ı harika bir çözüm buldum, gelişimde mutlak özgürlük (vatansız olduğu sürece), bir web hizmeti olarak ortaya çıkarın, çözümünüzü docker, Cloud Run ile dağıtın. Google'ın BT ve DevOps'unuz olmasına izin verin, ölçeklendirme ve bakım ile ilgilenmeniz gerekmez.

Diğer tüm seçenekleri denedim ve her biri farklı amaç için iyi ama Google Run sadece harika. Bana göre, geliştirme esnekliğini kaybetmeden gerçek sunucusuz.


3

Bulut hizmetleri, tamamen yönetilenlerden daha az yönetilen hizmetlere kadar çeşitli seçenekler sunar. Daha az yönetilen hizmetler geliştiricilere daha fazla kontrol sağlar. Aynı şey Hesaplama ve Uygulama motorundaki farktır. Aşağıdaki görüntü bu noktada daha ayrıntılı resim açıklamasını buraya girin


1

Google Compute Engine (GCE)

Bulutta barındırılan Sanal Makineler (VM'ler). Buluttan önce bunlara genellikle Sanal Özel Sunucular (VPS) deniyordu. Bunları, işletim sistemini yükleyip yapılandırdığınız, uygulamanızı yüklediğiniz, veritabanını yüklediğiniz, işletim sistemini güncel tuttuğunuz vb. Gibi fiziksel bir sunucuyu kullandığınız gibi kullanırsınız. Bu, Altyapı- Hizmet olarak (IaaS).

VM'ler, veri merkezinizdeki bir VM veya sunucuda çalışan mevcut bir uygulamanız olduğunda ve uygulamayı kolayca GCP'ye geçirmek istediğinizde yararlı olur.

Google Uygulama Motoru

App Engine, işletim sistemi, ağ iletişimi ve fiziksel bir sunucu veya VM ile yönetmeniz gereken diğer birçok şeyle uğraşmanıza gerek kalmadan kodunuzu barındırır ve çalıştırır. Uygulamanızı otomatik olarak dağıtabilen, versiyonlandırabilen ve ölçeklendirebilen bir çalışma zamanı olarak düşünün. Buna Hizmet Olarak Platform (PaaS) denir.

App Engine, uygulamanızın otomatik dağıtımını ve otomatik ölçeklendirmesini istediğinizde en kullanışlıdır. Uygulamanız özel işletim sistemi yapılandırması gerektirmedikçe, App Engine, VM'leri elle yapılandırmak ve yönetmek yerine genellikle avantajlıdır.


Bu cevabın neden hak ettiği tüm oyları almadığını anlamıyorum! :)
Damilola Olowookere
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.