Eğitim İçeriği
Giriş
- Sistem ve servis mimarisi, PaaS ve bulut yerel tasarımı
Monolitik Sistem Mimarisine Genel Bakış
- Tüm monolitik uygulama işlevselliğinin tek bir süreçte çalıştırılması
- Scalability, birden çok sunucuya yayarak
- Monolitik sistemlerde kullanılan protokoller: EAI, CORBA vb.
Web Servislerine Genel Bakış
- Servis Odaklı Mimari (SOA) ve Microservices Mimarisi
Service-Oriented Architecture (SOA)
- SOA'nın Faydaları ve Maliyetleri
- SOA'yı Uygulamadaki Başarılar ve Başarısızlıklar
- Mesajlaşma ve ESB
- SOA'yı Destekleyen Altyapı ve Araçlar
Nasıl Microservices Web Servisi Konseptlerini Uygulanır
- Tek bir şeyi yapın ve onu iyi yapın
- DevOps
- Sürekli Dağıtım ve Teslimat (Sürekli Entegrasyon, Sürekli Oluşturma Süreci vb.)
- Hafif protokoller
Mikroservis Protokolleri ve Standartları
- HTTP, JMS, AMQP, Websocket'ler, JSON vb.
Microservices Oluşturmak için Geliştirme Çerçeveleri
- Java tabanlı çerçeveler (Spring Cloud)
- Javascript tabanlı çerçeveler (Seneca)
Monolitik Uygulamayı Ayrıştırma
- Bağımsız olarak dağıtılabilir uygulamalar geliştirme
- Mikroservis uygulamalarını iş yetenekleri etrafında düzenleme
- Vaka çalışması: Monolitik bir uygulamayı üç temel mikroservise geçirme
Spring Cloud Geliştirme Ortamını Kurma
- Docker ve Docker Compose'u kurma
- Ortam değişkenlerini ayarlama
Spring Cloud ve Spring Boot'e Genel Bakış
- Spring Cloud alt projeleri: Config Server & Bus, Eureka, Ribbon, Feign ve Hystrix
- Spring Boot
Spring Boot uygulaması oluşturma
Spring Cloud Config ile merkezi, sürüm kontrollü yapılandırma yönetimi
Spring Cloud Bus ile dinamik yapılandırma güncellemeleri
Eureka ile servis keşfi
Ribbon ile yük dengeleme
Hystrix ile devre kesiciler uygulama
Feign ile bildirimsel REST istemcileri
API Ağ Geçidi ile çalışma
Bir mikroservis uygulamasını güvence altına alma
Gecikmeleri ortaya çıkarmak için mikroservisleri izleme
Microservices Dağıtma
- Konteynerler (Docker, K8N, LXC vb...)
- Configuration Management (Ansible vb...)
- Servis keşfi
- Microservices İzleme ve Yönetme
- Microservices için Altyapı
Bulut ve Microservices'in Scalability'si
- Mikroservis yedekliliği ve hata toleransı
- Microservices için performans ölçeklenebilirliği
- Otomatik ölçeklenebilirlik
- OpenStack, AWS ve diğer bulut platformlarında Microservices uygulama
Dağıtılmış Uygulamalar için Yaygın Sorunları Giderme
- Ekosistemin karmaşıklığı
- Ağ Performansı
- Güvenlik
- Dağıtım
- Test
- Nano-servisler
Üretim Hazır Sistemler Oluşturmak İçin Son Düşünceler
- Sistemi yeni başlayanlar için kolaylaştırma
- Sistemi, kurumsal uygulamalar için temel oluşturacak şekilde tamamlayın
Özet ve Sonuç
Kurs İçin Gerekli Önbilgiler
- Yazılım ve sistem mühendisliği bilgisi
- Java geliştirme deneyimi
- Spring Framework ile deneyim
Hedef Kitle
- Java geliştiricilerinin mikro hizmetleri hızlı bir şekilde oluşturmak ve dağıtmak istemesi
- Sistem mimarlarının bir mikro hizmet mimarisi uygulamak istemesi