Sistem Yönetimi ve Bulut Bilişim

1. Ünite: Giriş

Bulut bilişim, bilişim kaynaklarının (sunucular, depolama, veri tabanları, ağ, yazılım) internet üzerinden isteğe bağlı olarak sunulması ve genellikle “kullandığın kadar öde” modeliyle ücretlendirilmesi sürecidir. Bu teknoloji, işletmelerin kendi fiziksel sunucularını satın alma ve yönetme zorunluluğunu ortadan kaldırarak operasyonel esneklik sağlar. NIST (Ulusal Standartlar ve Teknoloji Enstitüsü) tarafından yapılan tanıma göre bulut bilişimin beş temel özelliği vardır: İsteğe bağlı öz-hizmet, geniş ağ erişimi, kaynak havuzu oluşturma, hızlı esneklik ve ölçülebilir hizmet. İsteğe bağlı öz-hizmet, kullanıcının insan müdahalesine gerek duymadan bilgi işlem yeteneklerini otomatik olarak sağlayabilmesini ifade eder. Geniş ağ erişimi, kaynakların standart mekanizmalar aracılığıyla farklı cihazlar (mobil, tablet, PC) üzerinden erişilebilir olmasıdır. Kaynak havuzu, sağlayıcının bilişim kaynaklarını birden fazla müşteriye hizmet verecek şekilde havuzda toplamasını ve fiziksel/sanal kaynakların talebe göre dinamik atanmasını kapsar.

Hızlı esneklik, kaynakların talebe göre anında ölçeklenebilmesini (artırılıp azaltılmasını) sağlar; bu da kullanıcıya kaynakların sınırsız olduğu izlenimini verir. Ölçülebilir hizmet ise kullanımın şeffaf bir şekilde izlenmesi ve faturalandırılmasıdır. Bulut bilişim üç ana servis modeline ayrılır: IaaS (Altyapı Hizmeti), PaaS (Platform Hizmeti) ve SaaS (Yazılım Hizmeti). IaaS modelinde kullanıcı temel bilişim kaynaklarını (işlemci, depolama) kiralarken işletim sistemi ve uygulamadan sorumludur. PaaS modelinde uygulama geliştirme platformu sunulur, altyapı yönetimi sağlayıcıdadır. SaaS modelinde ise uygulama doğrudan bir web tarayıcısı üzerinden sunulur. Ayrıca dört temel kurulum modeli mevcuttur: Genel (Public) Bulut, Özel (Private) Bulut, Topluluk (Community) Bulutu ve bu modellerin birleşimi olan Hibrit (Hybrid) Bulut. Günümüzde hibrit bulut, güvenlik ve maliyet dengesi nedeniyle en çok tercih edilen modellerden biridir.

2. Ünite: Sanallaştırma ve Bulut

Sanallaştırma, bulut bilişimin kalbinde yer alan ve tek bir fiziksel donanım üzerinde birden fazla bağımsız sanal makine (VM) çalıştırılmasına olanak tanıyan teknolojidir. Bu süreçte donanım ile işletim sistemi arasında bir katman görevi gören “Hipervizör” (Hypervisor) veya Sanal Makine Monitörü (VMM) kullanılır. Hipervizörler iki tiptedir: Tip-1 (Çıplak Metal) doğrudan fiziksel donanım üzerinde çalışırken, Tip-2 (Barındırılan) mevcut bir işletim sisteminin üzerinde uygulama gibi çalışır. Sanallaştırma sayesinde fiziksel kaynakların (CPU, RAM, disk) kullanımı maksimize edilir; zira geleneksel sistemlerde sunucu kapasitesinin sadece %10-%15’i kullanılırken sanallaştırma ile bu oran %80’lere çıkabilir.

Sanallaştırma türleri arasında tam sanallaştırma, yan-sanallaştırma (para-virtualization) ve işletim sistemi düzeyinde sanallaştırma yer alır. Tam sanallaştırmada sanal makine donanımın tamamını simüle eder ve konuk işletim sisteminde değişiklik yapılmasına gerek kalmaz. Yan-sanallaştırmada ise konuk işletim sistemi hipervizör ile iletişim kuracak şekilde modifiye edilir, bu da performans artışı sağlar. Son yıllarda konteynır teknolojisi (Docker vb.), işletim sistemi çekirdeğini paylaşarak uygulamaların çok daha hafif ve hızlı bir şekilde paketlenip çalıştırılmasını sağlayarak sanallaştırmaya yeni bir boyut kazandırmıştır. Sanallaştırmanın temel faydaları arasında sunucu konsolidasyonu (daha az fiziksel sunucu ihtiyacı), hızlı kurulum, kolay yedekleme ve felaket kurtarma süreçlerinin hızlanması bulunur. Sanal makinelerin bir fiziksel sunucudan diğerine çalışma anında taşınması (live migration), sistem yöneticilerine kesintisiz bakım yapma imkanı tanır. Ancak sanallaştırma katmanının getirdiği bir performans yükü (overhead) her zaman mevcuttur ve bu yükün iyi yönetilmesi gerekir.

3. Ünite: Paralel ve Dağıtık Sistemler

Bulut bilişimin tarihsel evrimi, paralel ve dağıtık hesaplama teknolojilerine dayanmaktadır. Dağıtık sistemler, ağ üzerinde birbirine bağlı olan ve kullanıcıya tek bir sistemmiş gibi görünen bağımsız bilgisayarlar bütünüdür. Bu sistemlerin temel amacı, iş yükünü birden fazla makineye dağıtarak performansı ve hata toleransını artırmaktır. Paralel hesaplama ise büyük bir problemin daha küçük parçalara bölünerek aynı anda birden fazla işlemci (core) üzerinde çözülmesidir. Geleneksel “dikey ölçekleme” (bir sunucunun donanımını artırma), maliyet ve fiziksel sınırlar nedeniyle yerini “yatay ölçekleme”ye (sisteme daha fazla ucuz sunucu ekleme) bırakmıştır. Moore Yasası’nın fiziksel sınırlara ulaşmasıyla birlikte, hesaplama gücündeki artış artık tek işlemci hızından ziyade dağıtık yapılarla sağlanmaktadır.

Dağıtık sistemlerin başarısı; şeffaflık (transparency), ölçeklenebilirlik, güvenilirlik ve performans kriterlerine bağlıdır. Kullanıcı, verinin hangi fiziksel makinede olduğunu veya işlemin hangi sunucuda yapıldığını bilmek zorunda kalmamalıdır (şeffaflık). Küme hesaplama (Cluster Computing), yüksek hızlı bir yerel ağ ile birbirine bağlı homojen makinelerden oluşurken; Izgara hesaplama (Grid Computing), farklı coğrafyalarda bulunan heterojen kaynakların paylaşılmasını esas alır. Bulut bilişim, bu iki yaklaşımı modernleştirerek internet üzerinden esnek bir modelle sunar. Dağıtık mimarilerde en büyük zorluk, makineler arasındaki iletişim gecikmesi (latency) ve veri tutarlılığını sağlamaktır. CAP teoremi, bir dağıtık sistemin aynı anda tutarlılık (Consistency), erişilebilirlik (Availability) ve bölünebilme toleransını (Partition tolerance) sağlayamayacağını, bunlardan sadece ikisinin aynı anda seçilebileceğini belirtir. Modern bulut uygulamaları genellikle erişilebilirlik ve bölünebilme toleransı lehine kararlar vererek “nihai tutarlılık” (eventual consistency) modelini benimserler.

4. Ünite: Bulut Altyapısı

Bulut altyapısı, bulut hizmetlerinin sunulması için gerekli olan fiziksel ve sanal bileşenlerin tamamını kapsar. Bu altyapının merkezinde, binlerce sunucunun barındığı devasa veri merkezleri (Data Centers) yer alır. Bir veri merkezinin tasarımı; enerji verimliliği, soğutma sistemleri, ağ topolojisi ve fiziksel güvenlik katmanlarını içerir. Sunucular genellikle standart raflara (rack) yerleştirilir ve bu raflar “Raflar Arası Anahtar” (ToR – Top of Rack) üzerinden merkezi ağa bağlanır. Enerji tüketimi, veri merkezleri için en büyük maliyet kalemidir; bu nedenle PUE (Power Usage Effectiveness) değeri, yani harcanan toplam enerjinin bilişim donanımına giden enerjiye oranı, verimliliğin temel göstergesi olarak kullanılır.

Bulut altyapısında depolama tarafında geleneksel RAID yapılarının ötesinde, nesne tabanlı depolama (Object Storage) ve ağa bağlı depolama (NAS/SAN) çözümleri kullanılır. Nesne tabanlı depolama (örneğin AWS S3), verileri meta verileriyle birlikte saklayarak sınırsız ölçeklenebilirlik sunar. Ağ altyapısında ise Yazılım Tanımlı Ağlar (SDN) kullanılarak, ağ trafiğinin yönetimi fiziksel cihazlardan ayrıştırılıp merkezi bir yazılımla kontrol edilir. Bu sayede sanal makineler için anında sanal ağlar ve güvenlik grupları oluşturulabilir. Altyapı yönetimi, otomasyon araçları ve “Kod Olarak Altyapı” (IaC) yaklaşımlarıyla gerçekleştirilir. Bu yaklaşım, sunucu kurulumlarının ve yapılandırmalarının manuel olarak değil, kod dosyaları üzerinden hızlı ve hatasız bir şekilde yapılmasını sağlar. Bulut sağlayıcıları, yüksek erişilebilirlik sağlamak için altyapılarını farklı “Bölgeler” (Regions) ve her bölge içindeki bağımsız “Erişilebilirlik Alanları”na (Availability Zones) bölerler. Bu yapı, bir veri merkezinde yangın veya deprem gibi bir felaket olsa bile hizmetin diğer alanlardan devam etmesini garanti eder.

Monolithic vs Microservices architecture, yapay zekayla üretilmiş

5. Ünite: Uygulama ve Paradigmalar

Bulut bilişim, yazılım geliştirme ve çalıştırma biçimlerini de kökten değiştirerek yeni paradigmalar doğurmuştur. En önemli paradigmalarından biri “Hizmet Odaklı Mimari” (SOA) ve bunun daha modern hali olan “Mikroservisler”dir. Geleneksel monolitik uygulamalarda tüm fonksiyonlar tek bir paket içindeyken, mikroservis mimarisinde her fonksiyon bağımsız bir servis olarak geliştirilir ve dağıtılır. Bu servisler birbirleriyle hafif protokoller (REST API vb.) üzerinden haberleşir. Bu durum, bir servisteki hatanın tüm sistemi çökertmesini engeller ve her servisin ihtiyaca göre bağımsız ölçeklenmesine olanak tanır. Bulut ortamında büyük veri işleme için MapReduce, Hadoop ve Spark gibi modeller öne çıkar. MapReduce, devasa veri setlerini küçük parçalara bölerek paralel olarak işleyen (Map) ve sonuçları birleştiren (Reduce) bir programlama modelidir.

Diğer bir paradigma ise “Sunucusuz Hesaplama” (Serverless Computing / FaaS) modelidir. Bu modelde geliştirici, sunucu yönetimi veya ölçeklendirme ile hiç ilgilenmez; sadece kodu (fonksiyonu) yükler ve kod sadece tetiklendiğinde çalışır (örneğin AWS Lambda). Bu yapı, kaynakların saniyeler içinde ölçeklenmesini sağlar ve sadece kodun çalışma süresi için ödeme yapılır. Bulut tabanlı uygulamalar genellikle “Bulut Yerli” (Cloud Native) olarak tasarlanır; yani baştan itibaren sanallaştırma, konteynırlar ve otomatik ölçeklendirme özelliklerinden yararlanacak şekilde kurgulanırlar. Ayrıca, uygulama yaşam döngüsünü hızlandırmak için DevOps süreçleri ve Sürekli Entegrasyon / Sürekli Dağıtım (CI/CD) hatları kullanılır. Bu paradigmalar sayesinde işletmeler, yeni özellikleri dakikalar içinde canlıya alabilir ve kullanıcı taleplerindeki ani artışlara otomatik olarak yanıt verebilirler. SaaS modellerinde ise çoklu kiracılık (multi-tenancy) yapısı esastır; tek bir yazılım örneği, verileri mantıksal olarak ayrıştırılmış binlerce farklı müşteriye aynı anda hizmet verebilir.

6. Ünite: Bulut ve Kaynak Yönetimi Planlama

Bulut bilişimde kaynak yönetimi, sınırlı fiziksel kaynakların (CPU, bellek, depolama, bant genişliği) kullanıcı taleplerini en verimli şekilde karşılayacak şekilde tahsis edilmesi sürecidir. Bu sürecin temelinde Hizmet Seviyesi Anlaşmaları (SLA) yer alır. SLA, bulut sağlayıcısı ile kullanıcı arasında yapılan ve hizmetin kalitesini (çalışma süresi, yanıt hızı vb.) garanti altına alan yasal bir sözleşmedir. Kaynak planlaması yapılırken “kaynak sağlama” (provisioning) iki şekilde gerçekleşir: Statik ve Dinamik. Statik sağlamada kaynaklar önceden belirlenen sabit miktarlarda atanırken, dinamik sağlamada talep artışına göre kaynaklar otomatik olarak artırılır veya azaltılır. Dinamik sağlama, bulutun “hızlı esneklik” özelliğinin temelini oluşturur ve gereksiz maliyetleri önler.

Kaynak yönetiminde kullanılan çizelgeleme algoritmaları, iş yüklerinin sanal makineler arasında nasıl dağıtılacağını belirler. En yaygın algoritmalar arasında FIFO (İlk Gelen İlk Çıkar), Round Robin (Dönüşümlü Sıralama) ve En Kısa İş Önceliği yer alır. Ancak bulut ortamında enerji verimliliği ve maliyet optimizasyonu da kritik olduğu için daha karmaşık sezgisel algoritmalar tercih edilmektedir. Kaynak yönetiminin bir diğer boyutu “yük dengeleme” (load balancing) faaliyetidir. Yük dengeleyici, gelen trafiği birden fazla sunucuya dağıtarak tek bir sunucunun aşırı yüklenmesini önler. Ayrıca, “kaynak aşırı tahsisi” (over-provisioning) yaparak kaynakların boşta kalması riskiyle, “yetersiz tahsis” (under-provisioning) yaparak sistemin yavaşlaması riski arasında hassas bir denge kurulmalıdır. İyi bir kaynak yönetimi, hem sağlayıcının karını maksimize eder hem de kullanıcının kesintisiz hizmet almasını sağlar.

7. Ünite: Ağ Desteği

Bulut bilişimin performansını belirleyen en önemli faktör, kaynaklar arasındaki ve kullanıcı ile kaynaklar arasındaki iletişim altyapısı olan ağ desteğidir. Bulut ağları, geleneksel yerel ağlardan (LAN) çok daha karmaşık bir yapıya sahiptir. Sanal Özel Bulut (VPC), genel bulut üzerinde kullanıcıya ayrılmış, izole edilmiş bir mantıksal ağ alanıdır. Kullanıcılar VPC içinde kendi IP aralıklarını belirleyebilir, alt ağlar (subnets) oluşturabilir ve yönlendirme tablolarını yönetebilirler. Ağ seviyesinde güvenliği sağlamak için ise Ağ Erişim Kontrol Listeleri (NACL) ve Güvenlik Grupları (Security Groups) kullanılır. NACL, alt ağ seviyesinde trafik filtrelemesi yaparken; güvenlik grupları doğrudan sanal makine örneği (instance) seviyesinde koruma sağlar.

Bulut ağlarında veri trafiği “Kuzey-Güney” (kullanıcı ile veri merkezi arası) ve “Doğu-Batı” (veri merkezi içindeki sunucular arası) trafiği olarak kategorize edilir. Doğu-Batı trafiği, mikroservis mimarilerinin yaygınlaşmasıyla devasa boyutlara ulaşmıştır. Bu trafiği yönetmek için Yazılım Tanımlı Ağlar (SDN) kullanılır; SDN sayesinde ağın kontrol katmanı (control plane) ile veri iletim katmanı (data plane) birbirinden ayrılır. İçerik Dağıtım Ağları (CDN) ise, verileri kullanıcıya fiziksel olarak en yakın noktadaki uç sunucularda (edge servers) önbelleğe alarak gecikme sürelerini minimize eder. Ağ desteğinde bir diğer önemli bileşen DNS (Alan Adı Sistemi) hizmetleridir; bulut tabanlı DNS servisleri, gelen talepleri en düşük gecikmeye sahip veya en sağlıklı çalışan veri merkezine yönlendirme yeteneğine sahiptir. Etkin bir ağ tasarımı, bulut uygulamalarının yüksek hızda ve güvenli çalışmasını garanti altına alır.

8. Ünite: Bulut Güvenliği

Bulut güvenliği, verilerin, uygulamaların ve altyapının korunması için uygulanan teknoloji, politika ve kontroller bütünüdür. Bulut güvenliğinde en temel prensip “Paylaşımlı Sorumluluk Modeli”dir. Bu modele göre, bulut sağlayıcısı “bulutun kendisinin” güvenliğinden (fiziksel sunucular, soğutma, ağ donanımı) sorumluyken; kullanıcı “bulutun içindeki” verilerin ve uygulamaların güvenliğinden (işletim sistemi yamaları, şifreleme, erişim yetkileri) sorumludur. Güvenliğin üç ana unsuru olan CIA (Gizlilik, Bütünlük, Erişilebilirlik) üçlüsü bulutta da geçerlidir. Kimlik ve Erişim Yönetimi (IAM), “kimin, hangi kaynağa, hangi yetkiyle” erişeceğini belirleyen en kritik kontrol mekanizmasıdır.

Veri güvenliği için hem “durağan verinin” (disk üzerindeki) hem de “hareket halindeki verinin” (ağ üzerinden iletilen) şifrelenmesi zorunludur. SSL/TLS protokolleri iletişim güvenliğini sağlarken, AES gibi algoritmalar depolanan veriyi korur. Bulut ortamında “çoklu kiracılık” (multi-tenancy) yapısı nedeniyle, bir kullanıcının verisinin diğer kullanıcının verisine sızmasını önlemek için sanallaştırma katmanında sıkı bir izolasyon sağlanmalıdır. Ayrıca, bulut sistemleri sürekli olarak güvenlik denetimlerinden (SOC2, ISO 27001 vb.) geçirilir. Tehdit algılama sistemleri, ağ trafiğindeki ve kullanıcı davranışlarındaki anomalileri takip ederek olası saldırıları (DDoS, sızıntılar) erkenden tespit eder. Bulut güvenliği sadece dış saldırılara karşı değil, aynı zamanda veri kaybına karşı yedekleme ve felaket kurtarma stratejilerini de kapsayan bütünleşik bir süreçtir.

9. Ünite: Bulut Güvenliğinde Diğer Konular

Geleneksel güvenlik önlemlerinin ötesinde, bulut bilişimde veri egemenliği, yasal uyumluluk ve güven modelleri gibi karmaşık konular yer alır. Veri egemenliği, verinin fiziksel olarak hangi ülkede depolandığı ve o ülkenin yasalarına tabi olduğu gerçeğidir. Bazı ülkeler, vatandaşlarına ait verilerin ülke sınırları dışına çıkarılmasını yasaklayan katı kurallara (örneğin KVKK veya GDPR gibi) sahiptir. Bu durum bulut sağlayıcılarını belirli bölgelerde yerel veri merkezleri açmaya zorlamaktadır. Güven modelleri tarafında ise “Bulut Güvenlik İttifakı” (CSA) gibi kuruluşların yayınladığı kontrol matrisleri, işletmelerin hangi bulut sağlayıcısına güvenebileceğini belirlemede rehberlik eder.

Bulut yönetiminde (governance), kaynakların kullanım politikalarına uygunluğu, maliyetlerin denetimi ve gölge bilişim (IT departmanının haberi olmadan kullanılan bulut servisleri) riskleri ele alınır. Hizmet dışı kalma risklerine karşı “Çoklu Bulut” (Multi-Cloud) stratejileri geliştirilir; bu sayede bir sağlayıcıda sorun çıktığında hizmet diğer sağlayıcı üzerinden devam edebilir. Ayrıca, bulut sistemlerindeki “bağımlılık” (vendor lock-in) riski, verilerin bir sağlayıcıdan diğerine taşınmasını zorlaştırabilir. Bunu aşmak için açık standartların ve konteynır teknolojilerinin kullanımı teşvik edilir. Adli bilişim (forensics) bulut ortamında oldukça zordur, çünkü fiziksel disklere erişim yoktur ve veriler sürekli hareket halindedir. Bu nedenle, bulut ortamına özel loglama ve izleme araçlarının kurulması, bir güvenlik olayı sonrasında kanıt toplanabilmesi için hayati önem taşır.

10. Ünite: Yönetici İşletim Sistemleri

Sistem yöneticileri için işletim sistemi, donanım kaynaklarını yöneten ve bulut servislerinin üzerinde çalıştığı temel platformdur. Bulut dünyasında Linux tabanlı işletim sistemleri (Debian, Ubuntu, CentOS, Red Hat), açık kaynaklı olmaları, hafiflikleri ve güçlü komut satırı araçları sayesinde baskın durumdadır. Bir sistem yöneticisinin en temel görevleri arasında kullanıcı ve grup yönetimi, dosya izinlerinin (chmod/chown) düzenlenmesi ve servislerin (systemd) kontrol edilmesi yer alır. Paket yöneticileri (APT, YUM), yazılımların güvenli ve güncel bir şekilde yüklenmesini sağlar.

Sistem yönetimi artık manuel işlemlerden ziyade “otomasyon” üzerine kuruludur. Kabuk programlama (Shell Scripting / Bash), rutin işlerin otomatikleştirilmesini sağlar. Uzaktan yönetim için SSH (Secure Shell) protokolü kullanılır ve güvenliği artırmak için şifre yerine anahtar tabanlı kimlik doğrulama tercih edilir. Sistem kaynaklarının takibi için tophtopdffree gibi komutlar anlık durum bilgisi verirken; cron tabloları ise yedekleme gibi görevlerin belirli zamanlarda otomatik çalışmasını sağlar. Bulut yöneticileri ayrıca “altyapı kodlama” (Infrastructure as Code) araçlarıyla binlerce sunucuyu tek bir komutla yapılandırabilirler. Log dosyalarının (var/log) düzenli incelenmesi, sistemdeki hataların ve siber saldırı girişimlerinin tespit edilmesini sağlar. Modern sistem yönetiminde sadece sunucunun “çalışıyor” olması yetmez; performansın optimize edilmesi, güvenliğin sıkılaştırılması ve maliyetlerin minimize edilmesi de yöneticinin temel sorumlulukları arasındadır.

11. Ünite: Karmaşık Sistemler ve Organizasyon

Bilişim sistemleri, sadece donanım ve yazılımdan oluşmayan; insanları, süreçleri ve organizasyonel yapıları da kapsayan karmaşık sistemlerdir. Karmaşık sistemlerin en önemli özelliği, bütünün parçaların toplamından daha fazla ve farklı özellikler göstermesidir (belirme/emergence). Sistem teorisine göre, bir organizasyondaki her birim bir alt sistemdir ve bu alt sistemler arasındaki etkileşimler sistemin başarısını belirler. Bilgi sistemleri, organizasyonun sinir sistemi gibi çalışarak verinin akışını ve kararların alınmasını sağlar.

Organizasyonel yapılar, bilişim sistemlerinin tasarımını etkilediği gibi; bilişim sistemleri de organizasyonun hiyerarşisini ve iş yapış biçimlerini değiştirir (örneğin uzaktan çalışma modelleri). Karmaşık sistemlerde “entropi” (düzensizlik) eğilimi vardır; sistem yöneticileri ve analistler, geri bildirim (feedback) mekanizmalarını kullanarak sistemi dengede (homeostaz) tutmaya çalışırlar. Olumlu geri bildirim sistemdeki değişimi hızlandırırken, olumsuz geri bildirim sistemi stabilize eder. Organizasyonel değişim yönetimi, yeni bir bilişim sistemi (örneğin bir bulut geçişi) kurulduğunda çalışanların direncini kırmak ve sistemi kabullenmelerini sağlamak için şarttır. Sistem düşüncesi, problemleri tekil olarak değil, tüm organizasyon üzerindeki etkileriyle birlikte değerlendirmeyi gerektirir. Bu bakış açısı, bir departmandaki verimlilik artışının başka bir departmanda darboğaz yaratıp yaratmayacağını önceden görmeyi sağlar.

12. Ünite: Sistemleri Sistemi (System of Systems)

Sistemleri Sistemi (SoS), her biri bağımsız olarak çalışan ve kendi amaçları olan sistemlerin, daha büyük ve karmaşık bir amaca hizmet etmek üzere bir araya gelmesiyle oluşan yapıdır. Geleneksel monolitik sistemlerden farklı olarak SoS bileşenleri; operasyonel bağımsızlığa (kendi başlarına da çalışabilirler) ve yönetimsel bağımsızlığa (farklı kurumlar tarafından yönetilebilirler) sahiptir. Örneğin, bir “Akıllı Şehir” projesi; ulaşım sistemi, sağlık sistemi, enerji şebekesi ve güvenlik sistemlerinin birleşmesinden oluşan tipik bir SoS örneğidir.

SoS yapılarında en büyük zorluk “Birlikte Çalışabilirlik” (Interoperability) konusudur. Farklı dillerde yazılmış, farklı veri formatları kullanan sistemlerin birbiriyle hatasız konuşabilmesi için standart protokoller ve arayüzler (API) gereklidir. SoS’un evrimsel bir yapısı vardır; yani sisteme yeni alt sistemler eklenebilir veya mevcut olanlar çıkarılabilir, bu durum ana yapının çökmesine neden olmamalıdır. SoS tasarımı yapılırken “merkezi olmayan” bir yönetim modeli benimsenir. Bulut bilişim, SoS yapıları için ideal bir altyapı sunar; çünkü farklı coğrafyalardaki sistemlerin internet üzerinden entegre edilmesini kolaylaştırır. Bu ünite, sistemler arasındaki bağımlılıkların yönetilmesini, karmaşık entegrasyon süreçlerini ve SoS’un dinamik yapısı nedeniyle ortaya çıkan öngörülemeyen davranışların (emergent behaviors) nasıl kontrol altına alınacağını teorik ve pratik boyutlarıyla inceler.

13. Ünite: Bulut Uygulama Geliştirme

Bulut uygulama geliştirme, geleneksel yazılım geliştirmeden farklı olarak dağıtık mimariyi ve bulut servislerini (API) merkeze alan bir süreçtir. Bu aşamada Java gibi diller ve Amazon Web Services (AWS) gibi sağlayıcıların sunduğu SDK’lar (Yazılım Geliştirme Kitleri) yaygın olarak kullanılır. Uygulama geliştiriciler artık her fonksiyonu sıfırdan yazmak yerine, bulut sağlayıcısının sunduğu hazır servisleri (depolama, veri tabanı, mesajlaşma) kendi kodlarına entegre ederler. Bu entegrasyonun kalbinde API (Uygulama Programlama Arayüzü) çağrıları yer alır.

Örneğin, veri depolama için Amazon S3 (Simple Storage Service) kullanılırken, geliştiriciler kod içerisinde createBucket fonksiyonu ile depolama alanı oluşturabilir veya doesBucketExist ile mevcut bir alanı kontrol edebilirler. Nesne tabanlı depolama olan S3’te veriler “kova” (bucket) adı verilen alanlarda ve benzersiz anahtarlarla (key) saklanır. Bulut uygulamaları genellikle “durumsuz” (stateless) olarak tasarlanır; yani uygulama sunucusu kullanıcı oturum bilgisini kendi üzerinde tutmaz, bunun yerine merkezi bir veri tabanı veya önbellek (Redis vb.) kullanılır. Bu yapı, uygulamanın yatayda sınırsız ölçeklenmesini sağlar. Geliştirme sürecinde “Sürekli Entegrasyon ve Sürekli Dağıtım” (CI/CD) boru hatları kullanılarak, kodda yapılan bir değişiklik otomatik olarak test edilir ve bulut ortamına yüklenir. Bu sayede yazılım yaşam döngüsü hızlanır ve hata payı minimize edilir.

14. Ünite: Bulut Uygulamaları – 2

Kitabın son ünitesinde, gerçek dünya senaryoları ve ileri düzey bulut uygulamaları üzerinde durulmaktadır. Özellikle büyük veri analitiği, makine öğrenmesi ve IoT (Nesnelerin İnterneti) uygulamalarının bulut üzerinde nasıl kurgulandığı incelenir. Bulut tabanlı veri tabanları (DBaaS), geleneksel veri tabanlarına göre otomatik yedekleme, yüksek erişilebilirlik ve performans optimizasyonu gibi avantajlar sunar. İlişkisel veri tabanlarının (SQL) yanı sıra, büyük veri için NoSQL (DynamoDB, MongoDB) çözümleri esnek veri modelleri sunar.

Bulut uygulamalarının geleceğinde “Uç Hesaplama” (Edge Computing) önemli bir yer tutar; verinin üretildiği yere (sensörler, araçlar) yakın noktalarda işlenmesi, gecikme sürelerini azaltır. Ayrıca, bulut uygulamalarının maliyet yönetimi (FinOps), hangi servisin ne kadar kaynak tükettiğinin ve bütçenin nasıl optimize edileceğinin takibi stratejik bir önem kazanmıştır. Hibrit bulut uygulamaları, hassas verileri yerel sunucularda (on-premise) tutarken, yüksek işlem gücü gerektiren kısımları genel buluta taşıyarak her iki dünyanın avantajını birleştirir. Bu ünite, öğrenilen tüm teknik bilgilerin pratik projelerde nasıl birleştirileceğini ve modern bir sistem yöneticisinin veya bulut geliştiricisinin kariyer yolculuğunda karşılaşacağı güncel trendleri özetleyerek dersi sonlandırır.

Yorum bırakın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Scroll to Top