Esthomy.com Sunucu Mimarisi ve DevOps Yolculuğumuz
Projemizi hayata geçirirken kurduğumuz modern, ölçeklenebilir ve güvenli sunucu mimarisinin teknik detaylarını ve bu süreçte edindiğimiz tecrübeleri paylaşıyoruz.

Eren Özdemir
27 Temmuz 2024 • 12 dk

Giriş
Merhaba! Ben Eren, esthomy.com'un altyapı ve DevOps süreçlerinden sorumluyum. Bu yazıda, projemizi hayata geçirirken kurduğumuz modern, ölçeklenebilir ve güvenli sunucu mimarisinin teknik detaylarını ve bu süreçte edindiğimiz tecrübeleri sizinle paylaşmak istiyorum.
Projemize başlarken hedefimiz netti: Hem son kullanıcıya hızlı ve kesintisiz bir deneyim sunmak hem de geliştirme ve dağıtım süreçlerimizi olabildiğince otomatize ve güvenli hale getirmek. Bu hedefe ulaşmak için dikkatle seçtiğimiz teknolojiler ve izlediğimiz adımlar ise şöyle:
Neden Dokploy?
Sunucu yönetimi ve uygulama dağıtımı (deployment) süreçlerinde kaybolmak yerine, enerjimizi ürün geliştirmeye odaklamak istiyorduk. Bu noktada Dokploy bizim için biçilmiş kaftandı. Kendi sunucumuz üzerinde bize Heroku benzeri bir PaaS (Platform as a Service) deneyimi sundu. Kolay arayüzü, dahili Traefik desteği ve veritabanı yönetimi gibi özellikleriyle tüm altyapıyı tek bir merkezden yönetmemizi sağladı.
Mimarimizin Yapı Taşları: Kullandığımız Teknolojiler
Modern bir web uygulamasının gerektirdiği esnekliği ve performansı sağlamak için her bileşeni özenle seçtik.
Frontend Katmanı: Her İhtiyaca Yönelik Ayrı Çözümler
Kullanıcılarımızın karşısına çıkan ilk ekranlar olan arayüz tarafında iki farklı yaklaşımla ilerledik:
- Landing Page (Ana Sayfa): SEO uyumluluğu ve ilk açılış hızı kritik olduğu için bu sayfamızı Next.js ve shadcn/ui ile geliştirdik. Sunucu tarafında render (SSR) yetenekleri sayesinde arama motorlarında daha görünür olmayı başardık.
- Client & Broker Arayüzleri: Uygulamanın yoğun etkileşimli panelleri için ise Vite + React ikilisini tercih ettik. Vite'ın sunduğu inanılmaz geliştirme hızı ve React'in bileşen tabanlı mimarisi, karmaşık arayüzleri kolayca yönetmemizi sağladı.
Backend Katmanı: Güçlü ve Ölçeklenebilir Microservisler
Arka planda çalışan motorumuz için Spring Boot'u tercih ettik. Bu yapıyı da kendi içinde görevlere ayırdık:
- Spring Boot API Gateway: Dış dünyadan gelen tüm istekleri karşılayan, güvenlik ve yönlendirme görevlerini üstlenen ana giriş kapımız.
- Spring Boot Backend Servisleri: İş mantığımızın çalıştığı, veritabanı işlemleri yapan ve diğer görevleri yürüten mikroservislerimiz. Bu yapı sayesinde ileride yeni özellikler eklemek veya mevcutları ölçeklendirmek çok daha kolay.
Veri Yönetimi: Güvenilir ve Esnek Depolama
- Veritabanı: İlişkisel veri tabanı konusundaki güvenilirliği ve performansı kanıtlanmış olan PostgreSQL'i tercih ettik. Dokploy üzerinden kolayca kurup yönetebildik.
- Dosya Depolama (S3 Storage): Kullanıcıların yüklediği dosyalar, resimler gibi statik içerikleri depolamak için kendi S3 uyumlu sunucumuzu kurmaya karar verdik. Bu iş için açık kaynaklı ve popüler bir çözüm olan MinIO'yu kullandık. Bu sayede hem maliyet avantajı sağladık hem de verilerimizin kontrolünü tamamen elimizde tuttuk.
Güvenlik ve Ağ Yönetimi: Traefik ve Cloudflare İkilisi
Altyapımızın en kritik noktalarından biri de güvenlik ve ağ yönetimiydi. Bu konuda iki güçlü aracı birleştirdik:
- Cloudflare: Sadece bir CDN ve WAF hizmeti olmanın çok ötesinde. SSL sertifikalarımızı Cloudflare üzerinden ücretsiz ve güvenilir bir şekilde temin ettik. Ayrıca, alan adımıza gelen e-postaları (@esthomy.com) yönetmek için Cloudflare Email Routing hizmetini kullanarak ek bir e-posta sunucusu kurma zahmetinden kurtulduk.
- Traefik: Dokploy'un içinde sihirli bir dokunuş gibi çalışan Traefik, bizim için reverse proxy görevini üstlendi. Cloudflare'den aldığımız SSL sertifikasını otomatik olarak uygulamalarımıza entegre etti (SSL Termination) ve gelen istekleri doğru servise (Next.js, React, Spring Boot vb.) akıllıca yönlendirdi.
Otomasyonun Zirvesi: Güvenli CI/CD Süreci
Manuel deployment süreçlerinin ne kadar hataya açık ve yavaş olduğunu biliyorduk. Bu yüzden en başından itibaren güvenli bir CI/CD (Sürekli Entegrasyon / Sürekli Dağıtım) akışı kurduk:
- GitHub Entegrasyonu: Kodlarımızı barındırdığımız GitHub reponuzu doğrudan Dokploy'a bağladık.
- Otomatik Akış: Geliştiricilerimiz koddaki bir değişikliği GitHub'a gönderdiği (git push) anda, Dokploy bu değişikliği otomatik olarak algılıyor, uygulamayı yeniden derliyor ve güncel versiyonu canlıya alıyor. Bu sayede hem hız kazandık hem de insan hatası riskini ortadan kaldırdık.
Sonuç
Esthomy.com'un altyapısını kurarken Dokploy, Spring Boot, React, PostgreSQL ve Cloudflare gibi modern ve güçlü araçları bir araya getirdik. Sonuç olarak ortaya;
- Yönetimi kolay,
- Güvenli,
- Ölçeklenebilir,
- Ve geliştirme süreçleri tamamen otomatize edilmiş bir sistem çıktı.
Bu yolculuk, doğru araçlarla karmaşık görünen işlerin ne kadar basitleştirilebileceğini bize bir kez daha gösterdi. Umarız bizim deneyimlerimiz, kendi projelerini hayata geçirmek isteyen diğer geliştiricilere de ilham ve fikir verir.
Okuduğunuz için teşekkürler! Sorularınız veya yorumlarınız varsa, lütfen çekinmeyin.