Şubat 7 2025

Uyku Kalitesini Artırmanın Kanıtlanmış 8 Yolu

Modern dünyada hepimiz daha üretken, daha mutlu ve daha zinde olmanın yollarını arıyoruz. Ancak en büyük life hack aslında her gece yatağımızda bizi bekliyor: Kaliteli bir uyku. Fiziksel ve zihinsel sağlık için hayati önem taşıyan bu süreç, sadece “gözleri kapatıp dinlenmekten” çok daha fazlası. Vücudumuzun iç saati olan circadian ritim ve gece bizi uyutan mucizevi hormon melatonin dengesini kurduğumuzda, hayat kalitemizin nasıl zirveye çıktığını göreceğiz. Hadi, bu gece daha iyi uyumak için bilimsel olarak kanıtlanmış 8 yönteme yakından bakalım.

1. Circadian Ritminizi Güneşe Göre Ayarlayın

Vücudumuzun içinde, dünyamızın 24 saatlik dönüşüne ayak uyduran biyolojik bir saat var. Buna circadian ritim diyoruz. Bu ritmi doğru çalıştırmanın en kolay yolu, sabah uyanır uyanmaz ilk iş olarak doğal güneş ışığına maruz kalmaktır. Araştırmalar gösteriyor ki, sabah saatlerinde alınan parlak ışık, vücuda “uyanma zamanı geldi” sinyali gönderiyor ve yaklaşık 16 saat sonra salgılanacak olan melatonin üretimini tetikliyor. Sabahları perdeleri açın veya balkona çıkıp 10 dakika gökyüzüne bakın. Bulutlu günlerde bile bu ışık, evdeki lambalardan kat kat daha güçlüdür.

2. Mavi Işık Engelini Aşın

Güneş ışığı sabahları ne kadar yararlıysa, akşamları yapay ışıklar bir o kadar zararlıdır. Telefon, tablet ve bilgisayar ekranlarından yayılan mavi ışık, beyninize hala gündüz olduğu illüzyonunu yaşatır. Araştırmalar, akşam saatlerinde mavi ışığa maruz kalmanın melatonin salgılanmasını ciddi oranda geciktirdiğini ve uyku kalitesini düşürdüğünü gösteriyor. Uykuya geçmeden en az bir saat önce ekranlarla vedalaşın. Eğer bu zor geliyorsa, cihazlarınızda akşam saatleri için “gece ışığı” veya mavi ışık filtresi modunu aktif hale getirin.

3. Uyku Öncesi “Wind-Down” Rutini Oluşturun

Bilgisayarınızı tek bir tuşla anında kapatabilirsiniz ama beyniniz böyle çalışmaz. Yoğun ve stresli bir günün ardından doğrudan yatağa girmek, zihninizin yarışmaya devam etmesine neden olur. Kendinize 30-45 dakikalık bir “wind-down” (sakinleşme) rutini belirleyin. Bu sürede kitap okuyabilir, hafif esneme hareketleri yapabilir veya günlüğünüze bir şeyler yazabilirsiniz.

Yatak odasına geçmeden önce zihninizi kapatmak için şu sanal komutu çalıştırdığınızı hayal edin:


# Günlük stresi durdur ve uyku modunu başlat
sudo systemctl stop daily-anxiety.service
sudo systemctl start deep-sleep.target --now

4. Melatonin Kullanımında Bilinçli Olun

Melatonin, karanlık çöktüğünde epifiz bezinden salgılanan ve vücuda uyku zamanının geldiğini haber veren doğal bir hormondur. Günümüzde bir takviye olarak popülerliği oldukça arttı. Ancak melatonini bir “uyku hapı” gibi düşünmek yanlıştır. Melatonin aslında bir zaman ayarlayıcıdır. Jet lag durumlarında veya vardiyalı çalışanlarda biyolojik saati sıfırlamak için oldukça etkilidir. Ancak her gün kontrolsüzce kullanımı vücudun doğal üretim mekanizmasını tembelleştirebilir.

Önemli Uyarı: Melatonin ve diğer takviyeleri kullanmadan önce mutlaka bir doktora danışın. Hormonal dengelerinizi dışarıdan müdahalelerle bozmamak için uzman görüşü almak hayati önem taşır.

5. Magnezyum Mucizesini Keşfedin

Magnezyum, vücutta 300’den fazla enzimatik reaksiyonda rol oynayan hayati bir mineraldir ve sinir sistemini sakinleştirmede büyük rol oynar. Araştırmalar, magnezyumun kasları gevşettiğini ve sakinleştirici bir neurotransmitter olan GABA’yı desteklediğini gösteriyor. Özellikle magnezyum glisinat (glycinate) veya magnezyum treonat (threonate) formları, uyku kalitesini artırmada ve sabahları daha dinç uyanmada oldukça başarılı sonuçlar veriyor.

6. Uyku Takip Teknolojilerinden Yararlanın

Ölçemediğiniz şeyi geliştiremezsiniz. Günümüzde akıllı saatler ve yüzükler gibi giyilebilir sleep tracking teknolojileri, uyku evrelerinizi (REM, derin uyku, hafif uyku) ve gece boyunca kalp atış hızınızın nasıl değiştiğini analiz etmenize olanak tanır. Bu veriler sayesinde, örneğin akşam geç saatte yediğiniz bir yemeğin derin uykunuzu nasıl baltaladığını somut olarak görebilirsiniz. Ancak bu uygulamaları bir takıntı haline getirmeyin; en iyi uyku takipçisi hala sabah uyandığınızda kendinizi nasıl hissettiğinizdir.

7. Kafein ve Alkol Eğrisini Doğru Yönetin

Öğleden sonra saat 4’te içtiğiniz o lezzetli kahve, gece uykunuzu kaçırıyor olabilir mi? Kafeinin yarı ömrü yaklaşık 5 ila 7 saattir. Yani saat 16:00’da içtiğiniz kahvedeki kafeinin yarısı, gece 22:00-23:00 saatlerinde hala kanınızda dolaşmaya devam eder. Benzer şekilde, alkol hızlı uykuya dalmanızı sağlasa da, uykunun ikinci yarısında uyku mimarisini paramparça eder ve REM uykusunu baskılar. Bilimsel veriler ışığında, kafein tüketimini uyku saatinden en az 8 saat önce sonlandırmanız önerilir.

8. Yatak Odasını Bir “Uyku Tapınağına” Dönüştürün

Yatak odanız sadece uyumak ve dinlenmek için olmalıdır. Beyniniz, burayı iş yapmak veya televizyon izlemekle bağdaştırmamalıdır. İdeal bir uyku ortamı için üç kuralı unutmayın: Karanlık, sessiz ve serin. Araştırmalar, uyku için en ideal oda sıcaklığının 18°C civarı olduğunu gösteriyor. Vücut sıcaklığımız uykuya dalarken doğal olarak düşer; sıcak bir oda bu süreci zorlaştırır. Pencerelerinizi kalın perdelerle kapatın ve odanın ısısını hafifçe düşürün.

Sonuç Olarak

Daha iyi bir uyku kalitesine ulaşmak, bir gecede her şeyi değiştirmek anlamına gelmez. Bu listeden kendinize en kolay gelen bir veya iki adımı seçerek başlayın. Biyolojik saatinizle (circadian ritminizle) uyum içinde yaşamaya başladığınızda, sabah yataktan fırlayarak kalkmanın aslında o kadar da imkansız olmadığını göreceksiniz. Kendinize iyi bakın ve tatlı rüyalar!

Category: Genel | LEAVE A COMMENT
Ocak 31 2025

Zone 2 Antrenmanı Nedir ve Neden Herkes Yapmalı?

Spor salonlarında ya da koşu parkurlarında canını dişine takıp, nefes nefese kalan, kıpkırmızı olmuş insanlar görmüşsünüzdür. Belki onlardan biri de sizsiniz. “Acı yoksa kazanç da yok” felsefesi kulağa havalı gelse de, aslında sağlıklı ve uzun bir yaşam için yapabileceğiniz en iyi egzersiz, sandığınızdan çok daha sakin bir tempoda gizli. Son yıllarda bilim dünyasının, uzun ömürlülük (longevity) uzmanlarının ve elit atletlerin dilinden düşmeyen Zone 2 antrenmanı, hücresel düzeyde dayanıklılık kazanmak ve genel sağlık durumunu iyileştirmek için mükemmel bir kardiyo yöntemi sunuyor. Peki, nedir bu Zone 2 ve neden hepimiz tempolu yürüyüşçülere dönüşmeliyiz?

Zone 2 Nedir? (Arka Plandaki Bilim)

Zone 2, en basit tanımıyla, vücudunuzun enerji üretmek için birincil yakıt olarak yağı kullandığı, bunu yaparken de hücrelerinizdeki mitokondrileri (enerji santrallerini) en verimli şekilde çalıştırdığı düşük yoğunluklu bir egzersiz seviyesidir. Antrenman yoğunluğu arttıkça (Zone 3, 4 ve 5), vücudunuz yağ yakmayı bırakıp karbonhidratlara (glikoza) yönelir ve laktat üretmeye başlar.

Neden “yavaş” gitmeliyiz? Araştırmalar gösteriyor ki, düşük yoğunluklu aerobik egzersizler, hücrelerin oksijen kullanma kapasitesini artırarak metabolik sağlığı doğrudan iyileştiriyor. Mitokondrileriniz ne kadar sağlıklıysa, tip 2 diyabet, kalp hastalıkları ve metabolik sendrom gibi modern dünya hastalıklarına yakalanma riskiniz o kadar düşüyor. Yani buradaki amaç yorulup tükenmek değil, vücudunuzun temel motorunu, yani aerobik bazınızı güçlendirmektir.

Zone 2 Kalp Atış Hızı Nasıl Hesaplanır?

Doğru bölgede olduğumuzu nasıl anlarız? Bunun için iki temel yöntemimiz var: biri matematiksel, diğeri ise tamamen hissi.

Genel bir kural olarak, Zone 2 kalp atış hızınız, maksimum kalp atış hızınızın yaklaşık %60 ila %70’ine denk gelir. Bunu hesaplamak için basit bir formül kullanabilirsiniz:

# Basit Zone 2 Hesaplama Formülü
# Maksimum Kalp Hızı (MHR) = 220 - Yaş
# Zone 2 Alt Sınırı = MHR x 0.60
# Zone 2 Üst Sınırı = MHR x 0.70

Örneğin 30 yaşındaysanız: Maksimum kalp hızınız yaklaşık 190’dır. Zone 2 aralığınız ise dakikada 114 ila 133 kalp atımı (BPM) arasında olacaktır.

Pratik Yöntem: Konuşma Testi

Akıllı saatiniz veya nabız bandınız yoksa hiç dert etmeyin. Zone 2’de olup olmadığınızı anlamanın en pratik yolu “konuşma testi” yapmaktır. Egzersiz yaparken yanınızdaki kişiyle kesintisiz, tam cümleler kurarak konuşabiliyor ama şarkı söylemekte zorlanıyorsanız, tebrikler! Tam olarak Zone 2 bölgesindesiniz. Eğer nefes nefese kalıyor ve cümleleri bölmek zorunda kalıyorsanız, tempoyu düşürmeniz gerekiyor demektir.

Yürüyüş mü, Koşu mu? Ego Yönetimi

Birçok insan Zone 2 antrenmanına başlamak istediğinde hızlıca koşmaya başlar ve kalp atış hızı anında Zone 4 seviyesine fırlar. Zone 2’de kalabilmek, genellikle egonuzu bir kenara bırakıp çok ama çok yavaşlamanızı gerektirir. Parktaki diğer insanların sizi geçmesine izin vermelisiniz.

Yeni başlayan biri için Zone 2 genellikle tempolu bir yürüyüş, hafif bir eğimde yürümek, bisiklet sürmek veya çok hafif (neredeyse emekleme hızında) bir jogging anlamına gelir. Önemli olan ne kadar hızlı gittiğiniz değil, kalbinizin ve hücrelerinizin hangi yoğunlukta çalıştığıdır.

Haftalık Zone 2 Planı Önerisi

Haftalık rutininize bu egzersiz türünü eklemek oldukça kolaydır. Araştırmalar gösteriyor ki, haftada en az 150 dakika Zone 2 kardiyo yapmak, kardiyovasküler dayanıklılığı artırırken genel yaşam süresini uzatmaya yardımcı oluyor. İşte eyleme geçirilebilir basit bir haftalık plan:

  • Pazartesi: 45 dakika tempolu Zone 2 yürüyüşü veya dikey bisiklet.
  • Çarşamba: 45 dakika hafif jogging (gerektiğinde yürüyüş molaları vererek nabzı kontrol altında tutun).
  • Cumartesi: 60 dakika doğa yürüyüşü (hiking) veya sakin bir açık hava bisiklet sürüşü.

Bu seansların kesintisiz ve en az 30-45 dakika sürmesi, mitokondriyal adaptasyonun başlaması için kritik önem taşır.

Güvenlik ve Önemli Uyarılar

Her ne kadar düşük yoğunluklu ve güvenli bir egzersiz türü olsa da, her bireyin fiziksel kapasitesi ve sağlık geçmişi farklıdır.

Önemli Uyarı: Eğer daha önce düzenli egzersiz yapmadıysanız, bilinen bir kalp rahatsızlığınız, yüksek tansiyonunuz veya kronik bir hastalığınız varsa, Zone 2 veya herhangi bir yeni egzersiz programına başlamadan önce mutlaka bir doktora danışın. Egzersiz sırasında göğüs ağrısı, baş dönmesi veya olağan dışı bir nefes darlığı hissederseniz antrenmanı hemen sonlandırın.

Sonuç: Yavaşlayarak Hızlanın

Modern dünya bize her zaman “daha hızlı, daha sert, daha yoğun” olanı dayatıyor. Ancak sağlık, uzun ömürlülük ve sürdürülebilir bir fiziksel form söz konusu olduğunda, bazen yavaşlamak en akıllıca yoldur. Zone 2 antrenmanını haftalık rutininizin temeli haline getirin. Birkaç hafta içinde gün içindeki enerjinizin arttığını, daha az yorulduğunuzu ve uykularınızın düzene girdiğini fark edeceksiniz. Kendinize bir şans verin ve sadece yürüyerek de harika bir kardiyo yapılabileceğini keşfedin.

Category: Genel | LEAVE A COMMENT
Ocak 24 2025

Ofis Çalışanları İçin 15 Dakikalık Pratik Sabah Rutini

Sabah alarmı çaldığında kendinizi yataktan spatula ile kazımak zorunda kalıyorsanız, kesinlikle yalnız değilsiniz. Hele ki günün en az sekiz saatini bir sandalyeye yapışık geçiren bir ofis çalışanıysanız, vücudunuzun sabahları çıkardığı o “gıcırtı” seslerini çok iyi bilirsiniz. İyi haber: Güne zinde başlamak ve gün boyu enerjik kalmak için saatlerce spor salonunda ter dökmenize gerek yok. Bu yazıda, bilimsel temellere dayanan ve sadece 15 dakikanızı alacak pratik bir sabah rutini hazırladık. Bu basit egzersiz ve alışkanlık zinciri, hem fiziksel sağlık kalitenizi artıracak hem de işteki verimlilik oranınızı zirveye taşıyacak harika bir life hack olarak hayatınızı değiştirecek.

Neden Yataktan Kalkar Kalkmaz Kahveye Sarılmamalıyız?

Birçoğumuzun sabah ritüeli standarttır: Gözünü yarı açık tutarak mutfağa git, kahve makinesinin tuşuna bas ve kafein bardağa dolana kadar tezgaha yaslanıp uykunun açılmasını bekle. Ancak sinirbilim ve kronobiyoloji çalışmaları bunun büyük bir hata olduğunu söylüyor.

Araştırmalar gösteriyor ki, uyandığımız ilk 45-90 dakika boyunca vücudumuz bizi doğal olarak uyandırmak için kortizol hormonu salgılar. Aynı zamanda, uykulu hissetmemize neden olan “adenozin” molekülü henüz tamamen temizlenmemiştir. Sabah hemen kahve içtiğinizde, kafein adenozin reseptörlerini bloke eder ancak adenozini yok etmez. Sonuç? Öğleden sonra saat 2 gibi aniden gelen o korkunç enerji çöküşü (crash). Bu yüzden ilk iş kahveye değil, biyolojik saatimizi sıfırlayacak doğal yöntemlere yöneliyoruz.

Önemli Uyarı: Eğer kronik bir bel, boyun veya eklem rahatsızlığınız (örneğin bel fıtığı) varsa, aşağıdaki hareketleri denemeden önce mutlaka bir doktora veya fizyoterapiste danışın. Vücudunuzun sesini dinleyin ve acı hissettiğiniz noktada zorlamayı bırakın.

15 Dakikalık Akış Şeması

Zamanı kısıtlı olanlar için bu rutini adeta bir bilgisayar komutu gibi optimize ettik. Aşağıdaki bash kodu prototipiyle rutininizin zaman yönetimini gözünüzde canlandırabilirsiniz:


#!/bin/bash
# 15 Dakikalık Sabah Protokolü
sleep 180  # 00:00 - 03:00 -> Doğal Işık ve Derin Nefes (3 dk)
stretch 540 # 03:00 - 12:00 -> Omurga Mobilizasyonu ve Esneme (9 dk)
hydrate 180 # 12:00 - 15:00 -> Hidrasyon ve Soğuk Duş/Yüz Yıkama (3 dk)
echo "Güne hazırsın! Kahve için kalan süre: 75 dakika."

1. Bölüm: Foton Bombası ve Nefes (0 – 3. Dakika)

Gözünüzü açtığınızda yapacağınız ilk şey, telefon ekranına bakmak yerine pencereyi açıp dışarıdaki doğal ışığa bakmak olmalı. Doğal ışık (bulutlu havalarda bile), gözdeki fotoreseptörler aracılığıyla beynimize “Sabah oldu, uyanma hormonlarını salgıla!” sinyali gönderir.

Uygulama: Pencere kenarında veya balkonda durun. Diyaframdan 5 derin nefes alın. Burnunuzdan derin nefes alın, göğsünüzü değil karnınızı şişirin ve ağzınızdan yavaşça bırakın. Bu basit eylem, gece boyu yavaşlayan metabolizmanızı ve oksijen akışınızı anında tetikler.

2. Bölüm: “Pas Sökücü” Mobilite Hareketleri (3 – 12. Dakika)

Saatlerce oturmak kalça fleksörlerini kısaltır, omuzları öne yuvarlar ve omurgayı tembelleştirir. Bu 9 dakikalık blok, gece boyu kısalan kasları açmak için tasarlandı.

  • Kedi-Deve (Cat-Cow) Esnemesi (2 Dakika): Emekleme pozisyonuna geçin. Nefes alırken belinizi çukurlaştırıp başınızı yukarı kaldırın (Deve). Nefes verirken sırtınızı olabildiğince yukarı kamburlaştırıp çenenizi göğsünüze yaklaştırın (Kedi). Omurganızdaki her bir omurun hareket ettiğini hissedin.
  • Dünyanın En İyi Esneme Hareketi (World’s Greatest Stretch) (4 Dakika): Şınav pozisyonu alın. Sağ ayağınızı sağ elinizin yanına getirin. Sağ elinizi yerden kaldırıp gökyüzüne doğru uzatın ve gövdenizi sağa doğru döndürün. Başınızla elinizi takip edin. Aynı hareketi sol taraf için de tekrarlayın. Bu hareket kalçayı, beli ve göğüs kafesini aynı anda açar.
  • Koltuk Esnemesi (Couch Stretch) (3 Dakika): Dizlerinizi yere koyun, bir ayağınızı öne atarak lunge pozisyonu alın. Arkadaki ayağınızın dizini koltuğa veya duvara yaslayarak kalçanızı öne doğru itin. Gün boyu oturmaktan kilitlenen kalça kaslarınızın (psoas) açıldığını hissedeceksiniz.

3. Bölüm: Hidrasyon ve Isı Şoku (12 – 15. Dakika)

Gece boyunca nefes alıp vererek ve terleyerek ortalama yarım litre su kaybedersiniz. Dehidrasyon, sabah sersemliğinin ve odaklanma güçlüğünün bir numaralı gizli sorumlusudur.

Uygulama: Oda sıcaklığında büyük bir bardak suyun içine bir çimdik kaliteli kaya tuzu veya birkaç damla limon sıkıp için. Tuz, hücrelerin suyu daha hızlı emmesini sağlar. Ardından banyoya gidin ve yüzünüze 3-4 kez buz gibi soğuk su çarpın. Soğuk su, vücudun “savaş veya kaç” mekanizmasını hafifçe uyararak adrenalin salgılatır ve sizi anında ayıltır.

Neden Bu Rutine Yatırım Yapmalısınız?

Fizyoterapistler ve spor bilimciler, sabah yapılan hafif mobilite çalışmalarının eklem sıvısını (sinovyal sıvı) uyardığını belirtiyor. Bu sıvı, eklemlerinizin gün boyu “yağ gibi” kaymasını sağlar. Sabahları kendinize ayıracağınız bu 15 dakika, gün içindeki stres eşiğinizi yükseltir ve öğleden sonra yaşayacağınız bel-boyun ağrılarının önüne geçer.

Unutmayın, en iyi rutin sürdürülebilir olandır. Yarın sabah sadece kedi-deve hareketi ve bir bardak su ile başlayın. Vücudunuzun verdiği tepkiyi gördükten sonra, bu 15 dakikayı hayatınızın vazgeçilmez bir parçası haline getirmek isteyeceksiniz. Kendinize iyi bakın, iyi çalışmalar!

Category: Genel | LEAVE A COMMENT
Ocak 17 2025

Kahve Ritüeli: Evde Barista Kalitesi İçin Başlangıç Rehberi

Sabah uyanır uyanmaz o taze kahve kokusunu içine çekmeden güne başlayamayanlardan mısın? Dışarıda içtiğin o leziz, gövdeli bir espresso ya da meyvemsi bir pour over demini evde kendin hazırlayıp gerçek bir barista gibi hissetmek aslında sandığından çok daha kolay. Üstelik bunun için binlerce liralık devasa makinelere ihtiyacın yok. Doğru bilgi ve küçük bir v60 ile mutfağını üçüncü nesil bir kahve dükkanına dönüştürebilirsin. Hadi, kahve ritüelini bir üst seviyeye taşıyalım!

Porsiyon: 1-2 Kişilik
Hazırlık Süresi: 5 Dakika
Demleme Süresi: 3-4 Dakika

Kutsal Kahve Üçgeni: Öğütme, Su Sıcaklığı ve Süre

Neden bazen yaptığın kahve zehir gibi acı, bazen de bulaşık suyu gibi ekşi ve zayıf oluyor? Cevap basit: Kimya. Kahve demlemek, suyun kahve çekirdeğindeki çözülebilir maddeleri çözme işlemidir. Bu süreci (extraction) şu üç değişken yönetir:

  • Öğütme Derecesi: Çekirdekler ne kadar inceyse suyla temas eden yüzey alanı o kadar artar. Espresso için pudra kıvamına yakın (ince), V60 için deniz tuzu kalınlığında (orta), French Press için ise kaya tuzu kıvamında (kalın) öğütme tercih edilir.
  • Su Sıcaklığı: Kaynar su kahveyi yakar ve acılaştırır. İdeal sıcaklık 90-94°C arasındadır. Kettle’daki su kaynadıktan sonra kapağını açıp 1 dakika bekletirsen tam bu aralığı yakalarsın.
  • Süre: Su kahveyle çok uzun süre temas ederse istenmeyen acı tatlar bardağına dolar (over-extraction). Çok kısa kalırsa da kahvenin aroması suya geçemez (under-extraction).

Ekipman Savaşları: Hangisi Senin Karakterin?

Sektörde pek çok demleme yöntemi var ama yeni başlayan biri olarak kafanı karıştırmana gerek yok. İşte en popüler üç yöntem ve karakter analizleri:

Zarif ve Aromatik: V60

Japon tasarımı bu damlatıcı (dripper), kahvenin asiditesini ve meyvemsi notalarını en net şekilde ortaya çıkaran yöntemdir. Kağıt filtre kullanır, berrak ve pürüzsüz bir içim sunar. Kahvenin karakterini tüm çıplaklığıyla görmek isteyenler içindir.

Pratik ve Seyahat Dostu: AeroPress

Şırıngaya benzeyen bu akıllı alet, hava basıncı kullanarak hızlı demler yapar. Hata kaldırma oranı çok yüksektir; temizliği kolaydır, plastikten yapıldığı için kırılmaz. Kamp yaparken veya acele sabah turlarında can kurtarır.

İtalyan Klasiktir: Moka Pot

Eğer evde espresso makinen yoksa ve canın yoğun, sert bir latte veya americano çekiyorsa adresin Moka Pot. Ocak üstünde buhar basıncıyla çalışır, gövdeli ve zengin bir kahve verir.

Evde Barista Olmak İçin Gerekli Malzemeler

Süreci otomatize etmek ve her sabah aynı mükemmel bardağa ulaşmak için aşağıdaki temel malzemelere ihtiyacımız var:

  • Kahve Çekirdeği: Tercihen taze kavrulmuş, %100 Arabica. (Alternatif: Evde değirmenin yoksa, kahvecinden V60’a uygun öğütülmesini rica edebilirsin ama tazeliğini korumak için haftalık tüketebileceğin kadar küçük paketlerde almalısın).
  • V60 Dripper ve Kağıt Filtre: Plastik olan modeller ısıyı seramikten daha iyi tuttuğu için profesyonellerin ilk tercihidir.
  • Hassas Tartı: Kahve/su oranını tutturmak için hayati önem taşır. Eğer tartın yoksa, 1 dolu yemek kaşığı kahveyi yaklaşık 7-8 gram kabul edebilirsin.
  • İnce Uçlu (Gooseneck) Kettle: Suyu yavaş ve kontrollü dökmek için harikadır. (Alternatif: Standart su ısıtıcısının suyunu ince ağızlı bir sürahiye aktararak da döküş yapabilirsin).

Eğer bir yazılımcı gibi kahve oranını formülleştirmek istersen, şu basit bash betiği mantığını kullanabilirsin:

# Kahve Demleme Konfigürasyonu (1:16 Altın Oranı)
KAHVE_GRAM=15
SU_GRAM=$((KAHVE_GRAM * 16)) # 240 gram su
SU_SICAKLIK="92" # Derece
echo "Demleme başladı: $SU_GRAM gr su ve $KAHVE_GRAM gr kahve kullanılıyor."

Adım Adım V60 ile Kahve Demleme

En popüler pour over yöntemi olan V60 ile kahve demlemeye hazır mısın? İşte en sade ve etkili başlangıç tarifi:

  1. Filtreyi Islat: Filtre kağıdını V60’ın içine yerleştir ve üzerinden sıcak su geçirerek yıka. Bu işlem kağıt tadının kahveye geçmesini engeller. Alttaki suyu dökmeyi unutma!
  2. Kahveyi Ekle: Orta derece öğütülmüş 15 gram kahveni filtreye dök ve düzleşmesi için hafifçe salla. Tartıyı sıfırla.
  3. Ön Demleme (Blooming): Kahvenin üzerine yaklaşık 45 gram sıcak su dök ve 30 saniye bekle. Kahvenin kabardığını ve gaz çıkardığını göreceksin. Bu adım aromaları serbest bırakır.
  4. Demlemeyi Tamamla: Kalan suyu (toplamda 240 gram olacak şekilde) merkezden dışa doğru spiral hareketlerle yavaşça dök. Suyun filtrenin kenarındaki kağıda doğrudan değmemesine özen göster.
  5. Süreye Dikkat Et: Suyun tamamen süzülmesi yaklaşık 2.5 ila 3 dakika sürmelidir. Eğer çok hızlı süzüldüyse kahven çok kalın, çok yavaş süzüldüyse çok ince öğütülmüştür.

Püf Noktası

Kahvenin %98’i sudur. Bu yüzden musluk suyu yerine mutlaka arıtılmış veya kaliteli içme suyu kullan. Çeşme suyundaki klor ve kireç, dünyanın en pahalı kahve çekirdeğini bile sıradanlaştırabilir. Ayrıca kahveni demler demlemez hemen içme; 1-2 dakika ilk sıcağının gitmesini beklersen meyvemsi ve tatlı notaları çok daha net alacaksın!

Category: Genel | LEAVE A COMMENT
Ocak 10 2025

Tek Tavada 5 Malzemeyle 5 Farklı Yemek

Hepimiz o noktaya geliyoruz: İşten eve dönmüşüz, kafa dolu, karın aç ama mutfağa girip saatlerce bulaşık çıkarmak tam bir kabus. İşte tam bu anlarda kurtarıcınız olacak, tek bir tavada devleşen pratik yemek fikirleri hayat kurtarır. Sadece 5 temel malzemeyle, hem buzdolabını temizleyecek hem de hafta boyunca farklı kombinasyonlarla akşam yemeği derdinizi çözeceksiniz. Üstelik meal prep dostu bu formülle, mutfakta usta olmanıza hiç gerek yok.

Aşağıda paylaştığımız baz tarif, yoğun günlerinizde mutfaktaki en yakın arkadaşınız olacak. Hem hızlı hem de son derece esnek!

Reçete Kartı

  • Porsiyon: 2-3 Kişilik
  • Hazırlık Süresi: 10 Dakika
  • Pişirme Süresi: 15 Dakika

Tek Tava Sihri: Neden 5 Malzeme?

Çünkü sadelik her zaman kazanır. Mutfakta ne kadar çok malzeme varsa, o kadar çok karar verme yorgunluğu (decision fatigue) yaşarız. 5 temel malzeme seçip bunlarla oynamak, hem bütçe dostudur hem de yaratıcılığınızı tetikler. Bugün baz olarak tavuk, mantar, kapya biber, ıspanak ve krema beşlisini seçiyoruz. Neden mi? Çünkü bu bileşenler bir araya geldiğinde asla hata kabul etmeyen, her damağa hitap eden bir uyum yakalar.

Malzemeler

  • 500g Tavuk göğsü: Küp veya lokmalık doğranmış. (Alternatif: Hindi göğsü, sert dokulu tofu veya jülyen dana eti)
  • 250g Kültür mantarı: Temizlenmiş ve dilimlenmiş. (Alternatif: Portobello veya kestane mantarı)
  • 1 adet büyük boy Kapya biber: Jülyen doğranmış. (Alternatif: Dolmalık yeşil biber veya sarı biber)
  • 2 su bardağı Bebek ıspanak: Yıkanmış ve kurulanmış. (Alternatif: Pazı yaprakları veya kale)
  • 200ml Sıvı krema: Yemeklik. (Alternatif: Hindistan cevizi sütü veya yoğunlaştırılmış domates püresi)
  • Not: Zeytinyağı, tuz ve karabiber gibi temel kiler malzemelerini 5 malzemeden saymıyoruz.

Adım Adım Yapılışı

  1. Tavayı ısıtın ve tavukları mühürleyin: Geniş ve derin bir tavaya 2 yemek kaşığı zeytinyağı ekleyip yüksek ateşte kızdırın. Tavukları ekleyin ve renkleri dönüp hafifçe altın sarısı olana kadar yaklaşık 5-6 dakika soteleyin.
  2. Sebzeleri sırasıyla ekleyin: Tavukların yanına dilimlenmiş mantarları ve kapya biberleri ilave edin. Mantarlar suyunu salıp çekene kadar tavanın yüksek ısısını koruyarak 5 dakika daha soteleme işlemine devam edin.
  3. Sosu bağlayın: Ocağın altını orta dereceye getirin. Sıvı kremayı (veya domates püresini) tavaya dökün. Tuz ve taze çekilmiş karabiber ekleyerek sosun malzemelerle bütünleşmesi için 2-3 dakika tıkırdatın.
  4. Yeşillikleri ekleyip bitirin: Son olarak bebek ıspanakları tavaya ekleyin. Ispanaklar sosun sıcaklığıyla hafifçe sönene kadar (yaklaşık 1 dakika) karıştırın ve ocağın altını kapatın. Kolay ve nefis yemeğiniz hazır!

Tek Tariften 5 Farklı Akşam Yemeği Nasıl Çıkar?

İşte işin zeka ve planlama kısmı burada başlıyor. Bu temel tarifi bir kez bolca hazırlayıp buzdolabına kaldırdığınızda, sonraki günlerde hiç yorulmadan bambaşka bir hızlı tarif elde edebilirsiniz:

1. Gün: Klasik Başlangıç

Yemeği taze pişmişken, yanına sadece sıcak bir dilim ekşi mayalı ekmek eşliğinde doğrudan tavadan yiyin. Sosun ekmeğe geçişi muazzamdır.

2. Gün: Kremalı Makarna Sosu

Sevdiğiniz herhangi bir makarnayı haşlayın. Makarnayı süzmeden hemen önce bu tavuklu karışıma ekleyin ve bir kepçe makarna haşlama suyuyla tavada 1 dakika çevirin. Al dente makarnanız sosa doyacaktır.

3. Gün: Fırında Graten

Kalan karışımı ısıya dayanıklı bir fırın kabına alın. Üzerine bolca kaşar veya mozzarella peyniri rendeleyin. 200 derece fırında peynirler kızarana kadar pişirin. Akşam yemeği bir anda şık bir restorant tabağına dönüşür.

4. Gün: Pratik Dürüm (Wrap)

Karışımı tavada hafifçe ısıtın. Bir lavaşın ortasına yayın, üzerine biraz süzme yoğurt ve taze nane ekleyerek dürüm yapın. Ofise götürmek veya televizyon karşısında yemek için mükemmel bir alternatiftir.

5. Gün: Pilav Üstü Kurtarıcı

Klasik bir pirinç veya bulgur pilavı hazırlayın. Üzerine ısıttığınız bu kremalı, mantarlı tavuk karışımını cömertçe dökün. Hem doyurucu hem de sıfır atık felsefesine uygun bir kapanış.

Püf Noktası

Kremalı ve mantarlı yemeklerde yapılan en büyük hata tavanın ısısını düşürmektir. Mantarların o nefis karamelize lezzete ulaşması ve sünger gibi yağ çekmemesi için yüksek ateş şarttır. Eğer kremanın ağırlığını azaltmak isterseniz, krema miktarını yarıya indirip kalan kısmı tavuk veya sebze suyu ile ikame edebilirsiniz. Bu yöntem sosa ekstra bir derinlik katacaktır.

Category: Genel | LEAVE A COMMENT
Ocak 10 2025

Grafana Tempo ile Distributed Tracing: Mikroservislerde Samanyolu Rehberi

Selamlar kertenkerem.net okurları! Monolitik uygulamaların gözünü seveyim dediğiniz o günleri hatırlıyor musunuz? Hani tek bir log dosyasına tail -f atıp, hata anında tüm akışı tereyağından kıl çeker gibi süzdüğümüz o konforlu günleri… Ne yazık ki o günler geride kaldı. Modern yazılım dünyasında artık baş tacımız microservices mimarisi. Ancak bu mimarinin beraberinde getirdiği en büyük baş ağrısı, bir isteğin (request) sistem içinde kaybolup gitmesi. İşte tam bu noktada, grafana ekosisteminin parlayan yıldızı tempo ve endüstri standardı haline gelen opentelemetry ikilisi devreye giriyor. Bu yazıda, maliyet dostu ve yüksek performanslı tracing dünyasına adım atacağız.

Neden Grafana Tempo? Elasticsearch’ün Gözü Yaşlı

Piyasada Jaeger veya Zipkin gibi rüştünü ispatlamış tracing çözümleri zaten var. Peki neden Tempo? Cevap basit: Maliyet ve Operasyonel Kolaylık.

Geleneksel tracing araçları, trace verilerini hızlıca arayabilmek için Elasticsearch, Cassandra veya Jaeger-ingester gibi devasa ve yönetimi zor veritabanlarına ihtiyaç duyar. Bu da prod ortamında ciddi bir disk ve RAM maliyeti demektir. Tempo ise ezber bozan bir felsefeyle geldi: “Ben trace index’lemiyorum.”

Tempo, trace verilerini doğrudan S3, GCS veya Azure Blob Storage gibi ucuz object storage çözümlerinde saklar. “Peki index yoksa trace’leri nasıl bulacağız?” dediğinizi duyar gibiyim. Tempo, keşif (discover) sürecini loglara ve metriklere devreder. Siz loglarınızda (örneğin Grafana Loki üzerinde) bir trace_id bulursunuz, bu ID’yi Tempo’ya sorarsınız ve Tempo nesne depolama alanından ilgili trace objesini saniyeler içinde çeker. Index yok, devasa Elasticsearch cluster yönetme derdi yok, sadece saf Trace ID araması var!

Büyük Resim: Distributed Tracing Mimarisi Nasıl Çalışır?

Kuruluma geçmeden önce mimariyi kafamızda netleştirelim. Uygulamamızdan çıkan trace verileri doğrudan Tempo’ya gidebileceği gibi, en doğru pratik araya bir ajan (collector) koymaktır.

[Uygulama (OpenTelemetry SDK)] 
       │ (gRPC / HTTP - OTLP)
       ▼
[OpenTelemetry Collector] 
       │ (Batching, Filtering)
       ▼
[Grafana Tempo] ───> [Object Storage (S3 / Local Disk)]
       ▲
       │ (Query via Trace ID)
[Grafana Explore]

Adım 1: Oyun Alanını Kuralım (Docker Compose)

Lokalinizde bu mimariyi ayağa kaldırmak için minimal bir Docker Compose dosyası hazırlayalım. Bu setup içerisinde Tempo, OpenTelemetry Collector ve görselleştirme için Grafana yer alıyor.

Öncelikle projenizin kök dizininde docker-compose.yml dosyasını oluşturalım:

version: '3.8'

services:
  # 1. Grafana Tempo (Trace Deposu)
  tempo:
    image: grafana/tempo:latest
    command: [ "-config.file=/etc/tempo.yaml" ]
    volumes:
      - ./tempo-config.yaml:/etc/tempo.yaml
      - ./tempo-data:/var/tempo
    ports:
      - "3200:3200"   # Tempo API
      - "4317:4317"   # OTLP gRPC portu

  # 2. OpenTelemetry Collector (Trafik Polisi)
  otel-collector:
    image: otel/opentelemetry-collector-contrib:latest
    command: ["--config=/etc/otel-collector-config.yaml"]
    volumes:
      - ./otel-collector-config.yaml:/etc/otel-collector-config.yaml
    ports:
      - "4318:4318"   # OTLP HTTP portu
    depends_on:
      - tempo

  # 3. Grafana (Görselleştirme)
  grafana:
    image: grafana/grafana:latest
    environment:
      - GF_AUTH_ANONYMOUS_ENABLED=true
      - GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
    ports:
      - "3000:3000"
    depends_on:
      - tempo

Şimdi de Tempo’nun local diskte çalışabilmesi için basit bir konfigürasyon dosyası olan tempo-config.yaml dosyasını tanımlayalım:

stream_over_http: true
server:
  http_listen_port: 3200

distributor:
  receivers:
    otlp:
      protocols:
        grpc:
          endpoint: 0.0.0.0:4317
        http:
          endpoint: 0.0.0.0:4318

ingester:
  max_block_duration: 5m

storage:
  trace:
    backend: local
    local:
      path: /var/tempo/wal
    wal:
      path: /var/tempo/wal

compactor:
  compaction:
    block_Retention: 24h

Son olarak OpenTelemetry Collector’ın gelen trace’leri alıp Tempo’ya yönlendirmesini sağlayacak otel-collector-config.yaml dosyasını hazırlayalım:

receivers:
  otlp:
    protocols:
      grpc:
        endpoint: 0.0.0.0:4317
      http:
        endpoint: 0.0.0.0:4318

processors:
  batch:

exporters:
  otlp:
    endpoint: tempo:4317
    tls:
      insecure: true

service:
  pipelines:
    traces:
      receivers: [otlp]
      processors: [batch]
      exporters: [otlp]

Adım 2: Uygulama Enstrümantasyonu (Go ile OpenTelemetry SDK)

Sıra geldi en heyecanlı kısma. Uygulamamızın içinden nasıl trace üreteceğiz? Bu örnekte Go dilini kullanacağız, ancak mantık Java, Node.js veya Python’da da tamamen aynıdır. Uygulamanın amacı, bir HTTP isteği aldığında arka planda “db-query” adında sanal bir alt işlem (span) başlatıp bunu trace etmektir.

İşte main.go içeriğimiz:

package main

import (
	"context"
	"log"
	"net/http"
	"time"

	"go.opentelemetry.io/otel"
	"go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc"
	"go.opentelemetry.io/otel/sdk/resource"
	sdktrace "go.opentelemetry.io/otel/sdk/trace"
	semconv "go.opentelemetry.io/otel/semconv/v1.4.0"
	"go.opentelemetry.io/otel/trace"
	"google.golang.org/grpc"
)

const (
	serviceName = "kertenkerem-order-service"
	collectorURL = "localhost:4317"
)

func initTracer() (*sdktrace.TracerProvider, error) {
	ctx := context.Background()

	// OTLP gRPC exporter kurulumu (OTel Collector'a göndermek için)
	exporter, err := otlptracegrpc.New(ctx,
		otlptracegrpc.WithInsecure(),
		otlptracegrpc.WithEndpoint(collectorURL),
		otlptracegrpc.WithDialOption(grpc.WithBlock()),
	)
	if err != nil {
		return nil, err
	}

	resources, err := resource.New(ctx,
		resource.WithAttributes(
			semconv.ServiceNameKey.String(serviceName),
		),
	)
	if err != nil {
		return nil, err
	}

	tp := sdktrace.NewTracerProvider(
		sdktrace.WithSampler(sdktrace.AlwaysSample()), // Prod ortamında oran düşürülmeli!
		sdktrace.WithBatcher(exporter),
		sdktrace.WithResource(resources),
	)
	otel.SetTracerProvider(tp)
	return tp, nil
}

func main() {
	tp, err := initTracer()
	if err != nil {
		log.Fatalf("Tracer başlatılamadı: %v", err)
	}
	defer func() {
		if err := tp.Shutdown(context.Background()); err != nil {
			log.Printf("Tracer kapatılırken hata oluştu: %v", err)
		}
	}()

	tracer := otel.Tracer("http-server")

	http.HandleFunc("/order", func(w http.ResponseWriter, r *http.Request) {
		// Parent span başlatılıyor
		ctx, span := tracer.Start(r.Context(), "ReceiveOrderRequest")
		defer span.End()

		// DB sorgusunu simüle eden alt span (child span)
		queryDatabase(ctx, tracer)

		w.Write([]byte("Sipariş başarıyla alındı!"))
	})

	log.Println("Server 8080 portunda çalışıyor...")
	log.Fatal(http.ListenAndServe(":8080", nil))
}

func queryDatabase(ctx context.Context, tracer trace.Tracer) {
	_, span := tracer.Start(ctx, "QueryDatabaseSpan")
	defer span.End()

	// Veritabanı gecikmesini simüle edelim
	time.Sleep(150 * time.Millisecond)
}

Bu kodu çalıştırmadan önce docker-compose servislerinizi ayağa kaldırın:

docker-compose up -d

Ardından Go uygulamanızı çalıştırın ve curl ile birkaç istek göndererek trace üretin:

go run main.go
# Başka bir terminalden istek atın:
curl http://localhost:8080/order

Adım 3: Grafana Explore Üzerinde Trace Görselleştirme

Trace verilerimizi ürettik, Collector bunu aldı ve Tempo’ya başarıyla iletti. Şimdi bu verileri görselleştirme zamanı.

  1. Tarayıcınızdan http://localhost:3000 adresine giderek Grafana’ya giriş yapın.
  2. Sol menüden Connections -> Data Sources sekmesine gidin.
  3. Add data source butonuna tıklayın ve listeden Tempo‘yu seçin.
  4. URL kısmına http://tempo:3200 yazın. Başka hiçbir ayara dokunmadan sayfanın altındaki Save & Test butonuna basın. “Data source is working” onayını görmelisiniz.
  5. Sol menüden Explore sekmesine geçin ve veri kaynağı olarak üst kısımdan oluşturduğunuz Tempo’yu seçin.

Trace ID ile Sorgulama Yapmak

Eğer uygulamanızın loglarında basılan bir Trace ID varsa, bunu doğrudan arama çubuğuna yazıp aratabilirsiniz. Ancak şu an elimizde ID yoksa ne yapacağız? Tempo veri kaynağında “Search” sekmesini kullanarak sistemdeki son trace’leri listeleyebilirsiniz.

Listeden bir trace seçtiğinizde, sağ tarafta harika bir şelale grafiği (waterfall chart) belirecektir. Bu grafikte ReceiveOrderRequest işleminin toplamda ne kadar sürdüğünü ve alt işlemi olan QueryDatabaseSpan‘ın 150ms boyunca sistemi nasıl beklettiğini milisaniye hassasiyetinde görebilirsiniz.

DevOps Pratikleri: Prod Ortamında Dikkat Edilmesi Gerekenler

Distributed tracing kurmak kolaydır, ancak onu prod ortamında ayakta tutmak tecrübe ister. İşte kulağınıza küpe olması gereken birkaç kıdemli DevOps tavsiyesi:

  • Sampling (Örnekleme) Oranını İyi Ayarlayın: Kodumuzda AlwaysSample() kullandık. Bu, gelen her isteğin kaydedilmesi demektir. Saniyede 5000 istek alan bir prod ortamında bunu yaparsanız diskleri elinize alırsınız. Prod ortamında bu oranı %1 ile %5 arasına çekmelisiniz. Ya da tail-based sampling kullanarak sadece hata alan (5xx status code dönen) trace’leri kaydetmesini Collector seviyesinde yapılandırabilirsiniz.
  • Context Propagation’ı Unutmayın: Mikroservisler birbirini HTTP ya da gRPC ile ararken Trace ID bilgisini header’da taşımalıdır (W3C Trace Context standardı). Go tarafında otel.SetTextMapPropagator kullanarak bu akışın kesilmemesini sağlayın.
  • Logs-to-Traces Bağlantısı: Loki ve Tempo’yu birbirine bağlayın. Grafana’da log satırındaki Trace ID’ye tıklandığında doğrudan yan panelde Tempo trace grafiğinin açılması, operasyon ekibinizin hata çözme süresini (MTTR) saatlerden saniyelere indirecektir.

Mikroservis mimarisindeki karanlık noktaları aydınlatmak işte bu kadar kolay! Tempo ile hem bütçenizi koruyun hem de observability dünyasının nimetlerinden faydalanın. Bir sonraki teknik yazıda görüşmek üzere, sistemleriniz ayakta, gecikmeleriniz (latency) düşük olsun!

Category: Genel | LEAVE A COMMENT
Ocak 3 2025

Fermente Mutfak: Evde Kimchi ve Kombucha Yapmak

Mutfakta bir şeyler çürümüyor, aksine hayat buluyor! Son yıllarda sağlık ve iyi yaşam trendlerinin zirvesinde yer alan fermente gıdalar, aslında binlerce yıllık bir koruma yöntemi. Evde kendi kimchi ve kombucha çeşitlerinizi üreterek hem bağırsak mikrobiyotanızı şenlendirebilir hem de mutfağınızda gerçek bir probiyotik fabrikası kurabilirsiniz. Üstelik bu süreç, kendinizi mutfakta bir simyacı gibi hissettiren, inanılmaz tatmin edici ve eğlenceli bir deneyim.

Hazırlık Süresi: 65 dakika (Toplam)
Bekleme/Fermantasyon Süresi: 3-10 gün
Porsiyon: 1 büyük kavanoz kimchi & 3 litre kombucha

Fermantasyonun Arkasındaki Sihirli Bilim

Neden fermente gıdalar tüketmeliyiz? Cevap çok basit: Bağırsaklarımız ikinci beynimizdir. Fermantasyon, mikroorganizmaların (bakteriler ve mayalar) organik maddeleri karbonhidratlara ve asitlere dönüştürme sürecidir. Bu süreçte gıdalar sadece korunmakla kalmaz, aynı zamanda sindirimi kolaylaşır ve besin değerleri katlanır. Kendi probiyotiğinizi evde üretmek, hem bütçe dostudur hem de içinde ne olduğunu tam olarak bilmenizi sağlar.

Kore Rüzgarı: Ev Yapımı Kolay Kimchi

Kimchi, Kore mutfağının kalbi ve ruhudur. Geleneksel olarak Çin lahanası (Napa cabbage) ile yapılır. Ancak pazarda bulamazsanız üzülmeyin; sert, etli bir kış lahanası da işinizi görür. Kore’nin meşhur acı biberi Gochugaru yerine ise tatlı toz kırmızı biber ile acı pul biberi yarı yarıya karıştırarak kendi alternatifinizi üretebilirsiniz.

Kimchi Malzemeleri

  • 1 adet Çin lahanası (veya orta boy beyaz lahana)
  • 1 çay bardağı kaya tuzu (iyotlu tuz fermantasyonu engeller)
  • 4 diş sarımsak ve 1 başparmak boyu taze zencefil
  • 3 yemek kaşığı Gochugaru (veya pul biber-toz biber karışımı)
  • 1 yemek kaşığı toz şeker (bakterilerin beslenmesi için)
  • 3 sap yeşil soğan ve 1 adet jülyen doğranmış havuç

Adım Adım Kimchi Yapılışı

  1. Lahanayı boyuna dörde bölün, ardından lokmalık parçalar halinde doğrayın. Üzerine kaya tuzunu döküp elinizle iyice ovun. 2 saat boyunca kendi suyunu salması için oda sıcaklığında bekletin.
  2. Süre sonunda lahanaları bol soğuk suyla en az 3 kez yıkayın ve süzün. Tuzundan tamamen arınması çok önemli.
  3. Sarımsak, zencefil, biber ve şekeri azıcık suyla blenderdan geçirerek pürüzsüz bir macun kıvamına getirin.
  4. Geniş bir kapta lahanaları, havucu, yeşil soğanı ve hazırladığınız kırmızı macunu elinizle (acı biberden korunmak için eldiven kullanın) iyice harmanlayın.
  5. Karışımı temiz bir cam kavanoza, hiç hava boşluğu kalmayacak şekilde yumruğunuzla bastırarak doldurun. Kavanozun üstünde 3 cm boşluk bırakın ve kapağını hafif gevşek kapatın.

Püf Noktası: Kimchi’yi doğrudan güneş almayan, ılık bir yerde 3 gün bekletin. Her gün temiz bir kaşıkla bastırarak biriken gazı dışarı salın. Üstünde küçük köpükler görmeye başladığınızda fermente olmuştur; hemen buzdolabına kaldırın.

Canlı Bir Dost: Evde Kombucha

Kombucha, fermente edilmiş, hafif gazlı ve asidik bir çaydır. Bu mucizenin arkasında SCOBY (Symbiotic Culture of Bacteria and Yeast) adı verilen jelatinimsi bir maya ve bakteri kolonisi yatar. Onu mutfağınızın yeni evcil hayvanı gibi düşünebilirsiniz; besledikçe büyür ve size şifa verir.

Kombucha Malzemeleri

  • 3 litre klorsuz içme suyu
  • 4-5 adet siyah veya yeşil poşet çay (veya 2 yemek kaşığı dökme çay)
  • 1 su bardağı beyaz toz şeker (bakterilerin ana yakıtı)
  • 1 adet SCOBY ve 1 su bardağı başlangıç çayı (önceki kombucha’dan kalma ekşi çay)

Adım Adım Kombucha Yapılışı

  1. Suyu kaynatın, şekeri ekleyip eritin. Çayları ekleyip 15 dakika demleyin, ardından çayları içinden alın.
  2. Çayın tamamen oda sıcaklığına soğumasını bekleyin. Sıcak çay SCOBY’yi anında öldürür!
  3. Soğuyan tatlı çayı geniş bir cam kavanoza aktarın. İçine başlangıç çayını ve SCOBY’yi nazikçe bırakın.
  4. Kavanozun ağzını temiz bir tülbentle kapatıp paket lastiğiyle sıkıştırın. Hava almalı ama toz veya sinek girmemeli.
  5. Karanlık, ılık ve hava alan bir köşede 7 ila 10 gün arasında fermantasyona bırakın.

Püf Noktası: Kombucha yapımında asla metal kaşık, süzgeç veya metal kap kullanmayın. Metal, SCOBY’nin yapısını bozar ve canlı bakterilere zarar verir. Her zaman cam, ahşap veya plastik tercih edin.

Fermantasyonda Sık Yapılan Hatalar

Eğer ilk denemenizde işler yolunda gitmezse üzülmeyin. Fermantasyon sabır ve deneme işidir. Genelde yapılan üç büyük hata şunlardır: Klorlu musluk suyu kullanmak (klor dost bakterileri öldürür), yetersiz temizlik (zararlı küflerin oluşmasına sebep olur) ve sabırsız davranıp fermantasyon sürecini erken kesmek. Mutfağınızda bu minik canlılara alan açın, gerisini onlar halledecektir!

Category: Genel | LEAVE A COMMENT
Aralık 27 2024

30 Dakikada Ev Yapımı Ramen: Paketten İyi Tarif

Dışarıda saatlerce kaynatılmış kemik sularıyla yapılan o derin lezzetli ramen kasesini hepimiz çok seviyoruz. Ancak evde canımız çektiğinde mutfakta 12 saat harcamak istemiyoruz. İşte tam da bu anlar için, kedi maması kokulu hazır paketleri çöpe attıracak, hazırlaması son derece kolay ve pratik bir ev yapımı ramen tarifi ile karşınızdayız. Bu yemek, yoğun bir günün ardından kendinizi şımartmanın en kestirme ve en sıcak yolu olacak.

Porsiyon: 2 Kişilik
Hazırlık Süresi: 10 Dakika
Pişirme Süresi: 20 Dakika

Neden Paketten Daha İyi?

Süpermarketlerde satılan hazır ramen paketleri pratik görünse de içlerindeki sodyum ve koruyucu miktarı korkutucu boyutta. Üstelik o paketlerden çıkan yapay aroma tozları asla gerçek bir çorba derinliği sunmuyor. Bu tarifte, taze sarımsak ve zencefili susam yağında hafifçe soteleyerek kendi hızlı broth (çorba suyu) bazımızı oluşturuyoruz. Bu sayede hem taze hem de derinliği olan bir lezzet elde ediyoruz. Yani hem hızlı hem de ne yediğinizi biliyorsunuz!

Malzemeler

Ramen esnektir. Evde ne varsa ona göre şekil alabilir. İşte bizim önerdiğimiz temel liste ve pratik alternatifleri:

  • Ramen Eriştesi: 2 paket (Bulamazsanız düz noodle, hatta ince spagetti bile olur.)
  • Tavuk Suyu: 4 su bardağı (Gerçek tavuk suyu lezzeti katlar ama organik bulyon da iş görür.)
  • Sarımsak: 2 diş (Ezilmiş)
  • Taze Zencefil: 1 başparmak büyüklüğünde (İnce dilimlenmiş veya rendelenmiş)
  • Soya Sosu: 3 yemek kaşığı (Tuz oranını ayarlayan ana unsurumuz)
  • Susam Yağı: 1 yemek kaşığı (Asya mutfağının o karakteristik kokusunu veren gizli kahraman)
  • Toppings (Üzeri için): 2 adet yumurta, ince kıyılmış taze soğan, sotelenmiş mantar ve isteğe göre haşlanmış tavuk dilimleri.

Adım Adım Ev Yapımı Ramen

Karmaşık mutfak jargonlarını bir kenara bırakalım. Adımları sırayla takip ettiğinizde yarım saat içinde masada dumanı tüten bir kase olacak.

  1. Sihirli Suyu Hazırlayın (Broth): Derin bir tencerede susam yağını ısıtın. Sarımsak ve zencefili ekleyip kokusu çıkana kadar yaklaşık 1 dakika soteleyin. Üzerine tavuk suyunu ve soya sosunu ekleyin. Kaynama noktasına geldikten sonra altını kısıp 15 dakika boyunca tüm aromaların birbirine geçmesi için tıngırdatın.
  2. Mükemmel Yumurtayı Pişirin: Ramen’in olmazsa olmazı içi hafif akışkan yumurtadır. Küçük bir sos tenceresinde suyu kaynatın. Yumurtaları yavaşça suya bırakın ve tam 6 dakika 30 saniye haşlayın. Süre dolar dolmaz yumurtaları buzlu suya alın. Bu işlem pişmeyi durdurur ve soymayı kolaylaştırır.
  3. Erişteleri ve Mantarları Halledin: Ayrı bir tencerede erişteleri paket talimatına göre haşlayın (genelde 3 dakika yeterlidir) ve süzün. Erişteleri doğrudan çorbanın içinde haşlamayın; çünkü nişastaları çorbanın berraklığını bozar. Bu sırada küçük bir tavada mantarları yüksek ateşte az yağla soteleyin.
  4. Kaseleri Birleştirin: Geniş ve derin iki kase alın. Önce haşlanmış erişteleri paylaştırın. Üzerine süzgeç yardımıyla zencefil ve sarımsak tanelerinden arındırdığınız sıcak çorba suyunu dökün.
  5. Görsel Şölen (Toppings): Eriştelerin üzerine sotelenmiş mantarları, tavuk dilimlerini ve ince kıyılmış bolca taze soğanı yerleştirin. En son, ortadan ikiye kestiğiniz o mükemmel kayısı kıvamındaki yumurtaları yerleştirerek servis yapın.

Püf Noktası

Ramen yerken çorbanın sıcaklığı çok önemlidir. Kaselerinizi birleştirmeden önce, boş kaselerin içine biraz sıcak su koyup bekleterek kaseleri ısıtın. Çorbayı dökmeden hemen önce bu suyu dökün. Böylece soğuk kase, binbir emekle hazırladığınız sıcak çorbanızın ısısını saniyeler içinde düşürmez. Afiyet olsun!

Category: Genel | LEAVE A COMMENT
Aralık 20 2024

Prompt Engineering: ChatGPT’den En İyi Yanıtı Almanın Formülü

Yapay zeka hayatımıza girdiğinden beri hepimiz birer “yapay zeka fısıldayıcısı” olduk. Ancak chatgpt ekranının karşısına geçip “Bana bir diyet listesi yaz” veya “Şu e-postayı profesyonelce yanıtla” dediğimizde aldığımız yanıtlar genellikle can sıkıcı derecede genel ve ruhsuz oluyor. İşte tam bu noktada, ai dünyasından maksimum verimlilik elde etmemizi sağlayan sihirli değnek devreye giriyor: prompt engineering. Peki ama bu kavram sadece yapay zeka gurularına özel bir teknik mi, yoksa günlük işlerimizi kolaylaştıracak pratik bir formülü var mı? Lafı uzatmadan, kendi deneyimlerimizle test ettiğimiz yöntemleri masaya yatıralım.

Neden Doğrudan Sormak Yetmiyor? (İşin Arkasındaki Mantık)

Bir llm (Büyük Dil Modeli), sizin ne düşündüğünüzü veya şirketinizin kültürünü tahmin edemez. O, özünde devasa bir “sonraki kelime tahmin motorudur”. Ona ne kadar çok bağlam (context) ve sınır verirseniz, olasılık havuzunu o kadar daraltır ve tam hedefi vuran bir yanıt üretir. Yani kötü yanıt aldığınızda suç yapay zekada değil, büyük ihtimalle ona verdiğiniz eksik talimatlardadır.

[Görsel: Sıradan ve yüzeysel bir prompt ile detaylı yapılandırılmış bir promptun ürettiği sonuçların yan yana karşılaştırması]

En Etkili 3 Prompt Engineering Tekniği ve Test Sonuçlarımız

1. Rol Atama (Role Prompting)

Yapay zekaya bir kimlik kazandırmak, alacağınız yanıtın tonunu ve derinliğini tamamen değiştirir. Sadece “Sosyal medya için başlık yaz” demek yerine, ona bir rol verin.

Denediğimiz Şablon:

"Sen 10 yıllık kıdemli bir dijital pazarlama uzmanısın. Hedef kitlen teknolojiye meraklı genç profesyoneller. Yeni bir üretkenlik uygulaması için merak uyandıran 3 farklı Instagram başlığı yaz."

Neden işe yarıyor?: Yapay zeka, “dijital pazarlama uzmanı” rolünü üstlendiğinde sıradan kelimeleri eliyor ve hedef kitleye uygun, sektörel jargona hakim bir dil kullanıyor.

2. Few-Shot Prompting (Örnekleme)

Modelin nasıl bir çıktı üretmesini istediğinizi anlatmakta zorlanıyorsanız, ona birkaç örnek gösterin. Bu teknik, özellikle veri formatlama veya belirli bir üslubu yakalama konusunda hayat kurtarır.

Denediğimiz Şablon:

Müşteri yorumlarını analiz etmeni istiyorum.
Örnek 1: "Kargo çok hızlı geldi, ürün harika." -> [Durum: Olumlu, Kategori: Lojistik]
Örnek 2: "Arayüzü hiç beğenmedim, çok karışık." -> [Durum: Olumsuz, Kategori: UX/Tasarım]
Şimdi bu yorumu analiz et: "Ödeme adımında sürekli hata alıyorum, kartımı kabul etmedi." ->

Neden işe yarıyor?: Yapay zeka kuralları tahmin etmek yerine verdiğiniz şablonu doğrudan kopyalar. Sonuç sıfır hata!

3. Chain-of-Thought (Düşünce Zinciri)

Eğer mantık yürütme, matematik veya karmaşık kodlama gerektiren bir iş yapıyorsanız, yapay zekaya doğrudan cevabı sormayın. Ondan “adım adım düşünmesini” isteyin.

Denediğimiz Şablon:

"Şirketimiz bu ay %15 büyüdü. Geçen ayki gelirimiz 120.000 TL ise, bu ayki net kârımızı bulmak için önce yeni geliri hesapla, ardından %20 vergi oranını düşerek adım adım açıkla."

Neden işe yarıyor?: LLM’ler işlem sırasını atladıklarında saçmalayabilirler (buna halüsinasyon diyoruz). Adım adım gitmesini söylediğinizde, kendi yaptığı hataları işlem sırasında fark edip düzeltir.

Hangi Görev İçin Hangi Modeli Seçmeli?

Her iş için aynı modeli kullanmak, her çiviyi aynı çekiçle çakmaya çalışmaya benzer. İşte sahada yaptığımız testlere göre en iyi modeller:

  • Yaratıcı Yazarlık ve Metin Tonlama: Claude 3.5 Sonnet. Türkçe dil hakimiyeti ve insan benzeri yazım tonu konusunda şu an ChatGPT’nin bir adım önünde.
  • Hızlı Bilgi Arama ve Kod Yazma: GPT-4o. Hızı ve mantıksal problem çözme yeteneği inanılmaz düzeyde.
  • Büyük Doküman Analizi: Google Gemini 1.5 Pro. Dev devasa bağlam penceresi sayesinde yüzlerce sayfalık PDF’leri tek seferde yutup analiz edebiliyor.

Prompt Engineering Artı ve Eksi Analizi

Avantajları (Artılar) Zorlukları (Eksiler)
Yapay zekadan alınan yanıtların kalitesini %80’e kadar artırır. Doğru promptu yazmak ilk başta zaman alır ve deneme-yanılma gerektirir.
Tekrar eden işleri (raporlama, formatlama) tamamen otomatize eder. Modeller güncellendikçe bazen aynı prompt farklı sonuçlar verebilir.
Halüsinasyon (uydurma bilgi) oranını minimuma indirir. Uzun promptlar, API kullanımında daha fazla token tüketimi (maliyet) demektir.

Maliyetler ve Ücretsiz Alternatifler

Prompt engineering yeteneğinizi geliştirmek tamamen ücretsizdir. Bu bir yazılım değil, bir düşünme biçimidir. Ancak bu teknikleri uygulayabileceğiniz platformların maliyet durumları şöyle:

  • Ücretli Seçenekler: ChatGPT Plus (aylık 20$) veya Claude Pro (aylık 20$). En gelişmiş modellere (GPT-4o, Claude 3.5 Sonnet) sınırsız erişim sağlarlar.
  • Ücretsiz Alternatifler:
    • ChatGPT Free: GPT-4o mini modelini ücretsiz sunar. Günlük basit işler ve prompt denemeleri için fazlasıyla yeterli.
    • Microsoft Copilot: Arka planda ücretsiz GPT-4 kullanır ve güncel internet erişimi vardır.
    • Hugging Face & LM Studio: Bilgisayarınızın gücü yetiyorsa, Llama 3 gibi açık kaynaklı modelleri tamamen ücretsiz ve internetsiz olarak lokalde çalıştırabilirsiniz.

Son Söz: Denemekten Korkmayın

Prompt engineering gözünüzü korkutmasın. Yapay zeka ile konuşurken karşınızda stajyer bir üniversite öğrencisi varmış gibi hayal edin. Ona görevi ne kadar net anlatır, ne kadar çok örnek gösterir ve sınırları ne kadar iyi çizerseniz, akşam masanıza gelecek olan rapor o kadar kusursuz olur. Şimdi ChatGPT ekranını açın ve ilk rol tanımlamanızı yaparak farkı kendi gözlerinizle görün!

Category: Genel | LEAVE A COMMENT
Kasım 22 2024

Kubernetes Kaynak Yönetimi: Request, Limit ve VPA Ayarları

Hepimiz o sancılı anı en az bir kez yaşamışızdır: Hafta sonu tam kahvenizden ilk yudumu almışken, Slack veya PagerDuty üzerinden bir “Pod crashed” uyarısı düşer. Hemen terminale koşup cluster’a sızarsınız, kubectl describe pod komutunu yapıştırırsınız ve karşınızda o meşhur ibareyi görürsünüz: OOMKilled (Exit Code 137). Ya da daha sinsisi; CPU kullanımı %10 seviyelerindeyken uygulamanın response time’ları bir anda saniyelere fırlar, çünkü arkada amansız bir CPU throttling savaşı dönmektedir.

Kubernetes dünyasında kaynak yönetimi (resources), teoride çok basit görünse de pratikte prod ortamlarının en büyük baş belasıdır. Bu makalede, deneyimli bir devops mühendisinin gözünden, kubernetes üzerinde CPU/Memory dengesini nasıl kuracağımızı, vpa (Vertical Pod Autoscaler) ile kaynak yönetimini nasıl otomatize edeceğimizi ve throttling/OOMKill canavarlarıyla nasıl savaşacağımızı derinlemesine ele alacağız.

Request ve Limit: scheduler’ın Terazi Hassasiyeti

Kubernetes dünyasında kaynakları tanımlarken iki temel kavram kullanırız: requests ve limits. Bunların arasındaki farkı netleştirmek, sistemin kararlılığı için atılacak ilk adımdır.

  • Request: Bir pod’un schedule edilebilmesi için garanti edilen minimum kaynak miktarıdır. Kubernetes scheduler, bir node üzerinde pod’u konumlandırırken sadece bu değere bakar. Eğer node üzerinde boşta yeterli “request” kapasitesi yoksa, pod o node’a yerleşemez (Pending durumunda kalır).
  • Limit: Bir pod’un fiziksel olarak tüketebileceği maksimum kaynaktır. Pod bu sınırı aşmaya çalıştığında kernel seviyesinde kısıtlamalar devreye girer.

QoS (Quality of Service) Sınıfları Neden Önemli?

Request ve limit değerlerini nasıl tanımladığınız, Kubernetes’in podunuza atayacağı QoS sınıfını belirler. Node üzerinde kaynak darboğazı yaşandığında, kubelet ilk olarak hangi pod’u feda edeceğine (eviction) bu sınıfa göre karar verir:

  1. Guaranteed (Garantili): Pod içerisindeki tüm container’ların request ve limit değerleri birbirine eşittir (hem CPU hem Memory için). Kubernetes bu pod’ları en son gözden çıkarır. Veritabanları ve stateful servisler için idealdir.
  2. Burstable (Esneyebilir): Request değeri limit değerinden küçüktür veya sadece request tanımlanmıştır. Web uygulamalarımızın %90’ı bu sınıfa girer. Node sıkıştığında, limitlerine yaklaşan burstable pod’lar ilk hedef tahtasındadır.
  3. BestEffort (Gönlünden Ne Koparsa): Ne request ne de limit tanımlanmıştır. Node üzerinde kaynak bittiği an, kubelet bu pod’ları acımadan öldürür. Prod ortamında asla ama asla kullanılmamalıdır!
# Burstable QoS sınıfına örnek bir pod tanımı
apiVersion: v1
kind: Pod
metadata:
  name: billing-service
  namespace: production
spec:
  containers:
  - name: app
    image: internal/billing:v2.1.0
    resources:
      requests:
        memory: "256Mi"
        cpu: "200m"
      limits:
        memory: "512Mi"
        cpu: "1000m"

CPU Throttling ve OOMKill: Sessiz Katiller

Memory ve CPU, işletim sistemi kernel’ı tarafından farklı şekillerde yönetilir. Bu fark, pod’larımızın hayatta kalma mücadelesini doğrudan etkiler.

OOMKill (Out of Memory)

Memory, sıkıştırılamaz (non-compressible) bir kaynaktır. Bir pod, kendisine tanımlanan memory limit değerini aşarsa, kernel’ın oom-killer mekanizması devreye girer ve pod’u anında öldürür. Pod’unuz durduk yere 137 exit kodu ile çöküyorsa, memory limitiniz uygulamanın anlık yük altında ihtiyaç duyduğu heap size’a yetmiyor demektir.

Bunu debug etmek için şu komutla son çöken pod’ların nedenlerine bakabilirsiniz:

kubectl get pods -n production -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.status.containerStatuses[*].lastState.terminated.reason}{"\n"}{end}' | grep OOMKilled

CPU Throttling

CPU ise sıkıştırılabilir (compressible) bir kaynaktır. Pod’unuz CPU limitine ulaştığında işletim sistemi onu öldürmez; bunun yerine pod’a tahsis edilen CPU zaman dilimlerini (CFS shares) kısar. Buna throttling denir.

Uygulamanız çökmez ama bir anda istekleri işlememeye başlar, thread’ler kuyruğa girer ve latency tavan yapar. Birçok junior mühendis bu durumu fark edemez çünkü pod “Running” durumundadır ve CPU kullanımı %100 görünmez (çünkü limit bazlı kırpılmıştır).

Prometheus üzerinde CPU throttling olayını yakalamak için şu PromQL sorgusunu kullanabilirsiniz:

sum(rate(container_cpu_cfs_throttled_seconds_total[5m])) by (pod, container) / sum(rate(container_cpu_usage_seconds_total[5m])) by (pod, container) * 100

Eğer bu oran %5’in üzerindeyse, uygulamanız ciddi şekilde yavaşlatılıyor demektir. Limit değerinizi artırmanın vakti gelmiştir.

VPA (Vertical Pod Autoscaler) ile Otomatik Kaynak Yönetimi

Yazılımcılara “Uygulamanız ne kadar kaynak tüketiyor?” diye sormak, bir çocuğa “Ne kadar dondurma istersin?” diye sormaya benzer. Cevap hep “Çok!” olur. İşte bu noktada vpa devreye giriyor. VPA, pod’ların geçmiş kaynak tüketimlerini izleyerek en ideal request ve limit değerlerini otomatik olarak hesaplar.

VPA üç ana bileşenden oluşur:

  • Recommender: Tarihsel metrikleri (Prometheus veya Metrics Server üzerinden) inceleyerek ideal kaynak önerilerini hesaplar.
  • Updater: Eğer bir pod önerilen değerlerin çok dışındaysa, pod’u silerek yeni değerlerle yeniden ayağa kalkmasını tetikler (eğer mode: Auto ise).
  • Admission Controller: Pod yeniden oluşturulurken mutasyon aşamasında araya girer ve yeni request/limit değerlerini pod spec’ine enjekte eder.

Aşağıda prod ortamında güvenle kullanabileceğiniz bir VPA konfigürasyon örneği yer alıyor:

apiVersion: autoscaling.k8s.io/v1
kind: VerticalPodAutoscaler
metadata:
  name: auth-service-vpa
  namespace: production
spec:
  targetRef:
    apiVersion: "apps/v1"
    kind: Deployment
    name: auth-service
  updatePolicy:
    updateMode: "Auto" # "Off", "Initial" veya "Auto" yapabilirsiniz.
  resourcePolicy:
    containerPolicies:
      - containerName: '*'
        minAllowed:
          cpu: "100m"
          memory: "128Mi"
        maxAllowed:
          cpu: "2000m"
          memory: "4Gi"
        controlledResources: ["cpu", "memory"]

Pro-Tip: Eğer pod’larınızın durduk yere restart olmasını istemiyorsanız, updateMode: "Off" olarak ayarlayın. VPA sadece öneri (recommendation) üretecektir. Siz de bu önerileri inceleyerek (kubectl describe vpa auth-service-vpa) manuel olarak güncelleme yapabilirsiniz.

VPA ve HPA Çelişkisi: İki Kaptan Bir Gemiyi Batırır

Eğer cluster mimarinizde hem hpa (Horizontal Pod Autoscaler) hem de VPA kullanıyorsanız dikkat etmeniz gereken çok kritik bir kural var: İkisini de aynı kaynak metriğine (örn: CPU kullanımına) göre ölçeklenecek şekilde ayarlayamazsınız!

Eğer HPA CPU kullanımına göre pod sayısını artırmaya çalışırken, VPA de aynı CPU metriğine bakıp pod’un dikey boyutunu büyütmeye çalışırsa, sistem kararsız bir döngüye girer. HPA pod ekler, VPA pod’u yeniden başlatıp büyütür, tam bir kaos yaşanır.

Bu Çıkmazdan Nasıl Kurtuluruz?

  1. HPA’yı Custom/External Metriklere Geçirin: HPA’yı CPU/Memory yerine Prometheus üzerinden gelen saniye başına istek sayısı (RPS), kuyruk uzunluğu (RabbitMQ queue size) veya aktif veritabanı bağlantı sayısı gibi işlevsel metriklere göre ölçeklendirin. VPA ise arkada sessizce pod’ların fiziksel limitlerini optimize etsin.
  2. VPA’yı Sadece Öneri Modunda Çalıştırın: VPA’yı updateMode: "Off" modunda bırakıp, Goldilocks gibi open-source araçlar kullanarak sadece doğru kaynak değerlerini bulmak için bir pusula olarak kullanın.

Altın Kurallar ve Best Practices

  • CPU Limitlerini Çok Sıkı Tutmayın (Veya Hiç Koymayın): Modern Kubernetes topluluklarında (özellikle büyük ölçekli altyapılarda) CPU limitlerinin kaldırılması tartışılıyor. Çünkü CPU limitleri CFS throttling nedeniyle gereksiz latency oluşturabiliyor. Bunun yerine yüksek CPU request’i tanımlayıp limit koymamak (veya çok yüksek tutmak) node üzerindeki işlemci gücünü daha efektif kullanabilir. Ancak Memory limitleri kesinlikle zorunludur!
  • Overcommit Oranını İyi Yönetin: Node’larınızdaki toplam Memory limitlerinin, fiziksel node kapasitesini aşırı derecede geçmesine (overcommit) izin vermeyin. Aksi takdirde bir yük anında tüm node kilitlenebilir ve kubelet pod’ları kontrolsüzce öldürmeye başlar.
  • Liveness ve Readiness Probe’lara Dikkat Edin: Probe’ların kullandığı endpoint’lerin yüksek CPU/Memory tüketmediğinden emin olun. Throttling anında probe’lar timeout’a düşerse, Kubernetes sağlam podunuzu “unhealthy” sayıp restart döngüsüne sokabilir.

Kubernetes üzerinde kaynak yönetimi, sürekli izlenmesi ve dinamik olarak ayarlanması gereken canlı bir süreçtir. VPA gibi otomasyon araçlarını sisteminize entegre ederek hem cloud maliyetlerinizi düşürebilir hem de o meşhur cumartesi gecesi uykularınızı garanti altına alabilirsiniz.

Category: Genel | LEAVE A COMMENT