PLATFORM

Rol
DevOps mimarı
Kuruluş
Jekirdek Teknoloji
Kapsam
Bütün ürünler · test ve canlı
Altyapı
Hetzner · Docker · Traefik
Gözlemlenebilirlik
Metrik · log · iz
01Genel bakış

Platform, Jekirdek Teknoloji’nin ürünlerinin ortak zemini. Her ürün aynı proje şablonundan doğuyor, aynı merkezi iş akışlarıyla derlenip dağıtılıyor ve aynı izleme sunucusuna metrik, log ve iz gönderiyor. Bir projeyi altyapıya bağlamak iki satırlık bir iş akışı dosyası kadar.

Sorun

Her projenin kendi sunucu kurulumu, kendi dağıtım betiği ve kendi log düzeni vardı. Bir sürüm yayına alınırken site kısa süreliğine kapanıyor; bir hata çıktığında hangi sunucuda, hangi istekte olduğunu bulmak saatler alıyordu.

Çözüm

Tek komutla kurulan, sertleştirilmiş sunucu tipleri; her projenin aynı şekilde çağırdığı merkezi CI/CD; sağlık kontrolünü geçmeden trafik almayan blue-green dağıtım. Her sunucudaki tek bir ajan metrik, log ve izleri toplayıp merkeze gönderiyor; alarmlar gruplanıp önemine göre Slack’e düşüyor.

02Sorun yaşandığında
  1. 01

    Slack

    Alarm gelir: sorun, sunucu ve ilk yapılacak iş tek mesajda.

  2. 02

    Durum

    Hangi uygulama, hangi sunucu, ne zamandan beri; hata oranı ve yanıt süresi.

  3. 03

    Loglar

    Hata satırları seviye, proje, servis ve ortama göre süzülür.

  4. 04

    İz

    İsteğin hangi adımda takıldığı, katman katman süreleriyle görülür.

  5. 05

    Düzelt

    Düzeltme aynı hattan yayınlanır ya da önceki sürüme build’siz dönülür.

  6. 06

    Düzeldi

    Slack’e kapanış mesajı gelir; sorunun ne kadar sürdüğü kendiliğinden yazılır.

03Öne çıkanlar
01

Merkezi CI/CD

Ön sürüm test ortamına kendiliğinden gider, canlıya geçiş bilinçli bir onayla olur. Image’lar sürümlü saklanır; geri dönmek için yeniden derlemeye gerek yok.

02

Kesintisiz yayın

Yeni sürüm eskisinin yanında açılır. Sağlık kontrolünü geçerse trafik ona geçer; geçemezse kaldırılır ve eski sürüm hizmete devam eder.

03

Üç sinyal, tek merkez

Her sunucudaki Grafana Alloy ajanı metrik, log ve izleri toplar; sunucu, ortam ve proje etiketiyle şifreli olarak izleme sunucusuna gönderir.

04

Logdan ize tek tık

İstekler OpenTelemetry ile kaydedilir. Log satırındaki iz kimliğinden isteğin bütün yolculuğuna, oradan aynı anın metriklerine geçilir.

05

Doğru alarm, doğru kanal

Prometheus ve Loki kuralları Alertmanager’da gruplanır; kök neden yanarken yan etkiler bastırılır, kritik alarmlar ve uyarılar ayrı kanallara gider.

06

Tek komutla sunucu

Uygulama ve izleme sunucuları yeniden çalıştırılabilir tek bir betikle kurulur: anahtarla SSH, fail2ban, güvenlik duvarı, otomatik güncellemeler ve şifreli yedekler dahil.

04Ekranlar ve mimari
Sunucu panosuCPU, bellek, disk, yük ve çalışma süresi.
Veritabanı panosuBağlantılar, sorgu türleri, yavaş sorgular ve en pahalı sorgular.
Durum ekranıAlarmlar, sitelerin erişimi ve sertifikaları, sunucular ve yedekler tek ekranda.
Bir isteğin iziTempo’da bir isteğin güvenlik filtrelerinden veritabanına kadar süreleri.
Teslimat hattıÖn sürüm, onaylı canlı dağıtım ve build’siz geri dönüş.
Üç katman, tek standartTeslimat, uygulama sunucuları ve izleme sunucusu.

Grafana panoları ve altyapının çizimleri. Durum ekranındaki alan adları, sunucu ve veritabanı adları gizlendi.

05Mimari
01Teslimat ve trafik
  • CloudflareDNS · proxy · TLS
  • Merkezi CI/CDOrtak build ve deploy iş akışları
  • GHCRHer sürümün image’ı
02Uygulama sunucusu
  • TraefikLet’s Encrypt · sağlık kontrolü
  • Ürün konteynerleriMavi ve yeşil kopya
  • VeritabanlarıMySQL, PostgreSQL · proje başına şema
  • ToplayıcıLog, metrik ve iz
  • YedekŞifreli veritabanı dökümleri
03İzleme ve dış servisler
  • SentryUygulama hataları
  • İzleme sunucusuPrometheus · Loki · Tempo · Grafana
  • AlertmanagerKurallı alarmlar
  • SlackAlarm, kapanış ve dağıtım mesajları
  • AWS S3Şifreli yedekler

Yeni sürüm, eskisinin yanında ikinci renk olarak ayağa kalkar; Traefik sağlık kontrolünden geçene kadar ona trafik vermez, geçince eski renk kapanır. Geri dönmek için eski etiketle yeniden dağıtmak yeter, build gerekmez. Her sunucudaki toplayıcı log, metrik ve izleri ayrı izleme sunucusuna gönderir.

Dış servis
  • Cloudflare → Traefik (HTTPS)
  • Merkezi CI/CD → GHCR (build)
  • Merkezi CI/CD → Ürün konteynerleri (deploy)
  • GHCR → Ürün konteynerleri (image)
  • Traefik → Ürün konteynerleri
  • Ürün konteynerleri → Veritabanları
  • Ürün konteynerleri → Sentry
  • Toplayıcı → İzleme sunucusu (push)
  • İzleme sunucusu → Alertmanager
  • Alertmanager → Slack
  • Yedek → AWS S3
06Teknoloji
01

Infrastructure

Sunucular, ağ ve sertifikalar

  • Hetzner
  • Ubuntu
  • Docker
  • Traefik
  • Cloudflare
  • Let’s Encrypt
02

CI/CD

Merkezi iş akışları ve sürümlü image’lar

  • GitHub Actions
  • GHCRContainer registry
  • Blue-greenKesintisiz dağıtım
  • SlackDağıtım bildirimleri
03

Observability

Metrik, log, iz ve alarm

  • Grafana
  • Prometheus
  • Loki
  • Tempo
  • Alloy
  • OpenTelemetry
  • Alertmanager
  • Sentry
04

Data & backup

Ortak veritabanları ve şifreli yedek

  • MySQL
  • PostgreSQL
  • resticŞifreli yedek
  • AWS S3