PYTHON İLE MİCROSERVİS GELİŞTİRME
EĞİTİM SÜRESİ
-
Format 1
- 5 Gün
- Ders Süresi: 50 dakika
- Eğitim Saati: 10:00 - 17:00
-
Format 2
- 12 Gün
- Ders Süresi: 50 dakika
- Eğitim Saati: 10:00 - 17:00
Her iki eğitim formatında eğitimler 50 dakika + 10 dakika moladır. 12:00-13:00 saatleri arasında 1 saat yemek arasındaki verilir. Günde toplam 6 saat eğitim verilir. 5 günlük formatta 30 saat eğitim, 12 günlük formatta toplam 72 saat eğitim verilmektedir. 12 saatlik eğitmde katılımcılar kod yazar ve eğitmenle birlikte sorulan sorulara ve taleplere uygun içerikler ve örnekler çalışılır.
Eğitimler uzaktan eğitim formatında tasarlanmıştır. Her eğitim için teams linkleri gönderilir. Katılımcılar bu linklere girerek eğitimlere katılırlar. Ayrıca farklı remote çalışma araçları da eğitmen tarafından tüm katılımlara sunulur. Katılımcılar bu araçları kullanarak eğitimlere katılırlar.
Eğitim içeriğinde github ve codespace kullanılır. Katılımcılar bu platformlar üzerinden örnek projeler oluşturur ve eğitmenle birlikte eğitimlerde sorulan sorulara ve taleplere uygun iceriğe cevap verir. Katılımcılar bu araçlarla eğitimlerde sorulan sorulara ve taleplere uygun iceriğe cevap verir.
Eğitim yapay zeka destekli kendi kendine öğrenme formasyonu ile tasarlanmıştır. Katılımcılar eğitim boyunca kendi kendine öğrenme formasyonu ile eğitimlere katılırlar. Bu eğitim formatı sayesinde tüm katılımcılar gelecek tüm yaşamlarında kendilerini güncellemeye devam edebilecekler ve her türlü sorunun karşısında çözüm bulabilecekleri yeteneklere sahip olacaklardır.
MİCROSERVİS MİMARİSİ VE PYTHON İLE UYGULAMA GELİŞTİRME: DİJİTAL DÖNÜŞÜMDEKİ GÜCÜNÜZÜ KEŞFEDİN!
Yazılım geliştirme dünyası hızla değişiyor ve bu değişime ayak uydurabilmek için mikroservis mimarisine hakim olmanız, sektördeki rekabette bir adım önde olmanızı sağlar. Eğer Python bilgisiyle güçlü, ölçeklenebilir ve güvenli uygulamalar geliştirmeyi hedefliyorsanız, bu eğitim tam size göre! Hem teorik hem pratik bilgilerle donanmış bir yolculuğa çıkmaya hazır mısınız?
NEDEN BU EĞİTİMİ SEÇMELİSİNİZ?
Bu kapsamlı eğitim, Python ile mikro hizmetler geliştirme konusunda uzmanlaşmanıza yardımcı olacak. Docker, Kubernetes, OpenShift gibi modern platformlarla uygulama geliştirmenin tüm aşamalarını öğrenerek dijital projelerinizi daha verimli ve etkili hale getirebilirsiniz. Eğitimle birlikte edineceğiniz bilgi ve beceriler, sizi yazılım geliştirme alanındaki en güncel teknolojilerle donatacak. İşte eğitimimizin sunduğu başlıca avantajlar:
-
1. Mikroservis Mimarisi ve Python’a Giriş
Python’un gücünden faydalanarak mikro hizmetlerin temellerini öğrenecek ve hızlı API geliştirme framework’leri (Flask, FastAPI, Django) hakkında bilgi sahibi olacaksınız. Mikro hizmetler için doğru veritabanı tasarımı ile projelerinizi sağlam temellere oturtabilirsiniz.
-
2. Docker ile Konteynerleştirme
Python uygulamalarını Docker ile konteynerleştirerek geliştirme süreçlerinizi hızlandıracak ve verimliliğinizi artıracaksınız. Docker Compose ile birden fazla mikro servisi yönetme konusunda bilgi sahibi olabilirsiniz.
-
3. Kubernetes ile Orkestrasyon
Kubernetes’te Python mikro servislerini nasıl dağıtacağınızı, servis yönlendirmeyi ve yük dengelemesini nasıl gerçekleştireceğinizi öğreneceksiniz. Ayrıca, auto-scaling gibi gelişmiş özellikleri kullanarak sisteminizin yüksek performansla çalışmasını sağlayacaksınız.
-
4. OpenShift ile Mikroservis Yönetimi
OpenShift platformu ile mikro hizmetlerinizi daha güvenli ve yönetilebilir bir şekilde dağıtabilirsiniz. CI/CD süreçlerini entegre ederek sürekli geliştirme ve dağıtım süreçlerini otomatikleştireceksiniz.
-
5. Mikro Servislerin Yönetimi ve İzlenmesi
Prometheus ve Grafana ile sisteminizin performansını izleyecek, EFK Stack ile log yönetimini etkin bir şekilde yapacaksınız. Jaeger ile hata yönetimi teknikleri sayesinde uygulamalarınızda karşılaşabileceğiniz sorunları hızlıca tespit edeceksiniz.
-
6. Uygulama Güvenliği ve İleri Düzey Konular
Mikroservislerinizin güvenliğini sağlamak için OAuth2, JWT ve servis mesh gibi en son güvenlik teknolojilerine dair detaylı bilgiler edineceksiniz. Bu beceriler, uygulamalarınızı sadece güçlü değil, aynı zamanda güvenli hale getirmenizi sağlayacak.
EĞİTİM HEDEFİ
Bu eğitimin amacı, katılımcılara modern yazılım geliştirme süreçlerinde önemli bir yer tutan microservis mimarisini anlamalarını ve Python ile mikro hizmet tabanlı uygulamalar geliştirme becerisi kazandırmaktır. Eğitimi tamamlayan katılımcılar, aşağıdaki hedeflere ulaşmış olacaktır:
1. MİCROSERVİS MİMARİSİ TEMELLERİ
Microservis mimarisinin avantajlarını ve zorluklarını, monolitik yapılarla karşılaştırarak kavrayabilecek ve büyük uygulamaları mikro hizmetlere ayırarak nasıl geliştireceklerini öğrenebileceklerdir.
2. PYTHON İLE MİCROSERVİS GELİŞTİRME
Python tabanlı framework'ler (Flask, FastAPI, Django Rest Framework) kullanarak RESTful API'ler geliştirme becerisi kazanacak, ayrıca mikro hizmetler için veritabanı tasarımını uygulamalı olarak öğreneceklerdir.
3. DOCKER İLE KONTEYNERLEŞTİRME
Python uygulamalarını Docker ile konteynerleştirerek taşınabilir, izole ve verimli çalışma ortamları yaratabileceklerdir.
4. KUBERNETES İLE ORKESTRASYON
Kubernetes üzerinde Python mikro servislerini dağıtma, yönetme ve ölçeklendirme konularında deneyim kazanacak, mikro servislerin birbirine bağlanması ve yük dengeleme işlemlerini gerçekleştirebileceklerdir.
5. OPENSHİFT İLE YÖNETİM VE GÜVENLİK
OpenShift platformu kullanarak mikro hizmetlerin dağıtımını ve güvenliğini sağlama, ayrıca CI/CD süreçlerini entegrasyonlarla otomatikleştirme becerisi kazanacaklardır.
6. MİKRO SERVİS İZLEME VE YÖNETİM
Prometheus, Grafana ve EFK Stack gibi araçlarla mikro servislerin izlenmesi ve log yönetimi hakkında derinlemesine bilgi sahibi olacak, Jaeger ve health check kullanarak hata yönetimini optimize edebileceklerdir.
7. UYGULAMA GÜVENLİĞİ VE EN İYİ UYGULAMALAR
Mikro servislerin güvenliğini sağlamak için OAuth2, JWT, ve servis mesh gibi ileri düzey güvenlik tekniklerini öğrenerek, uygulamalarını güvenli bir şekilde yöneteceklerdir.
Bu eğitim, katılımcıların mikro hizmet mimarisi, konteynerleştirme, orkestrasyon ve güvenlik konularında yetkinlik kazanmalarını sağlayarak, modern yazılım geliştirme dünyasında başarılı projelere imza atmalarına yardımcı olacaktır.
EĞİTİM İÇERİĞİ
BÖLÜM 1: MİCROSERVİS MİMARİSİ VE PYTHON’A GİRİŞ
1. MİCROSERVİS MİMARİSİ NEDİR?
- Microservis Tanımı ve Temel Kavramlar: Microservisler, büyük, monolitik uygulamaları küçük, bağımsız çalışabilen servisler halinde bölerek geliştirmeyi amaçlayan bir yazılım mimarisidir. Her bir mikro servis tek bir işlevi yerine getirir ve bağımsız olarak çalışabilir.
- Monolitik Yapılar ile Microservis Mimarisi Karşılaştırması
-
Microservislerin Avantajları ve Zorlukları:
- Avantajlar: Esneklik, ölçeklenebilirlik, hızlı dağıtım
- Zorluklar: Servisler arası iletişim, veri tutarlılığı, hata yönetimi
2. PYTHON İLE MİCROSERVİS GELİŞTİRME
-
Python İçin Microservis Framework'leri:
- Flask ve FastAPI: Flask, mikro hizmetler için minimal bir web çatısı olarak, FastAPI ise hızlı API geliştirme için idealdir.
- Django Rest Framework (DRF): Django ile RESTful API’ler geliştirmek için kullanılır.
- Python ile HTTP ve REST API Geliştirme: HTTP protokolü, GET, POST, PUT, DELETE istekleri ve RESTful API ilkeleri.
-
Microservisler İçin Veritabanı Tasarımı:
- Her mikro servisin kendi veritabanına sahip olması, veri tutarlılığı ve entegrasyonu.
- Veritabanı yönetimi için Python araçları: SQLAlchemy, Tortoise ORM, Django ORM.
BÖLÜM 2: DOCKER VE KONTEYNERLEŞTİRME
1. Docker'a Giriş ve Temel Kavramlar
- Docker Nedir? Docker, yazılım uygulamalarının, bağımlılıklarıyla birlikte bir konteynırda paketlenmesini sağlar. Bu, taşınabilirlik ve izole çalışma ortamları sağlar.
-
Docker’ın Temel Bileşenleri:
- Docker Image: Yazılımın tüm bağımlılıklarıyla birlikte paketlendiği dosya.
- Docker Container: Docker Image’tan çalıştırılabilir bir konteyner.
- Dockerfile: Uygulamanın nasıl paketleneceğini ve çalıştırılacağını belirten dosya.
-
Docker Komutları ve Kullanım:
- `docker build`, `docker run`, `docker ps`, `docker logs`
- Docker Compose ile çoklu konteyner yönetimi
2. Python Uygulamasını Docker ile Konteynerleştirme
- Python Uygulaması İçin Dockerfile Yazma
- Konteynerleştirilmiş Python Microservisini Çalıştırma ve Test Etme
-
Docker Compose ile Microservislerin Yönetilmesi:
- Çoklu Python mikro servislerini bir arada çalıştırma
- Veritabanı bağlantılarının yapılandırılması
- Konteyner ağlarının oluşturulması
BÖLÜM 3: KUBERNETES İLE ORKESTRASYON
1. Kubernetes Nedir?
-
Kubernetes Temel Kavramları ve Yapısı:
- Pod: Kubernetes'teki en küçük dağıtım birimi.
- Deployment: Pod’ların çoğaltılması ve yönetilmesi için kullanılan yapı.
- Service: Mikro servislerin birbirine bağlanmasını ve dış dünyaya açılmasını sağlar.
- ConfigMap ve Secret: Konfigürasyon ve gizli verilerin yönetilmesi.
- Ingress Controller: Dışarıdan gelen isteklerin yönlendirilmesi.
-
Kubernetes Cluster Yapılandırması:
- Kubernetes kontrol düğümü ve işçi düğümleri
- Kubernetes API Server, Controller Manager, Scheduler, Kubelet
2. Python Microservislerinin Kubernetes Üzerinde Dağıtılması
-
Kubernetes Pod ve Deployment Oluşturma:
- Kubernetes YAML dosyaları ile deployment oluşturma
- Replikasyon ve ölçekleme
-
Kubernetes ile Servis Yönlendirme:
- Python mikro servislerinin birbirine bağlanması
- Kubernetes Service türleri: ClusterIP, NodePort, LoadBalancer
-
Kubernetes ile Yük Dengeleme ve Auto-Scaling:
- Yük dengeleme ve otomatik ölçekleme (Horizontal Pod Autoscaler)
- Kaynak yönetimi ve limitler (CPU, bellek)
3. Kubernetes ile DevOps Entegrasyonu
-
CI/CD (Continuous Integration/Continuous Deployment) Pipeline’ları:
- Kubernetes üzerinde CI/CD süreçlerinin yapılandırılması
- Jenkins, GitLab CI, CircleCI ile Kubernetes entegrasyonu
BÖLÜM 4: OPENSHİFT İLE MİCROSERVİSLERİN YÖNETİMİ
1. OpenShift Nedir?
- OpenShift’in Temel Özellikleri ve Kubernetes ile Farkları: OpenShift, Kubernetes üzerine inşa edilen ve kurumsal düzeyde güvenlik, çoklu ortam yönetimi ve uygulama yönetim araçları sağlayan bir platformdur.
-
OpenShift Cluster Yapılandırması:
- OpenShift projeleri, namespace'ler, kullanıcı yönetimi
- OpenShift CLI (oc) kullanımı
2. Python Microservislerini OpenShift Üzerinde Yayınlama
- OpenShift ile Deployment ve Pod Yönetimi
- OpenShift Route ile Dış Erişim Sağlama
-
OpenShift ile Kaynak Yönetimi ve İzinler:
- OpenShift Security Context, Network Policies, Role-Based Access Control (RBAC)
- OpenShift Secrets ve ConfigMaps yönetimi
3. OpenShift CI/CD Entegrasyonu
- Jenkins ile OpenShift Entegrasyonu
- OpenShift Pipelines (Tekton) ile CI/CD Otomasyonu
- Automated Builds and Deployments
BÖLÜM 5: MİKRO SERVİSLERİN YÖNETİMİ VE İZLENMESİ
1. Mikro Servislerin İzlenmesi (Monitoring)
-
Prometheus ve Grafana ile İzleme:
- Prometheus kullanarak microservislerin izlenmesi
- Grafana ile metriklerin görselleştirilmesi
-
Elasticsearch, Fluentd ve Kibana (EFK Stack) ile Log Yönetimi:
- Mikro servislerin loglarının toplanması ve analizi
2. Mikro Servislerin Hata Yönetimi ve Debugging
-
Distributed Tracing ve Jaeger ile İzleme:
- Microservisler arasında isteklerin izlenmesi
- Jaeger kullanarak hataların ve gecikmelerin tespiti
- Health Check ve Readiness Probe ile Servis Sağlığı İzleme
BÖLÜM 6: UYGULAMA GÜVENLİĞİ VE İLERİ DÜZEY KONULAR
1. Mikro Servislerde Güvenlik
- OAuth2 ve JWT ile Kimlik Doğrulama ve Yetkilendirme
- Mutual TLS ile Güvenli Mikro Servis İletişimi
- API Gateway ve Rate Limiting ile Güvenlik
2. Servis Mesh ile Mikro Servis İletişimi ve Güvenliği
- Istio ve Linkerd ile Servis Mesh Kullanımı
- Servis Mesh ile Tracing ve Monitoring
3. Yüksek Erişilebilirlik ve Felaket Kurtarma
- Kubernetes ve OpenShift ile Yüksek Erişilebilirlik
- Failover ve Yedekleme Stratejileri
BÖLÜM 7: PROJE YÖNETİMİ VE EN İYİ UYGULAMALAR
1. Microservis Proje Yönetimi
- Microservis Geliştirme ve Dağıtımında En İyi Uygulamalar
- CI/CD ile Sürekli Dağıtım ve Sürekli Entegrasyon
- Modülerlik ve Servis Bağımlılıkları Yönetimi
2. Sürekli Öğrenme ve İyileştirme
- Mikro Servislerin Sürekli Geliştirilmesi
EĞİTİM YÖNTEMİ
- Canlı Oturumlar ve Uygulamalı Çalışmalar: Eğitimde, her bölümde konu anlatımı ardından, katılımcılara uygulamalı alıştırmalar yapılacaktır. Bu alıştırmalar, gerçek zamanlı mikro hizmet geliştirme ve yönetim senaryoları üzerinde odaklanacaktır.
- Mentorluk ve Grup Çalışmaları: Katılımcılara, grup içinde işbirliği yapma, birbirlerine geri bildirim verme ve uzman eğitmenlerden mentorluk alarak sorun çözme fırsatı sunulacaktır. Bu yöntem, katılımcıların hem teorik bilgilerini pekiştirmelerini hem de uygulama deneyimlerini artırmalarını sağlayacaktır.
DESTEK VE GERİ BİLDİRİM
- Eğitmen Desteği: Katılımcılar eğitim süresince, eğitmenlerinden birebir destek alabilir ve teknik sorularını çözebilirler.
KATILIMCI GEREKSİNİMLERİ
- Temel Python bilgisi gereklidir. Eğitimde Python dilini kullanarak mikro hizmetler geliştireceğiz, bu nedenle Python'a aşina olmak önemlidir.
- Docker, Kubernetes ve OpenShift gibi teknolojiler hakkında temel bilgi, eğitim sürecini daha verimli hale getirecektir, ancak bu konular eğitimin içinde detaylıca ele alınacaktır.
EĞİTİM SONRASI KATILIMCI YARARLARI
- Katılımcılar, Python ile mikro servis geliştirme, Docker ve Kubernetes kullanarak konteynerleştirme ve orkestrasyon yapabilme becerisi kazanacaklardır.
- Gerçek dünyada uygulayabilecekleri pratik bilgi ve deneyimle donanmış olacaklardır.
- Mikro servis güvenliği, izleme, hata yönetimi gibi ileri düzey konularda yetkinlik kazandıkları için, endüstrideki projelerde etkin rol alabileceklerdir.
Bu eğitim, katılımcılara modern yazılım geliştirme süreçlerinde başarılı olmak için gerekli tüm bilgi ve becerileri kazandırmayı amaçlamaktadır.
HEDEF KİTLE
-
Yazılım Geliştiriciler (Junior ve Senior Seviye):
- Python ve mikro hizmet mimarisi ile ilgili temel bilgiye sahip yazılım geliştiriciler, mikro servis geliştirme becerilerini ileriye taşıyacaklar.
- Docker, Kubernetes gibi konteyner teknolojilerini kullanarak uygulama yönetimini öğrenmek isteyen geliştiriciler.
-
DevOps Uzmanları ve Sistem Yöneticileri:
- Mikro servislerin dağıtımı ve yönetimi konusunda deneyim kazanmak isteyen DevOps mühendisleri.
- Kubernetes, Docker ve OpenShift gibi platformlar üzerinde uygulama izleme ve yönetim konularında bilgi sahibi olmak isteyen sistem yöneticileri.
-
Yazılım Mimarı ve Teknoloji Liderleri:
- Mikro servis mimarisini anlamak ve mevcut projelerine entegre etmek isteyen yazılım mimarları.
- Sistemlerin ölçeklenebilirliğini ve yönetilebilirliğini iyileştirmek isteyen teknoloji liderleri.
-
Startup ve KOBİ Geliştiricileri:
- Küçük ve orta ölçekli işletmelerde (KOBİ) veya startup şirketlerinde çalışan yazılım geliştiriciler, mikro servisler ve konteyner teknolojileri kullanarak ölçeklenebilir uygulamalar oluşturmak isteyenler.
-
Kariyer Değişikliği Yapmak İsteyen Yazılımcılar:
- Web uygulama geliştirme ya da başka yazılım alanlarında deneyim kazanmış olan ancak mikro servis mimarisine geçiş yapmak isteyen profesyoneller.
-
Eğitim ve Mentorluk Arayan Profesyoneller:
- Mikro servisler hakkında daha derinlemesine bilgi edinmek, gelişmiş yazılım mimarisi becerilerini öğrenmek ve iş dünyasında fark yaratmak isteyen profesyoneller.
KATILIMCILARDAN BEKLENTİLERİMİZ
- Aktif Katılım ve İlgili Olma: Eğitim boyunca interaktif tartışmalara katılmak ve öğreticilere sorular sormak. Gerçek dünyadaki senaryolarla ilgili örnekler üzerinden tartışmalar yapmak.
- Temel Yazılım Geliştirme Bilgisi: Python dilinde temel bilgiye sahip olmak (değişkenler, döngüler, fonksiyonlar vb.). Web geliştirme ve API tasarımı hakkında temel bilgi edinmiş olmak.
- Konteyner Teknolojilerine İlgi: Docker ve Kubernetes gibi konteyner yönetim platformlarına yönelik temel anlayışa sahip olmak. Bu araçları öğrenmeye istekli ve gelişmiş düzeyde kullanmaya yönelik motivasyon.
- Pratik Çalışmalar ve Uygulamalar: Eğitimde verilen teorik bilgileri pratik çalışmalarla pekiştirmek için uygulama yapmaya istekli olmak. Mikro servislerin geliştirilmesi, test edilmesi ve yönetilmesi konularında pratik yapma.
- Kendi Bilgisayarında Eğitim Ortamının Hazırlanması: Eğitimde kullanılacak araçların (Docker, Kubernetes, Python framework’leri vb.) kurulumlarını önceden yaparak, uygulamalı derslerde aktif olabilecek ortamı hazırlamak. Eğitim için gerekli olan yazılımları ve araçları kurmak.
- Problem Çözme Yeteneği: Karşılaşılan teknik sorunları çözmek için analitik düşünme ve yaratıcı çözüm üretme becerisi sergilemek. Kendi projelerindeki mikro servis altyapılarıyla ilgili soruları ve zorlukları bu eğitimde çözümlemek.
- Zaman Yönetimi ve Dönemsel Görevlerin Tamamlanması: Eğitim sırasında verilen uygulamalı görevleri zamanında tamamlamak. Her bölüm sonunda öğrendiklerini küçük projelerle pekiştirmek için gereken zamanı ayırmak.
- Açık Fikirli Olma ve Sürekli Öğrenmeye İstekli Olma: Yeni konseptlere açık olmak ve öğrenmeye yönelik hevesli bir tutum sergilemek. Eğitimin sonrasında, mikro servis mimarisi ve ilgili teknolojiler hakkında daha derinlemesine öğrenme isteği taşımak.
Bu beklentiler, katılımcıların eğitim sürecinde aktif bir şekilde yer almalarını, öğrenilen bilgileri günlük iş akışlarına entegre etmelerini ve mikro servis teknolojileriyle daha verimli çalışabilmelerini sağlamayı hedeflemektedir.
Aradığınız Eğitimi Bulduğunuzu Düşünüyorsanız!
Kurumsal eğitim içeriklerimizde sektörün trend ve güncel konularında lider konumdayız. Bu farkı siz de hızla fark edeceksiniz. Dünyada en çok tercih edilen ve 1-10 puanlama sistemine göre 9.5 ve üzeri puan almış konular, sizin için titizlikle hazırlandı.
25 yıllık eğitim sektörü deneyimi ve uluslararası proje tecrübeleriyle birleşerek, dünya çapında yapılan yıllık analizler doğrultusunda en güncel trend kurumsal gereksinimler ve talepler derlendi. Kendi özgün kaynaklarımızla oluşturduğumuz laboratuvar ortamlarında tüm eğitim içerikleri ve laboratuvar çalışmaları hazırlandı. Kurumsal ihtiyaçlarınız doğrultusunda gerekli tüm eğitim konuları hazır hale getirilmiş ve danışmanlık seviyesinde saha deneyimleriyle birleştirilmiştir.
Dünya standartlarında eğitim içerikleri ve sunum yöntemleri bir araya getirilerek tasarlandı. Eğitim sürecine katılan tüm katılımcılar için GitHub repoları aracılığıyla hazır çalışma ortamları oluşturuldu. Ayrıca, hayat boyu erişilebilecek kaynaklar ve eğitim materyalleri katılımcılara sunulmaktadır.