Ders 1: GCP'ye Giriş
Google Cloud Platform Nedir?
Google Cloud Platform (GCP), Google tarafından sunulan kapsamlı bir bulut bilişim platformudur. GCP ile veri analizi, makine öğrenmesi, uygulama geliştirme ve altyapı yönetimi yapabilirsiniz.
💡 GCP'nin Avantajları
- Data Analytics: BigQuery ile güçlü veri analizi
- AI/ML: TensorFlow ve AutoML entegrasyonu
- Global Network: Dünya çapında hızlı ağ
- Cost Optimization: Akıllı maliyet yönetimi
- Kubernetes: Google Kubernetes Engine
- Security: Endüstri lideri güvenlik
GCP Temel Servisleri
| Servis | Kategori | Açıklama | Kullanım Alanı |
|---|---|---|---|
| Compute Engine | Compute | Sanal sunucu servisleri | VM instances, containers |
| Cloud Storage | Storage | Nesne depolama servisi | Dosya depolama, backup |
| BigQuery | Analytics | Veri ambarı servisi | Veri analizi, BI |
| Cloud Functions | Serverless | Sunucusuz fonksiyonlar | Event-driven apps |
| Cloud AI | AI/ML | Yapay zeka servisleri | Machine learning, NLP |
| Kubernetes Engine | Containers | Kubernetes yönetimi | Container orchestration |
GCP Hesabı Oluşturma
GCP'ye başlamak için öncelikle bir Google Cloud hesabı oluşturmanız gerekir:
- Google Cloud Console'a gidin (console.cloud.google.com)
- Google hesabınızla giriş yapın
- "Get started for free" butonuna tıklayın
- Ülke ve hesap türünü seçin
- Kredi kartı bilgilerinizi ekleyin
- Free trial'ı başlatın
⚠️ Önemli Notlar
- Free trial ile $300 kredi ve 90 gün
- Kredi kartı bilgileri doğrulama amaçlıdır
- Free tier limitlerini aşmamaya dikkat edin
- Billing alerts ayarlayın
- Always Free tier servisleri mevcuttur
Google Cloud Console
Google Cloud Console, GCP servislerini yönetmek için kullanılan web tabanlı arayüzdür. Console üzerinden:
- Servisleri görüntüleyebilir ve yönetebilirsiniz
- Kaynaklarınızı izleyebilirsiniz
- Faturalandırma bilgilerinizi kontrol edebilirsiniz
- Güvenlik ayarlarınızı yapılandırabilirsiniz
- Cloud Shell ile terminal erişimi sağlayabilirsiniz
Projects ve Billing
GCP'de her şey bir Project altında organize edilir:
- Project: Kaynakların mantıksal gruplandırması
- Billing Account: Faturalandırma hesabı
- IAM: Kimlik ve erişim yönetimi
- APIs: Servis API'leri
- Quotas: Servis limitleri
GCP Pricing Model
GCP'nin fiyatlandırma modeli:
- Pay-as-you-go: Kullandığınız kadar ödeme
- Sustained Use Discounts: Sürekli kullanım indirimleri
- Committed Use Discounts: Taahhüt indirimleri
- Preemptible Instances: Düşük maliyetli VM'ler
💰 Maliyet Optimizasyonu İpuçları
- Preemptible instances kullanın
- Committed use discounts'ları değerlendirin
- Unused resources'ları temizleyin
- Billing alerts ayarlayın
- Cost reports'ları düzenli kontrol edin
Ders 2: Compute Engine
Compute Engine Nedir?
Compute Engine, Google Cloud'un sanal sunucu servisidir. Linux ve Windows işletim sistemleri çalıştırabilir, ölçeklenebilir ve güvenilir altyapı oluşturabilirsiniz.
Machine Types
| Machine Type | Kullanım Alanı | Özellikler | Maliyet |
|---|---|---|---|
| e2-micro | Test ve Geliştirme | 1 vCPU, 1 GB RAM | En düşük |
| e2-small | Küçük Uygulamalar | 2 vCPU, 2 GB RAM | Düşük |
| e2-medium | Orta Seviye | 2 vCPU, 4 GB RAM | Orta |
| c2-standard-4 | Compute Optimized | 4 vCPU, 16 GB RAM | Yüksek |
| n2-highmem-4 | Memory Optimized | 4 vCPU, 32 GB RAM | En yüksek |
VM Instance Oluşturma
🔧 VM Instance Oluşturma Adımları
- Google Cloud Console'da "Compute Engine" servisine gidin
- "Create Instance" butonuna tıklayın
- Instance adını ve region'ı belirleyin
- Machine type seçin
- Boot disk image seçin
- Firewall rules ayarlayın
- SSH key ekleyin
- Instance'ı oluşturun
Disk Türleri
Compute Engine için farklı disk türleri mevcuttur:
- Standard Persistent Disk: Düşük maliyetli, HDD tabanlı
- SSD Persistent Disk: Yüksek performanslı, SSD tabanlı
- Local SSD: En yüksek performans, geçici
- Balanced Persistent Disk: Dengeli performans/maliyet
Instance Groups
Instance Groups, birden fazla VM'yi yönetmenizi sağlar:
- Managed Instance Groups: Otomatik yönetim
- Unmanaged Instance Groups: Manuel yönetim
- Auto Scaling: Otomatik ölçekleme
- Load Balancing: Yük dengeleme
Preemptible Instances
Preemptible instances, düşük maliyetli VM'lerdir:
- %80'e kadar indirim
- 24 saat maksimum çalışma süresi
- Batch işler için ideal
- Fault-tolerant uygulamalar için uygun
✅ Compute Engine En İyi Uygulamalar
- Preemptible instances ile maliyet tasarrufu yapın
- Custom machine types kullanın
- Persistent disks için snapshot alın
- Instance templates kullanın
- Monitoring ve alerting ayarlayın
- Startup scripts ile otomatik konfigürasyon
Networking ve Security
Compute Engine güvenlik özellikleri:
- Firewall Rules: Gelen ve giden trafik kontrolü
- VPC Networks: Sanal özel ağlar
- Subnets: Ağ segmentasyonu
- Cloud NAT: Outbound internet erişimi
- Private Google Access: Google servislerine özel erişim
🔒 Güvenlik En İyi Uygulamalar
- Firewall rules'ları minimum privilege ile ayarlayın
- SSH key'leri güvenli saklayın
- OS Login kullanın
- Service accounts ile güvenli erişim sağlayın
- Regular security updates uygulayın
Ders 3: Cloud Storage
Cloud Storage Nedir?
Cloud Storage, Google Cloud'un nesne depolama servisidir. Dosyalarınızı güvenli bir şekilde saklayabilir ve dünyanın her yerinden erişebilirsiniz.
Storage Classes
| Storage Class | Kullanım Alanı | Avantajlar | Maliyet |
|---|---|---|---|
| Standard | Sık erişilen veriler | En yüksek performans | En yüksek |
| Nearline | Ayda 1 kez erişilen veriler | Düşük maliyet | Düşük |
| Coldline | Yılda 1 kez erişilen veriler | Çok düşük maliyet | Çok düşük |
| Archive | Arşiv veriler | En düşük maliyet | En düşük |
Bucket Oluşturma
📁 Bucket Oluşturma Adımları
- Google Cloud Console'da "Cloud Storage" servisine gidin
- "Create bucket" butonuna tıklayın
- Bucket adını girin (global olarak benzersiz)
- Storage class seçin
- Location seçin
- Access control ayarlarını yapın
- Bucket'ı oluşturun
Bucket Policies
Bucket Policies, Cloud Storage bucket'larınızın erişim izinlerini kontrol etmenizi sağlar:
Lifecycle Management
Lifecycle Management, object'lerinizin yaşam döngüsünü otomatik olarak yönetmenizi sağlar:
- Age-based: Yaşa göre işlemler
- Storage class transitions: Storage class değişimi
- Deletion: Otomatik silme
Cloud Storage Security
Cloud Storage güvenlik özellikleri:
- IAM: Identity and Access Management
- ACLs: Access Control Lists
- Encryption: Veri şifreleme
- Audit Logs: Aktivite logları
- VPC Service Controls: Ağ seviyesi güvenlik
Transfer Service
Cloud Storage Transfer Service ile:
- On-premises'den cloud'a: Büyük veri transferi
- Cloud-to-cloud: Farklı cloud provider'lar arası
- Scheduled transfers: Zamanlanmış transferler
- Incremental sync: Artımlı senkronizasyon
🔒 Cloud Storage En İyi Uygulamalar
- Bucket'ları region'a yakın oluşturun
- Lifecycle policies kullanın
- Versioning'i aktifleştirin
- Monitoring ve alerting ayarlayın
- Regular backup stratejisi oluşturun
- Encryption at rest ve in transit
- Access logs'ları izleyin
Cloud Storage FUSE
Cloud Storage FUSE ile bucket'larınızı dosya sistemi olarak mount edebilirsiniz:
Performance Optimization
Cloud Storage performans optimizasyonu:
- Parallel uploads: Paralel yükleme
- Composite uploads: Büyük dosyalar için
- Compression: Dosya sıkıştırma
- CDN integration: Cloud CDN entegrasyonu
⚠️ Dikkat Edilecekler
- Bucket adları global olarak benzersiz olmalı
- Storage class değişiklikleri maliyetli olabilir
- Lifecycle policies dikkatli planlanmalı
- Access patterns'ı optimize edin
- Regular cost monitoring yapın
Ders 4: BigQuery
BigQuery Nedir?
BigQuery, Google Cloud'un serverless veri ambarı servisidir. Petabyte ölçeğinde verileri hızlı bir şekilde analiz edebilirsiniz.
BigQuery Temel Kavramları
| Kavram | Açıklama | Örnek |
|---|---|---|
| Dataset | Tablo koleksiyonu | my_dataset |
| Table | Veri tablosu | my_dataset.users |
| View | Sanal tablo | my_dataset.user_summary |
| Job | SQL sorgusu | Query job |
| Slot | İşlem gücü birimi | 2000 slots |
BigQuery Pricing
BigQuery'nin fiyatlandırma modeli:
- On-demand: Sorgu başına ödeme
- Flat-rate: Sabit ücret
- Storage: Depolama ücreti
- Streaming: Gerçek zamanlı veri ekleme
📊 BigQuery Dataset Oluşturma
- Google Cloud Console'da "BigQuery" servisine gidin
- "Create Dataset" butonuna tıklayın
- Dataset ID girin
- Data location seçin
- Default table expiration ayarlayın
- Dataset'i oluşturun
SQL Sorguları
BigQuery, standart SQL kullanır:
Data Types
BigQuery'de desteklenen veri türleri:
- STRING: Metin verileri
- INT64: Tam sayılar
- FLOAT64: Ondalık sayılar
- BOOL: Boolean değerler
- DATE: Tarih
- TIMESTAMP: Zaman damgası
- ARRAY: Dizi
- STRUCT: Yapı
- GEOGRAPHY: Coğrafi veriler
BigQuery ML
BigQuery ML, SQL kullanarak makine öğrenmesi modelleri oluşturmanızı sağlar:
- Linear Regression: Doğrusal regresyon
- Logistic Regression: Lojistik regresyon
- K-means: Kümeleme
- Matrix Factorization: Matris faktörizasyonu
- ARIMA: Zaman serisi analizi
Data Import/Export
BigQuery'ye veri aktarma yöntemleri:
- Cloud Storage: CSV, JSON, Avro, Parquet
- Streaming: Gerçek zamanlı veri ekleme
- Data Transfer Service: Otomatik veri transferi
- Cloud Data Fusion: ETL işlemleri
Partitioning ve Clustering
BigQuery performans optimizasyonu:
- Partitioning: Tabloları bölümleme
- Clustering: Veri kümeleme
- Materialized Views: Önceden hesaplanmış görünümler
- Query Caching: Sorgu önbellekleme
📈 BigQuery En İyi Uygulamalar
- Partitioned tables kullanın
- Clustered tables ile performansı artırın
- Query optimization yapın
- Cost controls ayarlayın
- Data validation uygulayın
- Regular maintenance yapın
- Monitoring ve alerting ayarlayın
BigQuery Data Transfer Service
Data Transfer Service ile:
- Google Ads: Reklam verileri
- Google Analytics: Web analitik verileri
- YouTube Analytics: Video analitik verileri
- Cloud Storage: Dosya tabanlı veriler
- Third-party: Üçüncü parti servisler
⚠️ BigQuery Dikkat Edilecekler
- Query costs'ları kontrol edin
- Data retention policies ayarlayın
- Access controls'ları sıkı tutun
- Regular data quality checks yapın
- Backup stratejisi oluşturun
Ders 5: Cloud Functions
Cloud Functions Nedir?
Cloud Functions, Google Cloud'un serverless compute servisidir. Event-driven fonksiyonlar çalıştırmanızı sağlar.
Cloud Functions Avantajları
| Avantaj | Açıklama | Fayda |
|---|---|---|
| Serverless | Sunucu yönetimi gerekmez | Operasyonel maliyet tasarrufu |
| Event-driven | Olaylar tarafından tetiklenir | Otomatik çalışma |
| Auto-scaling | Otomatik ölçekleme | Performans garantisi |
| Pay-per-use | Sadece kullandığınız kadar ödeme | Maliyet optimizasyonu |
Desteklenen Diller
Cloud Functions şu programlama dillerini destekler:
- Node.js: JavaScript/TypeScript
- Python: Python 3.x
- Go: Go 1.x
- Java: Java 11/17
- .NET: .NET 6
- Ruby: Ruby 3.x
⚡ Cloud Function Oluşturma
- Google Cloud Console'da "Cloud Functions" servisine gidin
- "Create Function" butonuna tıklayın
- Function adını girin
- Region seçin
- Trigger type seçin (HTTP, Cloud Storage, Pub/Sub)
- Runtime seçin
- Source code'u yazın
- Function'ı deploy edin
HTTP Function Örneği
Cloud Storage Trigger
Pub/Sub Trigger
Function Configuration
Cloud Functions için önemli konfigürasyonlar:
- Memory: 128MB - 8GB
- Timeout: 1 saniye - 60 dakika
- Concurrency: Eşzamanlı çalışma
- Environment Variables: Ortam değişkenleri
- VPC Connector: VPC erişimi
Cloud Functions Gen2
Cloud Functions Gen2'nin yeni özellikleri:
- Longer execution time: 60 dakikaya kadar
- More memory: 32GB'a kadar
- Better performance: Daha hızlı cold start
- More triggers: Daha fazla trigger türü
- Better integration: Cloud Run ile entegrasyon
Error Handling ve Logging
Cloud Functions'da hata yönetimi:
- Structured Logging: JSON formatında loglar
- Error Reporting: Hata raporlama
- Retry Logic: Otomatik yeniden deneme
- Dead Letter Queues: Başarısız mesajlar için
🚀 Cloud Functions En İyi Uygulamalar
- Stateless functions yazın
- Cold start'i minimize edin
- Error handling uygulayın
- Logging ve monitoring ekleyin
- Security best practices uygulayın
- Environment variables kullanın
- Function versioning yapın
Cost Optimization
Cloud Functions maliyet optimizasyonu:
- Right-sizing: Doğru memory allocation
- Connection pooling: Bağlantı havuzlama
- Caching: Önbellekleme
- Batch processing: Toplu işleme
⚠️ Cloud Functions Dikkat Edilecekler
- Cold start latency'sini göz önünde bulundurun
- Memory ve timeout limitlerini kontrol edin
- Function dependencies'leri minimize edin
- Regular monitoring yapın
- Cost tracking ayarlayın
Ders 6: AI/ML Servisleri
Google Cloud AI/ML Servisleri
Google Cloud, yapay zeka ve makine öğrenmesi için kapsamlı servisler sunar. Bu servisler ile AI-powered uygulamalar geliştirebilirsiniz.
AI/ML Servis Kategorileri
| Kategori | Servisler | Açıklama | Kullanım Alanı |
|---|---|---|---|
| Vision AI | Vision API, AutoML Vision | Görüntü analizi ve tanıma | Computer vision, OCR |
| Natural Language | Natural Language API, AutoML NL | Metin analizi ve işleme | NLP, sentiment analysis |
| Speech | Speech-to-Text, Text-to-Speech | Ses işleme ve sentezleme | Voice recognition, TTS |
| Translation | Translation API | Çeviri servisleri | Multi-language support |
| Recommendations | Recommendations AI | Öneri sistemleri | E-commerce, content |
| Vertex AI | Unified ML Platform | Kapsamlı ML platformu | End-to-end ML |
Vision API
Vision API ile görüntüleri analiz edebilirsiniz:
- Label Detection: Nesne tanıma
- Text Detection: Metin çıkarma (OCR)
- Face Detection: Yüz tanıma
- Landmark Detection: Yer işareti tanıma
- Safe Search: Güvenli içerik kontrolü
- Web Detection: Web'de benzer görüntüler
Natural Language API
Natural Language API ile metinleri analiz edebilirsiniz:
- Sentiment Analysis: Duygu analizi
- Entity Recognition: Varlık tanıma
- Syntax Analysis: Sözdizimi analizi
- Classification: Metin sınıflandırma
- Content Classification: İçerik kategorilendirme
AutoML
AutoML, kod yazmadan makine öğrenmesi modelleri oluşturmanızı sağlar:
- AutoML Vision: Görüntü sınıflandırma
- AutoML Natural Language: Metin sınıflandırma
- AutoML Tables: Tablo verisi analizi
- AutoML Translation: Çeviri modelleri
- AutoML Video: Video analizi
🤖 AutoML Vision Model Oluşturma
- Google Cloud Console'da "AutoML Vision" servisine gidin
- "Create Dataset" butonuna tıklayın
- Dataset adını girin
- Training images'ları yükleyin
- Labels'ları tanımlayın
- Model'i train edin
- Model'i evaluate edin
- Model'i deploy edin
Vertex AI
Vertex AI, Google Cloud'un unified AI platform'udur:
- Model Training: Model eğitimi
- Model Deployment: Model dağıtımı
- Model Monitoring: Model izleme
- MLOps: ML operasyonları
- Feature Store: Özellik deposu
- Pipelines: ML pipeline'ları
TensorFlow ve PyTorch
Google Cloud, popüler ML framework'lerini destekler:
- TensorFlow: Google'ın ML framework'ü
- PyTorch: Facebook'un ML framework'ü
- Scikit-learn: Python ML kütüphanesi
- XGBoost: Gradient boosting
AI/ML Pricing
Google Cloud AI/ML servislerinin fiyatlandırması:
- API Calls: İstek başına ödeme
- Training Hours: Eğitim saati başına ödeme
- Prediction Requests: Tahmin isteği başına ödeme
- Storage: Model depolama ücreti
- Compute: İşlem gücü ücreti
🎯 AI/ML En İyi Uygulamalar
- Data quality'yi öncelikli tutun
- Model validation yapın
- Bias detection uygulayın
- Model monitoring ayarlayın
- Explainable AI kullanın
- Regular model retraining yapın
- Cost optimization uygulayın
MLOps Best Practices
MLOps (Machine Learning Operations) en iyi uygulamaları:
- Version Control: Model ve kod versiyonlama
- CI/CD: Sürekli entegrasyon ve dağıtım
- Monitoring: Model performans izleme
- Testing: Model test stratejileri
- Deployment: A/B testing ve canary deployment
💰 Maliyet Optimizasyonu
- Free tier limitlerini kullanın
- Preemptible instances kullanın
- Model compression uygulayın
- Cost monitoring ayarlayın
- Unused models'leri temizleyin
- Batch prediction kullanın
- Regional pricing'i değerlendirin
AI/ML Use Cases
Google Cloud AI/ML servislerinin kullanım alanları:
- E-commerce: Öneri sistemleri, görsel arama
- Healthcare: Tıbbi görüntü analizi, teşhis
- Finance: Fraud detection, risk analizi
- Manufacturing: Kalite kontrol, predictive maintenance
- Media: İçerik moderasyonu, video analizi
- Education: Kişiselleştirilmiş öğrenme