Eğitime genel bakış
Bu 7 günlük eğitim programı, geliştirme ekibinizi .NET ekosistemi kullanarak üretim kalitesinde mikroservislerin tasarımı, geliştirilmesi ve işletilmesi için gerekli bilgi ve pratik becerilerle donatır. Kurumsal ölçekte dağıtık sistemler geliştirme deneyimine sahip kıdemli mimarlar tarafından sunulan program, teori ile gerçek dünya uygulama kalıplarını dengeler.
Kurs içeriği
1. Mikroservislere giriş
- Monolit, modüler monolit ve mikroservis karşılaştırması
- Mikroservise geçişin maliyeti: ağ, tutarlılık, işletme
- Ne zaman geçilmemeli
- Strangler fig ile kademeli geçiş
2. Domain-Driven Design
- Ubiquitous language
- Bounded context ve context map
- Aggregate, entity ve value object
- Domain olayları
- Uygulama: örnek bir monolitin sınırlarını çizmek
3. Servis sözleşmeleri
- API-first tasarım
- REST ve gRPC sözleşmeleri
- Sürümleme ve geriye uyumluluk
- Hata modeli ve hata kodları
4. ASP.NET Core ile servis
- Minimal API ve controller karşılaştırması
- Dependency injection ve servis ömürleri
- Konfigürasyon, options deseni ve sırlar
- Middleware hattı
- Sağlık kontrolleri
5. Mimari desenler
- Clean Architecture katmanları
- Vertical slice mimarisi
- CQRS: komut ve sorgu ayrımı
- Repository ve specification desenleri
6. Veri erişimi
- Entity Framework Core ile modelleme
- Migration yönetimi
- Servis başına veritabanı
- İyimser eşzamanlılık ve concurrency token
- Uygulama: CQRS ile ilk servis
7. Senkron iletişim
- HTTP istemcileri ve HttpClientFactory
- gRPC ile servisler arası çağrı
- API geçidi ve BFF deseni
- Senkron çağrının riskleri: zincirleme hata
8. Asenkron iletişim
- Mesaj kuyruğu ve yayın-abone modeli
- RabbitMQ, Kafka ve Azure Service Bus karşılaştırması
- Transactional outbox
- Idempotent tüketici
- Uygulama: MassTransit ile olay yayını
9. Dağıtık veri yönetimi
- Nihai tutarlılık
- Saga: koreografi ve orkestrasyon
- Telafi edici işlemler
- Yerel projeksiyonlar
10. Konteynerleştirme
- Docker temelleri
- .NET için çok aşamalı build
- İmaj boyutu ve güvenlik taraması
- Docker Compose ile yerel ortam
11. Kubernetes
- Pod, Deployment, Service ve Ingress
- ConfigMap ve Secret
- Kaynak istekleri ve limitler
- Helm chart’ları ve ortam yönetimi
- Uygulama: servisleri kümeye dağıtmak
12. Gözlemlenebilirlik
- Yapılandırılmış log: Serilog
- OpenTelemetry ile dağıtık iz
- Metrikler ve panolar
- İz kimliğini mesaj kuyruğunda taşımak
13. Dayanıklılık
- Polly ile retry ve timeout
- Circuit breaker ve bulkhead
- Graceful shutdown
- Yük testi temelleri
14. CI/CD
- GitHub Actions ve Azure DevOps hatları
- Test aşamaları: birim, entegrasyon, sözleşme
- Ortamlar arası terfi
- Uygulama: uçtan uca CI/CD ve izleme panosu
Program akışı
Her modül yaklaşık 4 saat, yani yarım gün sürer; toplam 56 saat.
-
- gün: modül 1 ve 2
-
- gün: modül 3 ve 4
-
- gün: modül 5 ve 6
-
- gün: modül 7 ve 8
-
- gün: modül 9 ve 10
-
- gün: modül 11 ve 12
-
- gün: modül 13 ve 14
Ön koşullar
- C# ve .NET (Core 6+) ile sağlam deneyim
- RESTful API’ler ve SQL veritabanları hakkında temel anlayış
- Git ve komut satırı araçlarına aşinalık
- Docker Desktop ve .NET 10 SDK kurulu dizüstü bilgisayarlar
- Yerinde veya uzaktan: ofislerinizde veya interaktif sanal oturumlar aracılığıyla sunulur
- Uygulamalı laboratuvarlar: %60 pratik alıştırmalar, %40 eğitmen eşliğinde teori
- Lab ortamı: önceden yapılandırılmış bulut tabanlı lab ortamları sağlanır
- Materyaller: kapsamlı kurs el kitabı, kod depoları ve referans mimariler
- Sertifika: tüm katılımcılar için ByteGurus eğitim tamamlama sertifikası