Beklenen Çıktı: Katılımcılar, mikroservis mimarisinin felsefesini, monolitik mimariden farklarını ve ne zaman/neden tercih edilmesi gerektiğini analiz edebilecektir.
- 1.1. Mikroservis Mimarisine Genel Bakış (1 Saat)
Mikroservis nedir? Temel felsefe ve karakteristik özellikler.
Monolitik Mimari vs. Mikroservis Mimari: Detaylı bir karşılaştırma.
Avantajlar (Ölçeklenebilirlik, Esneklik, Teknoloji Çeşitliliği) ve Dezavantajlar (Karmaşıklık, Dağıtık Sistem Zorlukları).
- 1.2. Mikroservis Ekosistemi ve Domain-Driven Design (DDD) İlişkisi (2 Saat)
Mikroservis mimarisinde DDD'nin rolü.
Bounded Context (Sınırlandırılmış Bağlam) kavramı ve servis sınırlarının belirlenmesi.
Pratik: Monolitik bir uygulamanın domain analizi yapılarak mikroservis adaylarının belirlenmesi (Beyin Fırtınası).
Beklenen Çıktı: Katılımcılar, bağımsız, sürdürülebilir ve bakımı kolay mikroservisler tasarlamak için gerekli ilke ve desenleri uygulayabilecektir.
- 2.1. Tek Sorumluluk ve Bağımsız Dağıtım (1 Saat)
"Bir Servis, Bir İş" prensibi.
Servis bağımsızlığının önemi ve sürekli teslimat (CI/CD) ile ilişkisi.
- 2.2. Tasarım Desenleri (3 Saat)
API Gateway Deseni: Neden ihtiyaç duyulur? Routing, aggregation, off-loading.
Backend for Frontend (BFF) Deseni: Çoklu istemci uygulamaları için optimize edilmiş API'lar.
Service Discovery: Servisler birbirini nasıl bulur? (Client-side vs. Server-side).
Configuration Management: Merkezi yapılandırma yönetimi.
Pratik: Basit bir API Gateway tasarımı ve Service Discovery mekanizmasının tartışılması.
Beklenen Çıktı: Katılımcılar, senkron (REST, gRPC) ve asenkron (Mesaj Kuyrukları) iletişim yöntemlerini seçip uygulayabilecek ve API'larını nasıl yöneteceğini öğrenecektir.
- 3.1. Senkron İletişim (1.5 Saat)
REST API'ler (En iyi uygulamalar, HATEOAS).
gRPC: Yüksek performanslı RPC çerçevesi. Protobuf kullanımı.
- 3.2. Asenkron İletişim ve Mesajlaşma (1.5 Saat)
Event-Driven Mimari (EDA) ve Mikroservisler.
Message Queue (RabbitMQ, Kafka) kavramları: Pub/Sub, Point-to-Point.
Veri tutarlılığı için Saga Deseni (Choreography vs. Orchestration).
- 3.3. API Yönetimi ve Dokümantasyon (1 Saat)
API Versioning stratejileri.
API Gateway üzerinden Rate Limiting, Authentication.
OpenAPI/Swagger ile API dokümantasyonu.
Pratik: REST ve gRPC servisleri yazma ve bir Message Broker üzerinden basit bir event gönderme.
Beklenen Çıktı: Katılımcılar, dağıtık veri yönetiminin zorluklarını (tutarlılık, transaction) anlayacak ve bunları çözmek için uygun desenleri (CQRS, Event Sourcing) uygulayabilecektir.
- 4.1. Dağıtık Veri Yönetimi Zorlukları (1 Saat)
Her Servis İçin Veritabanı (Database per Service) modeli.
Dağıtık Transaction'lar ve CAP Teoremi.
Nihai Tutarlılık (Eventual Consistency) kavramı.
- 4.2. İleri Seviye Veri Desenleri (2 Saat)
CQRS (Command Query Responsibility Segregation): Okuma ve yazma modellerinin ayrılması.
Event Sourcing: State yerine event'ların kaydedilmesi.
Saga Deseni Detaylı İnceleme: Uzun süren işlemlerin yönetimi.
- 4.3. Veri Replikasyonu ve Senkronizasyonu (1 Saat)
Veri bölütleme (Sharding) stratejileri.
CDC (Change Data Capture) kullanım senaryoları.
Pratik: CQRS ve Event Sourcing kullanan basit bir servis tasarımının diyagram üzerinde gösterilmesi.
Beklenen Çıktı: Katılımcılar, bir mikroservisi Docker container'ına alıp, Kubernetes üzerinde dağıtabilecek, CI/CD pipeline'ı oluşturabilecek temel becerileri kazanacaktır.
- 5.1. Containerization Temelleri (2 Saat)
Docker'a Giriş: Image, Container, Dockerfile.
Çok katmanlı (multi-stage) Dockerfile yazımı ve en iyi uygulamalar.
Docker Compose ile lokal geliştirme ortamı oluşturma.
- 5.2. Container Orkestrasyon: Kubernetes (3 Saat)
Kubernetes'e Giriş: Pod, Service, Deployment, Ingress kavramları.
Uygulamanın Kubernetes'te dağıtılması ve servis edilmesi.
ConfigMap ve Secret yönetimi.
Liveness ve Readiness Probe'lar ile sağlık kontrolü.
- 5.3. CI/CD Süreçleri (1 Saat)
Mikroservisler için CI/CD'nin önemi.
GitOps metodolojisine giriş.
Örnek bir CI/CD pipeline akışı (GitLab CI/Jenkins Actions örneği).
Pratik: Bir mikroservisi Dockerize edip, lokal bir Kubernetes cluster'ında (minikube/kind) çalıştırma ve basit bir CI pipeline'ı oluşturma.
Beklenen Çıktı: Katılımcılar, dağıtık bir sistemde kimlik doğrulama, yetkilendirme, servis kimliği ve secret yönetimi gibi temel güvenlik konularını anlayacak ve uygulayabilecektir.
- 6.1. Mikroservis Güvenlik Mimarisi (1 Saat)
Defense in Depth stratejisi.
Servis Mesh (Istio) kavramına giriş ve güvenlikteki rolü.
- 6.2. Kimlik Doğrulama ve Yetkilendirme (2 Saat)
JWT (JSON Web Tokens) standardı.
OAuth 2.0 / OpenID Connect (OIDC) protokolleri.
API Gateway ve servisler arasında token propagation.
Secret yönetimi araçlarına (HashiCorp Vault) giriş.
Pratik: JWT tabanlı basit bir kimlik doğrulama mekanizmasının tasarlanması.
Beklenen Çıktı: Katılımcılar, performans darboğazlarını tespit edebilecek, ölçeklendirme stratejileri geliştirebilecek ve sistem sağlığını izleyebilecek araç ve yöntemleri öğrenecektir.
- 7.1. Performans İzleme ve Ölçeklendirme (2 Saat)
Application Performance Monitoring (APM) araçları.
Merkezi Loglama (ELK Stack) ve Dağıtık İzleme (Prometheus, Grafana).
Yük Dengeleme (Load Balancing) stratejileri.
Dikey ve Yatay Ölçeklendirme. Auto-scaling.
Caching Stratejileri (Redis) ve CDN kullanımı.
- 7.2. Yüksek Erişilebilirlik ve Felaket Kurtarma (1 Saat)
Multi-region dağıtım stratejileri.
Circuit Breaker, Retry, Fallback desenleri ile dayanıklılık.
Pratik: Bir uygulamanın metriklere dayalı olarak otomatik ölçeklendirilmesinin Kubernetes üzerinde gösterilmesi.
Beklenen Çıktı: Katılımcılar, öğrendikleri tüm kavramları bir araya getirerek, senaryo bazlı bir problem üzerinde takım halinde çözüm tasarlayacak ve sunacaktır.
- 8.1. Vaka Çalışmaları ve En İyi Uygulamalar (1 Saat)
Netflix, Uber, Amazon gibi şirketlerin mikroservis yolculukları.
Başarısızlık senaryolarından alınan dersler.
Mikroservis migration stratejileri (Strangler Fig Pattern).
- 8.2. Capstone Proje Çalışması ve Sunumları (2 Saat)
Senaryo: "E-Ticaret Platformu Mikroservis Tasarımı".
Katılımcıların gruplar halinde mimariyi tasarlaması, teknoloji stack'ini seçmesi ve kritik karar noktalarını (iletişim, veri, güvenlik, deployment) savunması.
Grup sunumları ve eğitmen geri bildirimi.
Öğrencilerimizin İlham Verici Başarı Hikayelerini Keşfedin
../../blog/10
Mikroservis Mimarisi ile Dağıtık Sistemler Geliştirme Eğitimi |
|
Eğitimin Genel Amacı: Katılımcıların, mikroservis ekosistemini oluşturan tüm bileşenleri (tasarım, iletişim, veri yönetimi, DevOps, güvenlik, performans) derinlemesine anlamasını ve gerçek dünya senaryolarında uygulanabilir, sürdürülebilir ve ölçeklenebilir çözümler tasarlayıp geliştirebilmesini sağlamak. Hedef Kitle: Yazılım Geliştiriciler, DevOps Mühendisleri, Sistem Yöneticileri ve Teknik Takım Liderleri. |
Ne Öğreneceğim?
Bu eğitimde, mikroservis mimarisi ile dağıtık sistemler konusunda gerekli olan bilgi ve becerileri öğreneceksiniz. Bu eğitimde: Giriş ve Temel Kavramlar: Katılımcılar, mikroservis mimarisinin felsefesini, monolitik mimariden farklarını ve ne zaman/neden tercih edilmesi gerektiğini analiz edebilecektir.x Mikroservis Tasarım İlkeleri ve Desenleri: Katılımcılar, bağımsız, sürdürülebilir ve bakımı kolay mikroservisler tasarlamak için gerekli ilke ve desenleri uygulayabilecektir. Servisler Arası İletişim ve API Yönetimi: Katılımcılar, senkron (REST, gRPC) ve asenkron (Mesaj Kuyrukları) iletişim yöntemlerini seçip uygulayabilecek ve API'larını nasıl yöneteceğini öğrenecektir. Doctype ve Meta Bilgileri: Katılımcılar, dağıtık veri yönetiminin zorluklarını (tutarlılık, transaction) anlayacak ve bunları çözmek için uygun desenleri uygulayabilecektir. DevOps, Container ve Orkestrasyon: Katılımcılar, bir mikroservisi Docker container'ına alıp, Kubernetes üzerinde dağıtabilecek, CI/CD pipeline'ı oluşturabilecek temel becerileri kazanacaktır. Güvenlik: Katılımcılar, dağıtık bir sistemde kimlik doğrulama, yetkilendirme, servis kimliği ve secret yönetimi gibi temel güvenlik konularını anlayacak ve uygulayabilecektir. Performans, Ölçeklenebilirlik ve İzleme: Katılımcılar, performans darboğazlarını tespit edebilecek, ölçeklendirme stratejileri geliştirebilecek ve sistem sağlığını izleyebilecek araç ve yöntemleri öğrenecektir. Gerçek Dünya Senaryoları ve Capstone Projesi: Katılımcılar, öğrendikleri tüm kavramları bir araya getirerek, senaryo bazlı bir problem üzerinde takım halinde çözüm tasarlayacak ve sunacaktır. |
|
|
Sertifikalar
Eğitimi tamamlayan öğrencilerimiz, Web Development konusunda uzmanlıklarını geliştirerek uluslararası geçerliliğe sahip Microsoft sertifikası ve ITS sertifikası almak için sınava girebilirler. Bu sertifikalar, işverenler tarafından dünya genelinde kabul edilen bir referans olarak görülmekte ve kariyerlerinde ilerlemelerine yardımcı olmaktadır.
|
Eğitmenlerimiz
Program Koordinatörü: Prof. Dr. Çetin Kaya KOÇ (CV'ye erişmek için tıklayınız) |






_Specialist_Certificate.jpg)






