GERİ DÖN

Ders Öğretim Planı


Dersin Kodu Dersin Adı Dersin Türü Yıl Yarıyıl AKTS
501008082023 MICROSERVICES Seçmeli Ders Grubu 4 8 5,00

Lisans


Türkçe


Bu dersin amacı, öğrencilerin; mikroservisler ile ilgili kavramlar hakkında bilgi sahibi olmasını, mikroservis mimarisinin monolitik mimariden farklarını ayırt edebilmesini, mikroservislerin tasarım prensiplerini kavrayabilmesini, ve temel düzeyde bir mikroservis tasarlama ve geliştirme yeteneğini kazanabilmesini sağlamaktır.


Dr. Öğr. Üyesi Birol ÇİLOĞLUGİL


1 Mikroservisler kavramını ve mimarisini kavrayabilme.
2 Mikroservis mimarisinin monolitik mimariden farklarını ayırt edebilme.
3 Mikroservis tasarım prensiplerini kavrayabilme.
4 Monolitik mimarileri mikroservislere ayrıştırabilme.
5 Java Spring Boot veya Kubernetes ile temel düzeyde bir mikroservis tasarlayabilme ve gerçekleştirimini yapabilme.

Birinci Öğretim



[Yok]


Mikroservisler: Mikroservislerin tarihçesi ve temel özellikleri; Mikroservisler Mimarisi: Özellikleri, faydaları, olumsuzlukları, monolitik mimariden farkları; Mikroservis Tasarım Prensipleri: Mikroservislerin tasarım ilkeleri ve tasarım süreci, Uygulama alanı odaklı tasarım (Domain driven design), Monolitik sistemlerin mikroservislere ayrıştırılması, Konuşlandırma (deployment), test etme (testing), izleme (monitoring) ve güvenlik (security), Büyük ölçekli mikroservisler, Test güdümlü geliştirme (Test driven development); Mikroservis Uygulamaları: Servis tasarımı, sistem tasarımı ve işlemler, mikroservis uygulama örnekleri; Java Spring Boot ile mikroservis geliştirilmesi; Docker ve Kubernetes ile mikroservis geliştirilmesi.


Hafta Konular (Teorik) Öğretim Yöntem ve Teknikleri Ön Hazırlık
1 Mikroservisler: Mikroservislerin tarihçesi ve temel özellikleri
2 Mikroservisler Mimarisi: Özellikleri, faydaları, olumsuzlukları, monolitik mimariden farkları
3 Mikroservis Tasarım Prensipleri: Mikroservislerin tasarım ilkeleri ve tasarım süreci
4 Mikroservis Tasarım Prensipleri: Uygulama alanı odaklı tasarım (Domain driven design)
5 Mikroservis Tasarım Prensipleri: Monolitik sistemlerin mikroservislere ayrıştırılması
6 Mikroservis Tasarım Prensipleri: Konuşlandırma (deployment), test etme (testing), izleme (monitoring) ve güvenlik (security)
7 Mikroservis Tasarım Prensipleri: Büyük ölçekli mikroservisler, Test güdümlü geliştirme (Test driven development)
8 Ara sınav
9 Mikroservis Uygulamaları: Servis tasarımı, sistem tasarımı ve işlemler, mikroservis uygulama örnekleri
10 Java Spring Boot ile mikroservis geliştirilmesi
11 Java Spring Boot ile mikroservis geliştirilmesi
12 Docker ve Kubernetes ile mikroservis geliştirilmesi
13 Docker ve Kubernetes ile mikroservis geliştirilmesi
14 Docker ve Kubernetes ile mikroservis geliştirilmesi
15 Proje Değerlendirmesi: Geliştirilen mikroservislerin sunularak tartışılması
16 Final Sınavı

1) Newman, S. (2015). Building microservices: designing fine-grained systems. O'Reilly Media, Inc. 2) Nadareishvili, I., Mitra, R., McLarty, M., & Amundsen, M. (2016). Microservice architecture: aligning principles, practices, and culture. O'Reilly Media, Inc. 3) Posta, C. (2016). Micro-services for Java Developers, A Hands-on Introduction to Frameworks and Containers. O'Reilly Media, Inc. 4) Carnell, J. (2017). Spring Microservices in Action. Manning Publications Company.


Etkinlikler ayrıntılı olarak "Değerlendirme" ve "İş Yükü Hesaplaması" bölümlerinde verilmiştir.


Yarıyıl (Yıl) İçi Etkinlikleri Adet Değer
Ara Sınav 1 100
Toplam 100
Yarıyıl (Yıl) Sonu Etkinlikleri Adet Değer
Final Sınavı 1 100
Toplam 100
Yarıyıl (Yıl) İçi Etkinlikleri 40
Yarıyıl (Yıl) Sonu Etkinlikleri 60


Etkinlikler Sayısı Süresi (saat) Toplam İş Yükü (saat)
Ara Sınav 1 2 2
Final Sınavı 1 2 2
Derse Katılım 14 3 42
Proje Hazırlama 1 50 50
Proje Sunma 1 2 2
Ara Sınav İçin Bireysel Çalışma 1 22 22
Final Sınavı içiin Bireysel Çalışma 1 30 30
Toplam İş Yükü (saat) 150

PÇ 1 PÇ 2 PÇ 3 PÇ 4 PÇ 5 PÇ 6 PÇ 7 PÇ 8 PÇ 9 PÇ 10 PÇ 11
ÖÇ 1 3 4 3 3 4
ÖÇ 2 3 4 3 3 4
ÖÇ 3 4 5 4 4 4
ÖÇ 4 4 5 4 4 4 3
ÖÇ 5 5 4 5 5 4 4 3 3 3 4
* Katkı Düzeyi : 1 Çok düşük 2 Düşük 3 Orta 4 Yüksek 5 Çok yüksek