Ana içeriğe geç

Kitap 05 · Özet sayfa

DevOps ve Bulut

Yazılımı derlemek, test etmek, paketlemek ve canlı ortama göndermek için kullanılan araçlar ve pratikler.

01Ansible
Ansible, YAML playbook'larını ajan kurmadan SSH üzerinden çalıştırarak sunucuları yapılandıran ve uygulama dağıtan açık kaynaklı bir otomasyon aracıdır.
  • Ansible, sunucu yapılandırmasını ve uygulama dağıtımını otomatikleştirir.
  • Görevler YAML playbook'larında yazılır ve bir host envanterine karşı çalıştırılır.
  • Ajansızdır: SSH ile bağlanır ve host'larda yalnızca Python'a ihtiyaç duyar.
02AWSAmazon Web Services
AWS (Amazon Web Services), Amazon'un bulut platformudur; sunucu, depolama, veritabanı ve çok daha fazlası için kullandıkça ödenen 200'den fazla servis sunar.
  • AWS, kullandıkça ödenen 200'den fazla servisi olan Amazon'un bulut platformudur.
  • Temel servisler arasında EC2 (sunucular), S3 (depolama), RDS (veritabanları) ve Lambda vardır.
  • Bölgeler, dayanıklılık için birkaç erişilebilirlik alanı içerir.
03AzureMicrosoft Azure
Microsoft Azure, sanal makineler, veritabanları ve yapay zekâ modelleri gibi yüzlerce isteğe bağlı servis sunan, Microsoft'un küresel bulut platformudur.
  • Azure, 2010'da başlayan Microsoft'un genel bulut platformudur.
  • AWS ve Google Cloud ile birlikte en büyük üç buluttan biridir.
  • Servisleri sanal makinelerden ve Kubernetes'ten veritabanlarına, fonksiyonlara ve yapay zekâ modellerine uzanır.
04Blue-Green Deployment
Blue-green deployment, iki özdeş canlı ortam kullanan ve tüm trafiği eski sürümden yeni sürüme tek seferde geçiren bir yayın stratejisidir.
  • İki özdeş ortam vardır: biri canlı, biri boşta.
  • Yeni sürüm, canlıya geçmeden önce boştaki ortama dağıtılır ve test edilir.
  • Trafik, genellikle yük dengeleyicide ve kesintisiz olarak tek seferde geçer.
05Bulut Bilişim
Bulut bilişim, sunucu, depolama ve veritabanı gibi bilişim kaynaklarının internet üzerinden, kullandığın kadar öde modeliyle talep üzerine sunulmasıdır.
  • Bulut bilişim; sunucuları, depolamayı ve hizmetleri internet üzerinden talep üzerine kiralar.
  • Üç ana hizmet modeli IaaS, PaaS ve SaaS'tır.
  • Esneklik, kaynakların talebe göre otomatik büyüyüp küçülmesini sağlar.
06Canary Deployment
Canary deployment, yeni bir yazılım sürümünü önce kullanıcıların küçük bir bölümüne sunar, sağlığını kontrol eder ve ardından kademeli olarak herkese yayar.
  • Canary, trafiğin küçük bir yüzdesini önce yeni sürüme gönderir.
  • Metrikler izlenirken trafik adım adım artırılır.
  • Kötü bir sürüm yalnızca birkaç kullanıcıyı etkiler ve hızla geri alınabilir.
07CDNİçerik Dağıtım Ağı
CDN, dünyanın dört bir yanına yayılmış ve web sitesi içeriğinin kopyalarını saklayıp her kullanıcıya en yakın konumdan sunan bir sunucu ağıdır.
  • CDN, içeriği her kullanıcıya yakın sunuculardan sunar.
  • Origin sunucusundaki dosyaların kopyalarını önbelleğe alarak çalışır.
  • CDN'ler gecikmeyi azaltır, origin yükünü düşürür ve trafik artışlarını ile saldırıları karşılamaya yardımcı olur.
08Chaos Engineering
Chaos engineering, bir sisteme sunucu çökertmek gibi kasıtlı arızalar enjekte ederek sistemin beklendiği gibi çalışmaya devam ettiğini doğrulama pratiğidir.
  • Chaos engineering, gizli zayıflıkları ortaya çıkarmak için bilerek gerçek arızalar enjekte eder.
  • Her deney ölçülebilir bir kararlı durumdan ve net bir hipotezden başlar.
  • Deneyler etki alanını küçük tutar ve istenen her an iptal edilebilir.
09CI/CDSürekli Entegrasyon / Sürekli Teslimat
CI/CD, kod değişikliklerini sık sık derleyen, test eden ve yayınlayan otomatik pratikler bütünüdür; yazılım kullanıcılara hızlı ve güvenli biçimde ulaşır.
  • CI, paylaşılan kod tabanına birleştirilen her değişikliği otomatik olarak derler ve test eder.
  • CD, kodu her zaman yayına hazır tutar ya da otomatik olarak yayınlar.
  • Pipeline'lar, kodun yanında saklanan yapılandırma dosyalarında tanımlanır.
10Container Registry
Container registry, konteyner imajları için bir depolama ve dağıtım hizmetidir; ekipler derlenmiş imajları push eder, onları çalıştıran her sunucuya pull eder.
  • Registry, konteyner imajlarını saklar ve onları çalıştıran makinelere sunar.
  • İmajlar repository'lerde gruplanır ve etiketlerle sürümlenir.
  • Digest, bir imajın tam içeriğini tanımlar ve bir etiket gibi taşınamaz.
11Dağıtık İzleme
Dağıtık izleme, tek bir isteği birçok servis boyunca takip eden; her adımın ne kadar sürdüğünü ve nerede başarısız olduğunu kaydeden bir tekniktir.
  • Trace, tek bir isteği servisler arasında uçtan uca takip eder.
  • Trace'ler, her biri bir işlemi ölçen ve üst-alt sırasıyla bağlanan span'lerden oluşur.
  • Trace ID'si servisler arasında, genellikle traceparent başlığında iletilir.
12Değiştirilemez Altyapı
Değiştirilemez altyapı, sunucuların dağıtımdan sonra hiç değiştirilmediği, her güncellemede yerlerine sıfırdan kurulan yenilerinin geldiği bir yaklaşımdır.
  • Sunucular ve konteynerler dağıtıldıktan sonra asla değiştirilmez.
  • Her değişiklik yeni bir imaj üretir; eski örnekler yamalanmaz, değiştirilir.
  • Aynı test edilmiş imaj, staging ve canlı ortam arasında değişmeden ilerler.
13DevOpsGeliştirme ve Operasyon
DevOps, yazılım geliştirme ile BT operasyonlarını birleştirerek yazılımın daha hızlı ve güvenilir sunulmasını sağlayan bir kültür ve pratikler bütünüdür.
  • DevOps, geliştirme ve operasyonu tek bir ortak sorumlulukta birleştirir.
  • Otomasyon merkezi bir yer tutar: CI/CD, kod olarak altyapı ve izleme.
  • Küçük ve sık sürümler riski azaltır, geri bildirimi hızlandırır.
14DNSAlan Adı Sistemi
DNS, internetin adlandırma sistemidir; example.com gibi insanın okuyabileceği alan adlarını bilgisayarların kullandığı sayısal IP adreslerine çevirir.
  • DNS, alan adlarını IP adreslerine çevirir.
  • Resolver'lar yanıtları root, üst düzey alan adı ve yetkili ad sunucularını sorgulayarak bulur.
  • Yaygın kayıt türleri A, AAAA, CNAME, MX ve TXT'tir.
15Docker
Docker, bir uygulamayı ve ihtiyaç duyduğu her şeyi, her makinede aynı şekilde çalışan bir konteyner içinde paketlemeye yarayan açık kaynaklı bir platformdur.
  • Docker, bir uygulamayı ve bağımlılıklarını bir konteyner imajında paketler.
  • İmajın nasıl oluşturulacağını bir Dockerfile tanımlar.
  • İmaj şablondur; konteyner ise onun çalışan bir örneğidir.
16Docker Compose
Docker Compose, web sunucusu ve veritabanı gibi birkaç container'dan oluşan uygulamaları tek bir YAML dosyası ve tek komutla tanımlayıp çalıştıran araçtır.
  • Docker Compose, çok container'lı uygulamaları tek bir YAML dosyasından çalıştırır.
  • docker compose up her servisi ortak bir ağ üzerinde başlatır.
  • Servisler imajları, portları, ortam değişkenlerini, volume'ları ve sağlık kontrollerini tanımlar.
17Edge Computing
Edge computing, gecikmeyi azaltmak için kodu ve veriyi uzak bir merkezi veri merkezi yerine kullanıcıların ya da cihazların yakınında çalıştırıp işlemektir.
  • Edge computing, gecikmeyi ve bant genişliği kullanımını azaltmak için kodu kullanıcılara ya da cihazlara yakın çalıştırır.
  • Web'de edge fonksiyonları, çoğunlukla CDN ağlarında olmak üzere birçok konumda çalışır.
  • IoT'de uç cihazlar veriyi yerelde işler ve buluta yalnızca sonuçları gönderir.
18Feature Flag
Feature flag, koddaki bir özelliği çalışma zamanında açıp kapatan bir anahtardır; ekipler kodu herkese aynı anda yayınlamadan dağıtabilir.
  • Feature flag, yeni bir dağıtım yapmadan işlevi çalışma zamanında açıp kapatır.
  • Kodu dağıtmayı, bir özelliği kullanıcılara yayınlamaktan ayırır.
  • Hedefleme kuralları bir özelliği belirli kullanıcılar, gruplar ya da trafiğin bir yüzdesi için etkinleştirebilir.
19GitHub Actions
GitHub Actions, GitHub'ın yerleşik otomasyon platformudur; depodaki YAML iş akışları push ya da pull request olduğunda test, derleme ve dağıtım çalıştırır.
  • GitHub Actions, otomatik iş akışlarını GitHub'ın içinde çalıştırır.
  • İş akışları .github/workflows altındaki YAML dosyalarıdır ve olaylarla tetiklenir.
  • İşler GitHub'ın ya da sizin barındırdığınız runner'larda adım adım çalışır.
20GitOps
GitOps, sistemin istenen durumunu Git'te tutan ve otomatik bir ajanın canlı sistemi bununla senkronize ettiği bir altyapı ve dağıtım yönetimi yöntemidir.
  • Git, sistemin istenen durumu için tek doğru kaynaktır.
  • Değişiklikler elle komutlarla değil, commit'ler ve pull request'ler üzerinden yapılır.
  • Bir ajan, canlı sistemi repository ile sürekli uzlaştırır.
21Google CloudGoogle Cloud Platform
Google Cloud, Google'ın kendi ürünlerini çalıştıran küresel altyapıda hesaplama, depolama, veri ve yapay zekâ servisleri sunan genel bulut platformudur.
  • Google Cloud, çoğu zaman GCP diye anılan Google'ın genel bulut platformudur.
  • 2008'de App Engine ile başladı.
  • Compute Engine, Cloud Run ve GKE kod çalıştırır; Cloud Storage ve Cloud SQL veri saklar.
22Gözlemlenebilirlik
Gözlemlenebilirlik, çalışan bir yazılım sisteminin içinde olup biteni log, metrik ve trace verilerini toplayıp analiz ederek anlayabilme yeteneğidir.
  • Gözlemlenebilirlik, bir sistemin iç durumunu yaydığı verilerden anlamak demektir.
  • Log'lar, metrikler ve trace'ler üç ana telemetri türüdür.
  • Dağıtık izleme (distributed tracing), tek bir isteği birçok servis boyunca takip eder.
23Grafana
Grafana; birçok veri kaynağındaki metrik, log ve izleri tek yerde canlı grafiklere ve uyarılara dönüştüren panolar kurmaya yarayan açık kaynaklı bir araçtır.
  • Grafana, mevcut veri kaynaklarından panolar ve uyarılar kurar.
  • Prometheus'a, Loki'ye, Elasticsearch'e, SQL veritabanlarına ve daha fazlasına bağlanır.
  • Farklı kaynaklardan gelen paneller tek bir panoda birleştirilebilir.
24Helm
Helm, Kubernetes'in paket yöneticisidir; uygulamanın yapılandırma dosyalarını tek komutla kurulup güncellenebilen ve geri alınabilen bir chart'ta paketler.
  • Helm, Kubernetes'in paket yöneticisidir.
  • Bir chart, şablonlanmış manifestoları values.yaml'daki varsayılan değerlerle paketler.
  • Her kurulum, güncellenip geri alınabilen bir release'tir.
25IaaSHizmet Olarak Altyapı
IaaS (infrastructure as a service), sanal makine, depolama ve ağı isteğe bağlı kiralayıp işletim sistemini ve üstünü kendiniz yönettiğiniz bulut modelidir.
  • IaaS, sanal makineleri, depolamayı ve ağları isteğe bağlı kiralar.
  • İşletim sistemini, yazılımı, yamaları ve ölçeklemeyi siz yönetirsiniz.
  • 2006'da başlayan Amazon EC2 bu modeli tanımladı.
26Jenkins
Jenkins, yazılımı pipeline'larla derleyen, test eden ve dağıtan açık kaynaklı bir otomasyon sunucusudur; en eski ve en yaygın CI/CD araçlarından biridir.
  • Jenkins, CI/CD için kendi sunucunuzda çalışan açık kaynaklı bir otomasyon sunucusudur.
  • Hudson'dan ayrıldı ve adını 2011'de aldı.
  • Pipeline'lar build, test ve deploy aşamalarıyla bir Jenkinsfile içinde tanımlanır.
27Kod Olarak Altyapı
Kod olarak altyapı, sunucuları, ağları ve diğer altyapıyı araçların otomatik uyguladığı, sürüm kontrolündeki dosyalarda tanımlama pratiğidir.
  • IaC, altyapıyı elle konsol tıklamaları yerine kod dosyalarında tanımlar.
  • Bildirimsel araçlar istenen durumu gerçeklikle karşılaştırır ve farkı uygular.
  • Altyapı değişiklikleri uygulama kodu gibi sürümlenir, gözden geçirilir ve geri alınır.
28Konteyner
Konteyner, bir uygulamayı bağımlılıklarıyla paketleyip ana makinenin paylaşılan işletim sistemi çekirdeği üzerinde çalıştıran hafif, yalıtılmış bir pakettir.
  • Konteyner, bir uygulamayı bağımlılıklarıyla paketler; böylece her yerde aynı davranır.
  • Sanal makinelerin aksine konteynerler ana makinenin işletim sistemi çekirdeğini paylaşır.
  • Linux namespace'leri yalıtımı sağlar, cgroups ise kaynakları sınırlar.
29kubectl
kubectl, Kubernetes'in komut satırı aracıdır: uygulamaları dağıtmak, incelemek ve değiştirmek için bir cluster'ın API sunucusuna istek gönderir.
  • kubectl, Kubernetes'in komut satırı aracıdır; her komut API sunucusuna yapılan bir çağrıdır.
  • get, describe, logs ve exec çalışan şeyleri incelemeye yarar.
  • kubectl apply -f, cluster'ı istenen durumu tarif eden YAML dosyalarına uydurur.
30Kubernetes
Kubernetes, konteynerli uygulamaların bir makine kümesi üzerinde dağıtılmasını, ölçeklenmesini ve yönetilmesini otomatikleştiren açık kaynaklı bir sistemdir.
  • Kubernetes, konteynerleri bir makine kümesi üzerinde orkestre eder.
  • İstenen durumu YAML ile bildirirsiniz, Kubernetes de onu o şekilde korur.
  • Pod'lar, deployment'lar ve service'ler temel yapı taşlarıdır.
31Linux
Linux, çoğu sunucuyu, bulutu, konteyneri ve Android telefonu çalıştıran, genellikle dağıtım olarak paketlenen açık kaynaklı bir işletim sistemi çekirdeğidir.
  • Linux açık kaynaklı bir çekirdektir; dağıtımlar tam bir işletim sistemi oluşturmak için araçlar ekler.
  • Sunucuların, bulut altyapısının, süper bilgisayarların ve Android aygıtlarının çoğunu çalıştırır.
  • Konteynerler, namespace'ler ve cgroups gibi Linux çekirdeği özelliklerine bağlıdır.
32Loglama
Loglama, çalışan bir programdaki hata ve istek gibi olaylar hakkında zaman damgalı mesajlar kaydetme pratiğidir; insanlar bunları sonradan inceleyebilir.
  • Loglama, çalışan bir programın zaman damgalı olaylarını sonradan incelemek üzere kaydeder.
  • DEBUG, INFO, WARN ve ERROR gibi log seviyeleri önemi belirtir ve hacmi kontrol eder.
  • Yapılandırılmış loglama, kayıtları adlandırılmış alanlarla JSON olarak yazar ve bu da sorgulamayı kolaylaştırır.
33Metrikler
Metrikler, bir sistemden zamanla toplanan istek oranı, hata oranı ve CPU kullanımı gibi sayısal ölçümlerdir; panolar, uyarılar ve planlama için kullanılır.
  • Metrikler, zaman içinde kaydedilen ve zaman serisi olarak saklanan sayısal ölçümlerdir.
  • Yaygın türler counter, gauge ve histogram'dır.
  • p95 ve p99 gibi yüzdelikler, ortalamaların gizlediği yavaş istekleri ortaya çıkarır.
34Nesne Depolama
Nesne depolama, veriyi benzersiz anahtarlı ve meta verili bütün nesneler olarak, HTTP üzerinden çok sayıda dosyaya ölçeklenen düz bucket'larda saklar.
  • Nesne depolama, veriyi nesneler olarak saklar: bayt ve meta veri, benzersiz bir anahtarla adreslenir.
  • Nesneler düz ad alanına sahip bucket'larda yaşar ve HTTP üzerinden erişilir.
  • Nesneler yerinde düzenlenmez, bir bütün olarak değiştirilir.
35OpenTelemetry
OpenTelemetry, yazılımdan trace, metrik ve log toplayıp bunları herhangi bir izleme backend'ine göndermek için açık bir standart ve araç takımıdır.
  • OpenTelemetry, trace, metrik ve loglar için hiçbir sağlayıcıya bağlı olmayan bir standarttır.
  • Kod bir kez enstrümante edilir ve veriler herhangi bir backend'e gidebilir.
  • OTLP onun protokolüdür; Collector verileri alır, işler ve iletir.
36Ortam Değişkeni
Ortam değişkeni, programın dışında işletim sistemi ya da çalışma zamanınca ayarlanan, programın davranışını yapılandırmak için okuduğu adlandırılmış değerdir.
  • Ortam değişkenleri, kod tarafından değil ortam tarafından sağlanan anahtar-değer ayarlarıdır.
  • Aynı kodun her ortamda farklı yapılandırmayla çalışmasını sağlar.
  • Alt süreçler, üst süreçlerinin ortam değişkenlerinin bir kopyasını devralır.
37Otomatik Ölçekleme
Otomatik ölçekleme, sunucu ya da konteyner gibi bilişim kaynaklarının talebe göre otomatik eklenip çıkarılmasıdır; performans sabit, maliyet düşük kalır.
  • Otomatik ölçekleme, talebe göre kapasiteyi otomatik olarak ekler ya da çıkarır.
  • CPU, bellek, istek oranı veya kuyruk uzunluğu gibi metriklerle yönlendirilir.
  • Asgari ve azami sınırlar ölçeklemeyi güvenli, maliyetleri öngörülebilir tutar.
38PaaSHizmet Olarak Platform
PaaS (platform as a service), kodunuzu dağıttığınız, altındaki sunucuları, işletim sistemlerini ve ölçeklemeyi sağlayıcının çalıştırdığı bir bulut modelidir.
  • PaaS kodunuzu çalıştırır; sunucuları ve işletim sistemini sağlayıcı yönetir.
  • Heroku onu popüler yaptı; Vercel, Render ve App Service birer örnektir.
  • Platformlar veritabanları, ölçekleme, log'lar, önizlemeler ve geri alma ekler.
39Pod
Pod, Kubernetes'te dağıtılabilen en küçük birimdir: ağ adresini ve depolamayı paylaşan, tek bir node'da birlikte zamanlanan bir ya da daha çok konteynerdir.
  • Pod, Kubernetes'in zamanladığı ve yönettiği en küçük birimdir.
  • Aynı pod'daki konteynerler bir IP adresini, localhost'u ve birimleri paylaşır.
  • Çoğu pod tek konteyner çalıştırır; aynı pod'daki yardımcı konteynerlere sidecar denir.
40Postmortem
Postmortem, bir olaydan sonra yazılan; ne olduğunu, neden olduğunu ve tekrarlanmaması için ekibin neyi değiştireceğini açıklayan yazılı bir incelemedir.
  • Postmortem, bir olayı çözüldükten sonra analiz eder ve öğrenilen dersleri kaydeder.
  • Zaman çizelgesi, etki, kök nedenler, katkıda bulunan faktörler ve eylem maddelerini içerir.
  • Suçlayıcı olmayan postmortem'ler bireylere değil, sistem ve süreç hatalarına odaklanır.
41Prometheus
Prometheus, uygulama ve sunuculardan metrik toplayıp zaman serisi olarak saklayan ve değerler sınırı aşınca uyarı tetikleyen açık kaynaklı izleme sistemidir.
  • Prometheus açık kaynaklı bir izleme sistemi ve zaman serisi veritabanıdır.
  • Metrikleri genellikle /metrics olan HTTP uç noktalarını tarayarak çeker.
  • Her serinin bir adı ve etiketleri vardır; PromQL onları sorgular.
42Reverse Proxy
Reverse proxy, web sunucularının önünde durup istemci isteklerini onlar adına kabul eden ve her isteği doğru arka uç sunucuya ileten bir sunucudur.
  • Reverse proxy, arka uç sunucular adına istek alır ve onlara iletir.
  • Genellikle HTTPS sonlandırma, önbellekleme, sıkıştırma ve yönlendirmeyi üstlenir.
  • Arka uç sunucular özel bir ağda gizli kalabilir.
43Rollback
Rollback, yeni bir dağıtım hatalara, kesintilere ya da beklenmedik başka sorunlara yol açtığında yazılımı önceki, sorunsuz sürüme döndürme işlemidir.
  • Rollback, kötü bir yayından sonra uygulamanın çalışan son sürümünü geri yükler.
  • Bir olay sırasında kullanıcı etkisini azaltmanın genellikle en hızlı yoludur.
  • Blue-green dağıtımlar ve sürümlü konteyner imajları rollback'i hızlandırır.
44SaaSHizmet Olarak Yazılım
SaaS (software as a service), internet üzerinden abonelikle sunulan yazılımdır; kullanıcı giriş yapar, sağlayıcı ise her şeyi çalıştırır, günceller ve korur.
  • SaaS, internet üzerinden abonelikle kullanılan yazılımdır.
  • Sağlayıcı uygulamayı barındırır, günceller, güvenceye alır ve yedekler.
  • PaaS ve IaaS'ın üstünde, en az yönetim gerektiren en üst katmandır.
45Sanal Makine
Sanal makine, paylaşılan fiziksel donanımda kendi işletim sistemini çalıştıran, aynı ana makinedeki diğerlerinden yalıtılmış yazılım tabanlı bilgisayardır.
  • VM, kendi işletim sistemine sahip, yazılımla taklit edilen bir bilgisayardır.
  • Hypervisor, tek bir fiziksel ana makinenin donanımını yalıtılmış birçok VM arasında paylaştırır.
  • VM, ana makinesinden farklı bir işletim sistemi çalıştırabilir.
46Serverless
Serverless, sağlayıcının kodu talep üzerine çalıştırıp sunucuları yönettiği, otomatik ölçeklediği ve yalnızca gerçek kullanıma ücret aldığı bulut modelidir.
  • Serverless, sunucu yok demek değildir; sunucuları sizin yönetmediğiniz anlamına gelir.
  • Kod, HTTP istekleri ya da dosya yüklemeleri gibi olaylara yanıt olarak çalışır.
  • Otomatik ölçeklenir; boştayken sıfıra kadar iner.
47Service Mesh
Service mesh, mikroservisler arası trafiği yöneten; kod değiştirmeden şifreleme, yeniden deneme, yönlendirme ve izleme ekleyen bir altyapı katmanıdır.
  • Service mesh, mikroservis sistemindeki servisten servise trafiği yönetir.
  • Proxy'ler veri düzlemini oluşturur ve bir kontrol düzlemi onları yapılandırır.
  • Mutual TLS, yeniden denemeler, zaman aşımları, trafik bölme ve telemetri sağlar.
48Site Reliability Engineering
Site reliability engineering, operasyona yazılım mühendisliğini uygulayan ve hizmetleri otomasyon ile ölçülebilir hedeflerle güvenilir tutan bir disiplindir.
  • SRE, operasyon ve altyapı işlerine yazılım mühendisliğini uygular.
  • Güvenilirlik, kullanıcıların deneyimini yansıtan SLI ve SLO'larla ölçülür.
  • Hata bütçesi, yeni sürümlerin hızı ile kararlılık arasında denge kurar.
49SLAHizmet Seviyesi Anlaşması
SLA (service level agreement), sağlayıcının müşterilerine %99,9 erişilebilirlik gibi hizmet seviyesi ve karşılanmazsa ne olacağına dair verdiği taahhüttür.
  • SLA, erişilebilirlik gibi hizmet kalitesine dair resmî bir sözdür.
  • Karşılanmadığında müşteriler genellikle hizmet kredisi kazanır.
  • %99,9 ayda yaklaşık 43 dakika, %99,99 yaklaşık 4,3 dakika kesintiye izin verir.
50SLOHizmet Seviyesi Hedefi
SLO, bir hizmetin ölçülebilir güvenilirlik hedefidir (örneğin 30 günde isteklerin %99,9'unun başarılı olması) ve yeterince güvenilirin ne olduğunu belirler.
  • SLO, bir zaman penceresi boyunca bir güvenilirlik ölçümü için hedef değerdir.
  • Ölçümün kendisine SLI denir; örneğin başarılı isteklerin payı.
  • İzin verilen hata, yani %100 eksi SLO, hata bütçesidir.
51Terraform
Terraform, kod olarak altyapı aracıdır; bulut kaynaklarını yapılandırma dosyalarında tarif edersiniz, tek komut onları buna göre oluşturur ya da günceller.
  • Terraform bulut altyapısını HCL dosyalarında kod olarak tarif eder.
  • terraform plan değişiklikleri önizler; terraform apply onları uygular.
  • State dosyası, Terraform'un hangi gerçek kaynakları yönettiğini kaydeder.
52YAMLYAML Ain't Markup Language
YAML, parantez yerine girinti kullanan, insanın okuyabileceği bir veri biçimidir; DevOps araçlarında ve CI/CD pipeline'larında yapılandırma için yaygındır.
  • YAML, yapılandırılmış veri ve yapılandırma için insan tarafından okunabilir bir biçimdir.
  • Yapıyı boşluklarla girinti tanımlar; sekmelere izin verilmez.
  • JSON'un aksine # ile yorumları destekler.
53Yapılandırma Yönetimi
Yapılandırma yönetimi, sunucuların ve yazılımın istenen durumunu kodla tanımlama ve araçlarla bunu otomatik olarak uygulayıp koruma pratiğidir.
  • Yapılandırma yönetimi, sistemlerin istenen durumunu sürüm kontrolündeki kodda tutar.
  • Araçlar bu durumu otomatik uygular ve mevcut makinelerdeki kaymayı düzeltir.
  • Idempotency, aynı yapılandırmayı birçok kez uygulamayı güvenli kılar.
54Yük Dengeleyici
Yük dengeleyici, gelen trafiği birkaç arka uç sunucuya dağıtan bir sunucu ya da hizmettir; hiçbir sunucu aşırı yüklenmez ve uygulama erişilebilir kalır.
  • Yük dengeleyici, istekleri birden çok sunucu arasında dağıtır.
  • Sağlık kontrolleri, arızalanan sunucuları otomatik olarak rotasyondan çıkarır.
  • Yaygın algoritmalar arasında round robin, least connections ve IP hash bulunur.
Software Dictionary'den 54 terim. Ayrıntılı açıklamalar, örnekler ve sık sorulan sorular için: softwaredictionary.org/tr/kutuphane/devops

Kitaba dönİpucu: Bir kopyasını saklamak için yazdırma penceresinde “PDF olarak kaydet”i seçin.

Daha fazla

Ayarlar