ݺߣ

ݺߣShare a Scribd company logo
Bulut Odaklı Yazılım
Geliştirmede
Yeni Roller ve Sorumluluklar
Gökhan Şengün
devnot – Developer Summit İstanbul 2018
gokhansengun@gmail.com
@gokhansengun
gokhansengun.com
medium.com/@gokhansengun
•Bulut Hizmet Çeşitleri
•IaaS, PaaS, SaaS, CaaS, FaaS
•Önemi/Etki Alanı Artan ve Azalan
Roller
•Uygulama Geliştirme Döngüsünde
Değişen Mekanikler
•Değişimler ve Getirdikleri
Ajanda
Giriş
DevOps
CloudIaaS
IaC
SaaS
FaaS
Firebase
PaaS
Managed
Services
Cloud-Native
App Service
Automation Serverless
Lambda
Elastic
Compute
Cloud
IaaS (Infrastructure as a Service) Servis olarak altyapıyı sunma
• Bulut hizmet sağlayıcı sanal ya da çıplak metal sunucu sağlıyor
• Bulut hizmet sağlayıcı sunucu donanım bakımını üstleniyor
• Kullanıcı sunucu üzerine işletim sistemi, platform ve uygulama
kurulumu yapıyor
• Kullanıcı işletim sistemi ve platformun yamalama ve bakımını
üstleniyor
• Hizmet sağlayıcı verdiği hizmeti değişik kriterlere göre ve
genellikle süre bazında faturalıyor
• Örnekler
• AWS EC2 (Elastic Compute Cloud)
• Azure Compute Services
• Google Compute Engine
Bulut Hizmet Çeşitleri
PaaS (Platform as a Service) Servis olarak platformu sunma
• Bulut hizmet sağlayıcı sunucu ile birlikte uygulamanın koşacağı
platformu (JVM, Node.js, PHP runtime) da sağlıyor
• Bulut hizmet sağlayıcı sunucu ve platform bakımını üstleniyor
• Kullanıcı sadece kendi uygulamasının güncellemesini yapıyor
• Hizmet sağlayıcı sistemin belirli sınırlar içerisinde ölçeklemesini
yapıyor
• Hizmet sağlayıcı verdiği hizmeti değişik kriterlere göre ve
genellikle süre bazında faturalıyor
• Örnekler
• Heroku
• AWS Elastic Beanstalk
• Azure App Service
• Google App Engine
• OpenShift
• CloudFoundry
Bulut Hizmet Çeşitleri
Devnot - Dev Summit 2018
Devnot - Dev Summit 2018
SaaS (Software as a Service) Servis olarak yazılımı sunma
• Hizmet sağlayıcı platformun yanında platform ve uygulama
güvenliği dahil uygulamayı da sağlıyor
• Kullanıcı sadece uygulamayı kullanıyor
• Hizmet sağlayıcı verdiği hizmeti değişik kriterlere göre faturalıyor
• Örnekler
• Gmail
• Office 365
• Salesforce
• Dropbox
• Slack
• Adisyo
• Blazemeter
Bulut Hizmet Çeşitleri
Devnot - Dev Summit 2018
Devnot - Dev Summit 2018
Devnot - Dev Summit 2018
Devnot - Dev Summit 2018
CaaS (Container as a Service) Servis olarak konteyner sunma
• Hizmet sağlayıcı konteyner platformunu sunuyor
• Örnekler
• GKE (Google Container Engine)
• AKS (Azure Kubernetes Service)
• ACS (Amazon Container Service)
• EKS (Amazon Elastic Container Service for Kubernetes)
FaaS (Function as a Service) Servis olarak fonksiyon sunma
• Hizmet sağlayıcı kullanıcının fonksiyonlarını koşturabileceği
platformu sağlıyor
• Örnekler
• Amazon Lambda
• Google Cloud Functions
• Azure Functions
Bulut Hizmet Çeşitleri
Bir Bakışta Neler Değişiyor?
• Veri merkezi işletmesinden kesin olarak kurtuluyoruz
• Elektrik gitti
• Su bastı
• Kepçe fiber kablosunu kopardı bahaneleri artık yok.
• PaaS ile platform güvenliği ve işletmesinden de kurtuluyoruz
• Ürün ve hizmetlerimizi IaaS ve PaaS ile hazırlayıp SaaS modeli ile
satıp ilk yatırım maliyetimizi hafifletiyoruz
• Ana işimiz olmayan ancak ihtiyaç duyduğumuz yan hizmetleri (log
yönetimi, cache yönetimi, vb) dışarıdan temin ediyoruz. Böylece;
• Hizmet sunan aynı hizmeti çok kişiye sağladığı için
• Ucuza malediyor
• Daha kaliteli yapıyor
• Hizmet alan ise kaliteyi ucuza alıyor, işine odaklanıyor
Önemi/Etki Alanı
Artan ve Azalan
Roller
Önemi/Etki Alanı Artan Roller
Ürün Yöneticisi, Ön Yüz Tasarımcı, Ön Yüz Geliştirici
• Bulut üzerinden sunulan ürünlerin
• Genele hitap etmesi
• Kolay ve etkili kullanılması
• Eksik özelliklerin ürünün ruhuna uygun tamamlanması
• Ürünün zamana ayak uydurması
Uygulama/Sistem Güvenliği Uzmanı
• Bulut üzerinden sunulan ürünlerin
• Servislerin genele açılması sebebiyle artan risk
• 3. parti servislerin kullanımı sebebiyle meydana çıkan riskler
Site Reliability Engineer
• Bulut üzerinden sunulan ürünlerin
• Ölçeklenmesi
• Kararlılığının artırılması
Kendini Dönüştürmesi Gereken Roller
Sistem Mühendisi, Ağ Mühendisi -> Cloud, DevOps
Mühendisi
• Buluta taşınan sistem ve ağ ekipmanlarından dolayı yönetecek
ekipman/ağ kalmaması
• Bulutta kullanılan kaynakların maliyet etkin biçimde
kullanılması/kullandırılması
• Yönetilen sistemin en uygun biçimde buluta uygun hale
getirilmesi
• Sistemin bulut üzerinde yedekliliğinin sağlanması
Önemi/Etki Alanı Azalan Roller
Manuel Test Mühendisi
• Bulut üzerinden sunulan ürünlerin
• Fonksiyon ve kullanım çeşitliliği bakımından manuel testi imkansız hale
getirmesi
• Müşteri memnuniyetsizliği direkt müşteri kaybına sebep olacağı için
test otomasyon yatırımına hizmet sağlayan tarafından katlanılması
• Daha fazla ve maliyet etkin insan kaynağının test otomasyon yapar hale
gelmesi
Sistem İzleme Mühendisi (NOC, vb)
• Bulut hizmet sağlayıcıların
• Otomatik izleme ve müdahale desteği sağlaması
• APM (Application Performance Monitoring) araçları ile uygulama
hatalarının izlenmesinin kolaylaşması
• Uçtan uca test ve izleme yapan araçların test otomasyon ile
entegrasyonu
Uygulama Geliştirme
Döngüsünde Değişen
Mekanikler
(Konteyner ÖԻ)
Uygulama ve Platform Arasında Kontratlar
Loglama
• Uygulama loglarını konsola yazar, dosya, vb ile uğraşmaz
• Platform, uygulamanın konsoluna yazdığı logları istenen log
seviyesinde istenen yere (syslog, logstash, fluentd, vb) aktarır
Metrik Toplama
• Uygulama çalışma zamanı ile ilgili metrikleri sunar
• Platform, uygulamanın sunduğu uçtan (endpoint) periyodik
sorgular yaparak metrikleri kaydeder
Yeniden Başlatılma
• Uygulama sağlıklı çalışıp çalışmadığını sunar
• Platform, periyodik olarak uygulamanın sağlıklı çalışıp
çalışmadığını kontrol eder ve sağlıklı çalışmıyorsa uygulamayı
yeniden başlatır
Uygulama ve Platform Arasında Kontratlar
Versiyon Güncelleme
• Uygulama versiyon güncellemeden habersizdir
• Platform, uygulamanın yeni versiyonunu ayağa kaldırıp trafiği ona
yönlendirmeye başlar
• Platform, başarılı geçiş sonrası eski versiyonu öldürür
Kimlik Doğrulama ve Yetkilendirme
• Uygulama bir servise ulaşmak için yürütmesi gereken kimlik
doğrulama ve yetkilendirme prosedürlerinden habersizdir
• Platform, uygulama adına gerekli kimlik doğrulama ve
yetkilendirme prosedürlerini yürütür
Uygulama ve Platform Arasında Kontratlar
Devre Kesici Kalıp (Circuit Breaker Pattern)
• Uygulama devre kesiciden habersizdir
• Platform belirlenen aralıklar ve eşik değere göre devreyi açmaya
karar verir
Değişimler ve Getirdikleri
Değişimler ve Getirdikleri
Kullanılan Yazılım Dillerinde Değişiklikler
• Servislerin küçülmesi
• Derlenmeden çalışan dillerle daha pratik kodlama yapılması
• Yeni iş gücünün derlenmeden çalışan dillere yatkınlığı
• Node.js, Python, Ruby, vb kullanımında artış
Artan 3. Parti Bağımlılıklar
Değişimler ve Getirdikleri
3. Parti Bağımlılıklarla Gelen Güvenlik Problemleri
Değişimler ve Getirdikleri
3. Parti Bağımlılıklarla Gelen Güvenlik Problemleri
• 3. parti bağımlılıkların denetlendiği servisleri kullanmak şart
Değişimler ve Getirdikleri
3. Parti Bağımlılıklarla Gelen Güvenlik Problemleri
• 3. parti bağımlılıkların denetlendiği servisleri kullanmak şart
Değişimler ve Getirdikleri
3. Parti Bağımlılıklarla Gelen Lisans
Problemleri
• 3. parti bağımlılıkların lisanslarının
uygulama lisansına uyumluluğunu
araştırmak şart
3. Parti Bağımlılıklarla Gelen
Yönetim Problemleri
• Azer Koçulu ”leftpad”i npm’den sildi
ve …
ձşü…

More Related Content

Similar to Devnot - Dev Summit 2018 (20)

PPTX
Azure Stack Genel Bakış
Mustafa
DOCX
Bulut Bilişim ve Bilgisayar Ağları
cgoze
PDF
Bulutistan 2017 - Türkiyenin Bulut Entegratörü
Bulutistan
PPTX
Bulut Bilişim Kavrami - Cloud Computing Concepts
Irshaad Abdool
ODP
Buluta Geçiş Planlaması
Ali Erdinc Koroglu
PPTX
Azure Cloud Engineer - Bölüm 3
Önder Değer
PPTX
Azure Cloud Engineer - Bölüm 1
Önder Değer
PPTX
Microsoft Azure Temelleri - Modul 2
MSHOWTO Bilisim Toplulugu
PPTX
Bulut Bilişim (Overview)
Burak Okumuş
PDF
Windows Azure ile Cloud Computing Uygulamaları - 6
İbrahim ATAY
PPTX
Bulut Yol Haritasi
aersoz
PDF
Windows Azure ile Cloud Computing Uygulamaları
İbrahim ATAY
PPTX
Microsoft - Buluta Geçiş-hpnberdem.pptx
ErdemEnust1
PPTX
Microservices Architecture
Dilaver Demirel
PDF
Windows Azure ile Cloud Computing Uygulamaları - 1
İbrahim ATAY
PPTX
OPENSHIFT KONTEYNER PLATFORM İLE GELİŞTİRMEYE HIZLI BAŞLANGIÇ - Webinar-Aug2017
Serhat Dirik
PDF
Windows Azure ile Cloud Computing Uygulamaları - 3
İbrahim ATAY
PPSX
Bulutbilisim sunum
ugurbudak
PDF
Windows Azure ile Cloud Computing Uygulamaları - 2
İbrahim ATAY
PPTX
Cloud computing and technologies
Bilal Dursun
Azure Stack Genel Bakış
Mustafa
Bulut Bilişim ve Bilgisayar Ağları
cgoze
Bulutistan 2017 - Türkiyenin Bulut Entegratörü
Bulutistan
Bulut Bilişim Kavrami - Cloud Computing Concepts
Irshaad Abdool
Buluta Geçiş Planlaması
Ali Erdinc Koroglu
Azure Cloud Engineer - Bölüm 3
Önder Değer
Azure Cloud Engineer - Bölüm 1
Önder Değer
Microsoft Azure Temelleri - Modul 2
MSHOWTO Bilisim Toplulugu
Bulut Bilişim (Overview)
Burak Okumuş
Windows Azure ile Cloud Computing Uygulamaları - 6
İbrahim ATAY
Bulut Yol Haritasi
aersoz
Windows Azure ile Cloud Computing Uygulamaları
İbrahim ATAY
Microsoft - Buluta Geçiş-hpnberdem.pptx
ErdemEnust1
Microservices Architecture
Dilaver Demirel
Windows Azure ile Cloud Computing Uygulamaları - 1
İbrahim ATAY
OPENSHIFT KONTEYNER PLATFORM İLE GELİŞTİRMEYE HIZLI BAŞLANGIÇ - Webinar-Aug2017
Serhat Dirik
Windows Azure ile Cloud Computing Uygulamaları - 3
İbrahim ATAY
Bulutbilisim sunum
ugurbudak
Windows Azure ile Cloud Computing Uygulamaları - 2
İbrahim ATAY
Cloud computing and technologies
Bilal Dursun

Devnot - Dev Summit 2018

  • 1. Bulut Odaklı Yazılım Geliştirmede Yeni Roller ve Sorumluluklar Gökhan Şengün devnot – Developer Summit İstanbul 2018 gokhansengun@gmail.com @gokhansengun gokhansengun.com medium.com/@gokhansengun
  • 2. •Bulut Hizmet Çeşitleri •IaaS, PaaS, SaaS, CaaS, FaaS •Önemi/Etki Alanı Artan ve Azalan Roller •Uygulama Geliştirme Döngüsünde Değişen Mekanikler •Değişimler ve Getirdikleri Ajanda
  • 4. IaaS (Infrastructure as a Service) Servis olarak altyapıyı sunma • Bulut hizmet sağlayıcı sanal ya da çıplak metal sunucu sağlıyor • Bulut hizmet sağlayıcı sunucu donanım bakımını üstleniyor • Kullanıcı sunucu üzerine işletim sistemi, platform ve uygulama kurulumu yapıyor • Kullanıcı işletim sistemi ve platformun yamalama ve bakımını üstleniyor • Hizmet sağlayıcı verdiği hizmeti değişik kriterlere göre ve genellikle süre bazında faturalıyor • Örnekler • AWS EC2 (Elastic Compute Cloud) • Azure Compute Services • Google Compute Engine Bulut Hizmet Çeşitleri
  • 5. PaaS (Platform as a Service) Servis olarak platformu sunma • Bulut hizmet sağlayıcı sunucu ile birlikte uygulamanın koşacağı platformu (JVM, Node.js, PHP runtime) da sağlıyor • Bulut hizmet sağlayıcı sunucu ve platform bakımını üstleniyor • Kullanıcı sadece kendi uygulamasının güncellemesini yapıyor • Hizmet sağlayıcı sistemin belirli sınırlar içerisinde ölçeklemesini yapıyor • Hizmet sağlayıcı verdiği hizmeti değişik kriterlere göre ve genellikle süre bazında faturalıyor • Örnekler • Heroku • AWS Elastic Beanstalk • Azure App Service • Google App Engine • OpenShift • CloudFoundry Bulut Hizmet Çeşitleri
  • 8. SaaS (Software as a Service) Servis olarak yazılımı sunma • Hizmet sağlayıcı platformun yanında platform ve uygulama güvenliği dahil uygulamayı da sağlıyor • Kullanıcı sadece uygulamayı kullanıyor • Hizmet sağlayıcı verdiği hizmeti değişik kriterlere göre faturalıyor • Örnekler • Gmail • Office 365 • Salesforce • Dropbox • Slack • Adisyo • Blazemeter Bulut Hizmet Çeşitleri
  • 13. CaaS (Container as a Service) Servis olarak konteyner sunma • Hizmet sağlayıcı konteyner platformunu sunuyor • Örnekler • GKE (Google Container Engine) • AKS (Azure Kubernetes Service) • ACS (Amazon Container Service) • EKS (Amazon Elastic Container Service for Kubernetes) FaaS (Function as a Service) Servis olarak fonksiyon sunma • Hizmet sağlayıcı kullanıcının fonksiyonlarını koşturabileceği platformu sağlıyor • Örnekler • Amazon Lambda • Google Cloud Functions • Azure Functions Bulut Hizmet Çeşitleri
  • 14. Bir Bakışta Neler Değişiyor? • Veri merkezi işletmesinden kesin olarak kurtuluyoruz • Elektrik gitti • Su bastı • Kepçe fiber kablosunu kopardı bahaneleri artık yok. • PaaS ile platform güvenliği ve işletmesinden de kurtuluyoruz • Ürün ve hizmetlerimizi IaaS ve PaaS ile hazırlayıp SaaS modeli ile satıp ilk yatırım maliyetimizi hafifletiyoruz • Ana işimiz olmayan ancak ihtiyaç duyduğumuz yan hizmetleri (log yönetimi, cache yönetimi, vb) dışarıdan temin ediyoruz. Böylece; • Hizmet sunan aynı hizmeti çok kişiye sağladığı için • Ucuza malediyor • Daha kaliteli yapıyor • Hizmet alan ise kaliteyi ucuza alıyor, işine odaklanıyor
  • 16. Önemi/Etki Alanı Artan Roller Ürün Yöneticisi, Ön Yüz Tasarımcı, Ön Yüz Geliştirici • Bulut üzerinden sunulan ürünlerin • Genele hitap etmesi • Kolay ve etkili kullanılması • Eksik özelliklerin ürünün ruhuna uygun tamamlanması • Ürünün zamana ayak uydurması Uygulama/Sistem Güvenliği Uzmanı • Bulut üzerinden sunulan ürünlerin • Servislerin genele açılması sebebiyle artan risk • 3. parti servislerin kullanımı sebebiyle meydana çıkan riskler Site Reliability Engineer • Bulut üzerinden sunulan ürünlerin • Ölçeklenmesi • Kararlılığının artırılması
  • 17. Kendini Dönüştürmesi Gereken Roller Sistem Mühendisi, Ağ Mühendisi -> Cloud, DevOps Mühendisi • Buluta taşınan sistem ve ağ ekipmanlarından dolayı yönetecek ekipman/ağ kalmaması • Bulutta kullanılan kaynakların maliyet etkin biçimde kullanılması/kullandırılması • Yönetilen sistemin en uygun biçimde buluta uygun hale getirilmesi • Sistemin bulut üzerinde yedekliliğinin sağlanması
  • 18. Önemi/Etki Alanı Azalan Roller Manuel Test Mühendisi • Bulut üzerinden sunulan ürünlerin • Fonksiyon ve kullanım çeşitliliği bakımından manuel testi imkansız hale getirmesi • Müşteri memnuniyetsizliği direkt müşteri kaybına sebep olacağı için test otomasyon yatırımına hizmet sağlayan tarafından katlanılması • Daha fazla ve maliyet etkin insan kaynağının test otomasyon yapar hale gelmesi Sistem İzleme Mühendisi (NOC, vb) • Bulut hizmet sağlayıcıların • Otomatik izleme ve müdahale desteği sağlaması • APM (Application Performance Monitoring) araçları ile uygulama hatalarının izlenmesinin kolaylaşması • Uçtan uca test ve izleme yapan araçların test otomasyon ile entegrasyonu
  • 20. Uygulama ve Platform Arasında Kontratlar Loglama • Uygulama loglarını konsola yazar, dosya, vb ile uğraşmaz • Platform, uygulamanın konsoluna yazdığı logları istenen log seviyesinde istenen yere (syslog, logstash, fluentd, vb) aktarır Metrik Toplama • Uygulama çalışma zamanı ile ilgili metrikleri sunar • Platform, uygulamanın sunduğu uçtan (endpoint) periyodik sorgular yaparak metrikleri kaydeder Yeniden Başlatılma • Uygulama sağlıklı çalışıp çalışmadığını sunar • Platform, periyodik olarak uygulamanın sağlıklı çalışıp çalışmadığını kontrol eder ve sağlıklı çalışmıyorsa uygulamayı yeniden başlatır
  • 21. Uygulama ve Platform Arasında Kontratlar Versiyon Güncelleme • Uygulama versiyon güncellemeden habersizdir • Platform, uygulamanın yeni versiyonunu ayağa kaldırıp trafiği ona yönlendirmeye başlar • Platform, başarılı geçiş sonrası eski versiyonu öldürür Kimlik Doğrulama ve Yetkilendirme • Uygulama bir servise ulaşmak için yürütmesi gereken kimlik doğrulama ve yetkilendirme prosedürlerinden habersizdir • Platform, uygulama adına gerekli kimlik doğrulama ve yetkilendirme prosedürlerini yürütür
  • 22. Uygulama ve Platform Arasında Kontratlar Devre Kesici Kalıp (Circuit Breaker Pattern) • Uygulama devre kesiciden habersizdir • Platform belirlenen aralıklar ve eşik değere göre devreyi açmaya karar verir
  • 24. Değişimler ve Getirdikleri Kullanılan Yazılım Dillerinde Değişiklikler • Servislerin küçülmesi • Derlenmeden çalışan dillerle daha pratik kodlama yapılması • Yeni iş gücünün derlenmeden çalışan dillere yatkınlığı • Node.js, Python, Ruby, vb kullanımında artış Artan 3. Parti Bağımlılıklar
  • 25. Değişimler ve Getirdikleri 3. Parti Bağımlılıklarla Gelen Güvenlik Problemleri
  • 26. Değişimler ve Getirdikleri 3. Parti Bağımlılıklarla Gelen Güvenlik Problemleri • 3. parti bağımlılıkların denetlendiği servisleri kullanmak şart
  • 27. Değişimler ve Getirdikleri 3. Parti Bağımlılıklarla Gelen Güvenlik Problemleri • 3. parti bağımlılıkların denetlendiği servisleri kullanmak şart
  • 28. Değişimler ve Getirdikleri 3. Parti Bağımlılıklarla Gelen Lisans Problemleri • 3. parti bağımlılıkların lisanslarının uygulama lisansına uyumluluğunu araştırmak şart 3. Parti Bağımlılıklarla Gelen Yönetim Problemleri • Azer Koçulu ”leftpad”i npm’den sildi ve …

Editor's Notes

  • #2: 37 hafta
  • #6: Azure Kanada seçim örneği (sadece belirli zaman dilimi yüksek trafik alacak bir sistem)