• 3 yıldır Google Cloud'da Kubernetes ve Cloud Run gibi container teknolojileri üzerine projelerde çalışıyorum. • Yüz binlerce geliştiricinin günlük olarak kullandığı açık kaynaklı araçlar geliştiriyorum. twitter.com/ahmetb github.com/ahmetb youtube.com/ahmetb
takımı makineler yaratsın Makinelere gereken paketler kurulsun Kodu build & test et Ops takımı yeni versiyonu çalıştırsın Hata varsa:rollback, Yoksa: rollout Kapasite planı yap Eski versiyona trafiği zamanla azaltarak durdur
makine grupları (Kubernetes cluster'ları) Container platformları (Containers as a Service) Uygulama platformları (Platform as a Service) Kod parçacığı platformları (Functions as a Service) SİZ SİZ CLOUD SİZ CLOUD SİZ CLOUD SİZ CLOUD SİZ CLOUD
çekirdekli, 16 GB RAM'li bir Ubuntu makinesi ver" ◦ "... bu makine imajını çalıştır" • "Bu makineyi, disklerini ve network'ünü çalışır halde tut." • "Networking ve storage ayarlarını ben yapacağım." • "Makinenin güvenliğini sağlamak benim sorumluluğum." Deployment birimi VM/disk imajı Örnek: • Google Compute Engine
makine ver, ve üzerine Kubernetes kur" ◦ Otomatik olarak makinelerimi yönet ve Kubernetes versiyonumu güncelle. ◦ Ben Kubernetes kullanarak uygulamalarımı bu makinelerde çalıştıracağım. Deployment ünitesi: container image + Kubernetes konfigürasyonları Örnek: • Google Kubernetes Engine (GKE)
◦ Kullanıcı sayısına göre kaç tane instance çalıştıracağına karar ver. ◦ Makinaları görmek veya yönetmek istemiyorum. Sınırlama sadece server uygulamaları (request/response) Deployment ünitesi: container image Örnek: • Google Cloud Run • AWS Fargate 1 • Azure Container Instances 1 1 Bu platformlar tam Cloud Run gibi request/response tabanlı autoscaling ile çalışmıyor, fakat batch container’ları (yani HTTP serversız containlerlar) çalıştırabiliyorlar.
için çalıştır" ◦ Kullanıcı sayısına göre kaç tane instance çalıştıracağına karar ver. ◦ Makinaları görmek veya yönetmek istemiyorum. Sınırlama sadece desteklenen diller (Node.js, Python, Go, Java…) Deployment ünitesi: uygulama kodu Örnek: • Google App Engine • Heroku...
benim için çalıştır" ◦ Kullanıcı sayısına göre kaç tane instance çalıştıracağına karar ver. ◦ Makinaları görmek veya yönetmek istemiyorum. Sınırlama sadece desteklenen dillerde, kodun belli şekilde yazılması gerek Deployment ünitesi: fonksiyon/metod kodu Örnek: • Google Cloud Functions • AWS Lambda...
kadar öde 3. Talep miktarına göre otomatik ölçekleme Halk arasında serverless karakteristikleri 1. Functions as a service/Lambda 2. Node.js (ya da sadece bazı diller)
dilimlerde ödemeli ◦ container arkada boş dururken ücretsiz • Free tier, her ay: ◦ ilk 2 milyon request, ilk 50 CPU core-saati, ilk 100 GB RAM-saati • Düşük trafikli uygulamalar neredeyse ücretsiz çalışıyor. Cloud Run ne kadar ucuz?
Açık kaynaklı Cloud Run implementasyonu 2. Cloud ⇔ On-Premises Arasındaki taşınmayı kolaylaştır 3. Aynı deneyimi Google Cloud dışında (on-prem, Azure, AWS) sağla.
Cloud Run for Anthos Servisler ve cluster'lar arası trafiği yönetmek: Anthos Service Mesh Cluster yönetimi: Anthos GKE Monitoring ve operasyonel araçlar Stackdriver Anthos'un içinde ne var
çözebilir. • Serverless sadece bir compute türü değil. Bir çok alanda serverless çözümler var. • Cloud Run ile herhangi bir dilde uygulamayı altyapıyla uğraşmadan çalıştırabilirsiniz. • Anthos, özel ihtiyaçları olan ve altyapılarını modernize etmek isteyenler için bir çözüm.