Her şeyden önce Google Cloud teknolojileri üzerine yazıyor olduğum bu metinde ilk cevaplamamız gereken kısım Cloud Computing, Türkçesiyle “Bulut Bilişim” nedir?
US standartlarına göre 5 temel özelliğe sahiptir:
- Yönetilebilir Servisler
- Ağ — Yayın Erişirliği
- Kaynak Havuzu
- Hızlı Esneyebilen Yapılar
- Ölçülebilir Servisler
Genel kapsamıyla bu 5 özelliği içine alan bulut bilişim uygulamalarımızın, verilerimizin, güvenlikle ilişkili tutulabilecek kaynaklarımızın ve network üzerinde saklanabilen çoğu şeyi içerisinde barındırır. Kullanıcı tarafından konfigure edilmiş, yönetilebilir ve bakımı yapılabilir seviyede fiziksel düzeyde sunucuları, sanallaştırılmaya yatkın kaynakları ve son zamanlarda tamamen otomatize edilmiş Serverless yapıları tutacak kapsamdadır. Google Cloud Platform’da temelinde cloud computing mantalitesindeki tüm özellikleri içine alarak çeşitli servisler sunar. Google Cloud Platform için kaynak okuduğunuzda GCP kısaltmasını göreceksinizdir yabancı gelmemesi adına onu da buraya bırakıyorum 😊
GCP mimarisinde karşımıza çıkan kavramlardan kısa kısa IaaS, PaaS ve SaaS’dan bahsedelim:
IaaS : Infrastructure As A Service — Bir Servis Olarak Altyapı: Sanal sunucular ve fiziksel katmanlar oluşturup müşterilerin hizmetine sunar.
PaaS : Platform As A Service — Bir Servis Olarak Platform: İşletim Sistemler, Database, Programlama Dillerini gerçekleştirebileceğimiz ortamlar sunar.
SaaS : Software As A Service — Bir Servis Olarak Yazılım: Kullanıcıların ihtiyaç duyduğu mini düzeyde yazılım servisleri sunar
GCP Computing Mimarisi altında temel servis kategorileri başlığında (IaaS, PaaS, SaaS) görebileceğimiz yapılar şu şekilde:
- Compute Engine — IaaS
- Kubernetes Engine — Hybrid (hem IaaS hem PaaS)
- App Engine — PaaS
- Cloud Functions — SaaS
- Managed Services — Otomatize Esnek Kaynakları örnek vermek gerekirse AI üzerine yapılacak model geliştirmeleri ve bunların hazır kaynakları gösterilebilir.
Google Cloud Platform fiziksel açıdan değerlendirildiğinde dünyanın çoğu yerinde Multi Region, Region ve Zonelara ayrılmış yapılar sunmaktadır. Bu yapıları lokal seviyeye indirmiş olması güvenlik, hızlı erişilebilirlik konusunda önemli ölçüde fayda sağlamaktadır. Herhangi bir exception hatasına karşı Multi Region dediğimiz yapılar ile sistemlerin çöktüklerinde uğranan Disaster diye nitelediğimiz felaketleri de büyük ölçüde kapsamış oluyoruz. (Özellikle fiziksel kaynakların olduğu bölgelerde yaşanan doğal afetleri kapsayabilmesi adına bir çok alanda yedeklenmiş olması güvenilirliği ve sürdürülebilirliği sağlar — bu durumun teknik olarak adı Disaster Recovery Plan olarak geçer.)
Google Cloud Platformu maliyet açısından değerlendirdiğimizde IaaS compute dünyasında Per-Second Billing olarak nitelenecek tercihler sunar. (Bu grubun altında Compute Engine, Kubernetes Engine, Cloud Dataproc ve App Engine gösterilebilir.) Açık kaynaklı API’ler ile entegre çalışabilir bu noktada müşteriler zengin bir ekosistem ile problemlerini çözebilirler. Açık kaynakla entegre çalışan Google Cloud servislerine örnek olarak: Cloud Big Table, Cloud Data Proc verilebilir. Yazılımcıların hizmetine sunulan geniş ekosistemdeki açık sistemlerine örnek olarak da özellikle veri bilimciler tarafında sıkça kullanılan Tensorflow, devops ve sistem altyapı tarafından etkin kullanılan Kubernetes Engine, güvenlik ekipleri tarafından kod analizlerini yapabilmek adına kullanılan Forseti Security örnek olarak verilebilir. Maliyet açısında sundukları diğer imkanları şu şekilde gösterebiliriz :
- Kısa süreli kaynak temini ile geliştirilebilir ödeme imkanı
- Sürdürülebilir kullanım ödemeleri
- Customized makine oluşturulabilmesi ile beraber esnetilebilir kaynak imkanı sağlar
Projelerimizle GCP mimarisini birleştirdiğimizde 4 farklı servisin etkin olduğunu gözlemleyebiliriz. Bunlar:
- Kaynakları takip edebileceğimiz ve kota kullanımını izleyebileceğimiz dashboardlar
- Ödemeyi kaynak kullanımına bağlı etkinleştirme
- Yetkilendirmeyi ve şifrelendirmeleri yönetme
- Servisleri ve API’leri etkinleştirme
Son olarak GCP ile etkileşime geçmenin 4 farklı yolundan da bahsetmek gerekirse:
- Cloud Platform Console — Web Kullanıcı bu konsol ile Google Cloud servislerini yönetebilir
- Cloud Shell & Cloud SDK — Command Line arayüzü kullanılır, özellikle G-Cloud, G-Sutil, Cloud Storages ve Gig Query’de işlem yaparken hızlı müdahalelerde kullanılmaktadır.
- Cloud Console Mobile App — IOS ve Android üzerinden direkt erişim yapılabilir.
- Rest Based API — Özellikle bir uygulama üzerinden Google servislerine erişim noktasında Rest Tabanlı API’ler ile hızlı çözüm bulunur. En büyük örneklerinden biri Google Maps olarak gösterilebilir.
Google Cloud Servisleri tabiki bu kadarla kısıtlı değil IAM, Cloud Servisler, Kubernetes gibi diğer sunulan parçacıklar hakkında bir sonraki yazıda anlatıma devam edeceğiz 🙂