Ana içeriğe geç

Yol haritası · Orta seviye

DevOps ve bulut

Kodun nerede çalıştığı, değişikliklerin güvenle nasıl yayınlandığı ve her şeyin çalıştığını nasıl bildiğiniz.

Tek bir Linux sunucudan container'lara ve Kubernetes'e: dramsız deploy, talebe göre ölçeklenmek ve canlı ortamda neler olduğunu görmek.

40 sayfa4 bölümyaklaşık 1 saat okuma

  • DevOps ve Bulut
  • Programlama Dilleri

Henüz başlanmadı0/40 okundu

Linux ile başla

İlerleme, yalnızca bu tarayıcıda tutulan okuma geçmişinizden gelir.

1. bölümKod nerede çalışır?

  1. 1LinuxDevOps ve Bulut, s. 31Linux, ç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.
  2. 2BashProgramlama Dilleri, s. 2Bash, çoğu Linux sisteminde varsayılan Unix kabuğu ve betik dilidir; komutları etkileşimli yazmak ve görevleri betiklerle otomatikleştirmek için kullanılır.
  3. 3Sanal MakineDevOps ve Bulut, s. 45Sanal 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.
  4. 4IaaSDevOps ve Bulut, s. 25IaaS (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.
  5. 5KonteynerDevOps ve Bulut, s. 28Konteyner, 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.
  6. 6DockerDevOps ve Bulut, s. 15Docker, 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.
  7. 7Docker ComposeDevOps ve Bulut, s. 16Docker 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.
  8. 8Bulut BilişimDevOps ve Bulut, s. 5Bulut bilişim, sunucu, depolama ve veritabanı gibi bilişim kaynaklarının internet üzerinden, kullandığın kadar öde modeliyle talep üzerine sunulmasıdır.
  9. 9AWSDevOps ve Bulut, s. 2AWS (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.
  10. 10AzureDevOps ve Bulut, s. 3Microsoft Azure, sanal makineler, veritabanları ve yapay zekâ modelleri gibi yüzlerce isteğe bağlı servis sunan, Microsoft'un küresel bulut platformudur.
  11. 11Google CloudDevOps ve Bulut, s. 21Google Cloud, Google'ın kendi ürünlerini çalıştıran küresel altyapıda hesaplama, depolama, veri ve yapay zekâ servisleri sunan genel bulut platformudur.
  12. 12PaaSDevOps ve Bulut, s. 38PaaS (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.
  13. 13ServerlessDevOps ve Bulut, s. 46Serverless, 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.

2. bölümDeğişiklikleri yayınlamak

  1. 14CI/CDDevOps ve Bulut, s. 9CI/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.
  2. 15GitHub ActionsDevOps ve Bulut, s. 19GitHub 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.
  3. 16JenkinsDevOps ve Bulut, s. 26Jenkins, 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.
  4. 17Ortam DeğişkeniDevOps ve Bulut, s. 36Ortam 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.
  5. 18Kod Olarak AltyapıDevOps ve Bulut, s. 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.
  6. 19TerraformDevOps ve Bulut, s. 51Terraform, 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.
  7. 20GitOpsDevOps ve Bulut, s. 20GitOps, 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.
  8. 21Feature FlagDevOps ve Bulut, s. 18Feature flag, koddaki bir özelliği çalışma zamanında açıp kapatan bir anahtardır; ekipler kodu herkese aynı anda yayınlamadan dağıtabilir.
  9. 22Blue-Green DeploymentDevOps ve Bulut, s. 4Blue-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.
  10. 23Canary DeploymentDevOps ve Bulut, s. 6Canary 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.
  11. 24RollbackDevOps ve Bulut, s. 43Rollback, 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.

3. bölümÖlçekte çalıştırmak

  1. 25KubernetesDevOps ve Bulut, s. 30Kubernetes, konteynerli uygulamaların bir makine kümesi üzerinde dağıtılmasını, ölçeklenmesini ve yönetilmesini otomatikleştiren açık kaynaklı bir sistemdir.
  2. 26PodDevOps ve Bulut, s. 39Pod, 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.
  3. 27HelmDevOps ve Bulut, s. 24Helm, 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.
  4. 28Yük DengeleyiciDevOps ve Bulut, s. 54Yü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.
  5. 29Reverse ProxyDevOps ve Bulut, s. 42Reverse 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.
  6. 30Otomatik ÖlçeklemeDevOps ve Bulut, s. 37Otomatik ö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.
  7. 31CDNDevOps ve Bulut, s. 7CDN, 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.

4. bölümÇalıştığını bilmek

  1. 32GözlemlenebilirlikDevOps ve Bulut, s. 22Gözlemlenebilirlik, çalışan bir yazılım sisteminin içinde olup biteni log, metrik ve trace verilerini toplayıp analiz ederek anlayabilme yeteneğidir.
  2. 33LoglamaDevOps ve Bulut, s. 32Loglama, çalışan bir programdaki hata ve istek gibi olaylar hakkında zaman damgalı mesajlar kaydetme pratiğidir; insanlar bunları sonradan inceleyebilir.
  3. 34MetriklerDevOps ve Bulut, s. 33Metrikler, 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.
  4. 35PrometheusDevOps ve Bulut, s. 41Prometheus, 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.
  5. 36GrafanaDevOps ve Bulut, s. 23Grafana; 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.
  6. 37Dağıtık İzlemeDevOps ve Bulut, s. 11Dağı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.
  7. 38SLODevOps ve Bulut, s. 50SLO, 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.
  8. 39SLADevOps ve Bulut, s. 49SLA (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.
  9. 40PostmortemDevOps ve Bulut, s. 40Postmortem, 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.

Yol boyunca karşılaştırın

Bu yol haritasında kolayca karıştırılan çiftler, yan yana.

Daha fazla

Ayarlar