BUILDING MICROSERVICES WITH SPRING CLOUD & DOCKER EĞİTİMİ

Spring Cloud altyapısını Docker'da ayağa kaldırın

Eureka, Config Server, Spring Cloud Gateway, OpenFeign, Resilience4j, Zipkin, Docker Compose ve Kubernetes'e geçiş.

Bu eğitim, Spring Cloud ile eksiksiz bir mikroservis altyapısı kurmayı ve bunu Docker ile çalıştırmayı hedefler. Eureka ile servis keşfi, Config Server ile Git tabanlı merkezî yapılandırma, Gateway ile yönlendirme, OpenFeign ve LoadBalancer ile servis çağrısı…

4 gün İleri Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

Spring Cloud bileşenleriyle mikroservis altyapısı ve konteyner dağıtımı

Bu eğitim, Spring Cloud ile eksiksiz bir mikroservis altyapısı kurmayı ve bunu Docker ile çalıştırmayı hedefler. Eureka ile servis keşfi, Config Server ile Git tabanlı merkezî yapılandırma, Gateway ile yönlendirme, OpenFeign ve LoadBalancer ile servis çağrısı, Resilience4j ile CircuitBreaker ve Retry, Micrometer Tracing ile Zipkin izleme uygulanır; tüm bileşenler Compose ile doğru başlatma sırası ve healthcheck ile konteynerde işletilir.

Süre ve Format

4 Gün. Her gün dört modül; Spring Cloud Temelleri, Compose ile Cloud Yığını, İmaj Kalitesi ve Gözlem, Teslimat ve Kubernetes konuları uygulamalı işlenir.

Seviye

İleri Seviye — Eureka, Config Server, Gateway, Resilience4j ve Zipkin ile Spring Cloud mikroservis altyapısını Docker'da çalıştırma.

Öğrenme Metodu

Gateway, Config Server ve Eureka dahil beş servislik bir sistem adım adım kodlanıp Compose yığınına dönüştürülür.

Neden Bu Eğitim?

☕Java Ekosistemi

Spring Boot ve Spring Cloud ile kurumsal mikroservis geliştirme yetkinliği kazanırsınız.

🔗Servis Altyapısı

Eureka, Config Server ve Gateway ile üretimde kullanılan altyapı desenlerini uygularsınız.

📦Konteyner Hazır

Servislerinizi küçük imajlara ve Compose topolojisine dönüştürerek her ortamda çalıştırırsınız.

Anahtar Konular

spring cloudspring cloud dockereurekaspring cloud gatewayconfig serverresilience4jzipkinmikroservisopenfeignspring cloud eğitimi
“Dağıtık sistemde asıl ustalık, servis yazmak değil servislerin birbirini bulmasını ve düşmesini yönetmektir.”

Ön Koşullar

Eğitimden verim almak için faydalı olacak bilgi ve ortam gereksinimleri

1
Java Temeli

Java 17 ile sınıf, arayüz, koleksiyon ve Maven/Gradle kullanımı bilgisi beklenir.

2
Web Kavramları

HTTP, REST ve JSON kavramlarına aşinalık gerekir.

3
Çalışma Ortamı

JDK 17, Maven, Docker ve bir IDE (IntelliJ veya VS Code) kurulu olmalıdır.

4
Veritabanı Bilgisi

Temel SQL ve ilişkisel veritabanı kavramları faydalıdır.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı Eureka, Config Server ve Gateway bileşenlerini kurup servisleri imajlayabilir.
Modül 1
Mikroservis Mimarisi Temelleri
  • Monolit ve mikroservis karşılaştırması; bounded context ve Domain-Driven Design ayrımı
  • Servisler arası iletişim: senkron REST / gRPC ve asenkron mesajlaşma (RabbitMQ, Kafka)
  • Servis başına veritabanı ilkesi ve veri tutarlılığı için saga deseni
  • API Gateway, servis keşfi ve istemci taraflı yük dengeleme
  • Dayanıklılık desenleri: circuit breaker, retry, timeout ve bulkhead
  • Dağıtık izleme, merkezî loglama ve sağlık uç noktalarının mimariye yerleştirilmesi
Modül 2
Spring Boot ile REST Servisi
  • Spring Initializr, starter bağımlılıkları ve otomatik yapılandırma mantığı
  • @RestController, @RequestMapping, DTO doğrulama (Bean Validation) ve hata yönetimi (@ControllerAdvice)
  • Spring Data JPA, Repository arayüzleri ve PostgreSQL bağlantısı
  • application.yml profilleri (dev, prod) ve @ConfigurationProperties kullanımı
  • Spring Boot Actuator: /actuator/health, metrics ve liveness / readiness probe grupları
  • Maven / Gradle ile çalıştırılabilir jar üretimi ve JUnit ile servis testi
Modül 3
Spring Cloud Bileşenleri
  • Eureka Server / Client ile servis kaydı ve keşfi
  • Spring Cloud Config Server: Git tabanlı merkezî yapılandırma ve /actuator/refresh
  • Spring Cloud Gateway: route, predicate, filter ve rate limiter
  • OpenFeign ile bildirimsel HTTP istemcisi ve Spring Cloud LoadBalancer
  • Resilience4j: CircuitBreaker, Retry, RateLimiter ve Bulkhead anotasyonları
  • Micrometer Tracing ve Zipkin ile dağıtık izleme (trace id / span id)
Modül 4
Spring Boot Uygulamasını Docker'a Taşıma
  • Multi-stage Dockerfile: Maven derleme aşaması ve JRE tabanlı çalışma aşaması
  • Layered jar (-Djarmode=layertools) ile bağımlılık / uygulama katmanı ayrımı ve önbellek kazancı
  • spring-boot:build-image (Cloud Native Buildpacks) ve Jib ile Dockerfile'sız imaj
  • JVM konteyner bilinci: -XX:MaxRAMPercentage, -XX:+UseContainerSupport ve heap sınırları
  • Compose ile Spring + PostgreSQL: healthcheck, depends_on ve Flyway migrasyonları
  • Profil ve ortam değişkenleriyle SPRING_DATASOURCE_URL gibi ayarların dışarıdan verilmesi
Günün hedefiKatılımcı Spring Cloud servislerini doğru sırada ve sağlık kontrolüyle Compose üzerinde ayağa kaldırabilir.
Modül 1
Spring Cloud Servislerini Docker'da Çalıştırma
  • Config Server, Eureka ve Gateway için ayrı Dockerfile ve ortak taban imaj
  • Compose başlatma sırası: config-server healthy olmadan servisleri açmama
  • Konteyner içinde servis adlarıyla Eureka kaydı: hostname, instance-id ve prefer-ip-address ayarı
  • Gateway önünde dışarıya tek port açma, iç servis portlarını yayınlamama
  • Zipkin ve RabbitMQ konteynerleriyle izleme ve olay tabanlı yapılandırma yenileme (Spring Cloud Bus)
  • docker compose logs ile istek akışını gateway'den servise izleyip hata ayıklama
Modül 2
Docker Compose ile Çok Konteynerli Uygulamalar
  • compose.yaml yapısı: services, networks, volumes ve image / build alanları
  • ports, environment, env_file ve .env ile yapılandırma ayrıştırma
  • depends_on ve condition: service_healthy ile başlatma sırası kontrolü
  • docker compose up -d, down -v, ps, logs -f, exec ve run komutlarının kullanımı
  • Birden fazla dosyayla ortam ayrımı: compose.override.yaml ve -f birleştirme
  • docker compose config ile birleşmiş yapılandırmayı doğrulama ve değişken yerine koyma
Modül 3
Compose İleri Özellikleri
  • profiles ile isteğe bağlı servisler (debug, test) ve --profile kullanımı
  • secrets ve configs tanımları, /run/secrets altından okuma
  • healthcheck, restart politikaları ve deploy.resources limit/reservation ayarları
  • extends ve YAML anchor (&, *) ile tekrarı azaltma
  • docker compose up --scale ile yatay çoğaltma ve yük dengeleme için nginx önü
  • docker compose watch ile geliştirme sırasında otomatik senkron ve yeniden derleme
Modül 4
Docker Ağ Modelleri
  • Varsayılan bridge (docker0) ile kullanıcı tanımlı bridge farkı ve otomatik DNS çözümleme
  • Ağ sürücüleri: bridge, host, none, overlay, macvlan ve ipvlan kullanım alanları
  • Port yayınlama (-p, -P), iptables DOCKER zinciri ve NAT kuralları
  • docker network create --subnet / --gateway ile özel alt ağ ve sabit IP atama
  • Konteynerler arası iletişim: servis adıyla erişim, --network-alias ve çoklu ağa bağlama
  • tcpdump, nslookup ve docker network inspect ile ağ sorunlarını teşhis etme
Günün hedefiKatılımcı JVM servislerini küçük, güvenli ve izlenebilir imajlarla işletebilir.
Modül 1
Multi-stage Build ve İmaj Optimizasyonu
  • Multi-stage build: builder aşaması, COPY --from ve hedef aşama seçimi (--target)
  • Taban imaj seçimi: alpine, slim, distroless ve scratch avantaj/dezavantajları (musl-glibc farkı)
  • BuildKit özellikleri: RUN --mount=type=cache, --mount=type=secret ve paralel aşama çalıştırma
  • Katman önbelleği sıralaması: bağımlılık dosyalarını önce kopyalama ile cache hit artırma
  • docker buildx ile çoklu platform (linux/amd64, linux/arm64) imaj üretimi
  • dive ve Hadolint ile imaj israfı ve Dockerfile kural denetimi
Modül 2
Loglama ve İzleme
  • Log sürücüleri: json-file, local, syslog, journald, fluentd ve gelf farkları
  • max-size / max-file ile log rotasyonu ve disk dolmasının önlenmesi
  • cAdvisor ile konteyner metriği toplama ve Prometheus scrape yapılandırması
  • Grafana panoları: CPU, bellek, ağ ve yeniden başlama sayısı
  • Docker Engine metrics-addr ile daemon metriklerini açma
  • Uyarı kuralları: yeniden başlama döngüsü ve bellek eşiği için Alertmanager örneği
Modül 3
Kaynak Sınırları ve Performans
  • -memory, --memory-swap ve OOM killer davranışı; exit code 137 analizi
  • -cpus, --cpu-shares ve --cpuset-cpus ile CPU paylaşımı
  • -pids-limit, --ulimit ve blkio ağırlıkları ile fork bomb ve disk I/O sınırlama
  • docker stats, cgroup v2 dosyaları (memory.max, cpu.max) ve systemd-cgtop gözlemi
  • JVM ve Node.js gibi çalışma zamanlarının konteyner sınırlarına duyarlı ayarlanması
  • stress-ng ile yük üretip sınır etkisini ölçme ve kapasite planlama
Modül 4
Konteyner Güvenliği
  • Root dışı kullanıcı, --read-only kök dosya sistemi ve --cap-drop ALL ile yetenek kısıtlama
  • seccomp profilleri, AppArmor ve no-new-privileges bayrağı
  • Rootless Docker ve userns-remap ile UID eşleme
  • Trivy ve Docker Scout ile CVE taraması, CI içinde ciddiyet eşiğine göre build durdurma
  • İmza doğrulama: Docker Content Trust ve cosign ile imaj imzalama
  • Gizli bilgi yönetimi: ENV yerine BuildKit secret ve Docker secrets; docker.sock risklerinden kaçınma
Günün hedefiKatılımcı CI/CD hattı kurup yığını Kubernetes üzerinde ölçekleyecek manifestleri hazırlayabilir.
Modül 1
Docker ile CI/CD Hatları
  • GitHub Actions: docker/setup-buildx-action, docker/build-push-action ve cache-from / cache-to
  • GitLab CI ve Jenkins ajanlarında Docker-in-Docker ile docker.sock bağlama farkları
  • Etiketleme: git SHA, semver ve branch tabanlı etiket üretimi (docker/metadata-action)
  • Konteyner içinde birim ve entegrasyon testi: Testcontainers ve compose tabanlı test ortamı
  • Güvenlik geçidi: Trivy taraması başarısızsa pipeline durdurma ve SBOM üretimi (syft)
  • Ortam terfisi: aynı imajı dev, staging, prod ortamlarına yeniden derlemeden taşıma
Modül 2
Özel Registry Kurulumu
  • registry:2 konteyneri ile yerel registry, depolama sürücüleri ve volume bağlama
  • TLS sertifikası, htpasswd tabanlı kimlik doğrulama ve insecure-registries riski
  • Registry HTTP API v2: /v2/_catalog ve tags/list sorguları
  • Garbage collection ve silme ayarı ile disk geri kazanımı
  • Pull-through cache (mirror) yapılandırması ve rate limit azaltma
  • Harbor alternatifi: proje, robot hesabı ve imaj saklama (retention) politikaları
Modül 3
Kubernetes Temelleri
  • Kubernetes mimarisi: API server, etcd, scheduler, controller-manager ve kubelet
  • Pod, ReplicaSet ve Deployment nesneleri; kubectl apply -f ile bildirimsel yönetim
  • Service türleri: ClusterIP, NodePort ve LoadBalancer; Ingress ile HTTP yönlendirme
  • ConfigMap ve Secret nesnelerinin env ve volume olarak bağlanması
  • Namespace, label ve selector ile kaynak organizasyonu
  • kubectl get, describe, logs, exec ve port-forward ile temel hata ayıklama
Modül 4
Kubernetes Ölçekleme ve Dayanıklılık
  • liveness, readiness ve startup probe tasarımı
  • resources.requests / limits, QoS sınıfları ve LimitRange / ResourceQuota
  • HorizontalPodAutoscaler (metrics-server) ve VPA yaklaşımı
  • PodDisruptionBudget, topologySpreadConstraints ve node/pod affinity
  • Taint ve toleration ile özel düğüm havuzlarına iş yükü yerleştirme
  • Rolling update stratejisi (maxSurge, maxUnavailable) ve kubectl rollout undo

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Mikroservis Tasarımı

Bir monoliti bounded context sınırlarına göre mikroservislere ayırıp iletişim modelini seçebilirsiniz.

✅
Spring Cloud

Eureka, Config Server ve Gateway ile Spring Cloud mikroservis altyapısını kurabilirsiniz.

✅
Cloud-Native Spring

Spring Cloud altyapı servislerini sıralı ve sağlıklı başlayan bir Docker Compose yığınına dönüştürebilirsiniz.

✅
İleri Compose

profiles, secrets, healthcheck ve kaynak sınırlarıyla üretime yakın Compose dosyaları tasarlayabilirsiniz.

✅
Gözlemlenebilirlik

Log sürücülerini ve metrik toplayıcıları kurarak Docker ortamını sürekli izleyebilirsiniz.

✅
Güvenli Konteyner

Rootless çalışma, yetenek kısıtlama ve imaj taramasıyla konteyner saldırı yüzeyini küçültebilirsiniz.

✅
Özel Registry

TLS ve kimlik doğrulamalı özel registry kurup imaj yaşam döngüsünü yönetebilirsiniz.

✅
Ölçekleme

Probe, HPA ve kaynak politikalarıyla iş yüklerini dayanıklı ve ölçeklenebilir kurabilirsiniz.

Kimler İçin Uygundur?

  • Spring Boot bilen
  • dağıtık mikroservis altyapısı kuracak back-end geliştiricileri
  • çözüm mimarları için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Spring Boot bilen, dağıtık mikroservis altyapısı kuracak back-end geliştiricileri ve çözüm mimarları için uygundur.
Eğitime katılmak için ön koşul ve ortam gereksinimi nedir?
Java 17 ile sınıf, arayüz, koleksiyon ve Maven/Gradle kullanımı bilgisi beklenir. HTTP, REST ve JSON kavramlarına aşinalık gerekir.
Spring Cloud sürüm uyumu nasıl ele alınıyor?
Spring Boot ile Spring Cloud release train uyum tablosu gösterilir ve laboratuvarlar uyumlu sürümlerle hazırlanır.
Eureka yerine Kubernetes servis keşfi anlatılıyor mu?
Evet. Son gün Kubernetes Service ile Eureka'nın rolleri karşılaştırılır.
Eğitim sonunda sertifika alabilir miyim?
Programı tamamlayan katılımcılara Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. Building Microservices with Spring Cloud & Docker Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre4 gün
Seviyeİleri Seviye
FormatOnline / Yüz Yüze / Hibrit
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

Docker ve KonteynerleştirmeGelişmiş Docker Eğitimi
DevOps ve Konteyner Eğitimleri

Gelişmiş Docker Eğitimi

4 günİleriOnline / Yüz Yüze / Hibrit

Gelişmiş Docker: gelişmiş docker, docker advanced, buildkit, macvlan ve uygulamalı laboratuvarlar. Digital Vizyon Akademi Katılım ve Başarı Sertifikası ile.

Detayları Gör →
Docker ve KonteynerleştirmeGNS Gelişmiş: Otomasyon, Docker ve Bulut Entegrasyonu Eğitimi
DevOps ve Konteyner Eğitimleri

GNS Gelişmiş: Otomasyon, Docker ve Bulut Entegrasyonu Eğitimi

4 günİleriOnline / Yüz Yüze / Hibrit

GNS Gelişmiş: Otomasyon, Docker ve Bulut Entegrasyonu: gns3 otomasyon, gns3 docker ve uygulamalı laboratuvarlar. Digital Vizyon Akademi Katılım ve Başarı Sertif

Detayları Gör →
Docker ve KonteynerleştirmeGoogle Cloud Digital Leader: Containers and Serverless Services Eğitimi
DevOps ve Konteyner Eğitimleri

Google Cloud Digital Leader: Containers and Serverless Services Eğitimi

2 günTemelOnline / Yüz Yüze / Hibrit

Google Cloud Digital Leader: Containers and Serverless Services: google cloud digital leader ve uygulamalı laboratuvarlar. DVA Katılım ve Başarı Sertifikası.

Detayları Gör →
Docker ve KonteynerleştirmeGoogle Professional Cloud Architect: Using Google Container Orchestration Eğitimi
DevOps ve Konteyner Eğitimleri

Google Professional Cloud Architect: Using Google Container Orchestration Eğitimi

4 günİleriOnline / Yüz Yüze / Hibrit

Google Professional Cloud Architect: google professional cloud architect, gke, kubernetes orkestrasyon ve uygulamalı laboratuvarlar. DVA Katılım ve Başarı Serti

Detayları Gör →
Docker ve KonteynerleştirmeIntroducing Docker Eğitimi
DevOps ve Konteyner Eğitimleri

Introducing Docker Eğitimi

2 günBaşlangıçOnline / Yüz Yüze / Hibrit

Introducing Docker: introducing docker, docker tanışma, docker giriş ve uygulamalı laboratuvarlar. Digital Vizyon Akademi Katılım ve Başarı Sertifikası ile.

Detayları Gör →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn