Java Spring ile Microservis Mimarisi Geliştirme ve Yayınlama (Kubernetes, Docker, OpenShift) Eğitimi
Modern yazılım geliştirme dünyasında hızla popülerleşen microservis mimarisi, işletmelerin uygulamalarını daha hızlı, esnek ve ölçeklenebilir hale getirmelerine olanak tanıyor. Bu eğitim ile, microservislerin temellerinden, Java Spring ile nasıl etkili uygulamalar geliştireceğinize kadar her şeyi öğrenecek ve teknolojik becerilerinizi bir üst seviyeye taşıyacaksınız.
Eğitim Süresi: 5 Gün (30 Saat)
Geleceğin Geleceğin Yazılım Geliştiricileri İçin Vazgeçilmez Beceriler Microservis mimarisi, monolitik yapıların ötesine geçerek, her bir fonksiyonel alanı bağımsız servisler olarak yapılandırmanıza olanak sağlar. Bu eğitimde, Java Spring ile bu yapıları kurmayı öğrenirken, aynı zamanda Docker, Kubernetes, OpenShift gibi güncel araçları kullanarak uygulamalarınızı nasıl verimli şekilde yönetebileceğinizi keşfedeceksiniz.
Microservis Mimarisi: Bağımsız servislerin avantajları ve yönetimi
Java Spring: Spring Boot ile RESTful API’ler ve microservis uygulamaları
Docker & Kubernetes: Uygulamalarınızı nasıl konteynerleştirip, orkestrasyon yapabileceğinizi
OpenShift & DevOps: Kurumsal dağıtım süreçlerinde kullanabileceğiniz araçlar ve CI/CD entegrasyonu
Güvenlik ve İzleme: Prometheus, Grafana, OAuth2 ve JWT ile uygulamanızın güvenliğini sağlama
Bu eğitim sayesinde, microservis mimarisi ve DevOps süreçlerine hakim olacak, daha verimli, güvenli ve ölçeklenebilir uygulamalar geliştirme becerisi kazanacaksınız. Hem bireysel kariyerinizde hem de iş yerinizde fark yaratacak bilgiye sahip olabilirsiniz
Eğitim İçeriği
Bölüm 1: Microservis Mimarisi ve Java Spring ile Geliştirme
-
Microservis Mimarisi Nedir?
- Microservislerin Tanımı ve Temel Kavramlar:
- Microservislerin genel yapısı ve monolitik yapılarla karşılaştırılması
- Microservislerin avantajları ve zorlukları
- Microservislerin Genel Özellikleri:
- Bağımsız geliştirme, dağıtım ve ölçeklendirme
- Dağıtık sistemler ve servisler arası iletişim
- Microservis Mimarisi için Temel Prensipler:
- Kendi veritabanına sahip olma
- API-gateway kullanımı
- Her servisin işlevsel odaklı olması
- Microservislerin Tanımı ve Temel Kavramlar:
-
Java Spring ile Microservis Geliştirme
- Spring Framework Nedir?
- Spring Boot, Spring Cloud ve Spring MVC'nin özellikleri
- Spring ile microservis geliştirme neden yaygın ve tercih edilen bir yöntemdir?
- Spring Boot ile Microservis Geliştirme:
- Spring Boot ile hızlı uygulama kurulumları
- RESTful API’ler oluşturma (Controllers, RequestMapping)
- JSON ve XML veri işleme
- Spring Data JPA ile veritabanı bağlantıları ve CRUD işlemleri
- Spring Cloud ile Microservis Tabanlı Mimari:
- Eureka: Servis keşfi ve load balancing
- Spring Cloud Config: Merkezi yapılandırma yönetimi
- Hystrix: Servisler arası iletişimde hata yönetimi
- Zuul / Spring Cloud Gateway: API Gateway kullanımı
- DevOps ve Spring Boot ile Microservis CI/CD Süreçleri:
- Jenkins veya GitLab CI kullanarak Spring Boot projelerinin derlenmesi ve dağıtılması
- Unit testler ve entegrasyon testleri
- Spring Framework Nedir?
-
Microservisler Arası İletişim
- REST API İletişimi:
- HTTP metodları (GET, POST, PUT, DELETE) ve JSON formatı
- Spring WebClient ve RestTemplate kullanımı
- Mesajlaşma ile İletişim:
- RabbitMQ / Kafka: Mesaj kuyruğu kullanarak servisler arası iletişim
- Spring AMQP ve Spring Kafka entegrasyonu
- gRPC: Hızlı ve düşük gecikmeli iletişim protokolü
- API Gateway ile Yönetim: Servislerin dış dünyaya açılmasını sağlamak için API Gateway kullanımı
- REST API İletişimi:
Bölüm 2: Docker ile Konteynerleştirme
-
Docker’a Giriş
- Docker Nedir?
- Konteynerleştirme nedir ve microservisler ile ilişkisi
- Docker’ın avantajları ve uygulama dağıtımındaki rolü
- Docker Bileşenleri:
- Docker Image: Uygulamanın çalıştırılabilir hali
- Docker Container: Çalışan bir image
- Dockerfile: İmajın nasıl oluşturulacağına dair talimatlar
- Docker Komutları ve Kullanımı:
docker build
,docker run
,docker ps
,docker logs
komutları- Docker Compose ile çoklu servislerin yönetimi
- Docker Nedir?
-
Spring Boot Uygulamasını Docker ile Konteynerleştirme
- Dockerfile Yazma:
- Spring Boot için Dockerfile yazma
- Multi-stage Dockerfile kullanarak imaj boyutunun azaltılması
- Spring Boot Microservislerini Docker Konteynerinde Çalıştırma:
- Java uygulamasını Docker konteynerinde çalıştırma
- Veritabanı entegrasyonu (örneğin, PostgreSQL, MySQL) ve çevresel değişkenlerin kullanımı
- Docker Compose ile Çoklu Servislerin Yönetimi:
- Birden fazla microservisin çalıştırılması için
docker-compose.yml
dosyasının hazırlanması - Bağımlı servislerin (DB, MQ, vs.) birlikte çalıştırılması
- Birden fazla microservisin çalıştırılması için
- Dockerfile Yazma:
Bölüm 3: Kubernetes ile Orkestrasyon
-
Kubernetes’e Giriş
- Kubernetes Nedir?
- Kubernetes’in tanımı, amacı ve özellikleri
- Kubernetes’in microservis mimarilerindeki rolü
- Pod, Deployment, Service, ReplicaSet, ConfigMap gibi temel bileşenler
- Kubernetes Mimarisine Genel Bakış:
- Master ve Worker Node’lar
- Pod’lar ve Deployment’lar
- Service ve Ingress ile dış erişim sağlama
- Kubernetes CLI Aracı (kubectl) Kullanımı:
kubectl
komutlarıyla Kubernetes kaynaklarını yönetme
- Kubernetes Nedir?
-
Spring Boot Microservislerini Kubernetes Üzerinde Dağıtma
- Kubernetes Deployment ve Pod Yapılandırması:
- Spring Boot uygulamalarının Kubernetes üzerinde çalıştırılması
- Docker container’ları Kubernetes pod’larında çalıştırma
- Kubernetes Service ve Load Balancer Yapılandırması:
- Service kullanarak pod’lara erişim sağlama
- External ve Internal servisler
- Kubernetes ile Auto-Scaling:
- Horizontal Pod Autoscaler kullanarak mikroservislerin otomatik olarak ölçeklenmesi
- Kubernetes Deployment ve Pod Yapılandırması:
-
Kubernetes ile DevOps Entegrasyonu
- CI/CD Pipeline’ları Oluşturma:
- Jenkins, GitLab CI, veya Azure DevOps kullanarak Kubernetes üzerinde otomatik derleme ve dağıtım
- Kubernetes ve Helm ile uygulama dağıtımı
- Helm ile Kubernetes Uygulama Dağıtımı:
- Helm Charts kullanarak Spring Boot microservislerinin Kubernetes ortamında dağıtılması
- CI/CD Pipeline’ları Oluşturma:
Bölüm 4: OpenShift ile Yayınlama ve Yönetim
-
OpenShift’e Giriş
- OpenShift Nedir?
- Kubernetes’in kurumsal versiyonu olan OpenShift’in avantajları
- OpenShift ekosistemi, GUI ve CLI araçları
- OpenShift ve Kubernetes Arasındaki Farklar:
- OpenShift ekosisteminin özellikleri ve Kubernetes üzerinde sağladığı avantajlar
- OpenShift’in güvenlik, kullanıcı yönetimi ve izleme özellikleri
- OpenShift CLI (
oc
) ile Uygulama Yönetimi
- OpenShift Nedir?
-
Spring Boot Microservislerini OpenShift Üzerinde Dağıtma
- OpenShift’te Proje Oluşturma ve Konfigürasyon:
- OpenShift üzerinde bir proje oluşturma ve kaynakları yönetme
- OpenShift Deployment ve Pod Yönetimi:
- Spring Boot uygulamalarını OpenShift üzerinde dağıtmak
- OpenShift Routes ve External Erişim:
- OpenShift Routes kullanarak dış erişim sağlama
- OpenShift ile Kaynak Yönetimi ve İzinler:
- OpenShift RBAC (Role-Based Access Control) kullanarak kaynaklara erişimi yönetme
- OpenShift’te Proje Oluşturma ve Konfigürasyon:
-
OpenShift ile CI/CD Yönetimi
- OpenShift Pipelines (Tekton) ile DevOps Süreçleri:
- OpenShift Pipelines kullanarak Spring Boot microservislerinin otomatik dağıtım süreçleri
- OpenShift ve Jenkins ile Entegrasyon:
- Jenkins kullanarak OpenShift üzerinde microservis CI/CD pipeline’ları oluşturma
- OpenShift Pipelines (Tekton) ile DevOps Süreçleri:
Bölüm 5: Microservis Yönetimi, İzleme ve Güvenlik
-
Microservis İzleme ve Performans Yönetimi
- Prometheus ve Grafana ile İzleme:
- Kubernetes ve OpenShift üzerinde Prometheus ve Grafana ile izleme
- ELK Stack ile Log Yönetimi:
- Elasticsearch, Fluentd, Kibana kullanarak logları toplama ve analiz etme
- Prometheus ve Grafana ile İzleme:
-
Microservis Güvenliği
- OAuth2 ve JWT ile Kimlik Doğrulama ve Yetkilendirme:
- Spring Security kullanarak JWT token oluşturma ve doğrulama
- Mutual TLS ile Güvenli İletişim:
- Microservisler arası güvenli iletişim için mutual TLS yapılandırması
- API Gateway ve Rate Limiting:
- API Gateway kullanarak
- OAuth2 ve JWT ile Kimlik Doğrulama ve Yetkilendirme:
Bu eğitimi dilediğiniz zaman şirketinize/ekibinize özel olarak planlamak için bizimle iletişime geçin.
Eğitim ve danışmanlıklarımız hakkında bilgilendirmek için sizi arayalım
Java Spring ile Microservis Mimarisi Geliştirme ve Yayınlama (Kubernetes, Docker, OpenShift) Eğitimi
Kurumsal olarak planlayabileceğiniz bu eğitimle şirketiniz/takımınız çalışanlarının gerçek potansiyelini ortaya çıkarın. Bu eğitimin içeriğini ihtiyacınıza özel olarak düzenlemek için bizimle iletişime geçin.