Modül 1 — Uygulama Geliştirmede En İyi Uygulamalar
Bulut ortamına uygun uygulamalar geliştirirken dikkate alınması gereken temel tasarım ve geliştirme yaklaşımları ele alınır.
- Kod ve geliştirme ortamlarının yönetimi
- Güvenli, ölçeklenebilir ve güvenilir uygulama bileşenleri tasarlama
- Loosely coupled mimari yaklaşımı
- Microservices tasarımı ve geliştirilmesi
- Continuous Integration ve Continuous Delivery
- Mevcut uygulamaların bulut için yeniden mimarilendirilmesi
Modül 2 — Google Cloud Client Libraries, Cloud SDK ve Firebase SDK
Google Cloud servisleriyle uygulama geliştirmek için kullanılan temel SDK ve istemci kütüphanelerinin kurulumu ve kullanımı incelenir.
- Google Cloud Client Libraries kurulumu ve kullanımı
- Google Cloud SDK yapılandırması
- Firebase SDK ile çalışma
- Uygulama kimlik bilgilerinin yapılandırılması
Laboratuvar: Linux instance üzerinde Google Client Libraries, Google Cloud SDK ve Firebase SDK kurulumu ile application credentials yapılandırması.
Modül 3 — Veri Depolama Seçenekleri
Uygulama verilerinin Google Cloud üzerinde saklanması için kullanılabilecek farklı servisler karşılaştırılır.
- Uygulama verileri için depolama seçenekleri
- Google Cloud Storage kullanım senaryoları
- Google Cloud Datastore
- Cloud Bigtable
- Google Cloud SQL
- Cloud Spanner
- Uygulama gereksinimine uygun depolama servisinin seçilmesi
Modül 4 — Google Cloud Datastore Kullanımında En İyi Uygulamalar
Cloud Datastore üzerinde veri işlemlerinin güvenilir ve verimli şekilde gerçekleştirilmesine yönelik yöntemler ele alınır.
- Queries
- Built-in ve composite indexes
- Batch işlemleriyle veri ekleme ve silme
- Transactions
- Error handling
- Google Cloud Dataflow kullanarak Cloud Datastore'a toplu veri yükleme
Laboratuvar: Uygulama verilerinin Cloud Datastore üzerinde saklanması.
Modül 5 — Bucket ve Object İşlemleri
Cloud Storage içerisindeki bucket ve object yapılarının yönetimi incelenir.
- Bucket'lar üzerinde gerçekleştirilebilecek işlemler
- Object işlemleri
- Consistency model
- Error handling
Modül 6 — Google Cloud Storage Kullanımında En İyi Uygulamalar
Cloud Storage'ın farklı uygulama senaryolarında etkili şekilde kullanılmasına yönelik yöntemler ele alınır.
- Statik web siteleri ve diğer kullanım senaryoları için bucket isimlendirme
- Erişim dağılımı açısından object isimlendirme
- Performansla ilgili önemli noktalar
- Bucket üzerinde CORS yapılandırması
- CORS sorunlarının giderilmesi
Laboratuvar: Dosyaların Cloud Storage üzerinde saklanması.
Modül 7 — Authentication ve Authorization
Uygulamalarda kullanıcıların ve servislerin güvenli şekilde doğrulanması ve yetkilendirilmesi incelenir.
- Cloud Identity and Access Management (IAM) rolleri
- Service account'lar
- Firebase Authentication ile kullanıcı doğrulama
- Cloud Identity-Aware Proxy ile authentication ve authorization
Laboratuvar: Firebase Authentication kullanarak kullanıcı doğrulama.
Modül 8 — Cloud Pub/Sub ile Uygulama Bileşenlerinin Entegrasyonu
Uygulama servisleri arasında mesaj tabanlı ve loosely coupled iletişim oluşturmak için Cloud Pub/Sub kullanımı ele alınır.
- Topics
- Publishers ve subscribers
- Pull subscriptions
- Push subscriptions
- Cloud Pub/Sub kullanım senaryoları
Laboratuvar: Message queue içerisindeki mesajları işleyecek bir backend servisinin geliştirilmesi.
Modül 9 — Uygulamaya Akıllı Özellikler Kazandırma
Google Cloud'un önceden eğitilmiş makine öğrenmesi API'lerinden uygulamalar içerisinde nasıl yararlanılabileceği incelenir.
- Pre-trained machine learning API'lerine genel bakış
- Cloud Vision API
- Cloud Natural Language Processing API
- ML yeteneklerinin uygulamalara dahil edilmesi
Modül 10 — Google Cloud Functions ile Event-Driven İşleme
Olaylar tarafından tetiklenen serverless fonksiyonların geliştirilmesi ve yönetilmesi ele alınır.
- Triggers
- Background functions
- HTTP functions
- Cloud Functions kullanım senaryoları
- Fonksiyon geliştirme ve deployment
- Logging
- Error reporting
- Monitoring
Modül 11 — Google Cloud Endpoints ile API Yönetimi
Uygulama API'lerinin yapılandırılması ve dağıtılması incelenir.
- Google Cloud Endpoints
- OpenAPI deployment configuration
- API deployment süreci
Laboratuvar: Uygulama için bir API'nin deploy edilmesi.
Modül 12 — Cloud Build, Container Registry ve Deployment Manager ile Deployment
Uygulamaların paketlenmesi ve tekrarlanabilir deployment süreçlerinin oluşturulması ele alınır.
- Container image oluşturma
- Container image'ların saklanması
- Deployment configuration kullanımı
- Deployment template'leri
- Tekrarlanabilir deployment süreçleri
Laboratuvar: Deployment Manager kullanarak bir web uygulamasının App Engine flexible environment test ve production ortamlarına dağıtılması.
Modül 13 — Uygulamalar için Execution Environment Seçimi
Bir uygulama veya servis için uygun Google Cloud çalışma ortamının nasıl seçileceği değerlendirilir.
- Google Compute Engine
- Kubernetes Engine
- App Engine flexible environment
- Cloud Functions
- Cloud Dataflow
- Uygulama gereksinimlerine göre execution environment seçimi
Laboratuvar: Uygulamanın App Engine flexible environment üzerinde deploy edilmesi.
Modül 14 — Debugging, Monitoring ve Performans Optimizasyonu
Uygulama hatalarının belirlenmesi, servislerin izlenmesi ve performans sorunlarının analiz edilmesine yönelik araçlar ele alınır.
- Stackdriver Debugger
- Stackdriver Error Reporting
- Stackdriver Logging
- Stackdriver Trace
- Stackdriver Monitoring
- Servisler arasındaki request'lerin izlenmesi
- Uygulama performansının gözlemlenmesi ve optimize edilmesi
Laboratuvarlar:
- Stackdriver Debugger ve Error Reporting ile uygulama hatalarının incelenmesi
- Stackdriver Monitoring ve Trace kullanarak servisler arasındaki bir request'in takip edilmesi ve performansının değerlendirilmesi