Blog
Blog
{:tr}ASP.NET Core Serisi 06: Health Checks ve Azure Application Insights’ı Kullanarak Uygulamalarınızın Sağlığını Monitor Edin{:}{:en}ASP.NET Core Series 06: Monitor the Health of Your Applications by Implementing Health Checks and Azure Application Insights{:}
{:tr}Sanırım “uygulamalarımızın sağlığı” konusu, mimari yaklaşım farketmeksizin hepimiz için her zaman önemli ve ortak bir endişe noktası olmuştur. Bildiğimiz gibi uygulamalarımızın sağlıklı olup olmadığını görünür bir hale getirebilmek veya kolay bir yoldan öğrenebilmek, bir çok durum karşısında uygulamanın riskini en aza indirgemektedir. Özellikle uygulamalarımız bir load-balancer arkasında multi instance olarak çalışıyorsa, trafiğin yönlendirilme işlemi veya […]
Read More{:tr}Azure Kubernetes Service ile Internal Nginx Ingress Kullanımı{:}{:en}Using Internal Nginx Ingress with Azure Kubernetes Service{:}
{:tr}Bildiğimiz gibi Kubernetes içerisinde bir ingress controller’a, tek bir IP adresi üzerinden trafiği route edebilmek ve TLS termination işlemleri için ihtiyaç duymaktayız. Günümüzde bu tarz işlemler için çeşitli Service Mesh teknolojileri tercih ediliyor olsada, sistemin türüne ve boyutuna göre bazı durumlarda da Nginx gibi bir ingress controller’a ihtiyaç duymaktayız. Örneğin, sistem fazla kompleks değilse veya […]
Read More{:tr}ASP.NET Core Serisi 05: Kod’unu bloklama, reactive ol{:}{:en}ASP.NET Core Series 05: Don’t block your code, be reactive{:}
{:tr} Eskiden sadece belirli bir kesime hitap eden uygulamalar geliştirirken, günümüz teknoloji çağının ilerlemesiyle ve global marketten de bir pay alabilmek için, artık daha büyük bir kesime hitap eden uygulamalar geliştirmemiz gerekiyor. Geliştirdiğimiz uygulamaların 7/24 kesintisiz hizmet verebiliyor olması ve response süreleri düşük olan, kullanıcı deneyimi sorunsuz ve yüksek olan uygulamalar olması da oldukça önem […]
Read More{:tr}Azure Front Door Service ile Web App’lerin Performansını ve Erişilebilirliğini Arttırmak{:}{:en}Increasing Performance and High Availability of Web Apps with Azure Front Door Service{:}
{:tr}Cloud üzerinde global(çok bölgeli) düzeyde bir web uygulaması geliştiriyorsak ve ayrıca uygulamanın performanslı, scalable ve highly available olmasını istiyorsak, iyi bir uygulama giriş noktasına ihtiyacımız var demektir. Bu kapsamda, Microsoft‘un uzun zamandır scalability ve security gibi konular için kendi hizmetleri içerisinde de kullanıyor olduğu bir web uygulama giriş noktası olan Azure Front Door Service, ihtiyaçlarımızı […]
Read More{:tr}Mevcut .NET Uygulamalarını Azure Kubernetes Service’e Migrate Etmek{:}{:en}Migrate Existing .NET Applications to Azure Kubernetes Service{:}
{:tr}Günümüz teknoloji çağında, özellikle büyük ölçekli firmalar için uygulamaları cloud ortamında host etmenin ne kadar da önemli olduğunu hepimiz biliyoruz. Bir çok anket verilerine göre de, özellikle geçtiğimiz 2 yıl içerisinde hem public hem de private cloud kullanım oranları oldukça artmış durumda. Başlıca birkaç sebebi ise, aşağıdaki gibi sıralayabiliriz: Düşük maliyet: doğru seçimler ile IT […]
Read More{:tr}Getting Started with Clean Architecture using ASP.NET Core – 02{:}{:en}Getting Started with Clean Architecture using ASP.NET Core – 02{:}
{:tr} Henüz makalenin ilk bölümünü okumadıysanız, konuyu daha iyi anlayabilmek adına buradan ulaşabilirsiniz. Makalenin bu ikinci bölümünde ise, clean architecture konsept’inin .NET Core ile minimal düzeyde implementasyon işleminden bahsedeceğim. Örnek olarak, içerisinde film ekleyebileceğimiz ve listeleyebileceğimiz basit bir API geliştireceğiz. Application Domain’in Implementasyonu İlk önce architecture’ın kalbi olacak olan application domain kısmını oluşturacağız. Öncesinde ise […]
Read More{:tr}Getting Started with Clean Architecture using ASP.NET Core – 01{:}{:en}Getting Started with Clean Architecture using ASP.NET Core – 01{:}
{:tr}Biliyoruz ki maintenance işlemi, uygulamanın kendisini yazmaktan her zaman daha maliyetli bir operasyondur. Her ne yaparsak yapalım, değişmeyen tek gerçek maintenance maliyetidir, değil mi? Bu maliyeti etkileyen en önemli etkenlerden birisi de, uygulamanın architecture’ının seçimidir. Edindiğim geçmiş tecrübelerim doğrultusunda iki farklı makale serisi olarak, “iyi bir architecture design edebilmek için nelere dikkat etmeliyiz” ve “clean […]
Read More{:tr}SOLID Prensiplerini Anlama, keep calm! Cloud-Native Uygulamalar İçin{:}{:en}Understanding SOLID Principles, keep calm! For Cloud-Native Applications{:}
{:tr}Bu makale kapsamında bahsetmek istediğim konu SOLID prensipleri ama bu sefer cloud-native uygulamalar’lar için. Bildiğimiz gibi SOLID prensipleri, object-oriented yazılım geliştirmede kuşkusuz en önemli prensip setlerinden birisidir. Bir çoğumuz uygulama geliştireceğimiz zaman kodumuzu SOLID prensipleri doğrultusunda geliştirmeye çalışıyoruz, çünkü: Geliştirilen uygulamanın well-designed olabilmesi için kod standartı sağlalamaktadır. Ayrıca kolay maintenance sağlamaktadır. Extendability ve Reusability de […]
Read More{:tr}Playing with Service Mesh – Linkerd ve Azure Kubernetes Service{:}{:en}Playing with Service Mesh – Linkerd and Azure Kubernetes Service{:}
{:tr}Bildiğimiz gibi Microsoft, bu yıl Barcelona KubeCon‘da bir çok yeniliklerini duyurdu. Bence bunlardan önemli bir tanesi ise SMI(Service Mesh Interface) idi. İncelediğim kadarıyla SMI‘ın tanımı için kısaca, tıpkı AMQP‘de olduğu gibi “interoperability” konusunu service mesh’ler arasında sağlayabilmek diyebilirim. Özünde service mesh’ler için Kubernetes üzerinde standart bir interface sunmaktadır. Böylece service mesh için provider-lock durumuna düşmeden, […]
Read MoreKubernetes-based Event Driven Autoscaling with KEDA, RabbitMQ and .NET Core
{:tr}Bildiğiniz gibi Microsoft, son dönemlerde open-source dünyası için çok fazla atılım ve yatırım yapmaktadır. Bu atılımlardan birtanesi ise Red Hat partnership’liği ile birlikte geliştirdikleri Kubernetes-based Event Driven Autoscaling yapabilmemizi sağlayan KEDA adında bir component. KEDA‘nın duyurulmasından bu yana hemen kendi ortamlarımızda test etmeye ve kurcalamaya başladım. Bu makale ile ise KEDA hakkında edinebildiğim bilgileri paylaşmak […]
Read More{:tr}.NET Core ve Visual Studio for Mac ile Behavior Driven Development (BDD){:}{:en}Behavior Driven Development with .NET Core and Visual Studio for Mac{:}
{:tr}Agile bir development takımı düşünelim, Developer’ından Product Owner’ına, Scrum Master’ından Stake Holder’larına kadar hepsinin product development konusunda collaborative olarak birbirlerine bağlı bir şekilde çalışıyor oldukları. Kulağa harika geliyor değil mi? Ama maalesef bu her zaman %100 mümkün olmuyor. Peki, bugün ise Behavior Driven Development hakkında konuşacağız. Bu makale kapsamında BDD hakkındaki bilgilerimizi tazeleyip hemen ardından […]
Read More{:tr}Kubernetes Üzerindeki .NET Core Uygulamalarının OpenTracing API ile Distributed Tracing İşlemleri{:}{:en}Distributed Tracing with OpenTracing API of .NET Core Applications on Kubernetes{:}
{:tr}Distributed tracing, microservice architecture’ı olarak tasarladığımız sistem içerisindeki uygulamalarımızın, nerede performans problemi yaşadığını belirleyebilmemiz ve monitor edebilmemiz için harika bir method. Bir başka değişle, hangi request nereye gidiyor, uçtan uca bir request ne kadar zaman harcıyor gibi sorulara cevap alabilmemiz için implemente etmemiz gereken bir method. Bu makale kapsamında ise, OpenTracing API‘ını ve Jaeger tracer’ını […]
Read More{:tr}2019-2020 Developer Technologies Alanında Microsoft MVP Ailesine Katıldım{:}{:en}I Joined Microsoft MVP Family in 2019-2020 Developer Technologies{:}
{:tr}Merhaba arkadaşar, 1 Nisan 2019 tarihinde, Developer Technologies alanında Microsoft MVP ailesine katıldığımı duyurmaktan onur ve heyecan duyuyorum. Bu süreçte herkese destekleri için çok teşekkür ederim!{:}{:en}Hi all, I am honored and excited to announce that I joined the Microsoft MVP family in Developer Technologies field on April 1, 2019. I would like to thank everyone […]
Read More{:tr}API Request ve Response’larını Azure API Management üzerinden Azure Funtions Kullanarak GrayLog’a Loglama{:}{:en}Logging API Requests and Responses to GrayLog over Azure API Management using Azure Functions{:}
{:tr}Sizlerinde bildiği gibi hemen hemen her backend application’ının sahip olması gereken en temel özelliklerden birisi, request ve response‘ların log‘lanmasıdır. Özellikle çoklu API kullanımının söz konusu olduğu ortamlarda, “nice-to-have” durumundan “must-have” durumuna geçiş yapan temel bir özellik. Çünkü öyle bir zaman geliyor ki, API‘ı call eden bir client’a, gönderdiği request’in hatalı parametreler içerdiğini gösterebilmeniz gerekiyor. Kısacası, daha iyi […]
Read More
















