GCP: Google Cloud Platform Bilgi İşlem Yığını Ayrıştırma

Makalenin çevirisi ders öğrencilerine özel olarak hazırlanmıştır. "Bulut hizmetleri".

Bu yönde gelişmekle ilgileniyor musunuz? Profesyonel bir ana sınıfın kaydını izleyin "AWS EC2 hizmeti"InBit'te TeamLead ve OTUS'taki eğitim programının yazarı Egor Zuev tarafından yürütülmüştür.

GCP: Google Cloud Platform Bilgi İşlem Yığını Ayrıştırma

Google Cloud Platform (GCP), başta Google Compute Engine (GCE), Google Kubernetes Engine (eski adıyla Container Engine) (GKE), Google App Engine (GAE) ve Google Cloud Functions (GCF) içeren bilgi işlem yığını olmak üzere birçok hizmet sunar. . Bu hizmetlerin hepsinin harika isimleri vardır, ancak işlevleri ve onları birbirlerine özgü kılan şeyler tam olarak açık olmayabilir. Bu makale, bulut kavramlarına, özellikle de bulut hizmetlerine ve GCP'ye yeni başlayanlar için hazırlanmıştır.

GCP: Google Cloud Platform Bilgi İşlem Yığını Ayrıştırma

1. İşlem yığını

Bir bilgi işlem yığını, bir bilgisayar sisteminin sağlayabileceği şeyler üzerinde katmanlı bir soyutlama olarak düşünülebilir. Bu yığın yükselir (yukarı hareket eder) "çıplak demir"den (çıplak metal), bilgisayarın gerçek donanım bileşenlerine, işlevlere kadar (fonksiyonlar), en küçük hesaplama birimini temsil eder. Yığın hakkında dikkat edilmesi gereken önemli nokta, "uygulamalar" bölümü ( gibi) yığında yukarı doğru ilerledikçe hizmetlerin toplanmasıdır (uygulamalarAşağıdaki Şekil 1'de gösterilen, tüm temel kap bileşenlerini içermelidir (kaplar), Sanal makineler (Sanal makineler) ve demir. Aynı şekilde sanal makine bileşeninin de çalışabilmesi için içerisinde donanım bulunması gerekmektedir.

GCP: Google Cloud Platform Bilgi İşlem Yığını Ayrıştırma

Şekil 1: İşlem yığını | Resim kaynağı: Google Bulut

Şekil 1'de gösterilen bu model, bulut sağlayıcılarının sunduğu teklifleri tanımlamanın temelini oluşturur. Bu nedenle, bazı sağlayıcılar, örneğin yığın boyunca yalnızca daha düşük kalitede konteynerler ve hizmetler sağlayabilirken, diğerleri Şekil 1'de gösterilen her şeyi sağlayabilir.

— Bulut hizmetlerine aşina iseniz şu adrese gidin: bölüm 3GCP eşdeğerini görmek için
— Yalnızca bulut hizmetlerinin bir özetini istiyorsanız şu adrese gidin: bölüm 2.4

2. Bulut hizmetleri

Bulut bilişim dünyası çok çeşitlidir. Bulut sağlayıcıları, farklı müşteri gereksinimlerine göre uyarlanmış çeşitli hizmetler sunar. IaaS, PaaS, SaaS, FaaS, KaaS vb. terimleri duymuş olabilirsiniz. alfabedeki tüm harflerin ardından "aaS" gelir. Garip adlandırma kurallarına rağmen, bir dizi bulut sağlayıcı hizmeti oluştururlar. Bulut sağlayıcıların neredeyse her zaman sunduğu 3 ana “hizmet olarak” teklifin olduğunu belirtiyorum.

Bunlar sırasıyla Hizmet Olarak Altyapı, Hizmet Olarak Platform ve Hizmet Olarak Yazılım anlamına gelen IaaS, PaaS ve SaaS'tır. Bulut hizmetlerini, sağlanan hizmetlerin katmanları olarak görselleştirmek önemlidir. Bu, bir seviyeden seviyeye yukarı veya aşağı doğru hareket ettikçe, müşteri olarak temel teklife eklenen veya temel tekliften çıkarılan farklı hizmet seçenekleriyle karşılaşacağınız anlamına gelir. Bunu Şekil 2'de gösterildiği gibi bir piramit olarak düşünmek en iyisidir.
GCP: Google Cloud Platform Bilgi İşlem Yığını Ayrıştırma

Şekil 2: aaS Piramidi | Resim kaynağı: Yakut Garajı

2.1 Hizmet Olarak Altyapı (IaaS)

Bu, bir bulut sağlayıcısının sunabileceği en düşük katmandır ve bulut sağlayıcısının ara yazılımlar, ağ kabloları, CPU'lar, GPU'lar, RAM, harici depolama, sunucular ve Debian Linux, CentOS, Windows gibi temel işletim sistemi görüntüleri dahil olmak üzere yalın donanım altyapısını sunmasını içerir. , vesaire.

Bir bulut IaaS sağlayıcısından fiyat teklifi sipariş ederseniz almayı beklemeniz gereken şey budur. İşinizi yürütmek için bu parçaları bir araya getirmek size, yani müşteriye kalmıştır. Üzerinde çalışmanız gereken şeyin kapsamı satıcıdan satıcıya değişebilir, ancak genellikle yalnızca donanımı ve işletim sistemini alırsınız ve gerisi size kalmıştır. IaaS örnekleri AWS Elastic Compute, Microsoft Azure ve GCE'dir.

Bazı kişiler, işletim sistemi görüntüleri yüklemeleri ve ağ oluşturma, yük dengeleme ile uğraşmaları veya iş yükleri için ne tür işlemcinin ideal olduğu konusunda endişelenmeleri gerçeğinden hoşlanmayabilir. Burası piramitte PaaS'a doğru ilerlediğimiz yer.

2.2 Hizmet olarak platform (PaaS)

PaaS yalnızca kullanıcıların uygulama oluşturabileceği belirli bir platform sunan bir bulut hizmet sağlayıcısını içerir. Bu, IaaS üzerinden yapılan bir soyutlamadır; yani bulut sağlayıcısı CPU türleri, bellek, RAM, depolama, ağlar vb. ile ilgili tüm ayrıntılarla ilgilenir. Şekil 2'de gösterildiği gibi, bir müşteri olarak sizin gerçek platform üzerinde çok az kontrolünüz vardır çünkü Bulut sağlayıcısı sizin için tüm altyapı ayrıntılarını yönetir. Seçilen platformu talep ediyorsunuz ve projeyi bunun üzerine inşa ediyorsunuz. PaaS örnekleri Heroku'dur.

Bu, bazıları için çok yüksek bir düzey olabilir, çünkü projeyi mutlaka belirli bir platformda oluşturmak istemiyorlar, bunun yerine doğrudan bulut sağlayıcısından bir dizi hizmete ihtiyaç duyuyorlar. SaaS'ın devreye girdiği yer burasıdır.

2.3 Hizmet olarak yazılım (SaaS)

SaaS, bulut hizmeti sağlayıcıları tarafından sağlanan en yaygın hizmetleri temsil eder. Son kullanıcılara yöneliktirler ve öncelikle Gmail, Google Dokümanlar, Dropbox vb. web siteleri aracılığıyla erişilebilirler. Google Cloud'a gelince, bilgi işlem yığınlarının dışında SaaS olan çeşitli teklifler vardır. Bunlar arasında Data Studio, Big Query vb. yer alır.

2.4 Bulut Hizmetleri Özeti

bileşenleri
IaaS
PaaS
SaaS

Ne aldın
Altyapıyı alırsınız ve buna göre ödeme yaparsınız. Herhangi bir yazılımı, işletim sistemini veya bunların bileşimini kullanma veya kurma özgürlüğü.
Burada istediğini alırsın. Yazılım, donanım, işletim sistemi, web ortamı. Kullanıma hazır bir platform alırsınız ve buna göre ödeme yaparsınız.
Burada hiçbir şey için endişelenmenize gerek yok. İhtiyaçlarınıza göre özelleştirilmiş, önceden kurulmuş bir paket sunulur ve tek yapmanız gereken buna göre ödeme yapmaktır.

Değer
Temel Bilgi İşlem
En iyi IaaS
Bu aslında eksiksiz bir hizmet paketidir

Teknik zorluklar
Gerekli teknik bilgi
Size temel yapılandırma verilmiştir, ancak yine de alan bilgisine ihtiyacınız vardır.
Teknik detaylarla uğraşmanıza gerek yok. SaaS sağlayıcısı her şeyi sağlar.

Ne ile çalışır?
Sanal makineler, depolama, sunucular, ağ, yük dengeleyiciler vb.
Çalışma zamanı ortamları (java çalışma zamanı gibi), veritabanları (mySQL, Oracle gibi), web sunucuları (Tomcat vb. gibi)
E-posta hizmetleri (Gmail, Yahoo mail vb.), sosyal etkileşim siteleri (Facebook vb.) gibi uygulamalar

Popülerlik grafiği
Yüksek vasıflı geliştiriciler ve kendi gereksinimlerine veya araştırma alanlarına göre özelleştirmeye ihtiyaç duyan araştırmacılar arasında popüler
Geliştiriciler arasında en popüler olanı, uygulamalarını veya komut dosyalarını geliştirmeye odaklanabilmeleridir. Trafik yükü veya sunucu yönetimi vb. konularda endişelenmelerine gerek yok.
Teknik ayrıntılar konusunda endişelenmelerine gerek olmadığı için e-posta, dosya paylaşımı, sosyal ağlar gibi yazılımları kullanan sıradan tüketiciler veya şirketler arasında en popüler olanıdır

Şekil 3: Başlıca bulut tekliflerinin özeti | Resim sağlandı Blog Specia'da Amir

3. Google Bulut Platformu Bilgi İşlem Paketi

Bölüm 2'deki tipik bulut sağlayıcı tekliflerine baktıktan sonra bunları Google Cloud'un teklifleriyle karşılaştırabiliriz.

3.1 Google Compute Engine (GCE) - IaaS

GCP: Google Cloud Platform Bilgi İşlem Yığını Ayrıştırma

Şekil 4: Google Compute Engine (GCE) Simgesi

GCE, Google'ın sunduğu bir IaaS teklifidir. GCE ile özgürce sanal makineler oluşturabilir, CPU ve bellek kaynaklarını tahsis edebilir, SSD veya HDD gibi depolama türünü ve bellek miktarını seçebilirsiniz. Sanki kendi bilgisayarınızı/iş istasyonunuzu kurmuşsunuz ve nasıl çalıştığına dair tüm detayları yönetmişsiniz gibi.

GCE'de, 0,3 çekirdekli işlemcilere ve 1 GB RAM'e sahip mikro örneklerden, 96 GB'ın üzerinde RAM'e sahip 300 çekirdekli canavarlara kadar seçim yapabilirsiniz. Ayrıca iş yükleriniz için özel boyutlu sanal makineler de oluşturabilirsiniz. İlgilenenler için bunlar oluşturabileceğiniz sanal makinelerdir.

Makine tipleri | Compute Engine Belgeleri | Google Bulut

3.2. Google Kubernetes Engine (GKE) - (Caas / Kaas)

GCP: Google Cloud Platform Bilgi İşlem Yığını Ayrıştırma

Şekil 5: Google Kubernetes Engine (GKE) simgesi

GKE, GCP'nin Compute Engine'in üzerinde bir soyutlama olan benzersiz bir bilgi işlem teklifidir. Daha genel olarak GKE, müşterilerin Docker konteynerlerini tam olarak yönetilen bir Kubernetes ortamında kolayca çalıştırmasına olanak tanıyan Hizmet Olarak Kubernetes (KaaS) olarak da adlandırılan Hizmet Olarak Konteyner (CaaS) olarak kategorize edilebilir. Konteynerlere aşina olmayanlar için, konteynerler hizmetleri/uygulamaları modülerleştirmeye yardımcı olur, böylece farklı konteynerler farklı hizmetler içerebilir; örneğin, bir konteyner web uygulamanızın ön ucunu barındırabilir ve diğeri de arka ucunu içerebilir. Kubernetes, konteynerlerinizi otomatikleştirir, düzenler, yönetir ve dağıtır. Daha fazla bilgi burada.

Google Kubernetes Motoru | Google Bulut

3.3 Google Uygulama Motoru (GAE) - (PaaS)

GCP: Google Cloud Platform Bilgi İşlem Yığını Ayrıştırma

Şekil 6: Google App Engine (GAE) Simgesi

Bölüm 2.2'de belirtildiği gibi PaaS, IaaS'nin üzerinde yer alır ve GCP söz konusu olduğunda GKE'nin üzerinde bir teklif olarak da değerlendirilebilir. GAE, Google'ın özel PaaS'sidir ve kendilerini en iyi şekilde tanımladıkları şey "kodunuzu getirin, gerisini biz hallederiz."

Bu, GAE kullanan müşterilerin temel donanım/ara yazılımlarla uğraşmak zorunda kalmamalarını ve önceden yapılandırılmış, kullanıma hazır bir platforma sahip olmalarını sağlar; tek yapmaları gereken, onu çalıştırmak için gereken kodu sağlamaktır.

GAE, kullanıcıların yükünü ve talebini karşılamak için ölçeklendirmeyi otomatik olarak gerçekleştirir; bu, çiçek satan web sitenizin Sevgililer Günü yaklaştığı için aniden zirveye çıkması durumunda, GAE'nin talebi karşılamak ve artan talep nedeniyle web sitenizin çökmemesini sağlamak için temel altyapıyı ölçeklendirmeyi gerçekleştireceği anlamına gelir. . Bu, tam olarak uygulamanızın o anda ihtiyaç duyduğu kaynaklar için ödeme yapacağınız anlamına gelir.

GAE, tüm bunları halletmek için Kubernetes'i veya yerel sürümünü kullanır, böylece endişelenmenize gerek kalmaz. GAE, temel altyapıyla ilgilenmeyen ve yalnızca uygulamalarının mümkün olan en iyi şekilde erişilebilir olmasını sağlamaya önem veren şirketler için çok uygundur.

Benim düşünceme göre, harika bir fikri olan bir geliştiriciyseniz ancak sunucuları kurma, yük dengeleme ve diğer tüm zaman alan devops/SRE işlerinin angaryasıyla uğraşmak istemiyorsanız, GAE başlamak için en iyi yerdir. . Zamanla GKE ve GCE'yi deneyebilirsiniz, ancak bu sadece benim görüşüm.

sorumluluk reddi: AppEngine mobil uygulamalar için değil web uygulamaları için kullanılır.

İnceleme için: App Engine - Herhangi bir dilde ölçeklenebilir web ve mobil arka uçlar oluşturun | Google Bulut

3.4 Google Cloud İşlevleri - (FaaS)

GCP: Google Cloud Platform Bilgi İşlem Yığını Ayrıştırma

Şekil 7: Google Cloud Functions (GCF) simgesi

Umarım önceki tekliflere bakarak bir trend fark etmişsinizdir. GCP bilgi işlem çözümü merdiveninde ne kadar yükseğe tırmanırsanız, temel teknoloji hakkında endişelenmeniz o kadar az olur. Bu piramit, Bölüm 1'de gösterildiği gibi mümkün olan en küçük hesaplama birimi olan bir fonksiyonla sona ermektedir.

GCF, nispeten yeni bir GCP teklifidir ve (bu yazının yazıldığı sırada) hâlâ beta aşamasındadır. Bulut işlevleri, geliştirici tarafından yazılan belirli işlevlerin bir olay tarafından tetiklenmesine olanak tanır.

Olay odaklıdırlar ve "sunucusuz" ifadesinin merkezinde yer alırlar, yani sunucuları bilmezler. Bulut işlevleri çok basittir ve olay odaklı düşünmeyi gerektiren birçok farklı kullanıma sahiptir. Örneğin, yeni bir kullanıcı her kaydolduğunda geliştiricileri uyarmak için bir bulut işlevi tetiklenebilir.

Bir fabrikada, belirli bir sensör belirli bir değere ulaştığında, bazı bilgi işlemlerini gerçekleştiren veya bazı bakım personeline bildirimde bulunan vb. bir bulut işlevini tetikleyebilir.

Bulut İşlevleri - Olay Odaklı Sunucu Bilgi İşlem | Google Bulut

Sonuç

Bu makalede IaaS, PaaS vb. gibi farklı bulut tekliflerinden ve Google'ın bilgi işlem yığınının bu farklı katmanları nasıl uyguladığından bahsettik. Paas'taki IaaS gibi bir hizmet kategorisinden diğerine geçerken soyutlama katmanlarının temel bilgiler hakkında daha az bilgi gerektirdiğini gördük.

Bir işletme için bu, yalnızca operasyonel hedeflerini karşılamakla kalmayıp aynı zamanda güvenlik ve maliyet gibi diğer önemli alanları da karşılayan kritik bir esneklik sağlar. Özetlemek:

Bilişim Altyapısı - RAM, işlemci, bellek gibi belirli donanım kaynaklarını tahsis ederek kendi sanal makinenizi oluşturmanıza olanak tanır. Aynı zamanda oldukça pratik ve düşük seviyeli.

Kubernetes Motoru Compute Engine'den bir adım ileridedir ve uygulamanızı yönetmek için Kubernetes'i ve konteynerleri kullanmanıza olanak tanıyarak uygulamanızı gerektiği gibi ölçeklendirmenize olanak tanır.

Uygulama Motoru Kubernetes Engine'den bir adım ileridedir ve Google tüm temel platform gereksinimlerini karşılarken yalnızca kodunuza odaklanmanıza olanak tanır.

Bulut İşlevleri hesaplama piramidinin tepesidir ve çalıştırıldığında hesaplamak ve sonucu döndürmek için temel altyapının tamamını kullanan basit bir fonksiyon yazmanıza olanak tanır.

Teşekkürler!

Twitter: @martinomburajr

Kaynak: habr.com

Yorum ekle