{"id":31903,"date":"2025-10-15T11:01:55","date_gmt":"2025-10-15T08:01:55","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/awste-3-katmanli-web-mimarisi-5-dakikada-olusturma-rehberi\/"},"modified":"2025-10-15T11:01:55","modified_gmt":"2025-10-15T08:01:55","slug":"awste-3-katmanli-web-mimarisi-5-dakikada-olusturma-rehberi","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/awste-3-katmanli-web-mimarisi-5-dakikada-olusturma-rehberi\/","title":{"rendered":"AWS&#8217;te 3 Katmanl\u0131 Web Mimarisi: 5 Dakikada Olu\u015fturma Rehberi"},"content":{"rendered":"<p><body><\/p>\n<p>Modern web uygulamalar\u0131, kullan\u0131c\u0131 beklentilerinin artmas\u0131yla birlikte daha karma\u015f\u0131k ve dinamik hale geldi. Peki, uygulaman\u0131z\u0131n milyonlarca kullan\u0131c\u0131ya kesintisiz hizmet verirken ayn\u0131 zamanda g\u00fcvenli, \u00f6l\u00e7eklenebilir ve y\u00fcksek performansl\u0131 olmas\u0131n\u0131 nas\u0131l sa\u011flars\u0131n\u0131z? \u0130\u015fte bu noktada 3 katmanl\u0131 web mimarisi devreye giriyor ve AWS, bu mimariyi hayata ge\u00e7irmek i\u00e7in e\u015fsiz bir platform sunuyor.<\/p>\n<p>G\u00fcn\u00fcm\u00fcz dijital d\u00fcnyas\u0131nda kullan\u0131c\u0131lar, an\u0131nda yan\u0131t veren ve her zaman eri\u015filebilir uygulamalar beklerler. Tek bir sunucuda \u00e7al\u0131\u015fan, t\u00fcm bile\u015fenleri i\u00e7 i\u00e7e ge\u00e7mi\u015f monolitik bir web uygulamas\u0131, ba\u015flang\u0131\u00e7ta h\u0131zl\u0131 bir \u00e7\u00f6z\u00fcm gibi g\u00f6r\u00fcnse de, zamanla ciddi sorunlara yol a\u00e7abilir. \u00d6rne\u011fin, uygulaman\u0131zda k\u00fc\u00e7\u00fck bir hata meydana geldi\u011finde t\u00fcm sistem \u00e7\u00f6ker mi? Anl\u0131k trafik art\u0131\u015flar\u0131 kar\u015f\u0131s\u0131nda uygulaman\u0131z fel\u00e7 mi oluyor? Veritaban\u0131n\u0131z bir g\u00fcvenlik ihlali riskiyle kar\u015f\u0131 kar\u015f\u0131ya m\u0131? Bu t\u00fcr sorular, web uygulaman\u0131z\u0131n altyap\u0131s\u0131n\u0131n ne kadar sa\u011flam ve s\u00fcrd\u00fcr\u00fclebilir oldu\u011funu sorgulaman\u0131za neden olur. Geleneksel yakla\u015f\u0131mlar genellikle y\u00fcksek maliyetli donan\u0131m y\u00fckseltmeleri, yetersiz g\u00fcvenlik \u00f6nlemleri ve \u00f6l\u00e7eklenebilirlik eksikli\u011fi gibi zorluklarla bo\u011fu\u015fur. Tek bir sunucu \u00fczerinde t\u00fcm katmanlar\u0131n \u00e7al\u0131\u015ft\u0131\u011f\u0131 bir yap\u0131, performans darbo\u011fazlar\u0131 yarat\u0131rken, g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 da art\u0131r\u0131r. Olas\u0131 bir sald\u0131r\u0131da, t\u00fcm uygulama veri taban\u0131na kadar kolayca eri\u015filebilir hale gelebilir. Ayr\u0131ca, uygulaman\u0131z\u0131n belirli bir b\u00f6l\u00fcm\u00fcnde yap\u0131lacak bir g\u00fcncelleme veya geli\u015ftirme, t\u00fcm sistemin yeniden ba\u015flat\u0131lmas\u0131n\u0131 gerektirebilir, bu da uzun kesintilere ve kullan\u0131c\u0131 memnuniyetsizli\u011fine yol a\u00e7ar. Bu karma\u015f\u0131k sorunlar zinciri, uygulaman\u0131z\u0131 geli\u015ftiren ekibin i\u015f y\u00fck\u00fcn\u00fc art\u0131r\u0131r ve yenilik\u00e7i \u00e7\u00f6z\u00fcmler \u00fcretme h\u0131z\u0131n\u0131 d\u00fc\u015f\u00fcr\u00fcr. Bu y\u00fczden, daha mod\u00fcler, esnek ve dayan\u0131kl\u0131 bir mimariye ge\u00e7i\u015f yapmak kritik \u00f6neme sahiptir.<\/p>\n<p>\u0130\u015fte tam da bu noktada, 3 katmanl\u0131 (3-tier) web uygulama mimarisi, bu t\u00fcr zorluklar\u0131n \u00fcstesinden gelmek i\u00e7in g\u00fc\u00e7l\u00fc ve kan\u0131tlanm\u0131\u015f bir \u00e7\u00f6z\u00fcm sunar. Bu mimari yakla\u015f\u0131m\u0131, uygulaman\u0131n farkl\u0131 i\u015flevlerini ayr\u0131, ba\u011f\u0131ms\u0131z katmanlara b\u00f6lerek, her bir katman\u0131n kendi ba\u015f\u0131na \u00f6l\u00e7eklenebilmesini, g\u00fcvenli\u011finin sa\u011flanmas\u0131n\u0131 ve y\u00f6netilmesini kolayla\u015ft\u0131r\u0131r. AWS (Amazon Web Services) gibi bulut platformlar\u0131 ise, bu katmanlar\u0131 h\u0131zl\u0131 ve verimli bir \u015fekilde kurmak, yap\u0131land\u0131rmak ve y\u00f6netmek i\u00e7in gerekli t\u00fcm ara\u00e7lar\u0131 ve hizmetleri sunar. B\u00f6ylece, uygulaman\u0131z\u0131n performans\u0131n\u0131 art\u0131r\u0131rken, g\u00fcvenlik risklerini minimize edebilir ve gelecekteki b\u00fcy\u00fcme ihtiya\u00e7lar\u0131na kolayca adapte olabilirsiniz. Uygulaman\u0131z\u0131 geli\u015ftirme ve bak\u0131m s\u00fcre\u00e7lerini de b\u00fcy\u00fck \u00f6l\u00e7\u00fcde basitle\u015ftirerek, ekibin daha verimli \u00e7al\u0131\u015fmas\u0131na olanak tan\u0131r.<\/p>\n<h2>3 Katmanl\u0131 Web Mimarisi Nedir ve Temel Bile\u015fenleri Nelerdir?<\/h2>\n<p>3 katmanl\u0131 web mimarisi, web uygulamalar\u0131n\u0131 \u00fc\u00e7 temel mant\u0131ksal ve fiziksel katmana ay\u0131r\u0131r: Sunum (Presentation) Katman\u0131, Uygulama (Application\/Logic) Katman\u0131 ve Veri (Data) Katman\u0131. Bu ayr\u0131m, her bir katman\u0131n ba\u011f\u0131ms\u0131z olarak geli\u015ftirilmesini, \u00f6l\u00e7eklenmesini ve y\u00f6netilmesini sa\u011flar, b\u00f6ylece uygulaman\u0131n genel performans\u0131n\u0131, g\u00fcvenli\u011fini ve s\u00fcrd\u00fcr\u00fclebilirli\u011fini art\u0131r\u0131r. Gelin, bu katmanlar\u0131 daha yak\u0131ndan inceleyelim:<\/p>\n<ol>\n<li>\n        <strong>Sunum (Presentation) Katman\u0131: Kullan\u0131c\u0131 Aray\u00fcz\u00fc ve Eri\u015fim Noktas\u0131<\/strong><\/p>\n<p>Bu katman, kullan\u0131c\u0131lar\u0131n do\u011frudan etkile\u015fimde bulundu\u011fu aray\u00fcz\u00fc ve i\u00e7eri\u011fi sunar. Temel olarak web taray\u0131c\u0131lar\u0131, mobil uygulamalar veya masa\u00fcst\u00fc uygulamalar\u0131 arac\u0131l\u0131\u011f\u0131yla eri\u015filen g\u00f6rsel bile\u015fenleri i\u00e7erir. Bu katman\u0131n amac\u0131, son kullan\u0131c\u0131lara i\u00e7eri\u011fi verimli bir \u015fekilde sunmak ve onlar\u0131n isteklerini uygulama katman\u0131na iletmektir. Genellikle statik web dosyalar\u0131 (HTML, CSS, JavaScript), g\u00f6rseller ve di\u011fer medya i\u00e7erikleri burada yer al\u0131r. AWS&#8217;te bu katman i\u00e7in genellikle a\u015fa\u011f\u0131daki hizmetler kullan\u0131l\u0131r:<\/p>\n<ul>\n<li><strong>Amazon S3 (Simple Storage Service):<\/strong> Statik web sitesi bar\u0131nd\u0131rma i\u00e7in y\u00fcksek \u00f6l\u00e7eklenebilirlik ve uygun maliyet sunar.<\/li>\n<li><strong>Amazon CloudFront:<\/strong> Bir \u0130\u00e7erik Da\u011f\u0131t\u0131m A\u011f\u0131 (CDN) olarak, i\u00e7eri\u011fi co\u011frafi olarak kullan\u0131c\u0131lara daha yak\u0131n \u00f6nbelle\u011fe alarak y\u00fckleme s\u00fcrelerini azalt\u0131r ve performans\u0131 art\u0131r\u0131r.<\/li>\n<li><strong>Elastic Load Balancing (ELB) &#8211; Application Load Balancer (ALB):<\/strong> Gelen trafi\u011fi uygulama katman\u0131ndaki sunuculara da\u011f\u0131tarak y\u00fck dengelemesi yapar ve y\u00fcksek eri\u015filebilirlik sa\u011flar. Ayn\u0131 zamanda HTTPS sonland\u0131rmas\u0131 ve i\u00e7erik tabanl\u0131 y\u00f6nlendirme gibi geli\u015fmi\u015f \u00f6zellikler sunar.<\/li>\n<li><strong>AWS Route 53:<\/strong> Alan ad\u0131 hizmetleri (DNS) sa\u011flayarak kullan\u0131c\u0131lar\u0131n uygulaman\u0131za kolayca eri\u015fmesini sa\u011flar.<\/li>\n<\/ul>\n<p>Bu katman, g\u00f6rsel \u00e7ekicilik ve kullan\u0131c\u0131 deneyimi a\u00e7\u0131s\u0131ndan kritik \u00f6neme sahiptir. Kullan\u0131c\u0131lar uygulaman\u0131zla ilk etkile\u015fimi bu katman \u00fczerinden kurdu\u011fundan, h\u0131zl\u0131 y\u00fcklenen, yan\u0131t veren ve sezgisel bir aray\u00fcz sunmak temel hedeftir. Ayr\u0131ca, g\u00fcvenlik a\u00e7\u0131s\u0131ndan bu katman, do\u011frudan uygulama ve veri katman\u0131na eri\u015fimi engelleyen ilk savunma hatt\u0131n\u0131 olu\u015fturur.<\/p>\n<\/li>\n<li>\n        <strong>Uygulama (Application\/Logic) Katman\u0131: \u0130\u015f Mant\u0131\u011f\u0131 ve \u0130\u015flem Y\u00f6netimi<\/strong><\/p>\n<p>Orta katman olarak da bilinen uygulama katman\u0131, uygulaman\u0131n temel i\u015f mant\u0131\u011f\u0131n\u0131 i\u00e7erir. Kullan\u0131c\u0131 isteklerini i\u015fler, veri katman\u0131ndan bilgi al\u0131r ve i\u015fleyerek sunum katman\u0131na geri g\u00f6nderir. Bu katman, veri i\u015fleme, do\u011frulama, API etkile\u015fimleri ve di\u011fer karma\u015f\u0131k hesaplamalar\u0131 ger\u00e7ekle\u015ftirir. Bu katman\u0131n temel avantaj\u0131, i\u015f mant\u0131\u011f\u0131n\u0131 kullan\u0131c\u0131 aray\u00fcz\u00fcnden ve veritaban\u0131ndan ay\u0131rarak esneklik ve \u00f6l\u00e7eklenebilirlik sa\u011flamas\u0131d\u0131r. AWS&#8217;te bu katman i\u00e7in yayg\u0131n olarak kullan\u0131lan hizmetler:<\/p>\n<ul>\n<li><strong>Amazon EC2 (Elastic Compute Cloud):<\/strong> Uygulaman\u0131z\u0131n \u00e7al\u0131\u015ft\u0131\u011f\u0131 sanal sunucular\u0131 sa\u011flar. Farkl\u0131 i\u015flemci, bellek ve depolama se\u00e7enekleriyle ihtiyaca g\u00f6re \u00f6zelle\u015ftirilebilir.<\/li>\n<li><strong>Auto Scaling Group:<\/strong> Trafik yo\u011funlu\u011funa g\u00f6re EC2 instance&#8217;lar\u0131n\u0131 otomatik olarak art\u0131r\u0131p azaltarak performans\u0131n ve maliyetin optimize edilmesini sa\u011flar.<\/li>\n<li><strong>AWS Lambda:<\/strong> Sunucusuz (serverless) mimari ile, olaylara (event) dayal\u0131 kod \u00e7al\u0131\u015ft\u0131rma imkan\u0131 sunar, \u00f6zellikle mikroservis tabanl\u0131 uygulamalar i\u00e7in idealdir.<\/li>\n<li><strong>Amazon API Gateway:<\/strong> Uygulama katman\u0131n\u0131zdaki API&#8217;leri y\u00f6netir ve g\u00fcvenli bir \u015fekilde d\u0131\u015f d\u00fcnyaya sunar.<\/li>\n<\/ul>\n<p>Bu katman, uygulaman\u0131n kalbi niteli\u011findedir. \u0130\u015f mant\u0131\u011f\u0131n\u0131 tek bir yerde tutarak, de\u011fi\u015fikliklerin veya g\u00fcncellemelerin yaln\u0131zca bu katman\u0131 etkilemesini sa\u011flar, di\u011fer katmanlar\u0131 minimal d\u00fczeyde etkiler. Ayr\u0131ca, performans\u0131 art\u0131rmak i\u00e7in bu katman \u00fczerinde \u00f6nbellekleme (caching) mekanizmalar\u0131 da uygulanabilir.<\/p>\n<\/li>\n<li>\n        <strong>Veri (Data) Katman\u0131: Bilgi Depolama ve Y\u00f6netimi<\/strong><\/p>\n<p>Uygulaman\u0131n t\u00fcm verilerini depolayan ve y\u00f6neten katmand\u0131r. Bu katman, kullan\u0131c\u0131 bilgileri, \u00fcr\u00fcn kataloglar\u0131, i\u015flem kay\u0131tlar\u0131 gibi yap\u0131sal ve yap\u0131sal olmayan verileri saklar. Uygulama katman\u0131 d\u0131\u015f\u0131nda hi\u00e7bir katman\u0131n do\u011frudan veri katman\u0131na eri\u015fimi olmamal\u0131d\u0131r; t\u00fcm veri etkile\u015fimleri uygulama katman\u0131 arac\u0131l\u0131\u011f\u0131yla ger\u00e7ekle\u015fir. Bu, veri g\u00fcvenli\u011fini \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131r\u0131r. AWS&#8217;te veri katman\u0131 i\u00e7in \u00e7e\u015fitli hizmetler mevcuttur:<\/p>\n<ul>\n<li><strong>Amazon RDS (Relational Database Service):<\/strong> \u0130li\u015fkisel veritabanlar\u0131 (PostgreSQL, MySQL, SQL Server, Oracle vb.) i\u00e7in y\u00f6netilen bir hizmettir. Yedekleme, yamalama ve \u00f6l\u00e7eklendirme gibi i\u015flemleri otomatikle\u015ftirir.<\/li>\n<li><strong>Amazon DynamoDB:<\/strong> Y\u00fcksek performansl\u0131 ve \u00f6l\u00e7eklenebilir, tam olarak y\u00f6netilen bir NoSQL veritaban\u0131 hizmetidir. B\u00fcy\u00fck veri setleri ve d\u00fc\u015f\u00fck gecikme s\u00fcresi gerektiren uygulamalar i\u00e7in idealdir.<\/li>\n<li><strong>Amazon Aurora:<\/strong> MySQL ve PostgreSQL ile uyumlu, y\u00fcksek performansl\u0131 ve buluta \u00f6zel bir ili\u015fkisel veritaban\u0131 hizmetidir.<\/li>\n<li><strong>Amazon S3 (Simple Storage Service):<\/strong> Y\u00fcksek oranda dayan\u0131kl\u0131 ve \u00f6l\u00e7eklenebilir nesne depolama hizmeti olarak yap\u0131sal olmayan veriler (resimler, videolar, belgeler) i\u00e7in kullan\u0131labilir.<\/li>\n<\/ul>\n<p>Veri katman\u0131, uygulaman\u0131n en hassas bilgilerini bar\u0131nd\u0131rd\u0131\u011f\u0131 i\u00e7in g\u00fcvenlik en \u00fcst d\u00fczeyde olmal\u0131d\u0131r. Bu katmana genellikle yaln\u0131zca uygulama katman\u0131ndan ve belirli y\u00f6netim ara\u00e7lar\u0131ndan eri\u015fim izni verilir. Verilerin yedeklenmesi, \u015fifrelenmesi ve felaket kurtarma planlar\u0131 bu katman i\u00e7in hayati \u00f6neme sahiptir. Bu ayr\u0131\u015ft\u0131rma sayesinde, her katman ba\u011f\u0131ms\u0131z olarak \u00f6l\u00e7eklenebilir ve y\u00f6netilebilir, bu da sistemin genel esnekli\u011fini ve dayan\u0131kl\u0131l\u0131\u011f\u0131n\u0131 art\u0131r\u0131r. \u00d6rne\u011fin, kullan\u0131c\u0131 trafi\u011fi artt\u0131\u011f\u0131nda sadece uygulama katman\u0131ndaki sunucular\u0131n say\u0131s\u0131n\u0131 art\u0131rabilirsiniz; veritaban\u0131 veya sunum katman\u0131nda de\u011fi\u015fiklik yapman\u0131za gerek kalmaz. Ayn\u0131 \u015fekilde, veritaban\u0131 performans\u0131n\u0131 art\u0131rmak istedi\u011finizde, uygulama kodunu de\u011fi\u015ftirmeden veri katman\u0131nda iyile\u015ftirmeler yapabilirsiniz. Bu mod\u00fcler yap\u0131, uzun vadede bak\u0131m maliyetlerini d\u00fc\u015f\u00fcr\u00fcr ve yeni \u00f6zelliklerin daha h\u0131zl\u0131 devreye al\u0131nmas\u0131n\u0131 sa\u011flar.<\/p>\n<h2>AWS Neden 3 Katmanl\u0131 Mimariler \u0130\u00e7in \u0130deal Bir Platformdur?<\/h2>\n<p>AWS, bulut bili\u015fim hizmetleri d\u00fcnyas\u0131nda lider konumda olup, 3 katmanl\u0131 mimarileri uygulamak i\u00e7in e\u015fsiz avantajlar sunar. Bu platformun sundu\u011fu esneklik, \u00f6l\u00e7eklenebilirlik, g\u00fcvenlik ve geni\u015f hizmet yelpazesi, modern web uygulamalar\u0131n\u0131n ihtiya\u00e7lar\u0131n\u0131 kar\u015f\u0131lamak i\u00e7in m\u00fckemmel bir temel olu\u015fturur. \u0130\u015fte AWS&#8217;in neden ideal bir se\u00e7im oldu\u011funa dair temel nedenler:<\/p>\n<ul>\n<li>\n        <strong>Esneklik ve \u00d6l\u00e7eklenebilirlik:<\/strong><\/p>\n<p>AWS, uygulaman\u0131z\u0131n anl\u0131k trafik ihtiya\u00e7lar\u0131na g\u00f6re kaynaklar\u0131 otomatik olarak ayarlayabilmenizi sa\u011flar. EC2 instance&#8217;lar\u0131n\u0131 Auto Scaling ile yap\u0131land\u0131rarak, y\u00fck art\u0131\u015flar\u0131nda otomatik olarak yeni sunucular devreye alabilir ve y\u00fck azald\u0131\u011f\u0131nda fazla kaynaklar\u0131 kapatarak maliyetten tasarruf edebilirsiniz. Bu, ani trafik s\u0131\u00e7ramalar\u0131nda uygulaman\u0131z\u0131n performans\u0131n\u0131n d\u00fc\u015fmesini engeller ve kullan\u0131c\u0131 deneyimini kesintisiz k\u0131lar. \u00d6rne\u011fin, Black Friday gibi \u00f6zel indirim d\u00f6nemlerinde bir e-ticaret uygulamas\u0131n\u0131n sunucular\u0131n\u0131n otomatik olarak y\u00fczlerce hatta binlerce yeni EC2 instance&#8217;\u0131na \u00f6l\u00e7eklenmesi, AWS&#8217;in bu yetene\u011finin somut bir g\u00f6stergesidir. Geleneksel altyap\u0131larda bu \u00f6l\u00e7eklendirme, haftalar s\u00fcren planlama ve ciddi donan\u0131m yat\u0131r\u0131m\u0131 gerektirirken, AWS&#8217;te dakikalar i\u00e7inde ger\u00e7ekle\u015febilir.<\/p>\n<\/li>\n<li>\n        <strong>Y\u00f6netilen Hizmetler ve Operasyonel Y\u00fck\u00fcn Azalmas\u0131:<\/strong><\/p>\n<p>AWS, RDS, DynamoDB, S3, ElastiCache gibi bir\u00e7ok tam olarak y\u00f6netilen hizmet sunar. Bu hizmetler, veritaban\u0131 yedeklemesi, yamalama, g\u00fcvenlik g\u00fcncellemeleri, donan\u0131m temini ve altyap\u0131 y\u00f6netimi gibi operasyonel g\u00f6revleri AWS&#8217;in sorumlulu\u011funa b\u0131rak\u0131r. Bu sayede geli\u015ftirme ekipleri, altyap\u0131 y\u00f6netiminin karma\u015f\u0131kl\u0131\u011f\u0131yla u\u011fra\u015fmak yerine, do\u011frudan i\u015f mant\u0131\u011f\u0131 ve uygulama geli\u015ftirme \u00fczerine odaklanabilirler. Bu durum, geli\u015ftirme s\u00fcre\u00e7lerini h\u0131zland\u0131r\u0131r ve genel operasyonel maliyetleri d\u00fc\u015f\u00fcr\u00fcr. Ayr\u0131ca, bu hizmetler genellikle y\u00fcksek eri\u015filebilirlik ve felaket kurtarma \u00f6zellikleri de sunarak uygulaman\u0131z\u0131n dayan\u0131kl\u0131l\u0131\u011f\u0131n\u0131 art\u0131r\u0131r.<\/p>\n<\/li>\n<li>\n        <strong>Geli\u015fmi\u015f G\u00fcvenlik \u00d6zellikleri:<\/strong><\/p>\n<p>AWS, uygulama g\u00fcvenli\u011fini sa\u011flamak i\u00e7in kapsaml\u0131 bir dizi ara\u00e7 ve hizmet sunar. Virtual Private Cloud (VPC) ile sanal a\u011f\u0131n\u0131z\u0131 tamamen izole edebilir, Security Groups ve A\u011f Eri\u015fim Kontrol Listeleri (NACL&#8217;ler) ile kat\u0131 g\u00fcvenlik duvarlar\u0131 olu\u015fturabilirsiniz. IAM (Identity and Access Management) ile kullan\u0131c\u0131 ve hizmetlere en az ayr\u0131cal\u0131k (least privilege) prensibiyle eri\u015fim y\u00f6netimi uygulayabilirsiniz. Ayr\u0131ca WAF (Web Application Firewall) ile yayg\u0131n web sald\u0131r\u0131lar\u0131na kar\u015f\u0131 koruma sa\u011flayabilir, KMS (Key Management Service) ile verilerinizi \u015fifreleyebilirsiniz. Bu katmanl\u0131 g\u00fcvenlik yakla\u015f\u0131m\u0131, uygulaman\u0131z\u0131n ve verilerinizin korunmas\u0131n\u0131 sa\u011flar. \u00d6zellikle 3 katmanl\u0131 mimaride, her katman\u0131n kendine \u00f6zg\u00fc g\u00fcvenlik gruplar\u0131yla izole edilmesi, bir katmanda meydana gelebilecek bir g\u00fcvenlik ihlalinin di\u011fer katmanlara yay\u0131lmas\u0131n\u0131 engellemeye yard\u0131mc\u0131 olur.<\/p>\n<\/li>\n<li>\n        <strong>Maliyet Etkinli\u011fi:<\/strong><\/p>\n<p>&#8220;\u00d6de-kulland\u0131\u011f\u0131n kadar&#8221; modeli sayesinde, yaln\u0131zca kulland\u0131\u011f\u0131n\u0131z kaynaklar i\u00e7in \u00f6deme yapars\u0131n\u0131z. Donan\u0131m sat\u0131n alma ve bak\u0131m maliyetlerinden kurtulursunuz. Auto Scaling gibi \u00f6zellikler, kaynaklar\u0131 optimize ederek gereksiz harcamalar\u0131 \u00f6nler. Bu model, \u00f6zellikle ba\u015flang\u0131\u00e7 a\u015famas\u0131ndaki \u015firketler ve de\u011fi\u015fken i\u015f y\u00fckleri olan uygulamalar i\u00e7in b\u00fcy\u00fck bir avantaj sa\u011flar. Geleneksel altyap\u0131larda yap\u0131lan \u00f6n yat\u0131r\u0131mlar ve kapasite planlama zorluklar\u0131 ortadan kalkar.<\/p>\n<\/li>\n<li>\n        <strong>Y\u00fcksek Eri\u015filebilirlik ve Felaket Kurtarma:<\/strong><\/p>\n<p>AWS, \u00e7oklu kullan\u0131labilirlik b\u00f6lgeleri (Availability Zones &#8211; AZ) ve b\u00f6lgeler (Regions) aras\u0131nda kaynaklar\u0131 da\u011f\u0131tarak y\u00fcksek eri\u015filebilirlik sa\u011flar. RDS gibi y\u00f6netilen hizmetler otomatik olarak Multi-AZ da\u011f\u0131t\u0131mlar\u0131 sunar, bu da bir veri merkezi ar\u0131zas\u0131nda bile uygulaman\u0131z\u0131n kesintisiz \u00e7al\u0131\u015fmaya devam etmesini sa\u011flar. Felaket kurtarma senaryolar\u0131 i\u00e7in de birden fazla b\u00f6lgeye yay\u0131lan yedekleme ve replikasyon \u00e7\u00f6z\u00fcmleri kolayca uygulanabilir. Bu sayede, beklenmedik olaylarda bile i\u015f s\u00fcreklili\u011fi garanti alt\u0131na al\u0131n\u0131r.<\/p>\n<\/li>\n<\/ul>\n<div class=\"expert-tip\">\n    Uzman \u0130pucu: AWS&#8217;in y\u00f6netilen hizmetlerini kullanmak, altyap\u0131 y\u00f6netim y\u00fck\u00fcn\u00fc %70&#8217;e kadar azaltabilir ve ekiplerinizin yenilik\u00e7i geli\u015ftirmelere odaklanmas\u0131n\u0131 sa\u011flayabilir. Unutmay\u0131n, &#8220;sunucu y\u00f6netimi&#8221; yerine &#8220;uygulama geli\u015ftirme&#8221;ye yat\u0131r\u0131m yapmak uzun vadede \u00e7ok daha de\u011ferlidir.\n<\/div>\n<p><strong>Ger\u00e7ek D\u00fcnya Vaka Analizi: E-ticaret \u015eirketi &#8220;H\u0131zl\u0131Sepet&#8221;in D\u00f6n\u00fc\u015f\u00fcm\u00fc<\/strong><\/p>\n<p>H\u0131zl\u0131Sepet, yeni kurulmu\u015f bir e-ticaret giri\u015fimiydi ve ba\u015flang\u0131\u00e7ta t\u00fcm uygulamas\u0131n\u0131 tek bir g\u00fc\u00e7l\u00fc sunucu \u00fczerinde bar\u0131nd\u0131r\u0131yordu. Uygulaman\u0131n pop\u00fclaritesi artt\u0131k\u00e7a, \u00f6zellikle kampanya d\u00f6nemlerinde web sitesi yava\u015flamaya, hatta bazen tamamen eri\u015filemez hale gelmeye ba\u015flad\u0131. M\u00fc\u015fteri \u015fikayetleri artarken, m\u00fchendislik ekibi s\u00fcrekli olarak sunucu bak\u0131m\u0131 ve performans optimizasyonuyla u\u011fra\u015f\u0131yordu. Bu durum, yeni \u00f6zellikler geli\u015ftirmelerini engelliyor ve \u015firketin b\u00fcy\u00fcme potansiyelini k\u0131s\u0131tl\u0131yordu.<\/p>\n<p>H\u0131zl\u0131Sepet, bu sorunlar\u0131 a\u015fmak i\u00e7in AWS \u00fczerinde 3 katmanl\u0131 mimariye ge\u00e7i\u015f yapmaya karar verdi. Sunum katman\u0131 i\u00e7in CloudFront ve S3 kullanarak statik i\u00e7erik da\u011f\u0131t\u0131m\u0131n\u0131 h\u0131zland\u0131rd\u0131lar. Uygulama katman\u0131n\u0131 EC2 instance&#8217;lar\u0131, Auto Scaling Group ve Application Load Balancer ile yeniden yap\u0131land\u0131rd\u0131lar. Bu sayede, trafik yo\u011funlu\u011funa g\u00f6re uygulama sunucular\u0131 otomatik olarak \u00f6l\u00e7eklenebiliyordu. Veri katman\u0131 i\u00e7in ise Amazon RDS for PostgreSQL&#8217;i tercih ettiler, b\u00f6ylece veritaban\u0131 y\u00f6netimi y\u00fck\u00fcnden kurtuldular ve y\u00fcksek eri\u015filebilirlik sa\u011flad\u0131lar.<\/p>\n<p>Bu ge\u00e7i\u015fin sonucunda H\u0131zl\u0131Sepet, kampanya d\u00f6nemlerinde bile performanstan \u00f6d\u00fcn vermeden milyonlarca kullan\u0131c\u0131ya hizmet verebilir hale geldi. Web sitesi y\u00fckleme s\u00fcreleri %50 azald\u0131, operasyonel maliyetler optimize edildi ve g\u00fcvenlik seviyesi \u00f6nemli \u00f6l\u00e7\u00fcde artt\u0131. M\u00fchendislik ekibi art\u0131k altyap\u0131 sorunlar\u0131yla de\u011fil, yeni m\u00fc\u015fteri deneyimi \u00f6zellikleri geli\u015ftirmekle me\u015fguld\u00fc. Bu d\u00f6n\u00fc\u015f\u00fcm, H\u0131zl\u0131Sepet&#8217;in pazardaki rekabet g\u00fcc\u00fcn\u00fc art\u0131rd\u0131 ve s\u00fcrd\u00fcr\u00fclebilir b\u00fcy\u00fcme i\u00e7in sa\u011flam bir temel olu\u015fturdu. Bu vaka analizi, AWS&#8217;in 3 katmanl\u0131 mimariler i\u00e7in neden ideal bir platform oldu\u011funu a\u00e7\u0131k\u00e7a g\u00f6zler \u00f6n\u00fcne sermektedir.<\/p>\n<h2>Ad\u0131m Ad\u0131m: AWS \u00dczerinde Basit Bir 3 Katmanl\u0131 Mimari Nas\u0131l Olu\u015fturulur? (5 Dakikada Bir POC)<\/h2>\n<p>AWS \u00fczerinde 3 katmanl\u0131 bir mimari kurmak, temel bile\u015fenleri anlad\u0131ktan sonra \u015fa\u015f\u0131rt\u0131c\u0131 derecede h\u0131zl\u0131 olabilir. Elbette, &#8220;5 dakikada&#8221; terimi, temel altyap\u0131n\u0131n otomasyon ara\u00e7lar\u0131 (\u00f6rne\u011fin AWS CLI veya CloudFormation \u015fablonlar\u0131) kullan\u0131larak h\u0131zla devreye al\u0131nmas\u0131n\u0131 ifade eder, uygulaman\u0131n tamam\u0131n\u0131n geli\u015ftirilmesi ve t\u00fcm konfig\u00fcrasyon detaylar\u0131n\u0131n ince ayarlar\u0131 bu s\u00fcreye dahil de\u011fildir. Ancak, temel bir &#8220;Proof of Concept (PoC)&#8221; ortam\u0131n\u0131 birka\u00e7 dakika i\u00e7inde haz\u0131r hale getirebilirsiniz. \u0130\u015fte ad\u0131m ad\u0131m nas\u0131l yap\u0131laca\u011f\u0131:<\/p>\n<p>Bu b\u00f6l\u00fcmde, minimal bir 3 katmanl\u0131 yap\u0131 kuraca\u011f\u0131z:<\/p>\n<ul>\n<li><strong>Sunum Katman\u0131:<\/strong> Application Load Balancer (ALB) ve Route 53 (DNS kayd\u0131).<\/li>\n<li><strong>Uygulama Katman\u0131:<\/strong> Auto Scaling Group i\u00e7inde \u00e7al\u0131\u015fan Amazon EC2 instance&#8217;lar\u0131 (web sunucusu ve basit Flask uygulamas\u0131 ile).<\/li>\n<li><strong>Veri Katman\u0131:<\/strong> Amazon RDS for PostgreSQL (basit bir veritaban\u0131).<\/li>\n<li><strong>A\u011f Katman\u0131:<\/strong> VPC, Public ve Private Subnet&#8217;ler, \u0130nternet Gateway, NAT Gateway, Security Groups.<\/li>\n<\/ul>\n<h3>1. Temel A\u011f Yap\u0131s\u0131n\u0131 Olu\u015fturma (VPC)<\/h3>\n<p>Her \u015feyden \u00f6nce, uygulaman\u0131z i\u00e7in izole edilmi\u015f bir sanal a\u011fa ihtiyac\u0131m\u0131z var. AWS VPC (Virtual Private Cloud) bu i\u015f i\u00e7in idealdir.<\/p>\n<ol>\n<li><strong>VPC Olu\u015fturma:<\/strong> Y\u00f6netim konsolunda &#8220;VPC&#8221; hizmetine gidin ve &#8220;Create VPC&#8221; deyin. Bir IPv4 CIDR blo\u011fu (\u00f6rne\u011fin, <code>10.0.0.0\/16<\/code>) belirleyin.<\/li>\n<li><strong>Subnet&#8217;ler Olu\u015fturma:<\/strong> \u0130ki public ve iki private subnet olu\u015fturun. Public subnet&#8217;ler internete do\u011frudan eri\u015fimi olan kaynaklar (ALB) i\u00e7in, private subnet&#8217;ler ise uygulama sunucular\u0131 (EC2) ve veritaban\u0131 (RDS) i\u00e7in kullan\u0131lacakt\u0131r. Her subnet&#8217;i farkl\u0131 bir Availability Zone&#8217;da (AZ) olu\u015fturarak y\u00fcksek eri\u015filebilirlik sa\u011flay\u0131n.<\/li>\n<li><strong>Internet Gateway (IGW) ve Route Table&#8217;lar:<\/strong> Public subnet&#8217;ler i\u00e7in internete \u00e7\u0131k\u0131\u015f\u0131 sa\u011flamak amac\u0131yla bir IGW olu\u015fturup VPC&#8217;nize ba\u011flay\u0131n. Public Route Table&#8217;\u0131n\u0131za <code>0.0.0.0\/0<\/code> trafi\u011fini IGW&#8217;ye y\u00f6nlendiren bir kural ekleyin.<\/li>\n<li><strong>NAT Gateway (Opsiyonel ama \u00d6nerilir):<\/strong> Private subnet&#8217;lerdeki EC2 instance&#8217;lar\u0131n\u0131n internete \u00e7\u0131kabilmesi (\u00f6rne\u011fin g\u00fcncellemeler i\u00e7in) ancak internetten do\u011frudan eri\u015filememesi i\u00e7in bir NAT Gateway olu\u015fturun ve bir public subnet&#8217;e yerle\u015ftirin. Private Route Table&#8217;lar\u0131n\u0131za <code>0.0.0.0\/0<\/code> trafi\u011fini NAT Gateway&#8217;e y\u00f6nlendiren bir kural ekleyin.<\/li>\n<\/ol>\n<p><strong>AWS CLI ile VPC ve Subnet Olu\u015fturma (Basitle\u015ftirilmi\u015f):<\/strong><\/p>\n<pre><code class=\"language-bash\">\n# VPC Olu\u015fturma\naws ec2 create-vpc --cidr-block 10.0.0.0\/16 --query Vpc.VpcId --output text\n# \u00c7\u0131kt\u0131: vpc-xxxxxxxxxxxxxxxxx (Bunu bir yere kaydedin)\n\n# Public Subnet Olu\u015fturma (\u00d6rnek: us-east-1a'da)\naws ec2 create-subnet --vpc-id vpc-xxxxxxxxxxxxxxxxx --cidr-block 10.0.1.0\/24 --availability-zone us-east-1a --query Subnet.SubnetId --output text\n# \u00c7\u0131kt\u0131: subnet-public-xxxxxxxxxxxxxxxxx\n\n# Private Subnet Olu\u015fturma (\u00d6rnek: us-east-1a'da)\naws ec2 create-subnet --vpc-id vpc-xxxxxxxxxxxxxxxxx --cidr-block 10.0.101.0\/24 --availability-zone us-east-1a --query Subnet.SubnetId --output text\n# \u00c7\u0131kt\u0131: subnet-private-xxxxxxxxxxxxxxxxx\n\n# Di\u011fer AZ'ler i\u00e7in de benzer \u015fekilde subnet'ler olu\u015fturun\n<\/pre>\n<p><\/code><\/p>\n<p>Bu ad\u0131m, t\u00fcm mimarinin temelini olu\u015fturur ve g\u00fcvenlik s\u0131n\u0131rlar\u0131n\u0131 belirler. Unutmay\u0131n, bu sadece temel bir ba\u015flang\u0131\u00e7. Ger\u00e7ek bir senaryoda daha fazla subnet ve rota yap\u0131land\u0131rmas\u0131na ihtiyac\u0131n\u0131z olabilir.<\/p>\n<h3>2. Veri Katman\u0131n\u0131 Konfig\u00fcre Etme (Amazon RDS)<\/h3>\n<p>Veritaban\u0131m\u0131z\u0131 private subnet'lerde konumland\u0131rarak internetten do\u011frudan eri\u015fimi engelleyece\u011fiz.<\/p>\n<ol>\n<li><strong>DB Subnet Group Olu\u015fturma:<\/strong> RDS, en az iki farkl\u0131 AZ'deki subnet'i i\u00e7eren bir DB Subnet Group gerektirir. Private subnet'lerinizi se\u00e7erek bu grubu olu\u015fturun.<\/li>\n<li><strong>RDS Instance Olu\u015fturma:<\/strong> \"RDS\" hizmetine gidin ve \"Create database\" deyin.\n<ul>\n<li><strong>Motor:<\/strong> PostgreSQL, MySQL veya tercihinize g\u00f6re ba\u015fka bir motor se\u00e7in.<\/li>\n<li><strong>\u015eablon:<\/strong> \"Dev\/Test\" veya \"Free tier\" ile ba\u015flayabilirsiniz.<\/li>\n<li><strong>Instance Identifier, Master Username, Password:<\/strong> Belirleyin.<\/li>\n<li><strong>VPC:<\/strong> Olu\u015fturdu\u011funuz VPC'yi se\u00e7in.<\/li>\n<li><strong>DB Subnet Group:<\/strong> Olu\u015fturdu\u011funuz DB Subnet Group'u se\u00e7in.<\/li>\n<li><strong>Publicly accessible:<\/strong> \"No\" olarak ayarlanmal\u0131d\u0131r, bu \u00e7ok \u00f6nemlidir!<\/li>\n<li><strong>Security Group:<\/strong> Yeni bir Security Group olu\u015fturun ve sadece uygulama katman\u0131ndaki EC2 Security Group'undan (ileride olu\u015fturaca\u011f\u0131z) gelen PostgreSQL\/MySQL portuna (\u00f6rne\u011fin 5432) eri\u015fime izin verin.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<pre><code class=\"language-sql\">\n-- Basit bir veritaban\u0131 \u015femas\u0131 \u00f6rne\u011fi (uygulama katman\u0131 bu tabloya ba\u011flanacak)\nCREATE TABLE products (\n    id SERIAL PRIMARY KEY,\n    name VARCHAR(255) NOT NULL,\n    description TEXT,\n    price DECIMAL(10, 2) NOT NULL\n);\n\nINSERT INTO products (name, description, price) VALUES\n('\u00d6rnek \u00dcr\u00fcn 1', 'Bu birinci harika \u00fcr\u00fcnd\u00fcr.', 19.99),\n('\u00d6rnek \u00dcr\u00fcn 2', 'Bu ikinci harika \u00fcr\u00fcnd\u00fcr.', 29.99);\n<\/pre>\n<p><\/code><\/p>\n<p>Bu ad\u0131mla birlikte, uygulaman\u0131z\u0131n veri depolama ihtiyac\u0131n\u0131 kar\u015f\u0131layacak, y\u00fcksek eri\u015filebilir ve y\u00f6netilen bir veritaban\u0131 altyap\u0131s\u0131na sahip olursunuz.<\/p>\n<h3>3. Uygulama Katman\u0131n\u0131 Kurma (EC2, Auto Scaling, ALB)<\/h3>\n<p>\u015eimdi uygulaman\u0131z\u0131n \u00e7al\u0131\u015ft\u0131\u011f\u0131 sunucular\u0131 ve bunlar\u0131n nas\u0131l \u00f6l\u00e7eklenece\u011fini yap\u0131land\u0131raca\u011f\u0131z.<\/p>\n<ol>\n<li><strong>EC2 Security Group Olu\u015fturma:<\/strong> Uygulama sunucular\u0131n\u0131z i\u00e7in yeni bir Security Group olu\u015fturun. Bu grubun, ALB'den (ileride olu\u015fturaca\u011f\u0131z) gelen HTTP (80) ve HTTPS (443) trafi\u011fine izin vermesi gerekmektedir. Ayr\u0131ca, SSH (22) eri\u015fimine sadece kendi IP adresinizden veya belirli bir IP aral\u0131\u011f\u0131ndan izin verin.<\/li>\n<li><strong>Launch Template\/Configuration Olu\u015fturma:<\/strong> EC2 hizmetine gidin. \"Launch Templates\" veya \"Launch Configurations\" (eski y\u00f6ntem) kullanarak, Auto Scaling Group'un instance'lar\u0131 nas\u0131l ba\u015flataca\u011f\u0131n\u0131 tan\u0131mlayaca\u011f\u0131z.\n<ul>\n<li><strong>AMI:<\/strong> Bir Amazon Linux 2 AMI veya benzeri bir i\u015fletim sistemi se\u00e7in.<\/li>\n<li><strong>Instance Type:<\/strong> <code>t2.micro<\/code> veya <code>t3.micro<\/code> ile ba\u015flayabilirsiniz (Free Tier uyumlu).<\/li>\n<li><strong>Key Pair:<\/strong> SSH eri\u015fimi i\u00e7in bir anahtar \u00e7ifti se\u00e7in veya olu\u015fturun.<\/li>\n<li><strong>Network settings:<\/strong> Olu\u015fturdu\u011funuz EC2 Security Group'u se\u00e7in.<\/li>\n<li><strong>User Data:<\/strong> Buras\u0131 kritik! Instance ba\u015flat\u0131ld\u0131\u011f\u0131nda \u00e7al\u0131\u015facak bir script ile uygulaman\u0131z\u0131 ve web sunucunuzu kuraca\u011f\u0131z. A\u015fa\u011f\u0131daki \u00f6rne\u011fi kullanabilirsiniz:<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<pre><code class=\"language-bash\">\n#!\/bin\/bash\nyum update -y\nyum install -y python3 python3-pip nginx\n\n# Flask uygulamas\u0131n\u0131 kurma\nmkdir \/app\necho \"from flask import Flask, request, jsonify\nimport psycopg2\n\napp = Flask(__name__)\n\n# RDS Ba\u011flant\u0131 Bilgileri (ger\u00e7ek uygulamada daha g\u00fcvenli y\u00f6netilmelidir!)\nDB_HOST = 'YOUR_RDS_ENDPOINT'  # RDS endpoint'inizi buraya yap\u0131\u015ft\u0131r\u0131n\nDB_NAME = 'YOUR_DB_NAME'      # Veritaban\u0131 ad\u0131n\u0131z\u0131\nDB_USER = 'YOUR_DB_USER'      # Kullan\u0131c\u0131 ad\u0131n\u0131z\u0131\nDB_PASSWORD = 'YOUR_DB_PASSWORD' # \u015eifrenizi\n\n@app.route('\/')\ndef hello():\n    return 'Merhaba, 3 Katmanl\u0131 AWS Uygulamas\u0131! Bu bir Flask uygulamas\u0131d\u0131r.'\n\n@app.route('\/products')\ndef get_products():\n    conn = None\n    products = []\n    try:\n        conn = psycopg2.connect(host=DB_HOST, database=DB_NAME, user=DB_USER, password=DB_PASSWORD)\n        cur = conn.cursor()\n        cur.execute('SELECT id, name, description, price FROM products;')\n        for row in cur.fetchall():\n            products.append({'id': row[0], 'name': row[1], 'description': row[2], 'price': float(row[3])})\n        cur.close()\n    except Exception as e:\n        return jsonify({'error': str(e)}), 500\n    finally:\n        if conn:\n            conn.close()\n    return jsonify(products)\n\nif __name__ == '__main__':\n    app.run(host='0.0.0.0', port=8080)\" > \/app\/app.py\n\n# Uygulamay\u0131 arka planda ba\u015flat\nnohup python3 \/app\/app.py > \/dev\/null 2>&1 &\n\n# Nginx'i reverse proxy olarak yap\u0131land\u0131rma\necho 'server {\n    listen 80;\n    location \/ {\n        proxy_pass http:\/\/127.0.0.1:8080; # Flask uygulamam\u0131z\u0131n \u00e7al\u0131\u015ft\u0131\u011f\u0131 port\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n        proxy_set_header X-Forwarded-Proto $scheme;\n    }\n}' > \/etc\/nginx\/conf.d\/default.conf\n\nsystemctl start nginx\nsystemctl enable nginx\n<\/pre>\n<p><\/code><\/p>\n<div class=\"expert-tip\">\n    Uzman \u0130pucu: Yukar\u0131daki User Data scriptindeki <code>YOUR_RDS_ENDPOINT<\/code>, <code>YOUR_DB_NAME<\/code>, <code>YOUR_DB_USER<\/code> ve <code>YOUR_DB_PASSWORD<\/code> k\u0131s\u0131mlar\u0131n\u0131 kendi RDS bilgilerinizle de\u011fi\u015ftirmeyi unutmay\u0131n. \u00dcretim ortam\u0131nda bu bilgiler do\u011frudan script'e yaz\u0131lmamal\u0131, AWS Secrets Manager gibi g\u00fcvenli bir hizmetten al\u0131nmal\u0131d\u0131r.\n<\/div>\n<ol start=\"3\">\n<li><strong>Auto Scaling Group (ASG) Olu\u015fturma:<\/strong> \"Auto Scaling Groups\" hizmetine gidin ve \"Create Auto Scaling group\" deyin.\n<ul>\n<li><strong>Launch Template:<\/strong> Az \u00f6nce olu\u015fturdu\u011funuz Launch Template'i se\u00e7in.<\/li>\n<li><strong>VPC ve Subnet'ler:<\/strong> Private subnet'lerinizi se\u00e7in.<\/li>\n<li><strong>Load Balancing:<\/strong> \"Attach to an existing load balancer\" se\u00e7ene\u011fini se\u00e7erek bir \"Target Group\" olu\u015fturaca\u011f\u0131z (birazdan).<\/li>\n<li><strong>Group Size:<\/strong> Desired Capacity, Min Capacity, Max Capacity de\u011ferlerini belirleyin (\u00f6rne\u011fin 1, 1, 2).<\/li>\n<li><strong>Scaling Policy:<\/strong> CPU kullan\u0131m\u0131 gibi metrikler \u00fczerinden otomatik \u00f6l\u00e7eklendirme politikalar\u0131 tan\u0131mlay\u0131n.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Application Load Balancer (ALB) Olu\u015fturma:<\/strong> \"EC2\" hizmetinde, \"Load Balancers\" k\u0131sm\u0131na gidin ve \"Create Load Balancer\" diyerek bir \"Application Load Balancer\" se\u00e7in.\n<ul>\n<li><strong>VPC ve Subnet'ler:<\/strong> Public subnet'lerinizi se\u00e7in.<\/li>\n<li><strong>Security Group:<\/strong> Yeni bir ALB Security Group olu\u015fturun. HTTP (80) ve HTTPS (443) portlar\u0131ndan gelen trafi\u011fe izin verin.<\/li>\n<li><strong>Listener:<\/strong> HTTP:80 i\u00e7in bir listener olu\u015fturun.<\/li>\n<li><strong>Target Group:<\/strong> Yeni bir Target Group olu\u015fturun. Protokol HTTP, Port 80 ve Health Check Path \"\/\" olarak belirleyin. Olu\u015fturdu\u011funuz Auto Scaling Group'u bu Target Group'a ba\u011flay\u0131n.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p>Bu ad\u0131mlar\u0131n tamamlanmas\u0131n\u0131n ard\u0131ndan, Auto Scaling Group yeni EC2 instance'lar\u0131n\u0131 private subnet'lerinizde ba\u015flatacak, \u00fczerlerine web sunucusu ve Flask uygulamas\u0131n\u0131 kuracak ve ALB, gelen trafi\u011fi bu instance'lara y\u00f6nlendirecektir.<\/p>\n<p><strong>3 Katmanl\u0131 Mimarinin G\u00f6rsel Betimlemesi:<\/strong><\/p>\n<pre><code>\n+----------------------+         +----------------------+         +----------------------+\n|  Kullan\u0131c\u0131 (Web\/Mobil) | ----> |  Sunum Katman\u0131 (ALB) | ----> | Uygulama Katman\u0131 (EC2, ASG) | ----> | Veri Katman\u0131 (RDS) |\n+----------------------+         +----------------------+         +----------------------+\n                                   ^     |                                  ^     |\n                                   |     |                                  |     |\n                                   |     v                                  |     v\n                                   |  (Public Subnet)                       |  (Private Subnet)\n                                   |                                        |\n                                   <----------------------------------------\n                                         (Veri \u0130\u015fleme ve Yan\u0131t)\n<\/pre>\n<p><\/code><\/p>\n<h3>4. Sunum Katman\u0131 \u0130\u00e7in DNS Ayarlar\u0131 (Route 53)<\/h3>\n<p>Uygulaman\u0131za kolayca eri\u015filebilmesi i\u00e7in bir alan ad\u0131 kullanmak \u00f6nemlidir.<\/p>\n<ol>\n<li><strong>Route 53 Hosted Zone Olu\u015fturma:<\/strong> E\u011fer yoksa, alan ad\u0131n\u0131z i\u00e7in bir Hosted Zone olu\u015fturun.<\/li>\n<li><strong>A Kayd\u0131 Olu\u015fturma:<\/strong> Alan ad\u0131n\u0131z\u0131n veya bir alt alan ad\u0131n\u0131n (\u00f6rne\u011fin, <code>app.alanadiniz.com<\/code>) ALB'nize i\u015faret etmesi i\u00e7in bir \"A kayd\u0131\" olu\u015fturun. Alias (takma ad) olarak ALB'nizi se\u00e7in.<\/li>\n<\/ol>\n<p>Art\u0131k alan ad\u0131n\u0131z\u0131 taray\u0131c\u0131n\u0131za yazd\u0131\u011f\u0131n\u0131zda, iste\u011finiz Route 53 arac\u0131l\u0131\u011f\u0131yla ALB'nize, oradan da uygulama katman\u0131n\u0131zdaki EC2 instance'lar\u0131n\u0131za ula\u015facak ve veritaban\u0131yla etkile\u015fime girecektir. \"5 dakikada kurma\" vaadi, bu temel altyap\u0131n\u0131n otomasyon scriptleri veya h\u0131zl\u0131 konsol ad\u0131mlar\u0131yla ne kadar \u00e7abuk devreye al\u0131nabilece\u011fini g\u00f6stermektedir. Elbette, \u00fcretimde kullan\u0131lacak tam te\u015fekk\u00fcll\u00fc bir sistem daha fazla ince ayar, g\u00fcvenlik politikalar\u0131 ve izleme ara\u00e7lar\u0131 gerektirecektir. Ancak bu PoC, ba\u015flang\u0131\u00e7 i\u00e7in g\u00fc\u00e7l\u00fc bir temel sunar.<\/p>\n<h2>3 Katmanl\u0131 Mimaride G\u00fcvenlik ve Performans \u0130\u00e7in \u0130leri D\u00fczey \u0130pu\u00e7lar\u0131 Nelerdir?<\/h2>\n<p>Temel bir 3 katmanl\u0131 mimari kurmak harika bir ba\u015flang\u0131\u00e7 noktas\u0131d\u0131r, ancak bir uygulaman\u0131n ger\u00e7ek d\u00fcnyadaki zorluklara kar\u015f\u0131 dayan\u0131kl\u0131, g\u00fcvenli ve performansl\u0131 olmas\u0131 i\u00e7in daha derinlemesine optimizasyonlar ve ileri d\u00fczey uygulamalar gereklidir. \u0130\u015fte hem g\u00fcvenlik hem de performans a\u00e7\u0131s\u0131ndan uygulaman\u0131z\u0131 bir sonraki seviyeye ta\u015f\u0131yacak baz\u0131 kritik ipu\u00e7lar\u0131:<\/p>\n<h3>G\u00fcvenlik \u0130pu\u00e7lar\u0131:<\/h3>\n<ol>\n<li>\n        <strong>Katmanlar Aras\u0131 S\u0131k\u0131 Eri\u015fim Kontrol\u00fc:<\/strong><\/p>\n<p>Her katman\u0131n (Sunum, Uygulama, Veri) sadece ger\u00e7ekten ihtiya\u00e7 duydu\u011fu katmanlarla ve portlarla ileti\u015fim kurmas\u0131n\u0131 sa\u011flay\u0131n. Security Groups ve NACL'ler (Network Access Control Lists) bu konuda hayati \u00f6neme sahiptir. \u00d6rne\u011fin, veri katman\u0131ndaki RDS Security Group'u yaln\u0131zca uygulama katman\u0131ndaki EC2 Security Group'undan gelen veritaban\u0131 portuna (PostgreSQL i\u00e7in 5432, MySQL i\u00e7in 3306) izin vermelidir. Asla veritaban\u0131n\u0131 internete a\u00e7\u0131k b\u0131rakmay\u0131n. Ayn\u0131 \u015fekilde, uygulama katman\u0131ndaki EC2 Security Group'u, sadece ALB'den gelen HTTP\/S trafi\u011fine izin vermelidir. SSH eri\u015fimini ise sadece belirli, g\u00fcvenli IP adresleriyle s\u0131n\u0131rlay\u0131n.<\/p>\n<pre><code class=\"language-json\">\n# \u00d6rnek Bir EC2 Security Group Kural\u0131 (Uygulama Katman\u0131)\n{\n    \"IpProtocol\": \"tcp\",\n    \"FromPort\": 80,\n    \"ToPort\": 80,\n    \"IpRanges\": [{\"CidrIp\": \"0.0.0.0\/0\"}], \/\/ ALB'den gelen trafik i\u00e7in\n    \"Description\": \"HTTP from anywhere (via ALB)\"\n},\n{\n    \"IpProtocol\": \"tcp\",\n    \"FromPort\": 22,\n    \"ToPort\": 22,\n    \"IpRanges\": [{\"CidrIp\": \"YOUR_HOME_IP\/32\"}], \/\/ Sadece kendi IP'nizden SSH\n    \"Description\": \"SSH from my IP\"\n}\n        <\/pre>\n<p><\/code>\n    <\/li>\n<li>\n        <strong>IAM Rolleri ve En Az Ayr\u0131cal\u0131k Prensibi:<\/strong><\/p>\n<p>EC2 instance'lar\u0131, RDS veritabanlar\u0131na veya S3'e eri\u015firken AWS Access Key ve Secret Key kullanmak yerine IAM rolleri atay\u0131n. IAM rolleri, AWS hizmetlerinin birbirleriyle g\u00fcvenli bir \u015fekilde etkile\u015fim kurmas\u0131n\u0131 sa\u011flar. Her rol i\u00e7in sadece ger\u00e7ekten ihtiya\u00e7 duyulan izinleri tan\u0131mlay\u0131n (en az ayr\u0131cal\u0131k prensibi). \u00d6rne\u011fin, uygulama sunucunuzun sadece belirli bir S3 bucket'\u0131na okuma\/yazma izni olmal\u0131, t\u00fcm S3'e eri\u015fim izni olmamal\u0131d\u0131r.<\/p>\n<\/li>\n<li>\n        <strong>Veri \u015eifrelemesi (At Rest ve In Transit):<\/strong><\/p>\n<p>Verilerinizi hem depolan\u0131rken (at rest) hem de iletilirken (in transit) \u015fifreleyin. RDS ve S3 gibi hizmetler, depolanan verilerinizi KMS (Key Management Service) ile \u015fifreleme se\u00e7ene\u011fi sunar. ALB ve EC2 aras\u0131ndaki ileti\u015fimi HTTPS ile \u015fifrelemek i\u00e7in SSL\/TLS sertifikalar\u0131 kullan\u0131n. Bu, hassas verilerinizi olas\u0131 ihlallere kar\u015f\u0131 korur.<\/p>\n<\/li>\n<li>\n        <strong>Web Uygulama G\u00fcvenlik Duvar\u0131 (WAF):<\/strong><\/p>\n<p>AWS WAF'\u0131 Application Load Balancer'\u0131n\u0131z\u0131n \u00f6n\u00fcne entegre ederek SQL enjeksiyonu, XSS (Cross-Site Scripting) gibi yayg\u0131n web sald\u0131r\u0131lar\u0131na kar\u015f\u0131 koruma sa\u011flay\u0131n. \u00d6zel kurallar tan\u0131mlayabilir veya AWS taraf\u0131ndan y\u00f6netilen kural setlerini kullanabilirsiniz. Bu, uygulaman\u0131z\u0131n ilk savunma hatt\u0131n\u0131 g\u00fc\u00e7lendirir.<\/p>\n<\/li>\n<li>\n        <strong>VPC Flow Logs ve GuardDuty:<\/strong><\/p>\n<p>A\u011f trafi\u011fini izlemek ve potansiyel g\u00fcvenlik tehditlerini tespit etmek i\u00e7in VPC Flow Logs'u etkinle\u015ftirin. AWS GuardDuty gibi ak\u0131ll\u0131 tehdit alg\u0131lama hizmetlerini kullanarak anomalileri ve k\u00f6t\u00fc niyetli faaliyetleri otomatik olarak belirleyebilir ve bunlara kar\u015f\u0131 \u00f6nlem alabilirsiniz.<\/p>\n<\/li>\n<\/ol>\n<div class=\"expert-tip\">\n    Uzman \u0130pucu: G\u00fcvenlik, tek seferlik bir i\u015flem de\u011fildir. S\u00fcrekli izleme, denetleme ve g\u00fcncellemelerle dinamik bir s\u00fcre\u00e7tir. AWS Security Hub gibi hizmetler, g\u00fcvenlik duru\u015funuzu s\u00fcrekli olarak de\u011ferlendirmenize yard\u0131mc\u0131 olabilir.\n<\/div>\n<h3>Performans \u0130pu\u00e7lar\u0131:<\/h3>\n<ol>\n<li>\n        <strong>\u00d6nbellekleme (Caching):<\/strong><\/p>\n<p>\u00d6nbellekleme, uygulaman\u0131z\u0131n performans\u0131n\u0131 dramatik bir \u015fekilde art\u0131rabilir. S\u0131k eri\u015filen statik i\u00e7erikler i\u00e7in Amazon CloudFront (CDN) kullan\u0131n. Uygulama katman\u0131nda ise, s\u0131k\u00e7a sorgulanan veritaban\u0131 sonu\u00e7lar\u0131 veya API yan\u0131tlar\u0131 i\u00e7in Amazon ElastiCache (Redis veya Memcached) kullan\u0131n. Bu, veritaban\u0131na olan y\u00fck\u00fc azalt\u0131r ve yan\u0131t s\u00fcrelerini d\u00fc\u015f\u00fcr\u00fcr.<\/p>\n<pre><code class=\"language-python\">\n# Flask uygulamas\u0131nda Redis ile basit \u00f6nbellekleme \u00f6rne\u011fi\nimport redis\nimport json\n\nr = redis.StrictRedis(host='your-elasticache-endpoint', port=6379, db=0)\n\n@app.route('\/cached_products')\ndef get_cached_products():\n    cached_data = r.get('products_cache')\n    if cached_data:\n        print(\"Veriler \u00f6nbellekten \u00e7ekildi.\")\n        return jsonify(json.loads(cached_data))\n    \n    # ... Veritaban\u0131ndan verileri \u00e7ekme mant\u0131\u011f\u0131 ...\n    products = fetch_products_from_db() # Varsay\u0131msal fonksiyon\n    \n    # Verileri \u00f6nbelle\u011fe al, 60 saniye boyunca ge\u00e7erli olsun\n    r.setex('products_cache', 60, json.dumps(products))\n    print(\"Veriler veritaban\u0131ndan \u00e7ekildi ve \u00f6nbelle\u011fe al\u0131nd\u0131.\")\n    return jsonify(products)\n        <\/pre>\n<p><\/code>\n    <\/li>\n<li>\n        <strong>Veritaban\u0131 Optimizasyonu:<\/strong><\/p>\n<p>Veritaban\u0131 sorgular\u0131n\u0131z\u0131 optimize edin, uygun indeksler olu\u015fturun ve gereksiz JOIN i\u015flemlerinden ka\u00e7\u0131n\u0131n. Amazon RDS Performance Insights gibi ara\u00e7lar\u0131 kullanarak veritaban\u0131 performans\u0131ndaki darbo\u011fazlar\u0131 tespit edin. E\u011fer ili\u015fkisel veritaban\u0131 performans limitlerine ula\u015f\u0131yorsan\u0131z, Amazon DynamoDB gibi NoSQL veritabanlar\u0131n\u0131 veya okuma replikalar\u0131n\u0131 de\u011ferlendirin.<\/p>\n<\/li>\n<li>\n        <strong>Otomatik \u00d6l\u00e7eklendirme Stratejileri:<\/strong><\/p>\n<p>Auto Scaling Group'lar\u0131n\u0131z i\u00e7in sadece CPU kullan\u0131m\u0131 de\u011fil, ayn\u0131 zamanda istek say\u0131s\u0131 (Request Count per Target) veya \u00f6zel CloudWatch metrikleri gibi daha uygun \u00f6l\u00e7eklendirme politikalar\u0131 tan\u0131mlay\u0131n. Bu, uygulaman\u0131z\u0131n trafi\u011fe daha h\u0131zl\u0131 ve duyarl\u0131 bir \u015fekilde adapte olmas\u0131n\u0131 sa\u011flar. Prediktif \u00f6l\u00e7eklendirme i\u00e7in AWS Auto Scaling'in geli\u015fmi\u015f \u00f6zelliklerini kullanabilirsiniz.<\/p>\n<\/li>\n<li>\n        <strong>Do\u011fru EC2 Instance Tipleri:<\/strong><\/p>\n<p>\u0130\u015f y\u00fck\u00fcn\u00fcze en uygun EC2 instance tipini se\u00e7in. CPU yo\u011funluklu uygulamalar i\u00e7in C serisi, bellek yo\u011funluklu uygulamalar i\u00e7in R serisi instance'lar daha iyi performans sunabilir. Genel ama\u00e7l\u0131 uygulamalar i\u00e7in T serisi (T2\/T3) uygundur, ancak burstable performanslar\u0131n\u0131 anlamak \u00f6nemlidir.<\/p>\n<\/li>\n<li>\n        <strong>Statik \u0130\u00e7eriklerin Ayr\u0131\u015ft\u0131r\u0131lmas\u0131:<\/strong><\/p>\n<p>Resimler, videolar, CSS ve JavaScript dosyalar\u0131 gibi statik i\u00e7erikleri do\u011frudan EC2 instance'lar\u0131ndan sunmak yerine S3 ve CloudFront kullanarak sunun. Bu, EC2 instance'lar\u0131n\u0131z\u0131n sadece dinamik uygulama mant\u0131\u011f\u0131na odaklanmas\u0131n\u0131 sa\u011flar ve performanslar\u0131n\u0131 art\u0131r\u0131r.<\/p>\n<\/li>\n<li>\n        <strong>Mobil Uygulama Uyumlu Tasar\u0131m:<\/strong><\/p>\n<p>Mobil uygulamalar i\u00e7in genellikle RESTful API'ler ve hafif veri formatlar\u0131 (JSON) tercih edilir. AWS API Gateway, mobil uygulamalar\u0131n\u0131z\u0131n uygulama katman\u0131n\u0131zdaki API'lere g\u00fcvenli ve \u00f6l\u00e7eklenebilir bir \u015fekilde eri\u015fmesini sa\u011flar. Arka u\u00e7taki API mant\u0131\u011f\u0131n\u0131 AWS Lambda kullanarak sunucusuz olarak geli\u015ftirmek, bak\u0131m y\u00fck\u00fcn\u00fc azalt\u0131r ve \u00f6l\u00e7eklenebilirli\u011fi art\u0131r\u0131r.<\/p>\n<\/li>\n<\/ol>\n<p>Bu ileri d\u00fczey ipu\u00e7lar\u0131, uygulaman\u0131z\u0131n sadece \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flamakla kalmaz, ayn\u0131 zamanda onu daha g\u00fcvenli, daha h\u0131zl\u0131 ve daha maliyet etkin hale getirir. Her ipucunun kendine \u00f6zg\u00fc bir uygulama maliyeti ve karma\u015f\u0131kl\u0131\u011f\u0131 olsa da, uzun vadede yat\u0131r\u0131m\u0131n kar\u015f\u0131l\u0131\u011f\u0131n\u0131 fazlas\u0131yla al\u0131rs\u0131n\u0131z.<\/p>\n<h2>Ger\u00e7ek D\u00fcnya Senaryosu: Bir SaaS \u015eirketi AWS ile Nas\u0131l \u00d6l\u00e7eklenir?<\/h2>\n<p>\u0130leri d\u00fczey ipu\u00e7lar\u0131n\u0131n ger\u00e7ek d\u00fcnyada nas\u0131l uyguland\u0131\u011f\u0131n\u0131 daha iyi anlamak i\u00e7in, \"AnalyticPulse\" ad\u0131nda bir SaaS \u015firketinin hikayesini inceleyelim. AnalyticPulse, web siteleri i\u00e7in ger\u00e7ek zamanl\u0131 analizler sunan bir platformdu. Ba\u015flang\u0131\u00e7ta k\u00fc\u00e7\u00fck bir kullan\u0131c\u0131 kitlesiyle yola \u00e7\u0131kt\u0131lar, ancak h\u0131zla b\u00fcy\u00fcyerek y\u00fcz binlerce m\u00fc\u015fteriye ula\u015ft\u0131lar. Bu h\u0131zl\u0131 b\u00fcy\u00fcme, ba\u015flang\u0131\u00e7taki basit mimarilerini zorlamaya ba\u015flad\u0131 ve ciddi performans ve \u00f6l\u00e7eklenebilirlik sorunlar\u0131na yol a\u00e7t\u0131.<\/p>\n<p><strong>Ba\u015flang\u0131\u00e7taki Sorunlar:<\/strong><\/p>\n<ul>\n<li>Yo\u011fun veri ak\u0131\u015f\u0131 (milyarlarca g\u00fcnl\u00fck olay), veritaban\u0131nda (tek bir RDS instance'\u0131) ciddi performans darbo\u011fazlar\u0131 yarat\u0131yordu. Raporlar yava\u015f y\u00fckleniyor, bazen zaman a\u015f\u0131m\u0131na u\u011fruyordu.<\/li>\n<li>Uygulama sunucular\u0131 (EC2) y\u00fcksek CPU kullan\u0131m\u0131 nedeniyle s\u0131k s\u0131k \u00e7\u00f6k\u00fcyor, otomatik \u00f6l\u00e7eklendirme politikalar\u0131 trafik art\u0131\u015flar\u0131na yeterince h\u0131zl\u0131 yan\u0131t veremiyordu.<\/li>\n<li>G\u00fcvenlik denetimleri s\u0131ras\u0131nda, uygulama katman\u0131ndan veritaban\u0131na do\u011frudan eri\u015fim oldu\u011fu ve baz\u0131 API u\u00e7 noktalar\u0131n\u0131n yeterince korunakl\u0131 olmad\u0131\u011f\u0131 tespit edildi.<\/li>\n<\/ul>\n<p><strong>AWS ile D\u00f6n\u00fc\u015f\u00fcm ve \u0130yile\u015ftirmeler:<\/strong><\/p>\n<ol>\n<li>\n        <strong>Veri Katman\u0131 Optimizasyonu:<\/strong><\/p>\n<p>AnalyticPulse ekibi, yo\u011fun okuma y\u00fck\u00fcn\u00fc hafifletmek i\u00e7in Amazon RDS okuma replikalar\u0131 ekledi. Daha sonra, ger\u00e7ek zamanl\u0131 olay verilerini depolamak i\u00e7in Amazon DynamoDB'ye ge\u00e7i\u015f yapt\u0131lar. DynamoDB'nin milyarlarca veriyi d\u00fc\u015f\u00fck gecikme s\u00fcresiyle i\u015fleyebilme yetene\u011fi, raporlama h\u0131zlar\u0131n\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131rd\u0131. Ayr\u0131ca, s\u0131k eri\u015filen analiz sonu\u00e7lar\u0131n\u0131 \u00f6nbelle\u011fe almak i\u00e7in Amazon ElastiCache (Redis) entegre ettiler. Bu sayede, veritaban\u0131 y\u00fck\u00fc %70 oran\u0131nda azald\u0131.<\/p>\n<\/li>\n<li>\n        <strong>Uygulama Katman\u0131 Yeniden Yap\u0131land\u0131rmas\u0131:<\/strong><\/p>\n<p>Tek bir monolitik uygulama katman\u0131 yerine, AnalyticPulse ekibi mikroservis mimarisine ge\u00e7i\u015f yapt\u0131. Her bir analiz veya raporlama i\u015flevi, ayr\u0131 bir AWS Lambda fonksiyonu veya Amazon ECS'de (Elastic Container Service) \u00e7al\u0131\u015fan bir konteyner olarak yeniden tasarland\u0131. Bu mikroservisler, Amazon API Gateway \u00fczerinden g\u00fcvenli bir \u015fekilde sunuluyordu. Auto Scaling Group'lar\u0131n\u0131n \u00f6l\u00e7eklendirme politikalar\u0131n\u0131 CPU yerine \"istek say\u0131s\u0131\" metriklerine g\u00f6re ayarlayarak, ani trafik art\u0131\u015flar\u0131na daha duyarl\u0131 hale geldiler. Ayr\u0131ca, i\u015f mant\u0131\u011f\u0131na daha uygun olan C5 instance tiplerine ge\u00e7i\u015f yapt\u0131lar.<\/p>\n<\/li>\n<li>\n        <strong>Geli\u015fmi\u015f G\u00fcvenlik Katman\u0131:<\/strong><\/p>\n<p>Uygulama katman\u0131 ile veri katman\u0131 aras\u0131ndaki ileti\u015fimi VPC endpoint'leri ve \u00f6zel Security Groups ile daha da izole ettiler. AWS WAF'\u0131 API Gateway'lerinin \u00f6n\u00fcne yerle\u015ftirerek bilinen web sald\u0131r\u0131lar\u0131na kar\u015f\u0131 koruma sa\u011flad\u0131lar. T\u00fcm veriler (hem depolan\u0131rken hem de aktar\u0131l\u0131rken) AWS KMS kullan\u0131larak \u015fifrelendi. IAM rolleri, her mikroservisin sadece ihtiya\u00e7 duydu\u011fu kaynaklara eri\u015fmesini sa\u011flayacak \u015fekilde titizlikle yap\u0131land\u0131r\u0131ld\u0131.<\/p>\n<\/li>\n<li>\n        <strong>Statik \u0130\u00e7erik Da\u011f\u0131t\u0131m\u0131 ve Mobil Uyumluluk:<\/strong><\/p>\n<p>AnalyticPulse panosunun statik bile\u015fenleri (HTML, CSS, JS) Amazon S3'te bar\u0131nd\u0131r\u0131ld\u0131 ve Amazon CloudFront \u00fczerinden da\u011f\u0131t\u0131ld\u0131. Bu, global kullan\u0131c\u0131lara daha h\u0131zl\u0131 y\u00fckleme s\u00fcreleri sa\u011flad\u0131 ve uygulama sunucular\u0131n\u0131n y\u00fck\u00fcn\u00fc azaltt\u0131. Mobil uygulama kullan\u0131c\u0131lar\u0131 i\u00e7in ise, API Gateway ve Lambda tabanl\u0131 mikroservisler, hafif ve mobil uyumlu API'ler sunarak performans\u0131 optimize etti.<\/p>\n<\/li>\n<\/ol>\n<p><strong>Sonu\u00e7lar:<\/strong><\/p>\n<p>Bu kapsaml\u0131 AWS d\u00f6n\u00fc\u015f\u00fcm\u00fc sayesinde AnalyticPulse, g\u00fcnl\u00fck milyarlarca olay\u0131 sorunsuz bir \u015fekilde i\u015fleyebilir hale geldi. Raporlama s\u00fcreleri saniyeler d\u00fczeyine indi, uygulama \u00e7\u00f6kmeleri tamamen ortadan kalkt\u0131 ve g\u00fcvenlik duru\u015fu \u00f6nemli \u00f6l\u00e7\u00fcde g\u00fc\u00e7lendi. En \u00f6nemlisi, m\u00fchendislik ekibi art\u0131k altyap\u0131 sorunlar\u0131yla de\u011fil, yeni ve yenilik\u00e7i analiz \u00f6zellikleri geli\u015ftirmeye odaklanabiliyordu. Bu senaryo, AWS'in do\u011fru 3 katmanl\u0131 mimari ve ileri d\u00fczey hizmetlerle bir SaaS \u015firketinin nas\u0131l b\u00fcy\u00fcyece\u011fini ve \u00f6l\u00e7eklenece\u011fini a\u00e7\u0131k\u00e7a g\u00f6stermektedir.<\/p>\n<h2>Sonu\u00e7: Gelece\u011fin Web Mimarileri \u0130\u00e7in 3 Katmanl\u0131 Yakla\u015f\u0131m\u0131n \u00d6nemi<\/h2>\n<p>\"Understanding The 3-tier Web Application Architecture on AWS and Building One in 5 minutes\" ba\u015fl\u0131\u011f\u0131 alt\u0131nda inceledi\u011fimiz gibi, 3 katmanl\u0131 web mimarisi, modern, \u00f6l\u00e7eklenebilir ve g\u00fcvenli web uygulamalar\u0131 geli\u015ftirmek i\u00e7in vazge\u00e7ilmez bir model sunar. Bu mimariyi AWS gibi g\u00fc\u00e7l\u00fc bir bulut platformunda uygulamak, uygulaman\u0131za e\u015fsiz bir esneklik, y\u00fcksek eri\u015filebilirlik ve maliyet etkinli\u011fi kazand\u0131r\u0131r. Sunum, Uygulama ve Veri katmanlar\u0131n\u0131n ayr\u0131\u015ft\u0131r\u0131lmas\u0131, her bir bile\u015fenin ba\u011f\u0131ms\u0131z olarak \u00f6l\u00e7eklenmesine ve y\u00f6netilmesine olanak tan\u0131rken, ayn\u0131 zamanda g\u00fcvenlik duru\u015funu da g\u00fc\u00e7lendirir. \u00d6zellikle \"5 dakikada in\u015fa etme\" konsepti, AWS'in otomasyon ara\u00e7lar\u0131 ve y\u00f6netilen hizmetleri sayesinde temel bir altyap\u0131n\u0131n ne kadar h\u0131zla kurulabilece\u011fini g\u00f6stermektedir. Bu h\u0131z, geli\u015ftiricilere ve i\u015fletmelere yeni fikirleri h\u0131zla prototipleme ve pazara sunma yetene\u011fi verir.<\/p>\n<p>AWS'in sundu\u011fu kapsaml\u0131 hizmet yelpazesi, yaln\u0131zca temel bir 3 katmanl\u0131 yap\u0131y\u0131 desteklemekle kalmaz, ayn\u0131 zamanda \u00f6nbellekleme, geli\u015fmi\u015f g\u00fcvenlik \u00f6nlemleri, veritaban\u0131 optimizasyonlar\u0131 ve sunucusuz mimari gibi ileri d\u00fczey tekniklerle uygulaman\u0131z\u0131n potansiyelini art\u0131rman\u0131za olanak tan\u0131r. Ger\u00e7ek d\u00fcnya senaryolar\u0131 ve vaka analizleri, bu mimarinin nas\u0131l b\u00fcy\u00fck \u00f6l\u00e7ekli ve ba\u015far\u0131l\u0131 uygulamalar\u0131n temelini olu\u015fturdu\u011funu a\u00e7\u0131k\u00e7a ortaya koymaktad\u0131r. Gelecekte mikroservisler, konteynerizasyon ve sunucusuz teknolojiler gibi trendler devam ettik\u00e7e, 3 katmanl\u0131 mimarinin temel prensipleri, daha karma\u015f\u0131k sistemlerin bile mod\u00fcler ve y\u00f6netilebilir kalmas\u0131n\u0131 sa\u011flayarak \u00f6nemini koruyacakt\u0131r. Bu nedenle, web uygulaman\u0131z\u0131n ba\u015far\u0131s\u0131 i\u00e7in sa\u011flam bir 3 katmanl\u0131 mimari in\u015fa etmek, yapaca\u011f\u0131n\u0131z en de\u011ferli yat\u0131r\u0131mlardan biridir.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<dl>\n<dt><strong>3 katmanl\u0131 mimarinin geleneksel monolitik yap\u0131lara g\u00f6re avantajlar\u0131 nelerdir?<\/strong><\/dt>\n<dd>3 katmanl\u0131 mimari, monolitik yap\u0131lara g\u00f6re daha iyi \u00f6l\u00e7eklenebilirlik, y\u00fcksek eri\u015filebilirlik, daha kolay bak\u0131m ve geli\u015ftirme, iyile\u015ftirilmi\u015f g\u00fcvenlik ve art\u0131r\u0131lm\u0131\u015f hata tolerans\u0131 sunar. Her katman\u0131n ba\u011f\u0131ms\u0131z olarak y\u00f6netilmesi, bir katmandaki sorunun di\u011fer katmanlar\u0131 etkileme riskini azalt\u0131r ve genel sistemin esnekli\u011fini art\u0131r\u0131r.<\/dd>\n<dt><strong>\"5 dakikada kurmak\" ne anlama geliyor, ger\u00e7ekten bu kadar h\u0131zl\u0131 m\u0131?<\/strong><\/dt>\n<dd>\"5 dakikada kurmak\" ifadesi, AWS CLI veya CloudFormation gibi otomasyon ara\u00e7lar\u0131 kullanarak 3 katmanl\u0131 mimarinin temel altyap\u0131 bile\u015fenlerini (VPC, subnet'ler, ALB, EC2 Auto Scaling Group, RDS) h\u0131zl\u0131ca devreye almay\u0131 ifade eder. Bu, tam te\u015fekk\u00fcll\u00fc, \u00fcretim ortam\u0131na haz\u0131r bir uygulaman\u0131n geli\u015ftirilmesi ve detayl\u0131 konfig\u00fcrasyonu anlam\u0131na gelmez, ancak bir \"Proof of Concept (PoC)\" ortam\u0131n\u0131 \u00e7ok k\u0131sa s\u00fcrede haz\u0131r hale getirebilirsiniz.<\/dd>\n<dt><strong>Veri katman\u0131nda hangi AWS hizmetleri kullan\u0131labilir?<\/strong><\/dt>\n<dd>Veri katman\u0131 i\u00e7in AWS'te bir\u00e7ok se\u00e7enek mevcuttur:<\/p>\n<ul>\n<li><strong>Amazon RDS:<\/strong> PostgreSQL, MySQL, SQL Server, Oracle gibi ili\u015fkisel veritabanlar\u0131 i\u00e7in y\u00f6netilen hizmet.<\/li>\n<li><strong>Amazon DynamoDB:<\/strong> Y\u00fcksek performansl\u0131, \u00f6l\u00e7eklenebilir NoSQL veritaban\u0131.<\/li>\n<li><strong>Amazon Aurora:<\/strong> MySQL ve PostgreSQL ile uyumlu, buluta \u00f6zel, y\u00fcksek performansl\u0131 ili\u015fkisel veritaban\u0131.<\/li>\n<li><strong>Amazon S3:<\/strong> Nesne depolama olarak yap\u0131sal olmayan veriler (resimler, videolar) i\u00e7in kullan\u0131labilir.<\/li>\n<li><strong>Amazon ElastiCache:<\/strong> \u00d6nbellekleme i\u00e7in Redis veya Memcached hizmeti.<\/li>\n<\/ul>\n<p>        Se\u00e7im, uygulaman\u0131z\u0131n veri modeline, eri\u015fim desenlerine ve \u00f6l\u00e7eklenebilirlik ihtiya\u00e7lar\u0131na g\u00f6re de\u011fi\u015fir.\n    <\/dd>\n<dt><strong>Bu mimari mikroservislerle nas\u0131l birle\u015fir?<\/strong><\/dt>\n<dd>3 katmanl\u0131 mimari, mikroservisler i\u00e7in m\u00fckemmel bir temel sa\u011flar. Uygulama katman\u0131, birden \u00e7ok ba\u011f\u0131ms\u0131z mikroservisten olu\u015facak \u015fekilde geni\u015fletilebilir. Her bir mikroservis, kendi EC2 instance'lar\u0131nda (Auto Scaling ile), konteynerlerde (Amazon ECS\/EKS) veya sunucusuz fonksiyonlar (AWS Lambda) olarak \u00e7al\u0131\u015fabilir. Bu mikroservisler, kendi veritaban\u0131 (veri katman\u0131nda) veya API (sunum katman\u0131nda API Gateway arac\u0131l\u0131\u011f\u0131yla) ile etkile\u015fime girerek daha esnek, \u00f6l\u00e7eklenebilir ve y\u00f6netilebilir bir yap\u0131 olu\u015fturur.<\/dd>\n<dt><strong>Maliyeti optimize etmek i\u00e7in hangi AWS servisleri \u00f6nerilir?<\/strong><\/dt>\n<dd>Maliyet optimizasyonu i\u00e7in:<\/p>\n<ul>\n<li><strong>Auto Scaling:<\/strong> Yaln\u0131zca ihtiyac\u0131n\u0131z kadar kaynak kullanarak gereksiz maliyetleri \u00f6nler.<\/li>\n<li><strong>Amazon S3 ve CloudFront:<\/strong> Statik i\u00e7erikleri uygun maliyetle depolayarak ve da\u011f\u0131tarak EC2 y\u00fck\u00fcn\u00fc azalt\u0131r.<\/li>\n<li><strong>AWS Lambda:<\/strong> Sunucusuz oldu\u011fu i\u00e7in sadece kodunuz \u00e7al\u0131\u015ft\u0131\u011f\u0131nda \u00f6deme yapars\u0131n\u0131z.<\/li>\n<li><strong>Reserved Instances (RI) veya Savings Plans:<\/strong> Belirli bir kullan\u0131m taahh\u00fcd\u00fcyle EC2, RDS gibi hizmetlerde \u00f6nemli indirimler sa\u011flar.<\/li>\n<li><strong>Managed Services:<\/strong> RDS gibi y\u00f6netilen hizmetler, operasyonel i\u015f y\u00fck\u00fcn\u00fc azaltarak personel maliyetlerinden tasarruf etmenizi sa\u011flar.<\/li>\n<\/ul>\n<p>        Do\u011fru kaynak boyutland\u0131rmas\u0131 ve kullan\u0131lmayan kaynaklar\u0131n d\u00fczenli olarak denetlenmesi de maliyet etkinli\u011fi i\u00e7in kritik \u00f6neme sahiptir.\n    <\/dd>\n<\/dl>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Modern web uygulamalar\u0131, kullan\u0131c\u0131 beklentilerinin artmas\u0131yla birlikte daha karma\u015f\u0131k ve dinamik hale geldi. Peki, uygulaman\u0131z\u0131n milyonlarca kullan\u0131c\u0131ya kesintisiz&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1406],"tags":[],"class_list":{"0":"post-31903","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-aws","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>AWS&#039;te 3 Katmanl\u0131 Web Mimarisi: 5 Dakikada Olu\u015fturma Rehberi<\/title>\n<meta name=\"description\" content=\"Modern web uygulamalar\u0131, kullan\u0131c\u0131 beklentilerinin artmas\u0131yla birlikte daha karma\u015f\u0131k ve dinamik hale geldi. Peki, uygulaman\u0131z\u0131n milyonlarca kullan\u0131c\u0131ya kesintisiz hizmet verirken ayn\u0131 zamanda g\u00fcvenli, \u00f6l\u00e7eklenebilir ve y\u00fcksek performansl\u0131 olmas\u0131n\u0131 nas\u0131l sa\u011flars\u0131n\u0131z? \u0130\u015fte bu noktada 3 katmanl\u0131 web mimarisi devreye giriyor ve AWS, bu mimariyi hayata ge\u00e7irmek i\u00e7in e\u015fsiz bir platform sunuyor.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/awste-3-katmanli-web-mimarisi-5-dakikada-olusturma-rehberi\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"AWS&#039;te 3 Katmanl\u0131 Web Mimarisi: 5 Dakikada Olu\u015fturma Rehberi\" \/>\n<meta property=\"og:description\" content=\"Modern web uygulamalar\u0131, kullan\u0131c\u0131 beklentilerinin artmas\u0131yla birlikte daha karma\u015f\u0131k ve dinamik hale geldi. Peki, uygulaman\u0131z\u0131n milyonlarca kullan\u0131c\u0131ya kesintisiz hizmet verirken ayn\u0131 zamanda g\u00fcvenli, \u00f6l\u00e7eklenebilir ve y\u00fcksek performansl\u0131 olmas\u0131n\u0131 nas\u0131l sa\u011flars\u0131n\u0131z? \u0130\u015fte bu noktada 3 katmanl\u0131 web mimarisi devreye giriyor ve AWS, bu mimariyi hayata ge\u00e7irmek i\u00e7in e\u015fsiz bir platform sunuyor.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/awste-3-katmanli-web-mimarisi-5-dakikada-olusturma-rehberi\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-15T08:01:55+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"20 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/awste-3-katmanli-web-mimarisi-5-dakikada-olusturma-rehberi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/awste-3-katmanli-web-mimarisi-5-dakikada-olusturma-rehberi\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"AWS&#8217;te 3 Katmanl\u0131 Web Mimarisi: 5 Dakikada Olu\u015fturma Rehberi\",\"datePublished\":\"2025-10-15T08:01:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/awste-3-katmanli-web-mimarisi-5-dakikada-olusturma-rehberi\/\"},\"wordCount\":6014,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"AWS\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/awste-3-katmanli-web-mimarisi-5-dakikada-olusturma-rehberi\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/awste-3-katmanli-web-mimarisi-5-dakikada-olusturma-rehberi\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/awste-3-katmanli-web-mimarisi-5-dakikada-olusturma-rehberi\/\",\"name\":\"AWS'te 3 Katmanl\u0131 Web Mimarisi: 5 Dakikada Olu\u015fturma Rehberi\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-10-15T08:01:55+00:00\",\"description\":\"Modern web uygulamalar\u0131, kullan\u0131c\u0131 beklentilerinin artmas\u0131yla birlikte daha karma\u015f\u0131k ve dinamik hale geldi. Peki, uygulaman\u0131z\u0131n milyonlarca kullan\u0131c\u0131ya kesintisiz hizmet verirken ayn\u0131 zamanda g\u00fcvenli, \u00f6l\u00e7eklenebilir ve y\u00fcksek performansl\u0131 olmas\u0131n\u0131 nas\u0131l sa\u011flars\u0131n\u0131z? \u0130\u015fte bu noktada 3 katmanl\u0131 web mimarisi devreye giriyor ve AWS, bu mimariyi hayata ge\u00e7irmek i\u00e7in e\u015fsiz bir platform sunuyor.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/awste-3-katmanli-web-mimarisi-5-dakikada-olusturma-rehberi\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/awste-3-katmanli-web-mimarisi-5-dakikada-olusturma-rehberi\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/awste-3-katmanli-web-mimarisi-5-dakikada-olusturma-rehberi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AWS&#8217;te 3 Katmanl\u0131 Web Mimarisi: 5 Dakikada Olu\u015fturma Rehberi\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"AWS'te 3 Katmanl\u0131 Web Mimarisi: 5 Dakikada Olu\u015fturma Rehberi","description":"Modern web uygulamalar\u0131, kullan\u0131c\u0131 beklentilerinin artmas\u0131yla birlikte daha karma\u015f\u0131k ve dinamik hale geldi. Peki, uygulaman\u0131z\u0131n milyonlarca kullan\u0131c\u0131ya kesintisiz hizmet verirken ayn\u0131 zamanda g\u00fcvenli, \u00f6l\u00e7eklenebilir ve y\u00fcksek performansl\u0131 olmas\u0131n\u0131 nas\u0131l sa\u011flars\u0131n\u0131z? \u0130\u015fte bu noktada 3 katmanl\u0131 web mimarisi devreye giriyor ve AWS, bu mimariyi hayata ge\u00e7irmek i\u00e7in e\u015fsiz bir platform sunuyor.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/awste-3-katmanli-web-mimarisi-5-dakikada-olusturma-rehberi\/","og_locale":"tr_TR","og_type":"article","og_title":"AWS'te 3 Katmanl\u0131 Web Mimarisi: 5 Dakikada Olu\u015fturma Rehberi","og_description":"Modern web uygulamalar\u0131, kullan\u0131c\u0131 beklentilerinin artmas\u0131yla birlikte daha karma\u015f\u0131k ve dinamik hale geldi. Peki, uygulaman\u0131z\u0131n milyonlarca kullan\u0131c\u0131ya kesintisiz hizmet verirken ayn\u0131 zamanda g\u00fcvenli, \u00f6l\u00e7eklenebilir ve y\u00fcksek performansl\u0131 olmas\u0131n\u0131 nas\u0131l sa\u011flars\u0131n\u0131z? \u0130\u015fte bu noktada 3 katmanl\u0131 web mimarisi devreye giriyor ve AWS, bu mimariyi hayata ge\u00e7irmek i\u00e7in e\u015fsiz bir platform sunuyor.","og_url":"https:\/\/fatihsoysal.com\/blog\/awste-3-katmanli-web-mimarisi-5-dakikada-olusturma-rehberi\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-10-15T08:01:55+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"20 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/awste-3-katmanli-web-mimarisi-5-dakikada-olusturma-rehberi\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/awste-3-katmanli-web-mimarisi-5-dakikada-olusturma-rehberi\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"AWS&#8217;te 3 Katmanl\u0131 Web Mimarisi: 5 Dakikada Olu\u015fturma Rehberi","datePublished":"2025-10-15T08:01:55+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/awste-3-katmanli-web-mimarisi-5-dakikada-olusturma-rehberi\/"},"wordCount":6014,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["AWS"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/awste-3-katmanli-web-mimarisi-5-dakikada-olusturma-rehberi\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/awste-3-katmanli-web-mimarisi-5-dakikada-olusturma-rehberi\/","url":"https:\/\/fatihsoysal.com\/blog\/awste-3-katmanli-web-mimarisi-5-dakikada-olusturma-rehberi\/","name":"AWS'te 3 Katmanl\u0131 Web Mimarisi: 5 Dakikada Olu\u015fturma Rehberi","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-10-15T08:01:55+00:00","description":"Modern web uygulamalar\u0131, kullan\u0131c\u0131 beklentilerinin artmas\u0131yla birlikte daha karma\u015f\u0131k ve dinamik hale geldi. Peki, uygulaman\u0131z\u0131n milyonlarca kullan\u0131c\u0131ya kesintisiz hizmet verirken ayn\u0131 zamanda g\u00fcvenli, \u00f6l\u00e7eklenebilir ve y\u00fcksek performansl\u0131 olmas\u0131n\u0131 nas\u0131l sa\u011flars\u0131n\u0131z? \u0130\u015fte bu noktada 3 katmanl\u0131 web mimarisi devreye giriyor ve AWS, bu mimariyi hayata ge\u00e7irmek i\u00e7in e\u015fsiz bir platform sunuyor.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/awste-3-katmanli-web-mimarisi-5-dakikada-olusturma-rehberi\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/awste-3-katmanli-web-mimarisi-5-dakikada-olusturma-rehberi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/awste-3-katmanli-web-mimarisi-5-dakikada-olusturma-rehberi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"AWS&#8217;te 3 Katmanl\u0131 Web Mimarisi: 5 Dakikada Olu\u015fturma Rehberi"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/31903","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=31903"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/31903\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=31903"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=31903"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=31903"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}