C# ile Microservis Mimarisi ve Yayınlama (Kubernetes, Docker, OpenShift) Eğitimi
Bu Bu eğitim, yazılım geliştirme dünyasında giderek daha fazla önem kazanan mikroservis mimarisi, konteynerleştirme ve bulut tabanlı dağıtım süreçleri konularında derinlemesine bilgi edinmek isteyen yazılım geliştiricileri,DevOps mühendisleri ve sistem yöneticileri için tasarlanmıştır. Eğitim, C# dilinde mikroservis geliştirme, Docker ile konteynerleştirme ve modern bulut platformları olan Kubernetes ve OpenShift üzerinde dağıtım yapma süreçlerini kapsamlı bir şekilde ele alacaktır.
Eğitim Süresi: 5 Gün (30 Saat)
Bu 5 günlük eğitim, katılımcıların mikroservis mimarisine dair sağlam bir temel oluşturmalarına ve mikroservislerin nasıl geliştirileceği, yönetileceği, ölçeklendirileceği ve dağıtılacağı konusunda pratik bilgi edinmelerine olanak tanır. Katılımcılar, günümüz yazılım geliştirme ve operasyon süreçlerinde yaygın olarak kullanılan Docker konteyner teknolojileri, Kubernetes orkestrasyon araçları ve OpenShift platformu üzerinde uygulamalarını nasıl yönetebileceklerini öğreneceklerdir.
Eğitim İçeriği
Bölüm 1: Microservis Mimarisi ve C# ile Geliştirme
-
Microservis Mimarisi Nedir?
- Microservislerin Tanımı ve Temel Kavramlar:
- Microservislerin tanımı, monolitik yapılarla karşılaştırılması
- Microservislerin avantajları: Bağımsız dağıtım, ölçeklenebilirlik, esneklik
- Microservislerin zorlukları: Servisler arası iletişim, veri yönetimi, izleme
- Microservislerin Genel Özellikleri:
- Her servis kendi işlevini yerine getirir
- Bağımsız dağıtım ve ölçeklendirme
- Dağıtık sistemler
- Microservislerin Tanımı ve Temel Kavramlar:
-
C# ile Microservis Geliştirme
- C# ve .NET ile Microservis Geliştirmenin Avantajları:
- .NET Core ve .NET 5/6 ile platform bağımsızlık
- C#’ın güçlü özellikleri ve mikro hizmetlere uygunluğu
- C# ile REST API Geliştirme:
- ASP.NET Core ile API geliştirme
- HTTP, RESTful servisler, JSON veri formatı
- Routing, Controllers, Dependency Injection kullanımı
- C# ile Microservis Mimarisi için Kullanılan Çerçeveler:
- ASP.NET Core Web API: Hızlı ve verimli API geliştirme
- MassTransit: Microservisler arası mesajlaşma için açık kaynak çerçeve
- MediatR: Command/Query modeline dayalı işlem yönetimi
- Microservislerde Servisler Arası İletişim:
- HTTP API (REST)
- Message Queues (RabbitMQ, Kafka)
- gRPC ile hızlı ve düşük gecikmeli iletişim
- C# ve .NET ile Microservis Geliştirmenin Avantajları:
Bölüm 2: Docker ile Konteynerleştirme
-
Docker’a Giriş
- Docker Nedir?
- Konteynerleştirme nedir? Docker’ın amacı ve avantajları
- Docker’ın mikro hizmet mimarisindeki rolü
- Docker’ın Temel Bileşenleri:
- Docker Image: Uygulamanın çalıştırılabilir hali
- Docker Container: Çalışan bir image
- Dockerfile: İmajın nasıl oluşturulacağını belirten dosya
- Docker Komutları ve Kullanımı:
docker build
,docker run
,docker ps
,docker logs
,docker-compose
komutları
- Docker Compose ile Çoklu Servislerin Yönetimi:
- Microservislerin bir arada çalıştığı projelerde Docker Compose kullanımı
- Docker Compose ile bağımlı servislerin kolayca başlatılması
- Docker Nedir?
-
C# Uygulamasını Docker ile Konteynerleştirme
- C# Uygulaması İçin Dockerfile Yazma:
- .NET Core için Dockerfile oluşturma
- Multi-stage build kullanımı ile imaj boyutunu optimize etme
- C# Microservisini Docker Konteynerinde Çalıştırma:
- Docker ile C# REST API çalıştırma
- Veritabanı bağlantıları ve diğer mikro hizmetlerle entegrasyon
- Docker ile Hızlı Testler ve Debugging:
- Konteyner içerisinde debugging
- Log yönetimi ve hata ayıklama
- C# Uygulaması İçin Dockerfile Yazma:
Bölüm 3: Kubernetes ile Orkestrasyon
-
Kubernetes’e Giriş
- Kubernetes Nedir?
- Kubernetes’in tanımı ve mikro hizmet mimarilerindeki rolü
- Pod, Deployment, Service, ConfigMap gibi temel bileşenler
- Kubernetes Bileşenleri:
- Pod: En küçük dağıtım birimi
- Deployment: Uygulamaları ölçeklendirme ve yönetme
- Service: Pod’ları birbirine bağlama
- Ingress: Dış dünyaya erişim sağlamak
- Kubernetes API ve CLI Aracı (kubectl) Kullanımı
- Kubernetes Nedir?
-
C# Microservislerini Kubernetes Üzerinde Yayınlama
- Kubernetes ile Pod ve Deployment Yönetimi:
- Kubernetes deployment’ları ile Go veya C# microservislerini çalıştırma
- Kubernetes ile Service Yapılandırması:
- C# microservisleri için Kubernetes servisleri oluşturma
- Cluster içi ve dışı erişim sağlama
- Kubernetes ile Yük Dengeleme ve Auto-Scaling:
- Horizontal Pod Autoscaler ile otomatik ölçeklendirme
- Kubernetes LoadBalancer kullanarak dış erişim
- Kubernetes ConfigMap ve Secret Kullanımı:
- Yapılandırma dosyalarını ve hassas verileri yönetme
- Çevresel değişkenler ve yapılandırma yönetimi
- Kubernetes ile Pod ve Deployment Yönetimi:
-
CI/CD Süreçlerinin Kubernetes ile Entegrasyonu
- Jenkins, GitLab CI veya Azure DevOps ile Kubernetes için CI/CD Pipeline’ları:
- Kubernetes üzerinde otomatik derleme ve dağıtım süreçlerini oluşturma
- Kubernetes üzerinde uygulama dağıtımı ve güncelleme
- Helm ile Paketleme ve Dağıtım:
- Helm Charts kullanarak uygulama paketleme ve dağıtma
- Jenkins, GitLab CI veya Azure DevOps ile Kubernetes için CI/CD Pipeline’ları:
Bölüm 4: OpenShift ile Yayınlama ve Yönetim
-
OpenShift’e Giriş
- OpenShift Nedir?
- OpenShift, Kubernetes’in kurumsal düzeydeki versiyonudur. Güvenlik, kullanıcı yönetimi, geliştirici araçları ve daha fazlasını sunar.
- OpenShift ve Kubernetes Arasındaki Farklar:
- OpenShift ekosistemi ve Kubernetes üzerindeki avantajları
- OpenShift CLI (
oc
) ve Kubernetes CLI (kubectl
) arasındaki farklar
- OpenShift Nedir?
-
C# Microservislerini OpenShift Üzerinde Yayınlama
- OpenShift ile Deployment ve Pod Yönetimi:
- OpenShift üzerinde C# uygulamaları dağıtma
- Pod’lar ve Deployment’lar üzerinde yönetim
- Service ve Route Konfigürasyonu:
- C# microservisleri için OpenShift Routes kullanarak dış erişim sağlama
- OpenShift ile Kaynak Yönetimi ve İzinler:
- RBAC (Role-Based Access Control) kullanarak kaynaklara erişimi yönetme
- Güvenlik ve kaynak sınırlandırmaları
- OpenShift ile Deployment ve Pod Yönetimi:
-
OpenShift ile CI/CD Yönetimi
- OpenShift Pipelines ile Otomatik Dağıtım:
- OpenShift Pipelines (Tekton) kullanarak sürekli entegrasyon ve sürekli dağıtım
- Jenkins ile OpenShift Entegrasyonu:
- Jenkins kullanarak OpenShift üzerinde otomatik derleme ve dağıtım süreçleri kurma
- OpenShift ve Helm ile Dağıtım:
- Helm Charts kullanarak OpenShift üzerinde microservis dağıtımı
- OpenShift Pipelines ile Otomatik Dağıtım:
Bölüm 5: Mikroservis Yönetimi, İzleme ve Güvenlik
-
Microservis İzleme ve Performans Yönetimi
- Prometheus ve Grafana ile İzleme:
- Kubernetes üzerinde Prometheus ve Grafana ile metrikler toplama ve görselleştirme
- ELK Stack ile Log Yönetimi:
- Elasticsearch, Fluentd, Kibana (EFK) stack kullanarak logları toplama ve analiz etme
- Prometheus ve Grafana ile İzleme:
-
Mikroservis Güvenliği
- OAuth2, JWT ile Kimlik Doğrulama ve Yetkilendirme:
- C# ile 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 servisler arası güvenlik ve rate limiting yönetimi
- OAuth2, JWT ile Kimlik Doğrulama ve Yetkilendirme:
-
Mikroservislerde Hata Yönetimi
- Distributed Tracing ve Jaeger ile İzleme:
- Jaeger kullanarak mikroservislerin iletişimini ve hatalarını izleme
- Health Check ve Readiness Probes:
- Kubernetes ve OpenShift üzerinde mikroservislerin sağlık durumlarını izleme
- Distributed Tracing ve Jaeger ile İzleme:
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
C# ile Microservis Mimarisi 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.