MİKROSERVİS (MİCROSERVİCES) MİMARİSİ EĞİTİMİ İLE UYGULAMA GELİŞTİRME KURSU

Monolitik mimarilerde, uygulamanın içeriği büyüdükçe, yazılım geliştirme, test işlemleri, kurulum ve ölçeklendirme süreçleri de giderek zorlaşmaktadır

Mikroservis mimarisi bir sistemin sadece bir işi gerçekleştiren, otonom ve bir arada uyumlu bir şekilde çalışabilen küçük servislere ayrılması yaklaşımıdır. Günümüz yazılım teknolojilerinin de gelişmesi ile birlikte, büyük, karmaşık veya birden çok sistemle tam entegre bir uygulama geliştirme sürecinde mikroservis mimarisini göz önünde bulundurmak, işlerimizi kolaylaştırmaktadır.  

Bilindiği üzere bir kurumda ihtiyaçlar artıkça, geliştirilen yazılım projesine de yeni fonksiyonların eklenmesi/büyütülmesi gerekmektedir. Bir süre sonra, projeye hakim olmak, yeni eklentiler yapmak ve karşımıza çıkan sorunları çözmek ciddi bir zorluk oluşturacaktır. Monolitik mimari yaklaşımı ile geliştirilen bir projede, bu gibi problemlerle mücadele edebilmek için kodumuzda olabildiğince soyutlamalar ve modüller oluştururuz (Dependency Injection gibi) fakat tüm uygulama direkt olarak tek bir veritabanına bağlı olduğundan ilerleyen süreçlerde problem ve gelişimin de yönetilmesi zahmetli olacaktır.

Mikroservis mimarisi ile, uygulamamızı olabildiğince küçük ve kendi veritabanına sahip servislere bölmek ve bu servisleri birbiri ile uyumlu şekilde çalıştırmak, işleri daha da kolaylaştırmaktadır. Servislerin her biri ne kadar küçük olursa, mikroservis mimarisinin faydalarını en üst düzeye, fakat olumsuz etkilerini ise en alt düzeye indirgemiş oluruz.  Her bir servis özgür, ayrı bir varlık olmakta ve birbirinden bağımsız olarak değiştirilebilmeli/güncellenebilmelidir. Burada en önemli olay, bir serviste yapılan bir güncelleme veya değişiklik başka bir servisi asla etkilememesidir. Bir sistemi oluşturan bu mikro servisler herhangi bir dil ile geliştirilebilir veya farklı bir veritabanı sistemi kullanabilirler. Microservisler herhangi bir nesnenin state'ini tutmazlar (stateless)

Mikroservis mimarisi yazılım geliştirme süreçlerinde önemli faydalar sağlamaktadır:

  • Mikroservisler birbirinden bağımsız ve yanlızca bir işe odaklanmış küçük uygulamalar oldukları için farklı bir programlama dili ile geliştirmek mümkün böylelikle uygulamanın bir programlama diline olan bağımlılığı da ortadan kalkmaktadır.
  • Büyük ölçekli projede yer alan bu servisler küçük olduğu için bakım süreçleri daha kolay olmaktadır.
  • Hızlı (çevik) ayağa kalkan uygulama geliştirilmesine olanak sağlamaktadır.
  • Yazılım geliştirme ekiplerinin otonom hareket etmelerini sağlar.
  • Ekibe yeni bir geliştirici katıldığı zaman uygulamanın bütün yapısını(structure) öğrenmek yerine güncelleme yapılması istenen servisin yapısını (structure) öğrenip destek vermeye başlama süresinin oldukça kısa olacaktır.
  • Yeni teknolojilerin bir projeye adaptasyonu daha sorunsuz ve kolay olacaktır.

 

Eğitim İçeriği

  • Mikroservis ve Monolitik Mimari Yaklaşımları, Örnek İki Projede Analiz
  • Monolith’den Mikroservis Mimariye Hızlı Dönüşüm
  • Servisleri Belirleme, Oluşturma ve Servisler Arası İletişim
  • Microservice Mimarilerde Veritabanı Tasarımı ve Veri Tutarlılığı
  • Microservice Mimarisinde Resiliency Pattern (Circuit breaker, Retry mechanism ve Fallback)
  • API Gateway Pattern - .Net Core ile Api Gateway (Ocelot)
  • Mikroservislerin Dağıtımı (Deployment)
  • Domain Driven Design (DDD) Odaklı Mikro Servis Geliştirme (Bounded Context)
  • Örnek Projelerin Geliştirilmesi
     

Sertifikalar

Katılım Sertifikası:
%90 Katılım oranı ile kursiyerlerimize verilecek olan katılım sertifikasıdır.

Başarı Sertifikası:
Bitirme projesini tamamlayan kursiyerlerimize verilecek olan başarı sertifikasıdır.

Çalışma Alanları ve Kariyer

  • Yazılım firmalarında veya Kamu kurumlarında
  • Firmaların bilgi işlem departmanlarında
  • Kurumsal firmaların en değerli verilerinin saklandığı veri tabanı yönetim sistemi departmanlarında
  • Sektör bağımsız olarak tüm orta ve büyük işletmelerde
  • Internet servis sağlayıcılarında
  • Bilgi teknolojileri alanında kendi firmalarını kurabilirler
  • Bağımsız danışman (free-lance) olarak çalışabilirler


Alınabilecek Unvanlar                                          

  • Yazılım Uzmanı
  • Yazılım Geliştirici
  • Yazılım Takım Lideri
  • .NET Yazılım Uzmanı
  • Yazılım Mimarı
  • Web Yazılım Geliştirici
  • Mobil Yazılım Geliştirici
  • Open Source Yazılım Geliştirici
  • Front-end Yazılım Geliştirici
  • Test Uzmanı
  • Proje Yöneticisi
  • Veritabanı Yöneticisi
  • Veri Bilimci
  • Büyük Veri Mühendisi
  • Raporlama Uzmanı
  • Bilgi İşlem Yöneticisi

Kimler Katılmalı

  • Infotech Academy’nin yazılım eğitimlerine geleceğini ve kariyerini yazılım sektöründe devam ettirmek isteyen herkes katılabilir.
  • Kurumsal firmaların yazılım geliştirme departmanlarında programcı, analist, test uzmanı gibi unvanlarla kariyer yapmak isteyen
  • Üniversite mezunu olup kurumsal firmaların yazılım departmanlarında üst düzey analist, yazılım uzmanı pozisyonlarından başlayarak, firmanın tüm teknoloji stratejisini belirleyen Bilgi Teknolojilerin’den sorumlu Genel Müdür Yardımcılığı’na kadar uzanan bir kariyere sahip olmak isteyen,
  • Bilişim sektörüyle ilgili ve güncel yazılım geliştirme teknolojileri hakkında kendini geliştirmek ve sektöründe aranan bir uzman olmak isteyen,
  • Microsoft Yazılım Uzmanlığı Eğitimi ile Uluslararası sertifikalar ile yurt içi veya yurt dışında çalışma olanakları elde etmek isteyen,
  • Kurum için çok değerli olan kurumsal verilerin saklanması, analizi, raporlanması, destek sistemlerinin geliştirilmesi gibi kısaca iş zekası denilen yapıları kurgulayan, yöneten ve uzman olmak isteyen herkes yazılım kursuna katılabilir.
  • En önemlisi de yazılım sektöründe yenilikçi fikirlerinizi hayata geçirebilir; geçiminizi sağlamanın ötesinde, teknolojiyi akıllıca kullanarak kendinize ve başkalarına yeni iş olanakları yaratacak parlak girişimlerin öncüsü de olabilirsiniz.
Microservices Mikroservis Monolotik SOA