# Altyapı ve dağıtık sistemler

> VeriSet A.Ş., bulut sistemleri, API'ler, dağıtık mimariler ve güvenilir yazılım altyapıları geliştirir. Amaç, uygulamaların büyüdüğünde de kararlı, izlenebilir ve güvenli kalmasını sağlayan bir temel kurmaktır.

## Yazılım altyapısı nedir?

Yazılım altyapısı; uygulamaların üzerinde çalıştığı sunucular, ağ, depolama, veritabanları, servisler ve bunları yöneten araçların bütünüdür. Kullanıcı görmez, ancak hız, kararlılık ve güvenlik büyük ölçüde burada belirlenir.

Bulut bilişim, bu kaynakların internet üzerinden ihtiyaca göre kullanılmasını sağlar. Dağıtık mimaride ise bir sistem, birbiriyle haberleşen birden fazla parçaya ayrılarak ölçeklenir ve tek bir arızadan etkilenmeyecek şekilde tasarlanır.

## VeriSet bu alanda neler yapıyor?

- **Bulut sistemleri:** Uygulamaların bulutta güvenli, tekrarlanabilir ve ihtiyaca göre büyüyebilir şekilde çalıştırılması.
- **API tasarımı:** Sistemlerin birbiriyle konuştuğu arayüzlerin tutarlı, belgelenmiş ve sürümlenebilir biçimde tasarlanması.
- **Dağıtık mimariler:** Yükü paylaşan, parçalarından biri arızalandığında çalışmaya devam edebilen sistem tasarımları.
- **Güvenilirlik ve izleme:** Kaydın tutulması, metriklerin izlenmesi ve sorunların kullanıcıdan önce fark edilmesini sağlayan gözlemlenebilirlik.

## Altyapı çalışmaları hangi alanlarda kullanılır?

Aşağıdakiler bu teknolojinin tipik kullanım alanlarıdır; her proje kendi yük ve güvenilirlik hedefleriyle ayrıca değerlendirilir.

- **Büyüyen uygulamalar:** Kullanıcı ve veri arttıkça performansı koruyan mimariler.
- **Sistemler arası entegrasyon:** Farklı uygulama ve veri kaynaklarının API'lerle birbirine bağlanması.
- **Yüksek erişilebilirlik gerektiren servisler:** Kesintiye toleransı düşük sistemlerde yedekli ve izlenen yapılar.
- **Veri ve yapay zekâ iş yükleri:** Büyük veri işleme ve model çalıştırma için ölçeklenebilir çalışma ortamları.
- **Otomatik dağıtım:** Değişikliklerin test edilip güvenle yayına alınmasını sağlayan otomasyon akışları.

## Altyapıda temel kavramlar

- **Konteyner:** Bir uygulamayı ve bağımlılıklarını her ortamda aynı şekilde çalışacak şekilde paketleyen birim.
- **Kod olarak altyapı (IaC):** Sunucu, ağ ve servislerin elle değil, sürümlenebilir kodla tanımlanması.
- **CI/CD:** Değişikliklerin otomatik test edilip (CI) güvenle yayına alınmasını (CD) sağlayan süreç.
- **Yük dengeleme:** Gelen isteklerin birden fazla sunucuya dağıtılması.
- **Gözlemlenebilirlik:** Log, metrik ve izlerle sistemin içeriden ne yaptığının anlaşılabilmesi.
- **RTO ve RPO:** Kesinti sonrası hizmetin ne kadar sürede geri geleceği (RTO) ve ne kadar veri kaybı tolere edileceği (RPO).

## Doğru yaklaşımı nasıl seçeriz?

Mimari karmaşıklık yalnızca gerektiğinde artırılmalıdır.

- **Tek parça (monolit)** — Küçük ekip, belirsiz ürün yönü; hızlı geliştirme önemli. *(Büyüdükçe bileşenleri ayırmak zorlaşabilir.)*
- **Modüler monolit** — Tek dağıtımla sınırları net modüller isteniyor. *(Modül sınırları disiplinle korunmalıdır.)*
- **Mikroservisler** — Birbirinden bağımsız ölçeklenmesi gereken, farklı ekiplerin sahip olduğu servisler var. *(Ağ, veri tutarlılığı ve izleme karmaşıklığı ciddi artar.)*
- **Sunucusuz (serverless)** — Dalgalı ve olay temelli iş yükleri; altyapı yönetimini azaltmak isteniyor. *(Gecikme, maliyet ve sağlayıcıya bağımlılık değerlendirilmelidir.)*

## Altyapı projelerinde sık yapılan hatalar

- **Erken karmaşıklık:** İhtiyaç olmadan mikroservis ya da çoklu bölge kurmak bakım yükünü gereksiz artırır.
- **İzlemeyi sona bırakmak:** Neyin bozulduğu görülemezse sorun kullanıcıdan önce fark edilemez.
- **Yedeği hiç denemeden saklamak:** Geri yükleme düzenli denenmezse yedeğin işe yarayıp yaramadığı bilinmez.
- **Gizli bilgileri kodda tutmak:** Anahtar ve parolalar için ayrı, erişimi kısıtlı bir yönetim kullanılmalıdır.
- **Tek hata noktası bırakmak:** Tek bir bileşenin arızası tüm hizmeti durdurmamalıdır.

## Başlamadan önce kontrol listesi

- [ ] Beklenen yük ve büyüme nedir?
- [ ] Kesinti toleransım (RTO/RPO) nedir?
- [ ] Sistem nasıl izlenecek ve kim uyarılacak?
- [ ] Dağıtım süreci otomatik ve geri alınabilir mi?
- [ ] Gizli bilgiler nerede ve kimin erişimiyle tutuluyor?
- [ ] Yedekten geri dönmeyi en son ne zaman denedim?

## Altyapı projelerini nasıl yürütüyoruz?

1. **Araştır:** Yük, güvenilirlik ve güvenlik gereksinimlerini; mevcut sistemin darboğazlarını netleştiriyoruz.
2. **Prototiple:** Hedef mimarinin küçük bir kısmını kurup varsayımlarımızı gerçek yükle deniyoruz.
3. **Geliştir:** Altyapıyı kod olarak tanımlıyor, otomatik testler ve izleme ile birlikte geliştiriyoruz.
4. **Ölçekle:** Yük arttıkça mimariyi yatay olarak büyütüyor, maliyet ve performansı sürekli izliyoruz.

## Sık sorulan sorular

### Bulut bilişim nedir?

Bulut bilişim; sunucu, depolama, veritabanı ve benzeri bilgi işlem kaynaklarının internet üzerinden, ihtiyaç duyulduğu kadar ve ihtiyaç duyulduğu anda kullanılmasını sağlayan modeldir.

### API nedir?

API (uygulama programlama arayüzü), bir yazılımın başka bir yazılımla hangi kurallarla konuşacağını tanımlayan arayüzdür. İyi tasarlanmış API'ler sistemlerin birbirine güvenle bağlanmasını sağlar.

### Dağıtık mimari ne demektir?

Bir sistemin tek bir makinede değil, birbiriyle haberleşen birden fazla parçada çalışmasıdır. Yükün paylaşılmasını ve bir parça arızalansa bile sistemin hizmet vermeye devam etmesini sağlar.

### Yüksek erişilebilirlik nasıl sağlanır?

Genellikle bileşenlerin yedekli kurulması, yükün dengelenmesi, sağlık kontrolleri ve otomatik toparlanma mekanizmalarıyla sağlanır. Hedef, tek bir arızanın tüm hizmeti durdurmamasıdır.

### VeriSet ile altyapı konularında nasıl iletişime geçebilirim?

destek@veriset.org adresine mevcut yapınızı ve karşılaştığınız sorunu kısaca anlatan bir e-posta gönderebilirsiniz.

---
https://veriset.org/altyapi/ · destek@veriset.org
