Google Cloud Platform ile Bulut Bilişim
Bulut Bilişim nedir?

Bulut Bilişim teknolojilerinde ölçeklenebilir uygulamalar yaratmanın uygulanabilirliği olduk.a büyüktür. Altyapı, kurulum veya ortam bakımı hakkında endişelenmenize gerek kalmadan basitçe kod yazma, yükleme ve çalıştırma becerisine sahip olduğunuzu hayal edin. Tamamen işlevsel ve ölçeklenebilir uygulamaları, onları sıfırdan inşa etmek için harcanan süreden çok daha kısa bir sürede kullanıma sunabilirsiniz. Bulut bilgi işlem, kullanıcının temel altyapıyı sürdürmesine veya oluşturmasına gerek kalmadan kodun hizmet olarak çalıştırıldığı modeldir. Bu sunucusuz gibi görünen mimarinin, sunucuları gerektirmediği anlamına gelmez, bunun yerine üçüncü bir tarafın bu sunucuları kullanıcıdan soyutlayarak yönettiği anlamına gelir.
Bulut Bilişim, BT(Bilgi Teknolojileri)’yi kullanmanın bir yoludur. Beş önemli özelliğe sahiptir. İlk olarak bilgi işlem kaynaklarını isteğe bağlı ve self servis olarak alırsınız. Tek yapmanız gereken basit bir arayüz kullanmaktır ve insan müdahalesine gerek kalmadan ihtiyacınız olan işlem gücü, depolama ve ağı elde edersiniz. İkincisi, bu kaynaklara istediğiniz yerden ağ üzerinden erişebilirsiniz. Üçüncüsü, bu kaynakların sağlayıcısı büyük bir havuza sahiptir ve bunları bu havuzdan müşterilere tahsis eder. Bu, sağlayıcının toplu olarak satın alarak ölçek ekonomisi elde etmesini ve tasarrufları müşterilere aktarmasını sağlar. Müşterilerin bu kaynakların tam fiziksel konumunu bilmesine veya düşünmesine gerek yoktur. Dördüncüsü, kaynaklar esnektir. Daha fazla kaynağa ihtiyacınız varsa daha fazlasını hızlı bir şekilde elde edebilirsiniz. Daha azına ihtiyacınız varsa geri ölçekleyebilirsiniz. Ve son olarak müşteriler yalnızca kullandıkları kadarının ödemesini yaparlar. Kaynakları kullanmayı bırakırlarsa ödemeyi sonlandırırlar.
Bulut Bilişimden kısaca bahsettikten sonra Bulut üzerindeki servislerin genel çalışma prensipler hakkında bilgi verelim. Kullanıcıya nasıl yarar sağlar ve hangi ihtiyaçlara karşılık gelir bunlara bakalım.
IaaS(insfracture as a service), veri merkezlerinden aşina olunan şekillerde organize edilmiş temel işlemler, depolama ve network sağlar. PaaS(platform as a service) size tipik olarak işletim sistemini, programlama dili yürütme ortamını, veritabanını ve web sunucusunu içeren bilgi işlem platformları sağlar. Bu şekilde, sadece uygulama mantığına odaklanabilirsiniz. SaaS(software as a service) size uygulama yazılımına erişim sağlar. Yükleme ve kurulum gibi işlemler gerekmez. SaaS, Google’ın Search, Gmail, Docs ve Drive gibi popüler uygulamaları olup kullanıcılar tarafından doğrudan internet üzerinden kullanılabilen hizmet olarak yazılım uygulamalarıdır.
Bulut Bilişimin ana ham maddesi olan veriler kullanıma daha doğrusu ihtiyaçlara uygun hale getirebilmek için bir takım işlemlere ihtiyaç duyulur. Bunlardan biraz bahsedelim. Data lifecycle yani Veri yaşam döngüsü 4 aşamadan oluşur. Ingestion, veri yaşam döngüsünün(data lifecycle) ilk aşamasıdır, veri edinmeyi ve verileri Google Cloud Platform’a getirmeyi gerektirir. Store aşaması, verilerin veri yaşam döngüsünün sonraki aşamaları için erişilebilecek bir depolama sistemine devam ettirilmesiyle ilgilidir. Process and Analyze aşaması, verilerin analiz uygulamaları için kullanılabilir bir formata dönüştürülmesiyle başlar. Explore and visualize, iç-görülerin(verilerin anlaşılması) analizden türetildiği ve başkaları tarafından kullanılmak üzere tablolar, grafikler ve diğer görselleştirmelerde sunulduğu son aşamadır. Her veri yaşam döngüsünde bu 4 aşamanın da olması şart değildir. Verinin ihtiyacına göre bunlar değişebilir. ETL(extract transformation load) ve extract-load gibi ihtiyaçlarda farkılılık gösterebilir.
Data Pipeline nedir?
Data pipeline, verileri kopyalayan, dönüştüren, yükleyen ve analiz eden işlem dizileridir. Batch, streaming ve machine learning pipeline’larında tekrar tekrar gördüğünüz yaygın üst düzey tasarım modelleri vardır. Data pipeline, veri işlemlerinin bir aşamadan diğerine aktığı soyut bir kavramdır.

Pipeline’dan kısaca bahsettikten sonra GCP üzerinde pipeline tasarlamak ve organize etmek için kullanılan hizmetlerden bahsedeceğim. Bu hizmetler iş ihtiyacına ve kullanım alanlarına göre farklılık gösterir. Neden hangisini tercih etmeliyiz bunlara biraz değineceğim. Avantajlarından bahsetmeye çalışacağım. Genel terimleri anlatmaya çalışacağım ve yararlanabileceğiniz kaynakları paylaşacağım.
Cloud Dataflow’u kullanırken transformation işlemlerini, unified batch ve streaming processing modeli sağlayan Apache Beam modelini kullanarak yazarsınız. Apache Beam pipeline olarak modellenmiştir. Bu yapı ile ilgili bazı terimlerin kısaca açıklamalarını aşağıda bulabilirsiniz:
PCollection: Dağıtılmış bir veri kümesi
PTransform: Verileri gruplama, düzleştirme ve bölümleme gibi veriler üzerinde işlemler. Transforms, girdi olarak bir veya daha fazla PCollections üzerinde çalışır ve bir veya daha fazla çıktı PCollections oluşturabilir. İşlemler matematiksel hesaplamalar, veri türü dönüştürmeleri ve veri gruplama adımlarının yanı sıra okuma ve yazma işlemlerinin gerçekleştirilmesi olabilir.
ParDo, bir PCollection’daki her öge üzerinde kullanıcı tanımlı bir işlevi çalıştıran paralel bir işlem işlemidir. ParDo, verileri paralel olarak dönüştürür.
Apache Beam programları Java ve Python ile yazılmıştır.
Apache beam hakkında ayrıntılı bilgi edinmek için:
Cloud Dataproc ile transformation işlemleri, Spark veya Hadoop destekli bir dilde yazılabilir. Spark, veri işleme ve analizi için in-memory distributed data modeli kullanır. Spark programları Java, Scala, Python, R ve SQL’de yazılabilir. Cloud Dataproc kullanırken, transformation işlemleri Hadoop’un map reduce modeline veya Spark’ın distributed tabular data yapısına göre yazılır. Hadoop, transformation işlemleri için Java’yı desteklemenin yanı sıra, veri işleme için yüksek seviyeli bir dil olan Pig’i sağlar. Pig programları, Hadoop üzerinde çalışan map reduce programlarında derlenir.
Cloud Dataproc, mevcut Hadoop veya Spark programlarını migrate ediyorsanız ETL süreçlerini uygulamak için iyi bir seçimdir. Cloud Dataflow, yeni ETL süreçleri geliştirmek için önerilen araçtır. Cloud Dataflow serverless yapıdadır, dolayısıyla yönetilecek cluster yoktur ve işleme modeli data pipeline düzenlerine dayanır. Cloud Dataproc’un Hadoop ve Spark platformları, büyük veri analizi işlemeye göre tasarlandığından transformation işlemleri için kullanılabilir, ancak Cloud Dataflow modeli data pipeline düzenlerine dayanır.
Cloud Dataproc, bilinen boyutta bir veri kümeniz olduğunda veya cluster boyutunuzu kendiniz yönetmek istediğinizde tercih edilebilir. Peki ya verileriniz gerçek zamanlı olarak ortaya çıkarsa ya da tahmin edilemeyen boyut veya hızdaysa? Cloud Dataflow’un tercih edildiği yer burasıdır. Hem birleşik bir programlama modeli hem de yönetilen bir hizmettir ve çok çeşitli veri işleme modellerini geliştirmenize ve yürütmenize olanak tanır: extract, transformation ve batch computation ve continuous computation. Data Pipeline’ları oluşturmak için Dataflow’u kullanırsınız. Cloud Dataflow’daki data pipeline’lar, beklediğiniz gibi, bir kaynaktan gelen verilere uygulanan bir dizi hesaplamadır. Her bir hesaplama, data pipeline’da bir sonraki hesaplama için girdi haline gelen hesaplamaların sonuçlarını yayar. Data pipeline’lar, tekrar tekrar çalıştırılabilen bir işi temsil eder.
Şimdi verinin depolanması için GCP’nin sunduğu hizmetlere bakalım.
Cloud storage, Nesne depolaması nedir? diyerek başlayalım. Verilerinizi bir klasör hiyerarşisi olarak yönettiğiniz dosya depolamayla ve işletim sisteminizin verilerinizi disk parçaları olarak yönettiği blok depolamayla aynı şey değildir; nesne depolaması, burada deponuza kaydettiğiniz anlamına gelir. Nesnelerin (yani, Cloud Storage’da depolanan dosyaların) atomik olarak ele alınması anlamında yapılandırılmamıştır. Cloud Storage’daki bir dosyaya eriştiğinizde dosyanın tamamına erişirsiniz. Tamamen yönetilen ölçeklenebilir bir hizmettir. Bu, önceden kapasite yapılandırmasına gerek olmadığı anlamına gelir. Sadece nesneler yapın ve cloud storage bunları yüksek dayanıklılık ve yüksek kullanılabilirlik ile saklasın. Veri dosyaları, görüntüler, videolar, yedekleme dosyaları ve diğer veriler gibi yapılandırılmamış verileri kalıcı kılmak için tasarlanmıştır. Cloud Storage, oluşturduğunuz ve yapılandırdığınız ve depolama nesnelerinizi tutmak için kullandığınız bucket’lardan oluşur. Cloud Storage dosyaları bucket’lar halinde düzenler. Bir bucket oluşturduğunuzda ona global unique bir ad vermeniz gerekir. Cloud Storage’a verileri taşıdıktan sonra bunları daha sonradan diğer GCP depolama hizmetlerine de taşınabilir. Cloud Storage, dört farklı depolama sınıfı türü arasından seçim yapmanızı sağlar:
- Multi-Regional: dünyanın her yerinden sık erişim. “hot data” için kullanın
- Regional: bölge için yüksek yerel performans
- Nearline: ayda birden daha az erişilen veriler için depolama (arşivleme)
- Coldline: Yılda birden az erişilen veriler için(arşivleme)
Cloud Bigtable, Google’ın NoSQL yapısında büyük veriler için veritabanı hizmetidir. Bigtable’daki veritabanları milyarlarca satıra ve binlerce sütuna ölçeklenebilen seyrek olarak doldurulmuş tablolardır ve petabaytlarca verinin depolanmasına olanak tanır. Tek bir arama anahtarına sahip veriler için idealdir. Cloud Bigtable, çok düşük gecikmeyle büyük miktarda veriyi depolamak için idealdir. Hem okuma hem de yazma gibi yüksek iş hacmini destekler. Bu nedenle IoT, kullanıcı analitiği ve finansal veri analizi dahil hem operasyonel hem de analitik uygulamalar için mükemmel bir seçimdir. Cloud Bigtable, Apache Hadoop projesi için yerel veritabanı olan HBase ile açık kaynak API üzerinden sunulabilir. Cloud Bigtable, GCP ekosisteminin bir parçası olarak diğer GCP hizmetleri ve üçüncü taraf istemcilerle etkileşim kurabilir. Uygulama API perspektifinden, veriler, Yönetilen Sanal Makineler, HBase REST server veya HBase client kullanılarak bir Java server’ı gibi veri hizmeti katmanı aracılığıyla Cloud Bigtable’dan okunabilir ve yazılabilir. Genellikle, uygulamalara, dashboard’a ve veri hizmetlerine veri sunmak içindir. Veriler ayrıca Cloud Dataflow Streaming, Spark Streaming ve Storm gibi çeşitli popüler akış işleme çerçeveleriyle de yayınlanabilir. Veriler ayrıca Hadoop map reduce, Dataflow veya Spark gibi toplu işlemler(batch process) aracılığıyla Cloud Bigtable’dan okunabilir ve yazılabilir.
Cloud Datastore, Uygulamalar için yüksek oranda ölçeklenebilir bir başka NoSQL veritabanı da Cloud Datastore’dur. Ana kullanım örneklerinden biri, App Engine uygulamalarından yapılandırılmış verileri depolamaktır. Entegrasyon noktası olarak Cloud Datastore ile App Engine ve Compute Engine’i kapsayan çözümler de oluşturabilirsiniz. Tümüyle yönetilen bir hizmetten bekleyebileceğiniz gibi, Cloud Datastore, sharding(parçalama) ve replication’ı otomatik olarak yöneterek, size yükün üstesinden gelmek için otomatik olarak ölçeklenen, yüksek düzeyde kullanılabilir ve dayanıklı bir veritabanı sağlar. Cloud Bigtable’ın aksine, birden çok veritabanı satırını etkileyen işlemler sunar ve SQL benzeri sorgular çalıştırmanızı sağlar. Başlangıç için Cloud Datastore, ücretsiz olarak depolama, okuma, yazma, silme ve küçük işlemler sağlayan ücretsiz günlük kotaya sahiptir.
Cloud SQL, MySQL, PostgreSQL ve SQL Server veritabanlarını destekleyen, tamamen yönetilebilen ilişkisel veritabanı hizmetidir. Web framework’leri ve OLTP işleri için tercih edilir. SQL yapılarına uyumludur. Yönetilen veritabanı, yönetilmeyen veritabanı kadar yönetim ve operasyonel destek gerektirmeyen bir veritabanıdır çünkü Google, veritabanları oluşturma, yedekleme gerçekleştirme ve veritabanı örneklerinin işletim sistemini güncelleme gibi temel operasyonel görevleri üstlenecektir. Google ayrıca diskleri ölçeklendirmeyi, failover için yapılandırmayı, network izlemeyi ve yetkilendirmeyi de yönetir. Cloud SQL hizmetini kullanmanın bazı avantajları vardır. İlk olarak Cloud SQL; okuma, failover ve harici replikalar gibi çeşitli replication hizmetleri sağlar. Bu, bir kesinti-disaster olursa Cloud SQL’in otomatik failover ile birden çok bölge arasında verileri kopyalayabileceği anlamına gelir. Cloud SQL, verilerinizi isteğe bağlı veya planlanmış yedeklemelerle yedeklemenize de yardımcı olur. Ayrıca makine tipini değiştirerek hem dikey hem de okuma kopyaları aracılığıyla yatay olarak ölçeklenebilir. Yatay ölçeklenebilirliğe ihtiyacınız olduğunda Cloud SQL gereksinimlerinizi karşılamıyorsa Cloud Spanner’ı kullanmayı düşünün. Global ölçekte işlem tutarlılığı, şemalar, SQL ve yüksek kullanılabilirlik için otomatik eşzamanlı replication sunar. Ve petabaytlarca kapasite sağlayabilir. Herhangi bir ilişkisel veritabanını aştıysanız veya yüksek performans için veritabanlarınızı parçaladıysanız(sharding), işlem tutarlılığına, global verilere ve güçlü tutarlılığa ihtiyacınız varsa veya yalnızca veritabanınızı birleştirmek istiyorsanız Cloud Spanner’ı kullanmayı düşünün. Cloud SQL terabaytlarca kapasite sağlarken, Cloud Spanner petabaytlar sağlar.
BigQuery, popüler bir GCP hizmetidir çünkü çok az operasyonel ek yük gerektirir, petabayt ölçekli serverless veri ambarı(date warehouse) olarak kullanılır ve özellikle sorgular BigQuery mimarisinden yararlanmak için ayarlandığında yüksek performans gösterir. Sorgular için SQL yapısını kullanır. Esnek giriş ve çıkış için birçok hizmete bağlanır ve verimlilik için nested ve repeated alanları ve genişletilebilirlik için kullanıcı tanımlı işlevleri destekler. Nested veriler, SQL’de STRUCT türünde temsil edilir ve repeated türler SQL’de ARRAY türlerinde gösterilir. Sorguları yürütmek üzere bilgi işlem kaynaklarını ayırmak için slots kavramını kullanır. Çoğu kullanıcı için varsayılan slot sayısı yeterlidir, ancak çok büyük sorgular veya çok sayıda eşzamanlı sorgu, ek slot’larla bir performans avantajı sağlayabilir. Slot’lar, belirli miktarda CPU ve RAM içeren hesaplama birimleridir. Cluster yönetmeniz gerekmez. Sadece içgörülere(data insights-veriyi anlama olarak çevirilebilir) odaklanın. Dosya biçimleri Avro, CSV, JSON, ORC veya Parquet Cloud Storage’dan yükleme yapıyorsanız, Cloud Datastore ve Cloud Firestore exports da yükleyebilirsiniz. Stackdriver, BigQuery’de monitoring ve logging için kullanılır. Stackdriver Monitoring, sorgu sayıları ve sorgu çalıştırma süresi gibi performans metrikleri takibini sağlar. Stackdriver Logging, işleri çalıştırma veya tablo oluşturma gibi olayları izlemek için kullanılır. Bir sorgunun maliyetini gözlemlemek için “ — dry-run” kullanılabilir. “ — maximum_bytes_billed parameter “ ile faturalandırılacak maksimum bayt sayısı ayarlanabilir. Google Sheets, Looker, Tableau, Qlik veya Google Data Studio gibi kullanıcı dostu araçlar aracılığıyla hem internal hem de external kullanıcıların sorgulayabileceği ve sorgu sonuçlarını herkes için erişilebilir hale getirebileceği salt okunur paylaşılan veri kaynakları oluşturabilirsiniz. BigQuery, yapay zekanın temelini oluşturur. TensorFlow ve Google AI platform modellerini kullanarak doğrudan BigQuery’de depolanan veri kümesiyle eğitmek mümkündür ve BigQueryML, basit SQL kullanarak Makine Öğrenimi modelleri oluşturmak ve eğitmek için kullanılabilir. BigQuery’de depolanan veriler oldukça dayanıklıdır. Google, verilerinizi varsayılan olarak replicate eder ve replica’lar için ek ücret olmaksızın depolar. BigQuery ile yalnızca kullandığınız kaynaklar için ödeme yaparsınız. BigQuery’de veri depolamak ucuzdur. Sorgular, işledikleri veri miktarına göre ücretlendirilir: Bir sorgu gönderdiğinizde, işlem node’ları için yalnızca o sorgu süresince ödeme yaparsınız. Bir işlem kümesini çalışır durumda tutmak için ödeme yapmanız gerekmez.
Verinin depolanması ile ilgili bilgilerimizi de aldıktan sonra GCP’te bazı genel servislerden de bahsetmek istiyorum. Aslında çalışılan alana göre çok çeşitlilik gösteren hizmetler mevcut fakat ben burda karşıma en çok çıkanlardan bahsetmek istiyorum.
GCP hizmetlerini kullanırken karşımıza çıkan yetkilendirme, izinler, gizlilik gibi yapıları düzenlemek için kullanılan hizmetler için IAM,
Sanal makine kurmak ve yönetmek için gereken hizmetler compute engine,
kendi bilgisayarımızda kullandığımız terminal yapısının bulut üzerindeki hizmeti için cloud shell,
veri akışında tutarlılığı sağlamak, uygulamalar arası mesajlama hizmetlerini yönetmek için cloud pub/sub
gerekli olan hizmetlere kısaca bakacağız.
IAM: IAM, yöneticilerin belirli kaynaklar üzerinde kimlerin işlem yapabileceğini yetkilendirmesine izin verir. Bir IAM rolü bir izinler koleksiyonudur. Çoğu zaman herhangi bir anlamlı işlem yapmak için birden fazla izne ihtiyacınız olacaktır. Örneğin, projedeki örnekleri yönetmek için bir örnek oluşturmanız, silmeniz, başlatmanız, durdurmanız ve değiştirmeniz gerekir. Böylece izinler yönetilmesini kolaylaştıran bir rol altında gruplandırılır. Cloud IAM’de üç tür rol vardır: primitive roles, predefined roles, custom roles. primitive roller owner, editor ve viewer rolleridir. Belirli bir kaynak üzerinde viewer iseniz, onu inceleyebilir ancak durumunu değiştiremezsiniz. Editor iseniz bir viewer’ın yapabileceği her şeyi yapabilir, ayrıca durumunu değiştirebilirsiniz. Owner iseniz bir editor’un yapabileceği her şeyi yapabilir, ayrıca kaynaktaki rolleri ve izinleri yönetebilirsiniz. Owner rolü ayrıca faturalandırmayı ayarlamaya da olanak tanır. Dikkatli olunması gereken hassas veriler içeren bir projede birlikte çalışan birkaç kişi varsa primitive role’ler(owner, editor, viewer) muhtemelen çok geniş kapsamlı olacaktır. Neyse ki GCP IAM, daha ince ayrıntılı rol türleri sağlar. GCP hizmetleri, GCP tarafından pre-defined role gruplarını sunar ve bu rollerin nerede uygulanabileceğini tanımlar. Birçok şirket projedeki her bir kişinin işini yapmak için gereken minimum yetkinliğe sahip olduğu en az ayrıcalıklı modele sahiptir. IAM primitive role’leri ile pre-defined roles’leri arasındaki fark, primitive role’lerin bir GCP projesindeki tüm kaynakları etkilemesidir. Pre-defined roller bir projedeki belirli bir hizmet için geçerlidir.
Compute Engine, Google altyapısında sanal makineler oluşturmanıza ve çalıştırmanıza olanak tanır. Ön ödeme yoktur, hızlı olacak ve tutarlı performans sağlayacak şekilde tasarlanmış bir sistemde binlerce sanal CPU çalıştırabilirsiniz. Google Cloud Platform konsolunu veya “gcloud” komut satırı aracını kullanarak bir sanal makine örneği oluşturabilirsiniz. Sanal makineniz Google tarafından sağlanan Linux ve Windows Server yapılarını veya bu yapıların özelleştirilmiş sürümlerini çalıştırabilir ve hatta birçok fiziksel sunucunuz için yapıları içe aktarabilirsiniz. Bir VM(virtual machine) oluştururken, ne kadar bellek ve kaç sanal CPU’ya sahip olduğunu belirleyen bir makine türü seçebilirsiniz.
Cloud Pub / Sub, hem push hem de pull subscription modellerini destekleyen gerçek zamanlı bir mesajlaşma hizmetidir. Yönetilen hizmettir(managed service) ve server’ların veya cluster’ların hazırlanmasını gerektirmez. Cloud Pub / Sub, gerektiğinde otomatik olarak ölçeklenir ve bölümlenir. Streaming data uygulamalarında verileri işlerken verileri arabelleğe(buffer) alabilen Cloud Pub / Sub için çok uygundur. Uygulama örneklerinin hız verilerinin gelmekte olduğu veri alımındaki ani artışlar sırasında, veriler bir Cloud Pub / Sub konusunda(topics) korunabilir ve uygulama örneklerinin yakalama şansı bulduktan sonra işlenebilir. Burda anlatmak istediğimi bir örnekle açıklamak istiyorum. Diyelim farklı zaman dilimlerinden veriler geliyor veya bazı verilerin gelmesi gecikmeli olabiliyor. Bu veriler önce pub/sub’da bufferlanarak daha sonra sisteme alınabilir. Bu şekilde verilerin düzeni korunur ve kayıplar önlenmiş olur.
Cloud Pub / Sub ile çalışırken, mesajlarınızı düzenlemek için mantıksal bir yapı olan bir topic(konu) oluşturursunuz. Bir konu oluşturulduktan sonra, konuya bir subscription(abonelik) oluşturursunuz ve ardından konuya mesajlar yayınlarsınız. Abonelikler, süreçleri tüketerek mesajların alınmasını organize etmek için mantıksal bir yapı oluşturur. Konulara mesajlar, API’ler ve istemci kitaplıkları ile bir gcloud komutu kullanılarak yazılabilir. Mesaj yazan süreçlere publisher veya producer, mesajları okuyan hizmetlere subscribers veya consumers denir.

Cloud Shell, tarayıcıdan kolayca erişilebilen bir GCP komut satırı arayüzüdür. Cloud Shell ile Google Cloud SDK(Software Development Kit — Yazılım Geliştirme kiti) tarafından sağlanan araçları bir yere yüklemenize gerek kalmadan kullanabilirsiniz. Google Cloud SDK, kaynaklarınızı ve GCP’deki uygulamalarınızı yönetmek için kullanabileceğiniz bir araçtır. Bunlar, GCP ürünleri ve hizmetleri için ana komut satırı arayüzünü sağlayan “gcloud” aracı olabilir. Ayrıca Google Cloud Storage için “gsutil” ve BigQuery için “bq” de olabilir. SDK komutlarına ulaşmanın en kolay yolu, GCP Konsolunda Cloud Shell düğmesini tıklamaktır. Ardından tüm bu komutların zaten kurulu olduğu bir sanal makineyi web tarayıcınızda komut satırı şeklinde görebilirsiniz.

Son olarak VPC-Virtual Private Cloud Network yapısına da kısaca değinmek istiyorum. Bir VPC’yi geleneksel fiziksel ağınızın sanal bir versiyonu olarak düşünebilirsiniz. VPC’ler tüm bölgeleri kapsayan global yapıdadır. VPC içindeki örnekler, dahili IP adreslerine sahiptir ve dünya genelinde birbirleriyle özel olarak iletişim kurabilir. Ağ altyapınızın bu mantıksal temsili, on-premises mimarilerle uğraşmanın karmaşıklıklarının çoğunu soyutlar. Daha ayrıntılı bilgi için aşağıdaki linki inceleyebilirsiniz.
Bu konuları da kapsayan güzel bir cheatsheet’i de paylaşmak isterim. İçerisinde GCP kavramlarını kısaca anlatıp karşılaştırmalar yapıyor. Özet olarak el atında bulundurabileceğiniz bir kaynak olduğunu düşünüyorum.
https://github.com/ml874/Data-Engineering-on-GCP-Cheatsheet/blob/master/data_engineering_on_GCP.pdf