Ana içeriğe geç

Kitap 05

DevOps ve Bulut

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

İçindekiler

  1. 01Ansible1Ansible, 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.
  2. 02AWS2AWS (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.
  3. 03Azure3Microsoft Azure, sanal makineler, veritabanları ve yapay zekâ modelleri gibi yüzlerce isteğe bağlı servis sunan, Microsoft'un küresel bulut platformudur.
  4. 04Blue-Green Deployment4Blue-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.
  5. 05Bulut Bilişim5Bulut bilişim, sunucu, depolama ve veritabanı gibi bilişim kaynaklarının internet üzerinden, kullandığın kadar öde modeliyle talep üzerine sunulmasıdır.
  6. 06Canary Deployment6Canary 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.
  7. 07CDN7CDN, 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.
  8. 08Chaos Engineering8Chaos 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.
  9. 09CI/CD9CI/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.
  10. 10Container Registry10Container 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.
  11. 11Dağıtık İzleme11Dağı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.
  12. 12Değiştirilemez Altyapı12Değ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.
  13. 13DevOps13DevOps, 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.
  14. 14DNS14DNS, internetin adlandırma sistemidir; example.com gibi insanın okuyabileceği alan adlarını bilgisayarların kullandığı sayısal IP adreslerine çevirir.
  15. 15Docker15Docker, 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.
  16. 16Docker Compose16Docker 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.
  17. 17Edge Computing17Edge 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.
  18. 18Feature Flag18Feature flag, koddaki bir özelliği çalışma zamanında açıp kapatan bir anahtardır; ekipler kodu herkese aynı anda yayınlamadan dağıtabilir.
  19. 19GitHub Actions19GitHub 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.
  20. 20GitOps20GitOps, 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.
  21. 21Google Cloud21Google Cloud, Google'ın kendi ürünlerini çalıştıran küresel altyapıda hesaplama, depolama, veri ve yapay zekâ servisleri sunan genel bulut platformudur.
  22. 22Gözlemlenebilirlik22Gözlemlenebilirlik, çalışan bir yazılım sisteminin içinde olup biteni log, metrik ve trace verilerini toplayıp analiz ederek anlayabilme yeteneğidir.
  23. 23Grafana23Grafana; 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.
  24. 24Helm24Helm, 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.
  25. 25IaaS25IaaS (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.
  26. 26Jenkins26Jenkins, 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.
  27. 27Kod Olarak Altyapı27Kod 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.
  28. 28Konteyner28Konteyner, 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.
  29. 29kubectl29kubectl, 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.
  30. 30Kubernetes30Kubernetes, konteynerli uygulamaların bir makine kümesi üzerinde dağıtılmasını, ölçeklenmesini ve yönetilmesini otomatikleştiren açık kaynaklı bir sistemdir.
  31. 31Linux31Linux, ç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.
  32. 32Loglama32Loglama, çalışan bir programdaki hata ve istek gibi olaylar hakkında zaman damgalı mesajlar kaydetme pratiğidir; insanlar bunları sonradan inceleyebilir.
  33. 33Metrikler33Metrikler, 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.
  34. 34Nesne Depolama34Nesne 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.
  35. 35OpenTelemetry35OpenTelemetry, 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.
  36. 36Ortam Değişkeni36Ortam 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.
  37. 37Otomatik Ölçekleme37Otomatik ö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.
  38. 38PaaS38PaaS (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.
  39. 39Pod39Pod, 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.
  40. 40Postmortem40Postmortem, 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.
  41. 41Prometheus41Prometheus, 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.
  42. 42Reverse Proxy42Reverse 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.
  43. 43Rollback43Rollback, 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.
  44. 44SaaS44SaaS (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.
  45. 45Sanal Makine45Sanal 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.
  46. 46Serverless46Serverless, 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.
  47. 47Service Mesh47Service mesh, mikroservisler arası trafiği yöneten; kod değiştirmeden şifreleme, yeniden deneme, yönlendirme ve izleme ekleyen bir altyapı katmanıdır.
  48. 48Site Reliability Engineering48Site reliability engineering, operasyona yazılım mühendisliğini uygulayan ve hizmetleri otomasyon ile ölçülebilir hedeflerle güvenilir tutan bir disiplindir.
  49. 49SLA49SLA (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.
  50. 50SLO50SLO, 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.
  51. 51Terraform51Terraform, 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.
  52. 52YAML52YAML, 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.
  53. 53Yapılandırma Yönetimi53Yapı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.
  54. 54Yük Dengeleyici54Yü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.

Kütüphaneye dönSonraki kitap: Sürüm Kontrolü

Rastgele bir sayfa oku
Bugünkü tekrarı aç
Koyu temaya geç
Read this page in English

Daha fazla

Ayarlar