Bulut Temelli nedir?

Bulut temelli, bulut bilişim ortamlarında modern uygulamaları oluşturmanın, dağıtmanın ve yönetmenin yazılım yaklaşımıdır. Modern şirketler, müşteri taleplerini karşılamak için hızlı bir şekilde güncelleyebilecekleri yüksek oranda ölçeklenebilir, esnek ve dayanıklı uygulamalar oluşturmak ister. Bunun için, bulut altyapısında uygulama geliştirmeyi doğal olarak destekleyen modern araçlar ve teknikler kullanırlar. Bu bulut temelli teknolojiler, hizmet sunumunu etkilemeden uygulamalarda hızlı ve sık değişiklikleri destekler ve bu teknolojileri benimseyenlere yenilikçi, rekabetçi bir avantaj sağlar.

 

Bulut temelli bir yaklaşım, işletmelere nasıl avantaj sağlar?

Kuruluşlar, bulut temelli yazılım uygulamaları oluştururken çeşitli şekillerde rekabet avantajları elde ederler.

Verimliliği artırma

Bulut temelli geliştirme, DevOps ve sürekli teslim (CD) gibi çevik uygulamaları beraberinde getirir. Geliştiriciler, ölçeklenebilir uygulamaları hızla oluşturmak için otomatik araçlar, bulut hizmetleri ve modern tasarım kültürünü kullanır.

Maliyetleri azaltma

Bulut temelli yaklaşımı benimseyen şirketler, maliyetli fiziksel altyapının tedarik ve bakımına yatırım yapmak zorunda kalmazlar. Bu, operasyonel harcamalarda uzun süreli tasarruflarla sonuçlanır. Bulut temelli çözümler oluşturmanın sunduğu maliyet tasarrufu da müşterilerinize avantaj sağlayabilir.

Erişilebilirlik sağlama

Bulut temelli teknoloji, şirketlerin esnek ve yüksek oranda erişilebilir uygulamalar oluşturmasına olanak tanır. Özellik güncellemeleri kesinti süresine neden olmaz ve şirketler, olumlu bir müşteri deneyimi sağlamak için yoğun dönemlerde uygulama kaynaklarının ölçeğini artırabilir. 

Bulut temelli uygulamalar nelerdir?

Bulut temelli uygulamalar, mikro hizmetler adı verilen birden çok küçük, birbirine bağımlı hizmetten oluşan yazılım programlarıdır. Geleneksel olarak, geliştiriciler gerekli tüm işlevleri içeren tek bir blok yapıya sahip monolitik uygulamalar oluşturuyorlardı. Bulut temelli yaklaşımı kullanan yazılım geliştiriciler, işlevleri daha küçük mikro hizmetlere ayırır. Bu mikro hizmetler bağımsız olarak çalıştığından ve çalışmak için minimum bilişim kaynağı kullandığından, bu durum bulut temelli uygulamaları daha çevik hale getirir. 

Geleneksel kurumsal uygulamalara kıyasla bulut temelli uygulamalar

Geleneksel kurumsal uygulamalar, esnekliği daha düşük yazılım geliştirme yöntemleri kullanılarak oluşturuluyordu. Geliştiriciler genellikle bunları test için piyasaya sürmeden önce büyük bir yazılım işlevleri grubu üzerinde çalışıyordu. Benzer şekilde, geleneksel kurumsal uygulamaları dağıtmak daha uzun zaman alıyordu ve bu uygulamalar ölçeklenebilir değildi.  

Öte yandan, bulut temelli uygulamalar iş birliğine dayalı bir yaklaşım kullanır ve farklı platformlarda yüksek oranda ölçeklenebilir. Geliştiriciler, bulut temelli uygulamalarda prosedürler oluşturmayı, test etmeyi ve dağıtmayı büyük ölçüde otomatikleştirmek için yazılım araçlarını kullanır. Mikro hizmetleri anında kurabilir, dağıtabilir veya çoğaltabilirsiniz; bu, geleneksel uygulamalarla mümkün olmayan bir eylemdir. 

CNCF nedir?

Cloud Native Computing Foundation (CNCF), kuruluşların bulut temelli yolculuklarına başlamalarına yardımcı olan açık kaynak bir kuruluştur. 2015 yılında kurulan CNCF, Kubernetes de dahil olmak üzere kritik bulut temelli bileşenler geliştirme alanında açık kaynak topluluğunu desteklemektedir. Amazon, CNCF'nin bir üyesidir

Bulut temelli uygulama mimarisi nedir?

Bulut temelli mimari, geliştirme ekiplerinin ölçeklenebilir bulut temelli uygulamalar oluşturup çalıştırmak için kullandığı yazılım bileşenlerini bir araya getirir. CNCF, bulut temelli mimarinin teknolojik blokları olarak değiştirilemez altyapı, mikro hizmetler, bildirim tabanlı API'ler, container'lar ve hizmet ağlarını listeler. 

Değiştirilemez altyapı

Değiştirilemez altyapı, bulut temelli uygulamaları barındırmaya yönelik sunucuların dağıtımdan sonra değişmeden kalması anlamına gelir. Uygulama daha fazla bilişim kaynağı gerektiriyorsa eski sunucu bırakılır ve uygulama yeni bir yüksek performanslı sunucuya taşınır. Manuel yükseltmelerden kaçınan değiştirilemez altyapı, bulut temelli dağıtımı öngörülebilir bir süreç haline getirir. 

Mikro Hizmetler

Mikro hizmetler, toplu olarak eksiksiz bulut temelli yazılım olarak işlev gösteren küçük, bağımsız yazılım bileşenleridir. Her mikro hizmet küçük, özel bir soruna odaklanır. Mikro hizmetler esnek bağlantılıdır; bu da birbirleriyle iletişim kuran bağımsız yazılım bileşenleri oldukları anlamına gelir. Geliştiriciler, bireysel mikro hizmetler üzerinde çalışarak uygulamada değişiklikler yapar. Bu şekilde, bir mikro hizmet başarısız olsa bile uygulama çalışmaya devam eder. 

API

Uygulama Programlama Arayüzü (API), iki veya daha fazla yazılım programının bilgi alışverişinde kullandığı bir yöntemdir. Bulut temelli sistemler, esnek bağlantılı mikro hizmetleri bir araya getirmek için API'leri kullanır. API, sonuca ulaşma adımlarını belirtmek yerine, mikro hizmetin hangi verileri istediğini ve size hangi sonuçları verebileceğini söyler. 

Hizmet ağı

Hizmet ağı, bulut altyapısında birden çok mikro hizmet arasındaki iletişimi yöneten bir yazılım katmanıdır. Geliştiriciler, uygulamada yeni kod yazmadan ek işlevler sunmak için hizmet ağını kullanır. 

Container'lar

Container'lar, bulut temelli bir uygulamadaki en küçük işlem birimidir. Bunlar, mikro hizmet kodunu ve diğer gerekli dosyaları bulut temelli sistemlerde paketleyen yazılım bileşenleridir. Mikro hizmetleri container'lı hale getiren bulut temelli uygulamalar, temel işletim sistemi ve donanımdan bağımsız olarak çalışır. Bu, yazılım geliştiricilerin bulut temelli uygulamaları şirket içinde, bulut altyapısında veya hibrit bulutlarda dağıtabileceği anlamına gelmektedir. Geliştiriciler; kaynak dosyaları, kitaplıklar ve ana uygulamanın çalıştırması gereken komut dosyaları gibi mikro hizmetleri kendi bağımlılıklarıyla paketlemek için container'ları kullanır.

Container'ların avantajları

Container'ların avantajlarından bazıları şunlardır:

  • Geleneksel uygulama dağıtımına göre daha az bilişim kaynağı kullanırsınız
  • Container'ları neredeyse anında dağıtabilirsiniz
  • Uygulamanızın gerektirdiği bulut bilişim kaynaklarını daha verimli bir şekilde ölçeklendirebilirsiniz

Bulut temelli uygulama geliştirme nedir?

Bulut temelli uygulama geliştirme, geliştiricilerin bulut temelli uygulamaları nasıl ve nerede oluşturup dağıttığını açıklar. Bulut temelli gelişim için kültürel değişim önemlidir. Geliştiriciler, yazılım teslimi zaman çizelgesini kısaltmak ve değişen kullanıcı beklentilerini karşılayan doğru özellikler sunmak için belirli yazılım uygulamalarını benimser. Yaygın bulut temelli geliştirme uygulamalarından bazıları aşağıda verilmiştir.

Sürekli entegrasyon

Sürekli entegrasyon (CI), geliştiricilerin değişiklikleri paylaşılan bir kod tabanına sık sık ve hatasız bir şekilde entegre ettiği bir yazılım uygulamasıdır. Sorunları daha hızlı belirleyip giderebildiğinizden, küçük, sık değişiklikler yapmak geliştirme sürecini daha verimli hale getirir. Sürekli entegrasyon araçları, her değişiklik için kod kalitesini otomatik olarak değerlendirir, böylece geliştirme ekipleri yeni özellikleri daha yüksek güvenle ekleyebilir.

Sürekli teslim

Sürekli teslim (CD), bulut temelli geliştirmeyi destekleyen bir yazılım uygulamasıdır. Geliştirme ekipleri, sürekli teslim sayesinde mikro hizmetlerin daima buluta dağıtılmaya hazır olmasını sağlar. Yeni özellikler sunma ve uygulamalardaki hataları düzeltme gibi değişiklikler yaparken riski azaltmak için yazılım otomasyon araçlarını kullanırlar. Sürekli entegrasyon ve sürekli teslim, verimli yazılım teslimi için birlikte çalışır.

DevOps

DevOps, geliştirme ve operasyon ekiplerinin iş birliğini iyileştiren bir yazılım kültürüdür. Bu, bulut temelli modelle uyumlu bir tasarım felsefesidir. DevOps uygulamaları, kuruluşların yazılım geliştirme yaşam döngüsünü hızlandırmasına olanak tanır. Geliştiriciler ve operasyon mühendisleri, bulut temelli geliştirmeyi otomatikleştirmek için DevOps araçlarını kullanır. 

Sunucusuz

Sunucusuz bilişim, bulut sağlayıcısının temel sunucu altyapısını tam olarak yönettiği bulut temelli bir modeldir. Bulut altyapısı uygulama gereksinimlerini karşılayacak şekilde otomatik olarak ölçeklendirilip yapılandırıldığından, geliştiriciler sunucusuz bilişimi kullanır. Geliştiriciler yalnızca uygulamanın kullandığı kaynaklar için ödeme yapar. Sunucusuz mimari, uygulama çalışmayı durdurduğunda işlem kaynaklarını otomatik olarak kaldırır. 

Bulut temelli uygulama geliştirmenin avantajları nelerdir?

Daha hızlı yazılım geliştirme

Geliştiriciler, geliştirme süresini azaltmak ve daha kaliteli uygulamalar elde etmek için bulut temelli yaklaşımı kullanır. Geliştiriciler, belirli donanım altyapısına güvenmek yerine, DevOps uygulamalarıyla dağıtıma hazır container'lı uygulamalar oluşturur. Bu, geliştiricilerin değişikliklere hızlı bir şekilde yanıt vermesini sağlar. Örneğin, uygulamayı kapatmadan birkaç adet günlük güncelleme yapabilirler. 

Platform bağımsızlığı

Geliştiriciler, bulutta uygulamalar oluşturup dağıtarak, işletim ortamının tutarlılığı ve güvenilirliğinden emin olur. Bulut sağlayıcısı bu konuyla ilgilendiğinden, geliştiricilerin donanım uyumsuzluğu konusunda endişelenmesine gerek kalmaz. Böylece, geliştiriciler, temel altyapıyı kurmak yerine uygulama içinde değer sunmaya odaklanabilir. 

Uygun maliyetli operasyonlar

Yalnızca uygulamanızın fiilen kullandığı kaynaklar için ödeme yaparsınız. Örneğin, kullanıcı trafiğiniz yalnızca yılın belirli zamanlarında yükselirse yalnızca o zaman dilimi için ek ücret ödersiniz. Yılın çoğunda boşta kalan ekstra kaynaklar sağlamanıza gerek yoktur.

Bulut temelli yığın nedir?

Bulut temelli yığın, geliştiricilerin bulut temelli uygulamaları oluşturmak, yönetmek ve çalıştırmak için kullandıkları bulut temelli teknolojilerin katmanlarını açıklar. Bu katmanlar şu şekilde sınıflandırılır:

Altyapı katmanı

Altyapı katmanı, bulut temelli yığının temelidir. Üçüncü taraf bulut sağlayıcıları tarafından yönetilen işletim sistemleri, depolama, ağ ve diğer bilişim kaynaklarından oluşur. 

Tedarik katmanı

Tedarik katmanı, bulut ortamını tahsis eden ve yapılandıran bulut hizmetlerinden oluşur.

Çalışma zamanı katmanı

Çalışma zamanı katmanı, container'ların çalışması için bulut temelli teknolojiler sağlar. Bu; bulut veri depolama, ağ iletişimi özelliği ve containerd gibi bir container çalışma zamanı içerir. 

Düzenleme ve yönetim katmanı

Düzenleme ve yönetim, çeşitli bulut bileşenlerinin tek bir birim olarak işlev görmesi için entegre edilmesinden sorumludur. Bu, bir işletim sisteminin geleneksel bilişimde çalışma şekline benzer. Geliştiriciler, bulut uygulamalarını farklı makinelerde dağıtmak, yönetmek ve ölçeklendirmek için Kubernetes gibi düzenleme araçlarını kullanır. 

Uygulama tanımı ve geliştirme katmanı

Bu bulut temelli yığın katmanı, bulut temelli uygulamalar oluşturmaya yönelik yazılım teknolojilerinden oluşur. Örneğin, geliştiriciler bulut uygulamaları oluşturmak için veritabanı, mesajlaşma, container görüntüleri ve sürekli entegrasyon (CI) ve sürekli teslim (CD) araçları gibi bulut teknolojilerini kullanır. 

Gözlemlenebilirlik ve analiz araçları

Gözlemlenebilirlik ve analiz araçları, bulut uygulamalarının sistem durumunu izler, değerlendirir ve iyileştirir. Geliştiriciler, uygulamanın hizmet kalitesinde herhangi bir kesinti olmadığından emin olmak amacıyla CPU kullanımı, bellek ve gecikme süresi gibi ölçümleri izlemek için araçlar kullanır. 

 

Bulut bilişim nedir?

Bulut bilişim, harici bir veri merkezinde barındırılan ve kullanım başına ödeme esasına göre kullanıcılara sunulan yazılım altyapısını ifade eder. Şirketlerin pahalı sunucular için ödeme yapması ve bu sunucuların bakımını yapması gerekmez. Bunun yerine, bir bulut sağlayıcısının sunduğu depolama, veritabanı ve analiz gibi istek üzerine bulut temelli hizmetleri kullanabilirler.

Bulut bilişim ile bulut temelli karşılaştırması

Bulut bilişim, bulut tedarikçileri tarafından istek üzerine sağlanan kaynaklar, altyapı ve araçlardır. Bununla birlikte, bulut temelli kavramı, yazılım programlarını bulut bilişim modeliyle oluşturup çalıştıran bir yaklaşımdır.

Bulut etkin nedir?

Bulut etkin uygulamalar, şirket içi bir veri merkezinde çalışan ancak bulutta çalışacak şekilde değiştirilmiş eski kurumsal uygulamalardır. Bu, uygulamayı bulut sunucularına geçirmek için yazılım modülünün bir bölümünü değiştirmeyi içerir. Böylece orijinal özelliklerini korurken uygulamayı bir tarayıcıdan kullanabilirsiniz.

Bulut temelli ile bulut etkin karşılaştırması

Bulut temelli kavramı, başlangıçtan itibaren bulutta bulunmak üzere tasarlanmış bir uygulamayı ifade eder. Bulut temelli; mikro hizmetler, container düzenleyiciler ve otomatik ölçeklendirme gibi bulut teknolojilerini içerir. Bulut etkin bir uygulama, bulut temelli karşılığının esnekliğine, dayanıklılığına veya ölçeklenebilirliğine sahip değildir. Bunun nedeni, buluta taşınmış olsalar bile bulut etkin uygulamaların monolitik yapılarını korumasıdır.

Neden AWS'de bulut temelli uygulamalar oluşturmalısınız?

AWS, işlevsel bulut temelli uygulamalar geliştirmek için gerekli teknolojileri, araçları ve hizmetleri sunar. Temel altyapı hakkında endişelenmek yerine yazılım ürünleri oluşturmaya odaklanabilirsiniz: 

  • İşlemleri basitleştirmek ve yönetim ek yükünü azaltmak için AWS'de yönetilen container'lara geçiş yapın
  • AWS Lambda ile sunucusuz teknolojileri kullanarak yeni uygulamalar veya özellikler ve Amazon DynamoDB ile amaca yönelik veri tabanları oluşturun
  • Çevikliği en üst düzeye çıkarmak ve geliştirme sürecini hızlandırmak için AWS Amplify ve AWS CDK gibi araçları kullanın
  • Mikro hizmet mimarisini ve belgeler ile anahtar/değer çiftlerini depolama gibi modern uygulama ihtiyaçlarını desteklemek için amaca özel 15 ilişkisel ve ilişkisel olmayan AWS veritabanı arasından seçim yapın
  • Uygulamaları daha hızlı geliştirmeye ve çalıştırmaya ve uygun ölçekte uygulamalar oluşturmaya yardımcı olması için DevOps hizmetleri portföyümüzü ve geniş Çözüm Ortağı Ağımızı kullanın

Hemen bir AWS hesabı oluşturarak bulut temelli uygulamaları kullanmaya başlayın.

AWS'de Sonraki Adımlar

Ürünle ilgili diğer kaynaklara göz atın
Her Uygulama İçin AWS hakkında daha fazla bilgi edinin 
Ücretsiz bir hesap için kaydolun

AWS Ücretsiz Kullanım için anında erişim elde edin.

Kaydolun 
Konsolda oluşturmaya başlayın

AWS Yönetim Konsolu'nda oluşturmaya başlayın.

Oturum açın