Etiketlere Gözat

Sözlük terimlerini etiketledik. Filtreleri kullanarak terimleri etiketlere göre listeleyebilirsiniz.

API Geçidi

Nedir API geçidi, benzersiz uygulama API’lerini bir araya toplayarak hepsinin tek bir yerde kullanılabilir olmasını sağlayan bir araçtır. Organizasyonların kimlik doğrulama, yetkilendirme ve istek sayısını sınırlandırma gibi temel işlevlerin merkezi bir konumdan yönetilmesini sağlar. Bir API geçidi, API tüketicilerine yönelik ortak bir arayüz işlevi görür. Hangi Sorunları Çözer API’leri harici kullanıcıların kullanımına sunuyorsanız tüm erişimi yönetmek ve kontrol etmek için tek bir giriş noktası istersiniz. Ayrıca bu etkileşimlere işlevsellik uygulamaya ihtiyaç duyuyorsanız bir API geçidi, uygulamada kod değişikliği gerektirmeden trafiğe eşit şekilde uygulamanızı sağlar...

Bare Metal Machine

Bare metal, özellikle yalnızca tek bir işletim sistemine sahip olan fiziksel bir bilgisayarı, yani sunucuyu ifade eder. Bu ayrım modern bilişimde önemlidir çünkü birçok, hatta çoğu sunucu sanal makine (VM) olarak çalışmaktadır. Fiziksel bir sunucu genellikle güçlü donanıma sahip, oldukça büyük bir bilgisayardır. İşletim sisteminin doğrudan fiziksel donanım üzerine kurulması ve uygulamaların sanallaştırma olmadan bu donanım üzerinde çalıştırılması, “bare metal üzerinde çalışmak” olarak adlandırılır. Hangi Sorunları Çözer Bir fiziksel bilgisayar ile yalnızca bir işletim sistemi eşleştirmek, bilişimin özgün modelidir...

Blue Green Deployment

Nedir Blue green deployment, çalışan bilgisayar sistemlerini minimum sistem kesintisiyle güncellemeye yönelik bir stratejidir. Operatör, “blue” ve “green” olarak adlandırılan iki ortamın devamlılığını sağlar. Biri canlı trafiğe hizmet ederken (tüm kullanıcıların o an kullandığı sürüm), diğeri güncellenir. Aktif olmayan (green) ortamda testler tamamlandıktan sonra, canlı trafiğe geçilir (genellikle bir yük dengeleyici kullanarak). Blue-green deployment genellikle birçok servisten oluşan tüm ortamların tek seferde değiştirilmesi anlamına gelir. Kafa karıştırıcı bir şekilde, bu terim bazen bir sistem içindeki tekil servisler için de kullanılmaktadır...

Bulut Bilişim

Nedir Bulut bilişim, internet üzerinden isteğe bağlı olarak CPU, ağ ve disk kapasiteleri gibi bilişim kaynaklarının sunulduğu, kullanıcıların uzaktaki fiziksel bir konumda bilgi işlem gücüne erişebildiği ve kullanabildiği bir hizmettir. Genellikle, bulut altyapısının bir organizasyona ayrılmış olup olmadığına veya genele açık hizmetlerde paylaşılıp paylaşılmadığına bağlı olarak, özel veya genel bulut şeklinde bir ayrım yapılır. Hangi Sorunları Çözer Organizasyonlar, bilgi işlem gücünü genişletmeye çalışırken geleneksel olarak iki temel zorlukla karşılaşır. Ya fiziksel sunucularını ve ağlarını barındırmak için yeni tesisler satın alır ve tasarlarlar, ya da mevcut tesislerini genişletip desteklerler...

Canary Deployment

Nedir Canary deployment, biri canlı trafiğe sahip orijinal kodu diğeri ise canlı trafik olmadan güncellenmiş kodu içeren iki ortamla başlayan bir dağıtım stratejisidir. Trafik, uygulamanın orijinal sürümünden güncellenmiş sürümüne kademeli olarak taşınır. Canlı trafiğin %1’ini taşıyarak başlanabilir, sonrasında %10, %25 gibi kademeli artışlarla tüm trafik güncellenmiş sürümde çalışana kadar böyle devam edilebilir. Organizasyonlar yazılımın yeni sürümünü üretimde test edebilir, geri bildirim alabilir, hataları teşhis edebilir ve gerekirse hızlı bir şekilde kararlı sürüme geri dönebilir...

Cloud Native Security

Cloud Native güvenliği, güvenliği Cloud Native uygulamalara entegre eden bir yaklaşımdır. Güvenliğin geliştirmeden üretime kadar tüm uygulama yaşam döngüsünün bir parçası olmasını sağlar. Cloud Native güvenliği, hızlı kod değişiklikleri ve son derece geçici altyapı gibi cloud native ortamlarının özelliklerine uyum sağlamaya çalışırken geleneksel güvenlik modelleriyle aynı standartları sağlamayı amaçlamaktadır. Cloud native güvenliği, DevSecOps (development, security, operations) adındaki yöntemle büyük ölçüde alakalıdır. Hangi Problemi Çözer Geleneksel güvenlik modelleri artık geçerli olmayan bir dizi varsayımla oluşturulmuştur...

Cloud Native Sözlüğü

Cloud Native Sözlüğü Cloud Native Sözlüğü, karmaşıklığı ile ünlü olan cloud native alanının yalnızca teknoloji uzmanları için değil, herkes için anlaşılabilir olmasını hedeflemektedir. Basitliğe odaklanan sözlük, CNCF Business Value Subcommittee (BVS) tarafından yönetilen bir projedir. Katkıda Bulunma Cloud Native Sözlüğü, ekleme, değişiklik veya iyileştirme yaparak katkıda bulunmak isteyen herkese açıktır. Paylaşılan sözlüğün iyileştirilmesi ve geliştirilmesi için CNCF tarafından yönetilen topluluk odaklı bir süreç benimsenmiştir. Bu sözlük, cloud native teknolojileri çerçevesinde ortak bir kelime dağarcığı oluşturmak amacıyla şirketlerden bağımsız bir platform sağlar...

Cloud Native Teknolojisi

Nedir Cloud native yığını olarak da adlandırılan cloud native teknolojileri, cloud native uygulamaları oluşturmak için kullanılan teknolojilerdir. Bu teknolojiler kuruluşlar için genel, özel ve hibrit bulut ortamları gibi modern ve dinamik ortamlarda ölçeklenebilir uygulamalar oluşturmaya ve çalıştırmaya olanak tanırken bulut bilişimin yararlarını en üst düzeye çıkarırlar. Bulut bilişimin yeteneklerinden yararlanmak için sıfırdan tasarlanmışlardır ve konteynerler, servis ağları, mikro servisler ve sabit altyapı bu yaklaşımın örnekleridir. Hangi Sorunları Çözer Cloud native yığını, zorlukların çeşidini adresleyen birçok farklı teknoloji kategorisine sahiptir...

Cloud Native Uygulamalar

Cloud native uygulamaları, bulut bilişimdeki yeniliklerden yararlanmak için özel olarak tasarlanmıştır. Bu uygulamalar, bulutun kaynaklarından ve ölçeklendirme yeteneklerinden yararlanarak kendi bulut mimarileriyle kolayca entegre olurlar. Ayrıca, bulut bilişim tarafından yönlendirilen altyapıdaki yeniliklerden yararlanan uygulamaları da ifade eder. Günümüzde cloud native uygulamaları, bir bulut sağlayıcısının veri merkezinde ve şirket içi cloud native platformlarında çalışan uygulamaları içerir. Hangi Sorunları Çözer Geleneksel olarak, şirket içi ortamlar bilişim kaynaklarını oldukça kişiye özel bir şekilde sağlardı...

Çalışma Zamanı (Runtime)

Bir çalışma zamanı (runtime), genel olarak, bir yazılım parçasını çalıştırır. Bu, programın komutlarını işletim sistemi için ilgili eylemlere çeviren temel işletim sisteminin bir soyutlamasıdır. Cloud native uygulamalar bağlamında, çalışma zamanı genellikle konteyner çalışma zamanını ifade eder. Bir konteyner çalışma zamanı, farklı konteyner orkestrasyon teknolojileri arasında tutarlı işleme sağlamak için özellikle Open Container Initiative spesifikasyonunu uygular. Hangi Sorunları Çözer Konteyner çalışma zamanının soyutlaması olmadan, uygulama her işletim sisteminin tüm mekanikleriyle uğraşmak zorunda kalır ve bu da uygulamayı çalıştırmanın karmaşıklığını artırır...

Çevik Yazılım Geliştirme

Nedir Çevik yazılım geliştirme, tekrarlayan geliştirme döngülerini ve kendi kendini organize eden ekipleri vurgulayan bir dizi uygulamadır. Değerin yalnızca projenin sonunda üretildiği şelale tarzı projelerin aksine, çevik yazılım geliştirme, değerin sürekli ve kademeli olarak sunulmasına ve sürecin kendisinin evrimsel olarak gelişimine odaklanır. Hangi Sorunları Çözer Bir yazılım projesindeki tüm paydaşlar için gereksinimleri tanımlamak, iletmek ve anlamak imkansız olmasa da çok zordur. Yine de müşteriler yazılım projelerinin zamanında, iyi kalitede, bütçe ve kapsama uygun olarak teslim edilmesini isterler...

Dağıtık Sistemler

Nedir Dağıtık sistem, kullanıcılara tek bir sistem olarak görünen, bir ağ üzerinden birbirine bağlanan otonom bilgi işlem ögeleri topluluğudur. Genel olarak düğüm olarak adlandırılan bu bileşenler, donanım cihazları ya da yazılım süreçleri olabilir. Düğümler ortak bir hedefe ulaşmak için programlanır ve birlikte çalışmak için ağ üzerinden bilgi alışverişinde bulunurlar. Hangi Sorunları Çözer Günümüzde çok sayıda modern uygulama, çalıştırmak için süper bilgisayarlara ihtiyaç duyacak kadar büyüktür. Gmail ya da Netflix uygulamalarını düşünün...

Dağıtık Uygulamalar

Nedir Dağıtık uygulama, işlevselliğin birden fazla küçük, bağımsız parçaya bölündüğü bir uygulamadır. Dağıtık uygulamalar genellikle daha büyük bir uygulama içinde farklı sorunları ele alan tekil mikro servislerden oluşur. Cloud native ortamında, tekil bileşenler genellikle bir küme üzerinde konteyner olarak çalışır. Hangi Sorunları Çözer Tek bir bilgisayar üzerinde çalışan uygulama tek bir hata noktasına sahiptir. Eğer bu bilgisayar arızalanırsa, uygulama kullanılamaz hale gelir. Dağıtık uygulamalar genellikle monolitik uygulamalarla karşılaştırılır. Bileşenler bağımsız olarak ölçeklendirilemediği için monolitik bir uygulamanın ölçeklendirilmesi daha zor olabilir...

Değiştirilemez Altyapı

Değiştirilemez Altyapı, dağıtıldıktan sonra değiştirilemeyen bilgisayar altyapısını (sanal makineler, konteynerler, ağ cihazları) ifade eder. Bu, yetkisiz değişikliklerin üzerine yazan otomatik bir işlem veya ilk başta değişikliklere izin vermeyen bir sistem aracılığıyla sağlanabilir. Konteynerler, değiştirilemez altyapının iyi bir örneğidir. Çünkü konteynerlere kalıcı değişiklikler sadece konteynerin yeni bir sürümünü oluşturarak veya mevcut konteyneri görüntüsünden yeniden oluşturarak yapılabilir. Yetkisiz değişiklikleri engelleyerek veya tanımlayarak, değiştirilemez altyapılar güvenlik risklerini belirlemeyi ve azaltmayı daha kolay hale getirir...

DevOps

DevOps, ekiplerin uygulama geliştirme kısmından üretim operasyonlarına kadar olan tüm süreci kapsayan bir yöntemdir. Geliştirme(development) ve operasyon(operations) aşamalarını kapsadığı için DevOps diye adlandırılmaktadır. Bu yöntem, bir dizi teknolojinin uygulanmasının ötesine geçmekte ve kültür ve süreçlerde tam bir değişiklik gerektirmektedir. DevOps, (bir özelliğin tamamı yerine) küçük bileşenler üzerinde çalışan mühendislere ihtiyaç duyar, böylece hataların temel kaynağı olan iş aktarımları azalır. Hangi Sorunu Çözer Geleneksel olarak, sıkı bir şekilde birleştirilmiş monolitik uygulamalara sahip karmaşık organizasyonlarda, iş genellikle birden fazla grup arasında bölünüyordu...

DevSecOps

DevSecOps terimi, geliştirme(development), operasyon(operation) ve güvenlik(security) sorumluluklarının kültürel birleşmesini ifade eder. DevOps yaklaşımını genişleterek, güvenlik önceliklerini geliştirici ve operasyonel iş akışında minimum veya hiç kesinti olmadan dahil etmeyi amaçlar. Tıpkı DevOps gibi, DevSecOps da kullanılan teknolojilerle desteklenen ve kendine özgü benimseme yöntemleri olan bir kültürel değişimdir. Hangi Sorunları Çözer DevOps uygulamaları arasında sürekli entegrasyon(CI), sürekli teslimat(CD) ve sürekli dağıtım(CD) yer alır ve bu yöntemler uygulama geliştirme ve sürüm döngülerini hızlandırır. Ancak tüm organizasyonel paydaşların ihtiyaçlarını yeterince karşılayamayan otomatik sürüm süreçleri mevcut sorunları daha da kötüleştirebilir...

Durum Bilgisine Sahip Uygulamalar

Durum bilgisine sahip (stateful) ve durum bilgisine sahip olmayan (stateless) uygulamalardan bahsettiğimizde durum (state), uygulamanın tasarlandığı gibi çalışması için saklaması gereken verileri ifade eder. Örneğin, alışveriş sepetinizi hatırlayan herhangi bir çevrimiçi mağaza durum bilgisi olan bir uygulamadır. Günümüzde kullandığımız çoğu uygulama en azından kısmen durum bilgisine sahip uygulamalardır. Ancak cloud native ortamlarında durum bilgisine sahip uygulamalar zorluk oluşturur. Bunun nedeni cloud native uygulamalarının çok dinamik olmasıdır. Cloud native uygulamalar ölçeklendirilebilir, yeniden başlatılabilir ve yer değiştirebilirler...

Düğümler (Nodes)

Nedir Bir düğüm, ortak bir görevi gerçekleştirmek için diğer bilgisayarlar veya düğümlerle birlikte çalışan bir bilgisayardır. Örneğin, dizüstü bilgisayarınız, modeminiz ve yazıcınızı düşünün. Hepsi wifi ağınız üzerinden bağlıdır, iletişim kurar ve işbirliği yapar; her biri bir düğümü temsil eder. Bulut bilişimde bir düğüm, fiziksel bir bilgisayar, sanal bir bilgisayar (VM) ve hatta bir konteyner olabilir. Hangi Sorunları Çözer Bir uygulama tek bir makinede çalışabilir (ve birçok uygulama bunu yapar), ancak bununla bazı riskler beraberinde gelir...

eBPF

eBPF, yani Genişletilmiş Berkeley Paket Filtresi, Linux sistemlerinin kernel alanında, küçük ve izole (sandboxed) programların veya betiklerin, kernel kaynak kodunu değiştirmeye veya Linux kernel modülleri yüklemeye gerek kalmadan çalıştırılmasını sağlayan bir teknolojidir. Bir Linux sistemi iki çalışma alanına sahiptir: kernel ve kullanıcı alanı (user space). Kernel, işletim sisteminin çekirdeğini temsil eder ve donanıma sınırsız erişim hakkına sahip tek bileşendir. Uygulamalar kullanıcı alanında çalışır ve daha yüksek izinlere ihtiyaç duyduklarında bu taleplerini çekirdeğe iletir...

Gevşek Bağlı Mimari

Gevşek bağlı mimari (loosely coupled architecture), bir uygulamanın ayrı ayrı bileşenlerinin birbirinden bağımsız olarak inşa edildiği bir mimari stildir (sıkı bağlı mimarinin - tightly coupled architecture - tam tersi bir paradigmadır). Bazen mikroservis olarak adlandırılan her bir bileşen, herhangi bir sayıdaki bir başka servis tarafından kullanılabilecek şekilde belirli bir işlevi yerine getirmek üzere oluşturulmuştur. Bu mimari modelin uygulanması genellikle sıkı bağlı mimari modeline göre daha yavaştır ancak uygulamaların ölçeği büyüdükçe belirli faydalar sağlamaktadır...

Gözlemlenebilirlik

Gözlemlenebilirlik, sistemin işlemeye uygun sezgiler üretebilme derecesini tanımlayan bir sistem özelliğidir. Kullanıcılara sistemin durumunu bu harici çıktılardan anlama ve (düzeltici) önlemler alma imkanı sağlar. Bilgisayar sistemleri, CPU zamanı, bellek, disk alanı gibi düşük seviyeli sinyalleri ve API yanıt süreleri, hata sayısı, saniyede işlem sayısı gibi daha yüksek seviyeli ve işle ilgili sinyalleri gözlemleyerek ölçülür. Bu gözlemlenebilir sistemler, özel araçlar, yine bu alana özgü olarak adlandırılan gözlemlenebilirlik araçları aracılığıyla gözlemlenir (ya da izlenir)...

Güvenilirlik

Cloud native perspektifinden bakıldığında güvenilirlik, bir sistemin arızalara ne kadar iyi yanıt verdiğini ifade eder. Altyapı değiştikçe ve tekil bileşenler arızalandıkça çalışmaya devam eden dağıtık bir sistemimiz varsa, bu sistem güvenilirdir. Öte yandan, sistem kolayca arızalanıyorsa ve operatörlerin sistemi çalışır durumda tutmak için manuel olarak müdahale etmesi gerekiyorsa, bu sistem güvenilir değildir. Cloud native uygulamaların amacı, doğası gereği güvenilir sistemler oluşturmaktır...

İstemci-Sunucu Mimarisi

Nedir İstemci-sunucu mimarisinde, bir uygulamayı oluşturan mantık (veya kod) iki veya daha fazla bileşen arasında bölünür. Bunlar, işin yapılmasını isteyen bir istemci (örn. web tarayıcınızda çalışan Gmail web uygulaması) ve bu isteği karşılayan bir veya daha fazla sunucudur (örn. Google’ın buluttaki bilgisayarlarında çalışan “e-posta gönder” servisi). Bu örnekte, yazdığınız e-postalar istemci (web tarayıcınızda çalışan uygulaması) tarafından bir sunucuya (Gmail’in giden e-postalarınızı alıcılarına ileten bilgisayarları) gönderilir. Bu, tüm işi tek bir yerde yapan bağımsız uygulamaların (masaüstü uygulamaları gibi) tersidir...

Kod Olarak Altyapı (IaC)

Nedir Kod olarak altyapı (Infrastructure as Code - IaC), altyapı tanımının bir veya daha fazla dosya olarak saklanması uygulamasıdır. Bu, servis olarak altyapının (Infrastructure as a Service - IaaS) genellikle bir shell script veya diğer yapılandırma araçları aracılığıyla manuel olarak oluşturulduğu geleneksel modelin yerini alır. Hangi Sorunları Çözer Uygulamaları bulut tabanlı bir şekilde geliştirmek, altyapının tek kullanımlık ve tekrarlanabilir olmasını gerektirir. Ayrıca bu uygulamaların insan müdahalesine gerek kalmadan, ihtiyaca bağlı olarak otomatik ve tekrarlanabilir bir şekilde ölçeklendirilmesi gerekir...

Konteyner Orkestrasyonu

Nedir Konteyner orkestrasyonu, dinamik ortamlarda konteynerleştirilmiş uygulamaların yaşam döngüsünün yönetilmesi ve otomasyonunu ifade eder. Bu genellikle bir konteyner orkestratörü aracılığıyla gerçekleştirilir (çoğu durumda Kubernetes) ve bu da yük çalıştırmayı, (otomatik) ölçeklendirmeyi, otomatik iyileştirmeyi ve takip etmeyi olanaklı kılar. Orkestrasyon bir metafordur: orkestrasyon aracı, her bir konteynerin (veya müzisyenin) yapması gerekeni yaptığından emin olarak adeta bir müzik şefi gibi davranır. Hangi Sorunları Çözer Mikroservisleri, güvenliği ve ağ iletişimini geniş ölçekte yönetmek ve genel olarak da dağıtık sistemleri elle yönetmek çok zor bir iştir; hatta belki de imkansızdır...

Konteynerler

Nedir Konteyner, bir bilgisayarın işletim sistemi tarafından yönetilen, kaynak ve yetenek kısıtlamalarına sahip, çalışan bir işlemdir. Konteyner işlemi içerisinde erişilebilir olan dosyalar konteyner imajı olarak paketlenmiştir. Konteynerler aynı makinede birbirlerine bitişik olarak çalışır, ancak genellikle işletim sistemi ayrı konteyner işlemlerinin birbiriyle etkileşime girmesini engeller. Hangi Sorunları Çözer Konteynerler öncesinde, her uygulamayı çalıştırmak için ayrı makineler gerekirdi. Tek bir uygulamanın çalışması için kullanılan her makine CPU, bellek ve disk alanı gerektiren kendi işletim sistemine de ihtiyaç duymaktadır...

Konteynerleştirme

Nedir Konteynerleştirme, bir uygulamayı ve bağımlılıklarını bir konteyner imajına paketleme sürecidir. Konteyner oluşturma süreci, Open Container Initiative (OCI) standardına uygun olmayı gerektirir. Bu standarta uygun bir konteyner imajı üretiliyorsa, hangi konteynerleştirme aracının kullanıldığı önemli değildir. Hangi Sorunları Çözer Konteynerler yaygınlaşmadan önce, organizasyonlar tek bir bare-metal (fiziksel bilgisayar) makinede birden fazla uygulamayı düzenlemek için sanal makineleri (VM’ler) kullanırdı. VM’ler, konteynerlardan önemli ölçüde daha büyüktürler ve çalıştırmak için bir hipervizöre ihtiyaç duyarlar. Bu büyük VM şablonlarının depolanması, yedeklenmesi ve transfer edilmesi gerektiğinden, VM şablonlarının oluşturulması da yavaştır...

Kubernetes

Nedir Kubernetes, genellikle K8s olarak kısaltılan, açık kaynaklı bir konteyner orkestratörüdür. Modern altyapılarda konteynerleştirilmiş uygulamaların yaşam döngüsünü otomatikleştirir ve bir “veri merkezi işletim sistemi” olarak işlev görerek uygulamaları dağıtık bir sistem üzerinde yönetir. Kubernetes, konteynerleri bir küme içindeki düğümler üzerine planlar ve yük dengeleyici ve kalıcı depolama gibi birkaç altyapı kaynağını bir araya getirerek konteynerleştirilmiş uygulamaları çalıştırır. Kubernetes, kullanıcıların uygulamaları bildirimsel (aşağıya bakınız) ve tekrarlanabilir bir şekilde dağıtmalarına olanak tanıyan bir otomasyon ve genişletilebilirlik sağlar...

Küme (Cluster)

Nedir Küme, ortak bir amaç doğrultusunda birlikte çalışan bir grup bilgisayar ve uygulamadır. Cloud native bilişimi bağlamında “küme” kavramı çoğunlukla Kubernetes için kullanılır. Kubernetes kümesi, genellikle farklı makinelerde olacak şekilde, kendi konteynerlerini kullanarak çalışan bir dizi servisten (veya iş yükünden) oluşur. Bir ağ üzerinden bağlanan tüm bu konteynerli servisler bir kümeyi temsil eder. Hangi Sorunları Çözer Tek bir bilgisayarda çalışan yazılım tek bir hata noktasına sahiptir. Eğer bilgisayar çöker veya birisi yanlışlıkla güç kablosunu çıkarırsa, iş açısından kritik önem taşıyan bazı sistemler çalışmayı durdurabilir...

Mikroservis Mimarisi

Nedir Mikroservis mimarisi, uygulamaları birbirinden bağımsız (mikro)servislere ayıran, her bir servisin belirli bir işlevselliğe odaklandığı bir mimari yaklaşımdır. Bu servisler birbirleriyle yakın bir şekilde çalışır ve kullanıcıya tek bir sistem gibi görünür. Netflix’i bir örnek olarak alalım. Arayüzü, videolara erişim, arama ve önizleme yapmanıza izin verir. Bu yetenekler muhtemelen tarayıcınızda oturum açma, arama ve önizleme çalıştırmak gibi belirli kabiliyetleri ele alan daha küçük servisler tarafından desteklenmektedir. Bu mimari yaklaşım, geliştiricilere yeni özellikleri hızlı bir şekilde yayınlama veya işlevselliği güncelleme olanağı tanır, bu da tümüyle birbirine sıkıca bağlı olan monolitik (aşağıda anlatılıyor) bir uygulama durumunda mümkün olmazdı...

Monolitik Uygulamalar

Nedir Monolitik bir uygulama, tüm işlevselliği tek bir dağıtılabilir programda içerir. Bu genellikle bir uygulamayı oluştururken en basit ve en kolay başlangıç noktasıdır. Ancak uygulama büyüyüp karmaşıklaştıkça monolitik uygulamaların bakımı zorlaşabilir. Aynı kod tabanı üzerinde daha fazla geliştirici çalıştığında, çakışan değişikliklerin olasılığı ve geliştiriciler arasındaki iletişim ihtiyacı artar. Hangi Sorunları Çözer Bir uygulamayı mikro servislere dönüştürmek, operasyonel ek yükü arttırır. Çünkü test edilecek, dağıtımı yapılacak ve çalışır durumda tutulacak daha fazla yapı vardır...

Mutual Transport Layer Security (mTLS)

Karşılıklı TLS (mTLS), iki servis arasında gönderilen mesajların kimliğini doğrulamak ve şifrelemek için kullanılan bir tekniktir. mTLS, TLS protokolüdür ama yalnızca bir bağlantının kimliğini doğrulamak yerine her iki tarafınki de doğrulanır. Hangi Problemi Çözer Mikroservisler bir ağ üzerinden iletişim kurar ve tıpkı kablosuz ağınız gibi ağ üzerinden yapılan iletişim de saldırıya uğrayabilir. mTLS, yetkisiz tarafların meşru istekleri dinleyememesini veya taklit edememesini sağlar. mTLS ensures that no unauthorized party can listen in on or impersonate legitimate requests...

Nasıl katkı yapabilirim?

Merhaba Cloud Native Sözlüğü katkı rehberine hoşgeldiniz. İlginiz için teşekkür ederiz. Detaylıca anlatacağımız şekilde, katkı yapmanın birkaç yolu var: Mevcut bir issue üzerinde çalışma Yeni terimler önerme Mevcut terimleri güncelleme Sözlüğü kendi dilinize çevirme Cloud Native Sözlüğü’ne genel bakış Bu sözlüğün amacı, karmaşıklığı ile ünlü olan Cloud Native alanını sadeleştirmek ve herkese daha erişilebilir hale getirmektir. Cloud Native Sözlüğü’nün içeriğinin tutulduğu bu GitHub repository‘sinde, sözlük hakkında issue’lar, pull request’ler (PRs) ve tartışmalar bulabilirsiniz...

Olay Akışı

Olay akışı, yazılımın, yaptıklarını sürekli olarak iletmek için olay verilerini bir uygulamadan diğerine gönderdiği bir yaklaşımdır. Yaptığı her şeyi diğer tüm servislere yayınlayan bir servis düşünün. Bir servis tarafından gerçekleştirilen her faaliyet bir olay olarak adlandırılır, dolayısıyla olay akışı olarak adlandırılır. Örneğin, NASDAQ her saniye hisse senedi ve ticari malların fiyatlandırılması hakkında güncellemeler alır. Belirli bir stok setini takip eden bir uygulamanız olsaydı, bu bilgiyi neredeyse gerçek zamanlı olarak almak isterdiniz...

Olaya Dayalı Mimari

Nedir Olaya dayalı mimari, olayların üretilmesini, işlenmesini ve kullanılmasını destekleyen bir yazılım mimarisidir. Olay, bir uygulamanın durumunda meydana gelen herhangi bir değişikliktir. Örneğin, bir araç paylaşım uygulamasında araç çağırmak bir olayı temsil eder. Bu mimari, olayların kaynaklarından (yolculuk talebinde bulunan uygulama) istenen alıcılara (yakınlardaki uygun sürücülerin uygulamaları) düzgün bir şekilde yönlendirilebileceği bir yapı oluşturur. Hangi Sorunları Çözer Daha fazla veri gerçek zamanlı hale geldikçe, olayların yakalanmasını ve olay isteklerini işlemesi gereken uygun hizmete yönlendirilmesini sağlamak için güvenilir yollar bulmak giderek zorlaşır...

Otomatik Ölçekleme

Otomatik ölçekleme, bir sisteme otomatik olarak, genellikle bilişim kaynakları açısından, ihtiyaç duyulduğunda kaynak ekleme yeteneğidir. Otomatik ölçekleme sistemiyle kaynaklar ihtiyaç duyulduğunda otomatik olarak eklenir ve dalgalanan kullanıcı taleplerini karşılayacak şekilde ölçeklenebilir. Otomatik ölçekleme süreci çeşitlilik gösterebilir ve bellek veya işlem süresi gibi farklı ölçütlere dayalı olarak ölçeklenebilir. Yönetilen bulut hizmetleri genellikle otomatik ölçekleme işlevselliği ile ilişkilendirilir çünkü çoğu şirket içi dağıtımdan daha fazla seçenek ve uygulama bulunmaktadır. Daha önce altyapı ve uygulamalar, yoğun sistem kullanımını dikkate alacak şekilde tasarlanıyordu...

Ölçeklenebilirlik

Ölçeklenebilirlik, bir sistemin ne kadar iyi büyüyebileceğini ifade eder. Bir sistemin büyümesi demek, o sistemin yapması gereken herhangi bir şeyi yapma yeteneğini artırması olarak ifade edilebilir. Örneğin bir Kubernetes kümesi, içerisinde çalışan konteynerleşmiş uygulamaların sayısını arttırarak veya azaltarak ölçeklenir, ancak buradaki ölçeklenebilirlik çeşitli faktörlere bağlıdır. Kümenin kaç adet düğümü olduğu, her düğümün kaç adet konteyner çalıştırabilir ve kontrol düzleminin ne kadar kayıt ve işlemi desteklediği bu faktörlere birer örnektir. Ölçeklenebilir bir sistem, sisteme daha fazla kapasite eklemeyi kolaylaştırır...

Pod

Nedir Kubernetes ortamında bir pod, en temel dağıtılabilir birim olarak işlev görür. Konteynerleştirilmiş uygulamaları dağıtmak ve yönetmek için önemli bir yapı taşını temsil eder. Her pod tek bir uygulama örneği içerir ve bir veya daha fazla konteyner barındırabilir. Kubernetes, podları daha büyük bir dağıtımın parçası olarak yönetir ve gerektiğinde podları dikey veya yatay olarak ölçeklendirebilir. Hangi Sorunları Çözer Konteynerler genellikle belirli bir iş yükünü çalıştıran ve kontrol eden bağımsız birimler olarak hareket ederken, konteynerlerin sıkı bir şekilde birbirine bağlı bir şekilde etkileşime girmesi ve kontrol edilmesi gereken durumlar vardır...

Rol Tabanlı Erişim Kontrolü (RBAC)

Rol tabanlı erişim kontrolü (RBAC), kullanıcıların sistemlere, ağlara veya kaynaklara erişimini, ekip içindeki veya daha büyük bir organizasyon içindeki rollerine dayalı olarak yöneten bir güvenlik yöntemidir. RBAC, BT yöneticilerine belirli bir iş fonksiyonuna sahip tüm kullanıcılar için gerekli erişim seviyesini belirleme ve bu kullanıcılara önceden tanımlanmış izin kümesine sahip bir rol atama yetkisi verir. Organizasyonlar, çalışanlara rollerine ve sorumluluklarına uygun şekilde düzenlenmiş değişken erişim seviyeleri sağlamak için RBAC’i kullanır Hangi Sorunları Çözer RBAC, özellikle uygulama ve ekip üyelerinin sayısı arttıkça, ekip üyelerinin ve uygulamaların hangi kaynaklara erişebileceği ile gerçekleştirebilecekleri eylemleri kontrol etme zorluğunu ele alır...

Sanallaştırma

Cloud native bilişimi bağlamında sanallaştırma, bazen sunucu olarak da adlandırılan fiziksel bir bilgisayarın birden fazla yalıtılmış işletim sistemi çalıştırmasına imkan sağlayan süreci ifade eder. Bu yalıtılmış işletim sistemleri ve bu sistemler için ayrılmış bilişim kaynakları (işlemci, bellek, ve ağ), sanal makineler (Virtual Machines) veya VM’ler olarak adlandırılır. Bir sanal makineden bahsettiğimizde, yazılım ile tanımlanmış bir bilgisayardan bahsediyoruz. Bu, gerçek bir bilgisayar gibi görünen ve davranan ancak donanımı diğer sanal makinelerle paylaşan bir şeydir...

Site Güvenilirlik Mühendisliği (SRE)

Nedir Site Güvenilirlik Mühendisliği / Site Reliability Engineering (SRE), operasyon ve yazılım mühendisliğini bir araya getiren bir disiplindir. Özetle, yazılım mühendisliğinin altyapı ve operasyon işlerine uygulanmasıdır. SRE mühendisleri ürün özellikleri geliştirmek yerine, uygulamaları çalıştırmak için sistemler oluştururlar. DevOps ile benzerlikleri vardır, ancak DevOps kodu üretim ortamına taşımaya odaklanırken, SRE canlı ortamda çalışan kodun düzgün çalışmasını sağlar. Hangi Sorunları Çözer Uygulamaların güvenilir bir şekilde çalışmasını sağlamak, performans izleme, uyarı sistemleri kullanma, hata ayıklama ve sorun giderme gibi bir dizi yetenek gerektirir...

Soyutlama

Bilişimde soyutlama (abstraction), bir hizmet kullanıcısından (bu bir program veya insan olabilir) ayrıntıları gizleyip, bir sistemi daha genelleyici ve kolay anlaşılır hale getiren bir temsildir. Bilgisayarlarımızın işletim sistemi buna iyi bir örnektir; bilgisayarın nasıl çalıştığına dair tüm ayrıntıları soyutlar. İşlemci, bellek ve programların nasıl yönetildiği hakkında bir şey bilmenize gerek yoktur. Yapılması gereken sadece işletim sistemini çalıştırmaktır, detaylarla işletim sistemi ilgilenir. Tüm bu detaylar işletim sistemi “perdesi” ya da diğer adıyla soyutlamanın arkasına gizlenmiştir...

Stil Kılavuzu

Bu stil kılavuzu, Sözlük hedef kitlesini, tanım yapısını, gerekli ayrıntı düzeyini ve tutarlı bir stili nasıl koruyacağınızı anlamanıza yardımcı olacaktır. Cloud Native Sözlüğü, CNCF repository’sinin varsayılan stil kılavuzunu takip eder. Bunlara ek olarak, aşağıdaki kurallara uyar: Teknik jargon ve moda sözcüklerden kaçınarak basit ve erişilebilir bir dil kullanın Gündelik konuşma dilinden kaçının Mecazi olmayan, somut bir dil kullanın Kısaltmalardan kaçının Edilgen dili idareli kullanın İfadeleri olumlu bir biçimde ifade etmeyi hedefleyin Alıntılar dışında ünlem işaretini kullanmayın Abartılı bir dil kullanmayın Tekrardan kaçının Kısa ve öz olun Hedef Kitle Sözlük, teknik ve teknik olmayan herkes için yazılmıştır...

Sunucusuz

Sunucusuz Bilişim, sunucuları kullanıcıdan soyutlar. Operasyonel yönetim, fiziksel makinelerin ve sanal makine kaynak tahsisinin yönetimi dahil olmak üzere servis sağlayıcısının sorumluluğundadır. Servis sağlayıcıları genel bulut kuruluşları veya geliştirme takımlarına hizmet veren şirket içi şirket için BT departmanları olabilir. Bu sağlayıcılar SDK’lar, CLI’lar veya OCI uyumlu runtime’lar gibi kullanıcı arayüzleri sunarak kod ve dağıtım görevlerine odaklanır. Ücretlendirme kullanıma göre ödeme yapmak modeline dayanır. Bilişim kaynakları, depolama veya ağ için ölçekleme ve kaynak tahsisi, kullanıcı müdahalesi olmadan uygulama talebine göre otomatik olarak ayarlanır...

Sürekli Dağıtım (CD)

Nedir Genellikle CD olarak kısaltılan sürekli dağıtım (continuous deployment), tamamlanmış yazılımı doğrudan üretime dağıtarak sürekli teslimattan (continuous delivery) bir adım daha ileri gider. Sürekli dağıtım (CD), sürekli entegrasyon (CI) ile birlikte ele alınır ve genellikle CI/CD olarak adlandırılır. CI süreci, uygulamada yapılan değişikliklerin geçerli olup olmadığını test eder ve CD süreci, kod değişikliklerini bir organizasyonun testten üretime, tüm ortamlarına otomatik olarak dağıtır. Hangi Sorunları Çözer Yeni yazılım sürümlerinin yayınlanması yoğun emek gerektiren ve hata yapmaya yatkın bir süreç olabilir...

Sürekli Entegrasyon (CI)

Nedir Genellikle CI olarak kısaltılan sürekli entegrasyon (continuous integration), kod değişikliklerini mümkün olduğunca düzenli olarak entegre etme uygulamasıdır. CI, sürekli teslimat (continuous delivery - CD) için ilk adımdır. CI süreci, kod değişikliklerinin bir kaynak kontrol sistemine (Git, Mercurial veya Subversion) gönderilmesiyle başlar ve test edilmiş bir yapının CD sistemi tarafından kullanılmaya hazır hale gelmesiyle sona erer. Hangi Sorunları Çözer Yazılım sistemleri genellikle çok sayıda geliştiricinin bakımını ve güncellemesini yaptığı büyük ve karmaşık yapılardır...

Sürekli Teslimat (CD)

Nedir Genellikle CD olarak kısaltılan sürekli teslimat (continuous delivery), kod değişikliklerinin otomatik olarak bir kabul ortamına dağıtıldığı (veya sürekli dağıtım (continuous deployment) durumunda üretime otomatik olarak dağıtıldığı) bir dizi uygulamadır. CD, yazılımın dağıtımdan önce yeterince test edilmesini sağlayacak kritik prosedürleri içerir ve gerektiğinde değişiklikleri geri almak için bir yol sunar. Sürekli entegrasyon (continuous integration - CI), sürekli teslimata yönelik ilk adımdır (yani, değişiklikler test edilmeden ve dağıtılmadan önce temiz bir şekilde birleştirilmelidir)...

Taşınabilirlik

Yazılımın bir özelliği olan taşınabilirlik, belirli işletim ortamlarına, örneğin bulut sağlayıcılarına, işletim sistemlerine veya satıcılara “kilitlenmeyi” önleyen, yeniden kullanılabilirlik biçimlerinden biridir. Geleneksel olarak, yazılım genellikle belirli ortamlar için oluşturulur (örneğin AWS veya Linux). Taşınabilir yazılım ise büyük ölçüde yeniden düzenleme gerektirmeden farklı işletim ortamlarında çalışır. Bir uygulama, yeni bir ortama uyum sağlamak için gereken çaba makul sınırlar içinde ise taşınabilir kabul edilir. “Port etmek” terimi ise yazılımı değiştirerek ve farklı bir bilgisayar sistemine uyumlu hale getirmek anlamına gelir...

Transport Layer Security (TLS)

TLS, bir ağ üzerindeki iletişimin güvenliğini yükseltmeyi sağlayan bir protokoldür. İnternet üzerinden gönderilen verinin güvenli teslim edilmesini sağlayarak gözlenip değiştirilmesini önler. Mesajlaşma, e-posta gibi uygulamalarda yaygın olarak kullanılan bir protokoldür. Hangi Sorunları Çözer TLS olmadan tarama alışkanlıkları, e-posta yazışmaları, çevrimiçi sohbetler ve konferans çağrıları gibi hassas bilgiler, iletişim sırasında başkaları tarafından kolaylıkla takip edilebilir ve değiştirilebilir. Sunucu ve istemci uygulamalarının TLS’yi desteklemesini sağlamak, aralarında iletilen verilerin şifrelenmesini ve üçüncü şahıslar tarafından görüntülenememesini sağlar...

Uygulama Geliştirme Arayüzü (API)

Nedir API, bilgisayar programlarının birbirleriyle etkileşime girmesinin bir yoludur. İnsanların bir web sitesiyle web sayfası aracılığıyla etkileşime girmesi gibi bilgisayar programları API aracılığıyla birbirleriyle etkileşime girer. İnsan etkileşimlerinin aksine, API’lerin kendilerinden ne istenip ne istenmeyeceği konusunda sınırlamaları vardır. Bu sınırlamalar, programlar arasındaki iletişimin istikrarlı ve işlevsel olmasına yardımcı olur. Hangi Sorunları Çözer Uygulamalar karmaşıklaştıkça küçük kod değişikliklerinin diğer işlevler üzerinde ciddi etkileri olabilir. Uygulamalar hem büyüyüp hem de istikrarlarını sürdürebilmeleri için modüler bir yaklaşıma ihtiyaç duyarlar...

Veri Merkezi

Nedir Veri merkezi, çoğunlukla sunucular olmak üzere bilgisayarları barındırmak üzere tasarlanmış bina veya tesistir. Veri merkezleri, özellikle bulut bilişime odaklandıklarında, yüksek hızlı internet hatlarına bağlanma eğilimindedirler. Veri merkezlerini barındıran binalar, kesintiler sırasında güç sağlayan jeneratörler ve bilgisayarları serin tutan güçlü klimalar dahil olmak üzere olumsuz şartlarda bile hizmeti sürdürecek şekilde donatılmıştır. Hangi Sorunları Çözer Veri merkezleri 1990’ların sonunda yaygınlaşmadan önce, çoğunlukla belirli görevleri olan veya bireylerin işlerini yapmak için kullanılan kişisel bilgisayarlar vardı...