{"id":35948,"date":"2025-12-06T00:30:57","date_gmt":"2025-12-05T21:30:57","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/aws-reinvent-2025-coklu-hesapta-saas-direnci-testi\/"},"modified":"2025-12-06T00:30:57","modified_gmt":"2025-12-05T21:30:57","slug":"aws-reinvent-2025-coklu-hesapta-saas-direnci-testi","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/aws-reinvent-2025-coklu-hesapta-saas-direnci-testi\/","title":{"rendered":"AWS re:Invent 2025: \u00c7oklu Hesapta SaaS Direnci Testi"},"content":{"rendered":"<p><meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"><\/p>\n<p>G\u00fcn\u00fcm\u00fcz\u00fcn rekabet\u00e7i dijital d\u00fcnyas\u0131nda, SaaS (Hizmet Olarak Yaz\u0131l\u0131m) uygulamalar\u0131n\u0131n kesintisiz \u00e7al\u0131\u015fmas\u0131, kullan\u0131c\u0131 deneyimi ve i\u015f s\u00fcreklili\u011fi i\u00e7in hayati \u00f6nem ta\u015f\u0131maktad\u0131r. M\u00fc\u015fteriler, kulland\u0131klar\u0131 SaaS \u00e7\u00f6z\u00fcmlerinden y\u00fcksek eri\u015filebilirlik ve performans beklerken, en ufak bir kesinti dahi marka itibar\u0131na ve gelir kayb\u0131na yol a\u00e7abilir. Peki, AWS&#8217;nin \u00e7oklu hesap mimarileri \u00fczerine kurulu karma\u015f\u0131k SaaS yap\u0131lar\u0131n\u0131zda, beklenmedik ar\u0131zalara kar\u015f\u0131 nas\u0131l bir diren\u00e7 olu\u015fturabilir ve bunu g\u00fcvenle test edebilirsiniz? AWS re:Invent 2025&#8217;teki &#8220;Build resilient SaaS: multi-account resilience testing patterns (ISV404)&#8221; oturumunun da vurgulad\u0131\u011f\u0131 gibi, proaktif diren\u00e7 testi stratejileri, ba\u015far\u0131l\u0131 bir SaaS operasyonunun temelini olu\u015fturur. Bu makale, \u00e7oklu hesap ortamlar\u0131nda diren\u00e7 testi modellerini derinlemesine inceleyerek, SaaS uygulaman\u0131z\u0131n en zorlu ko\u015fullara bile dayanabilmesini sa\u011flayacak pratik bilgiler sunmaktad\u0131r.<\/p>\n<h2>SaaS Uygulamalar\u0131nda \u00c7oklu Hesap Mimarisi ve Diren\u00e7lilik Neden \u00d6nemli?<\/h2>\n<p>SaaS mimarileri genellikle birden fazla kirac\u0131ya (tenant) hizmet verdi\u011finden, g\u00fcvenlik, izolasyon, maliyet y\u00f6netimi ve operasyonel verimlilik gibi nedenlerle \u00e7oklu AWS hesaplar\u0131 kullanmak yayg\u0131n bir yakla\u015f\u0131md\u0131r. Her bir hesap, belirli bir i\u015f y\u00fck\u00fcn\u00fc, bir kirac\u0131y\u0131 veya farkl\u0131 ortamlar\u0131 (geli\u015ftirme, test, \u00fcretim) izole etmek i\u00e7in kullan\u0131labilir. Bu izolasyon, bir hesapta meydana gelen bir sorunun di\u011fer hesaplara veya kirac\u0131lara yay\u0131lmas\u0131n\u0131 engellemek (blast radius reduction) a\u00e7\u0131s\u0131ndan kritik \u00f6neme sahiptir. Ancak bu da\u011f\u0131t\u0131k yap\u0131, diren\u00e7 testlerini de karma\u015f\u0131k hale getirir. Geleneksel tekil sistem testlerinin \u00f6tesine ge\u00e7erek, \u00e7oklu hesap ortam\u0131nda her bir bile\u015fenin, entegrasyonun ve hatta payla\u015f\u0131lan servislerin ar\u0131zalara kar\u015f\u0131 ne kadar dayan\u0131kl\u0131 oldu\u011funu anlamak gerekir.<\/p>\n<p>Diren\u00e7lilik (resilience), bir sistemin ar\u0131zalardan sonra kurtar\u0131lma veya ar\u0131zalara ra\u011fmen \u00e7al\u0131\u015fmaya devam etme yetene\u011fidir. Basit\u00e7e ifade etmek gerekirse, i\u015fler k\u00f6t\u00fc gitti\u011finde sisteminizin ne kadar iyi aya\u011fa kalkabildi\u011fidir. SaaS ba\u011flam\u0131nda bu, bir b\u00f6lge kesintisinde bile kullan\u0131c\u0131lar\u0131n\u0131z\u0131n hizmete eri\u015febilmesi, verilerin kaybolmamas\u0131 ve kritik i\u015f s\u00fcre\u00e7lerinin aksamamas\u0131 anlam\u0131na gelir. \u00c7oklu hesap mimarileri, bu direnci katmanland\u0131rmak i\u00e7in m\u00fckemmel bir temel sunar. \u00d6rne\u011fin, birincil b\u00f6lgenin (Region) tamamen kullan\u0131lamaz hale gelmesi durumunda, felaket kurtarma (Disaster Recovery) i\u00e7in ikincil bir b\u00f6lgede tamamen ayr\u0131 bir hesap seti \u00fczerinde operasyonlar\u0131 h\u0131zla devam ettirme yetene\u011fi, i\u015f s\u00fcreklili\u011fi i\u00e7in vazge\u00e7ilmezdir. Bu t\u00fcr senaryolar\u0131 sim\u00fcle etmek ve sistemin buna haz\u0131r oldu\u011fundan emin olmak i\u00e7in \u00e7oklu hesap diren\u00e7 testleri zorunludur. Yanl\u0131\u015f yap\u0131land\u0131r\u0131lm\u0131\u015f veya yeterince test edilmemi\u015f bir felaket kurtarma stratejisi, ger\u00e7ek bir felaket an\u0131nda i\u015fe yaramayabilir ve ciddi sonu\u00e7lara yol a\u00e7abilir. Bu nedenle, diren\u00e7li bir SaaS \u00e7\u00f6z\u00fcm\u00fc in\u015fa etmek sadece mimariyi do\u011fru kurmakla kalmaz, ayn\u0131 zamanda bu mimarinin \u00e7e\u015fitli ar\u0131za modlar\u0131na kar\u015f\u0131 ne kadar dayan\u0131kl\u0131 oldu\u011funu s\u00fcrekli olarak do\u011frulamay\u0131 da gerektirir.<\/p>\n<h2>Diren\u00e7 Testlerinin Temelleri: Kaos M\u00fchendisli\u011fi ve Otomasyon<\/h2>\n<p>Diren\u00e7 testi, sistemlerin beklenmedik olaylara nas\u0131l tepki verdi\u011fini anlamak i\u00e7in kas\u0131tl\u0131 olarak ar\u0131zalar enjekte etme prati\u011fidir. Bu yakla\u015f\u0131m\u0131n temelini, Netflix taraf\u0131ndan pop\u00fclerle\u015ftirilen Kaos M\u00fchendisli\u011fi (Chaos Engineering) olu\u015fturur. Kaos M\u00fchendisli\u011fi, \u00fcretim ortam\u0131nda (veya \u00fcretime yak\u0131n ortamlarda) kontroll\u00fc deneyler yaparak, zay\u0131f noktalar\u0131 proaktif bir \u015fekilde bulmay\u0131 ve gidermeyi ama\u00e7lar. Geleneksel test y\u00f6ntemleri genellikle beklenen davran\u0131\u015flar\u0131 do\u011frular; oysa Kaos M\u00fchendisli\u011fi, sistemin beklenmedik durumlarda nas\u0131l davrand\u0131\u011f\u0131n\u0131 ortaya \u00e7\u0131kar\u0131r. Bu, \u00f6zellikle da\u011f\u0131t\u0131k ve mikroservis tabanl\u0131 SaaS mimarilerinde kritik \u00f6neme sahiptir, \u00e7\u00fcnk\u00fc bir bile\u015fenin ar\u0131zas\u0131 zincirleme bir etki yaratabilir.<\/p>\n<p>Kaos m\u00fchendisli\u011finin temel ilkeleri \u015funlard\u0131r:<\/p>\n<ul>\n<li><b>Hipotez Olu\u015fturma:<\/b> &#8220;E\u011fer X hatas\u0131 olursa, Y sistemimiz Z kadar etkilenir&#8221; \u015feklinde bir hipotez belirlenir.<\/li>\n<li><b>Etki Alan\u0131n\u0131 S\u0131n\u0131rland\u0131rma (Blast Radius):<\/b> Deneyin potansiyel olumsuz etkileri minimumda tutulur. K\u00fc\u00e7\u00fck bir b\u00f6l\u00fcmden ba\u015flan\u0131r.<\/li>\n<li><b>Deneyleri Otomatize Etme:<\/b> S\u00fcrekli ve tutarl\u0131 testler i\u00e7in otomasyon \u015fartt\u0131r.<\/li>\n<li><b>Bulgular\u0131 \u00d6\u011frenme ve Giderme:<\/b> Zay\u0131f noktalar bulundu\u011funda, d\u00fczeltilir ve deney tekrarlan\u0131r.<\/li>\n<\/ul>\n<p>\u00c7oklu hesap ortamlar\u0131nda otomasyon, testlerin \u00f6l\u00e7eklenebilirli\u011fi ve tutarl\u0131l\u0131\u011f\u0131 a\u00e7\u0131s\u0131ndan vazge\u00e7ilmezdir. Manuel olarak binlerce kayna\u011f\u0131 veya onlarca hesab\u0131 test etmek pratik veya verimli de\u011fildir. AWS, bu s\u00fcre\u00e7te bize yard\u0131mc\u0131 olacak \u00e7e\u015fitli servisler sunar:<\/p>\n<p>*   <b>AWS Fault Injection Simulator (FIS):<\/b> Y\u00f6netilen bir servis olarak, EC2 \u00f6rneklerinin durdurulmas\u0131, CPU kullan\u0131m\u0131 veya a\u011f gecikmesi gibi \u00e7e\u015fitli ar\u0131zalar\u0131 enjekte etmeyi kolayla\u015ft\u0131r\u0131r.<br \/>\n*   <b>AWS Resilience Hub:<\/b> Uygulaman\u0131z\u0131n diren\u00e7lili\u011fini de\u011ferlendirmenize, hedefler belirlemenize ve bu hedeflere ula\u015fman\u0131za yard\u0131mc\u0131 olur. FIS deneylerini entegre ederek diren\u00e7 skorunuzu do\u011frulayabilirsiniz.<br \/>\n*   <b>AWS Organizations:<\/b> \u00c7oklu hesap y\u00f6netimi i\u00e7in merkezi bir kontrol d\u00fczlemi sa\u011flar ve diren\u00e7 testlerinin organizasyon genelinde tutarl\u0131 bir \u015fekilde uygulanmas\u0131na olanak tan\u0131r.<\/p>\n<p>Bu servisleri kullanarak, \u00f6rne\u011fin bir anahtar servisin bir b\u00f6lgedeki bir VPC&#8217;den di\u011ferine ge\u00e7i\u015fini sim\u00fcle edebilir veya bir veritaban\u0131 yede\u011finin ba\u015far\u0131yla geri y\u00fcklenebildi\u011fini test edebiliriz. Bu testler sadece teknik ar\u0131zalar\u0131 de\u011fil, ayn\u0131 zamanda operasyonel s\u00fcre\u00e7lerin de ne kadar diren\u00e7li oldu\u011funu g\u00f6zler \u00f6n\u00fcne serer. Unutmayal\u0131m ki, bir sistemin diren\u00e7li olmas\u0131, sadece teknolojik bile\u015fenlerinin de\u011fil, ayn\u0131 zamanda o sistemi y\u00f6neten insan s\u00fcre\u00e7lerinin ve otomasyonun da sa\u011flam oldu\u011fu anlam\u0131na gelir. Bu y\u00fczden, Kaos M\u00fchendisli\u011fi sadece bir teknoloji meselesi de\u011fil, ayn\u0131 zamanda bir k\u00fclt\u00fcr ve \u00f6\u011frenme prati\u011fidir.<\/p>\n<div class=\"expert-tip\">Uzman \u0130pucu: Diren\u00e7 testlerini geli\u015ftirme d\u00f6ng\u00fcs\u00fcn\u00fcn erken a\u015famalar\u0131na entegre ederek (&#8220;Shift-Left Resilience&#8221;), potansiyel zay\u0131fl\u0131klar\u0131 \u00fcretim ortam\u0131na ula\u015fmadan tespit edebilir ve d\u00fczeltme maliyetlerini \u00f6nemli \u00f6l\u00e7\u00fcde azaltabilirsiniz.<\/div>\n<h2>\u00c7oklu Hesapta Diren\u00e7 Testi Modelleri: Uygulamal\u0131 Yakla\u015f\u0131mlar<\/h2>\n<p>\u00c7oklu hesap mimarileri, SaaS uygulamalar\u0131 i\u00e7in hem b\u00fcy\u00fck avantajlar hem de \u00f6zg\u00fcn test zorluklar\u0131 sunar. Bu zorluklar\u0131n \u00fcstesinden gelmek i\u00e7in \u00e7e\u015fitli diren\u00e7 testi modelleri geli\u015ftirmek \u00f6nemlidir.<\/p>\n<h3>Tek Hesapta Ba\u015flat, Geni\u015flet (Single-Account Start, Multi-Account Scale)<\/h3>\n<p>Bu model, diren\u00e7 testi yolculu\u011funuza ba\u015flarken en mant\u0131kl\u0131 yakla\u015f\u0131md\u0131r. Karma\u015f\u0131k \u00e7oklu hesap senaryolar\u0131na do\u011frudan dalmak yerine, izole edilmi\u015f bir geli\u015ftirme veya test hesab\u0131nda ba\u015flamak, \u00f6\u011frenme e\u011frisini yumu\u015fat\u0131r ve potansiyel olumsuz etkileri s\u0131n\u0131rlar. \u00d6rne\u011fin, yeni bir mikroservis geli\u015ftirdiniz ve bu servisin bir veritaban\u0131 ba\u011flant\u0131 hatas\u0131na nas\u0131l tepki verdi\u011fini test etmek istiyorsunuz. Bu testi sadece o servisin \u00e7al\u0131\u015ft\u0131\u011f\u0131 tek bir test hesab\u0131nda yapars\u0131n\u0131z.<\/p>\n<pre><code><raw-code>\n# Basit bir AWS FIS deney tan\u0131m\u0131 \u00f6rne\u011fi (YAML format\u0131nda)\n# Bu \u00f6rnek, bir EC2 \u00f6rne\u011finin CPU kullan\u0131m\u0131n\u0131 art\u0131rarak stres testi yapar.\n\n# --- Experiment Template ---\n# ApiVersion: \"2023-01-01\"\n# TargetType: \"aws:ec2:instance\"\n# Description: \"CPU Y\u00fck\u00fcn\u00fc Art\u0131rarak EC2 Instance \u00dczerinde Stres Testi\"\n# Actions:\n#   - Id: \"cpu-stress\"\n#     ActionType: \"aws:fis:inject-agent-target\"\n#     Parameters:\n#       install-command: \"sudo yum install -y stress-ng\"\n#       run-command: \"stress-ng --cpu 0 --timeout 60s\" # 60 saniye boyunca t\u00fcm CPU \u00e7ekirdeklerini kullan\n#     Target:\n#       TargetType: \"aws:ec2:instance\"\n#       SelectionMode: \"COUNT(1)\" # Hedef EC2 instance'\u0131 se\u00e7imi\n#       Filters:\n#         - Path: \"Tags.Environment\"\n#           Values: [\"test\"] # Sadece 'test' etiketli instance'lar\u0131 hedefle\n#     # ... Di\u011fer parametreler\n# StopConditions:\n#   - Source: \"cloudwatch\"\n#     Value: \"ALARM:MyHighCpuAlarm\" # Belirli bir CloudWatch alarm\u0131 tetiklendi\u011finde durdur\n#     # ... Daha fazla durdurma ko\u015fulu\n\n# Not: Yukar\u0131daki kod, bir FIS deney \u015fablonunun YAML format\u0131nda nas\u0131l tan\u0131mlanabilece\u011fine dair basitle\u015ftirilmi\u015f bir \u00f6rnektir.\n# Ger\u00e7ek bir FIS deneyini \u00e7al\u0131\u015ft\u0131rmak i\u00e7in AWS CLI, SDK veya Konsol \u00fczerinden bu \u015fablonu kullanman\u0131z gerekir.\n<\/raw-code><\/pre>\n<p><\/code><\/p>\n<p>Bu yakla\u015f\u0131m, k\u00fc\u00e7\u00fck bir \"patlama yar\u0131\u00e7ap\u0131\" (blast radius) ile \u00e7al\u0131\u015fman\u0131za olanak tan\u0131r. Deneylerinizden emin olduktan sonra, bunlar\u0131 daha geni\u015f bir ortama yaymaya ba\u015flayabilirsiniz. \u0130lk a\u015famada, sadece bir AWS hesab\u0131 ve belirli bir mikroservis \u00fczerinde odaklanmak, \u00f6\u011frenme s\u00fcrecini h\u0131zland\u0131r\u0131r ve hatalar\u0131n potansiyel etkisini s\u0131n\u0131rlar. Bu s\u00fcre\u00e7te, test ara\u00e7lar\u0131n\u0131n ve senaryolar\u0131n\u0131n nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131, metriklerin nas\u0131l izlenece\u011fini ve olas\u0131 sorunlar\u0131 nas\u0131l giderece\u011finizi \u00f6\u011frenirsiniz.<\/p>\n<h3>Yatay Da\u011f\u0131t\u0131lm\u0131\u015f Testler (Horizontal Distributed Tests)<\/h3>\n<p>Tek hesapta ba\u015far\u0131yla test ettikten sonra, bir sonraki ad\u0131m, testleri birden fazla hesaba yatay olarak da\u011f\u0131tmakt\u0131r. Bu, \u00f6zellikle \u00e7oklu kirac\u0131l\u0131 (multi-tenant) veya \u00e7ok b\u00f6lgeli (multi-region) mimarilerde \u00f6nemlidir. \u00d6rne\u011fin, 10 farkl\u0131 kirac\u0131 hesab\u0131n\u0131z var ve bir API a\u011f ge\u00e7idindeki gecikmenin her bir kirac\u0131y\u0131 nas\u0131l etkiledi\u011fini g\u00f6rmek istiyorsunuz. Bu durumda, API Gateway'i etkileyen bir gecikme enjeksiyonu deneyi, t\u00fcm kirac\u0131 hesaplar\u0131n\u0131zda e\u015f zamanl\u0131 olarak veya kademeli olarak uygulanabilir.<\/p>\n<p>Bu t\u00fcr bir test, merkezi bir orkestrasyon mekanizmas\u0131 gerektirir. AWS Step Functions veya Lambda fonksiyonlar\u0131 kullanarak, AWS Organizations ile entegre bir \u015fekilde, farkl\u0131 hesaplardaki FIS deneylerini ba\u015flatabilir, durumlar\u0131n\u0131 izleyebilir ve sonu\u00e7lar\u0131 toplayabilirsiniz.<\/p>\n<h3>Kirac\u0131 Seviyesinde Diren\u00e7 Testi (Tenant-Level Resilience Testing)<\/h3>\n<p>SaaS'\u0131n do\u011fas\u0131 gere\u011fi, farkl\u0131 kirac\u0131lar\u0131n farkl\u0131 SLA'lar\u0131 (Hizmet Seviyesi Anla\u015fmalar\u0131) veya i\u015f kritiklik seviyeleri olabilir. Bu durumda, genel sistem direncini test etmenin yan\u0131 s\u0131ra, belirli bir kirac\u0131y\u0131 veya kirac\u0131 grubunu etkileyen senaryolar\u0131 test etmek de \u00f6nemlidir. \u00d6rne\u011fin, \"premium\" kirac\u0131lar\u0131n\u0131z i\u00e7in ayr\u0131 bir kaynak havuzu veya \u00f6zel bir veritaban\u0131 \u00f6rne\u011fi varsa, bu kaynaklar\u0131n ar\u0131zalara nas\u0131l tepki verdi\u011fini yaln\u0131zca bu kirac\u0131lar \u00fczerinde test etmek isteyebilirsiniz.<\/p>\n<p>Bu, testleri veri d\u00fczlemi (data plane) seviyesinde ger\u00e7ekle\u015ftirmek anlam\u0131na gelebilir. Yani, belirli bir kirac\u0131n\u0131n verilerine veya isteklerine y\u00f6nelik ar\u0131zalar enjekte etmek, ancak di\u011fer kirac\u0131lar\u0131 etkilememek. Bu, daha karma\u015f\u0131k bir senaryodur ve test ara\u00e7lar\u0131n\u0131z\u0131n kirac\u0131 kimli\u011fini anlayabilmesini gerektirir. Custom Lambda fonksiyonlar\u0131 veya \u00f6zel olarak yap\u0131land\u0131r\u0131lm\u0131\u015f FIS \u015fablonlar\u0131 bu t\u00fcr senaryolar i\u00e7in kullan\u0131labilir. Kirac\u0131 bazl\u0131 testlerde, bir kirac\u0131n\u0131n performans\u0131n\u0131n veya eri\u015filebilirli\u011finin, di\u011fer kirac\u0131lar\u0131nkiyle izole edildi\u011finden emin olmak i\u00e7in detayl\u0131 izleme ve loglama kritik \u00f6neme sahiptir.<\/p>\n<p>Her bir model, SaaS uygulaman\u0131z\u0131n farkl\u0131 boyutlar\u0131n\u0131 hedefleyerek, daha kapsaml\u0131 bir diren\u00e7 stratejisi olu\u015fturman\u0131za yard\u0131mc\u0131 olur. Bu modelleri birle\u015ftirerek, hem genel sisteminizin hem de spesifik kirac\u0131lar\u0131n\u0131z\u0131n ar\u0131zalara kar\u015f\u0131 ne kadar dayan\u0131kl\u0131 oldu\u011funu eksiksiz bir \u015fekilde de\u011ferlendirebilirsiniz.<\/p>\n<h2>AWS Servisleri ile Diren\u00e7 Testlerini Otomatize Etme<\/h2>\n<p>\u00c7oklu hesap ortamlar\u0131nda diren\u00e7 testlerinin etkin bir \u015fekilde y\u00fcr\u00fct\u00fclmesi ve y\u00f6netilmesi, g\u00fc\u00e7l\u00fc otomasyon ara\u00e7lar\u0131 gerektirir. AWS, bu konuda geni\u015f bir servis yelpazesi sunarak geli\u015ftiricilerin ve operasyon ekiplerinin i\u015fini kolayla\u015ft\u0131r\u0131r.<\/p>\n<h3>AWS Fault Injection Simulator (FIS)<\/h3>\n<p>FIS, kaos m\u00fchendisli\u011fi deneylerini otomatize etmek i\u00e7in tasarlanm\u0131\u015f y\u00f6netilen bir AWS servisidir. Belirli bir hedef \u00fczerinde \u00e7e\u015fitli ar\u0131zalar\u0131 sim\u00fcle etmenizi sa\u011flar:<\/p>\n<ul>\n<li><b>EC2 \u00f6rneklerinde CPU veya bellek kullan\u0131m\u0131n\u0131 art\u0131rma<\/b><\/li>\n<li><b>A\u011f gecikmesi veya paket kayb\u0131 enjekte etme<\/b><\/li>\n<li><b>EC2 \u00f6rneklerini durdurma veya sonland\u0131rma<\/b><\/li>\n<li><b>Veritaban\u0131 ba\u011flant\u0131lar\u0131n\u0131 kesme<\/b><\/li>\n<\/ul>\n<p>FIS, bir deneyi ba\u015flatmadan \u00f6nce, etki alan\u0131n\u0131 s\u0131n\u0131rlamak ve deneyin kontrol d\u0131\u015f\u0131na \u00e7\u0131kmas\u0131n\u0131 \u00f6nlemek i\u00e7in \"durdurma ko\u015fullar\u0131\" (stop conditions) tan\u0131mlaman\u0131za olanak tan\u0131r. \u00d6rne\u011fin, bir CloudWatch alarm\u0131 belirli bir e\u015fi\u011fin \u00fczerine \u00e7\u0131kt\u0131\u011f\u0131nda deneyi otomatik olarak durdurabilirsiniz. FIS \u015fablonlar\u0131n\u0131 AWS Organizations ile entegre ederek, birden fazla hesapta belirli hedeflere y\u00f6nelik deneyleri kolayca da\u011f\u0131tabilirsiniz.<\/p>\n<h3>AWS Resilience Hub<\/h3>\n<p>Resilience Hub, AWS'deki t\u00fcm uygulamalar\u0131n\u0131z\u0131n diren\u00e7lili\u011fini tek bir yerden de\u011ferlendirmenizi, do\u011frulaman\u0131z\u0131 ve y\u00f6netmenizi sa\u011flayan bir merkezdir. Uygulamalar\u0131n\u0131z\u0131 tan\u0131mlad\u0131ktan sonra Resilience Hub, mevcut kaynaklar\u0131n\u0131z\u0131 analiz eder, potansiyel zay\u0131f noktalar\u0131 belirler ve kurtarma s\u00fcresi hedefi (RTO) ile kurtarma noktas\u0131 hedefi (RPO) gibi diren\u00e7 hedefleri belirlemenize yard\u0131mc\u0131 olur. En \u00f6nemlisi, tan\u0131mlad\u0131\u011f\u0131n\u0131z diren\u00e7 hedeflerine ula\u015f\u0131p ula\u015fmad\u0131\u011f\u0131n\u0131z\u0131 do\u011frulamak i\u00e7in FIS deneylerini do\u011frudan Resilience Hub'dan ba\u015flatabilirsiniz. Bu, bir uygulaman\u0131n belirlenen RTO\/RPO hedeflerini ger\u00e7ekten kar\u015f\u0131lay\u0131p kar\u015f\u0131lamad\u0131\u011f\u0131n\u0131 sistematik olarak test etmek i\u00e7in g\u00fc\u00e7l\u00fc bir yoldur.<\/p>\n<h3>AWS Organizations ve AWS Control Tower<\/h3>\n<p>\u00c7oklu hesap y\u00f6netiminin temelini AWS Organizations olu\u015fturur. Organizasyonel birimler (OU'lar) ve hesap politikalar\u0131 (SCP'ler) arac\u0131l\u0131\u011f\u0131yla, g\u00fcvenlik, uyumluluk ve operasyonel y\u00f6netim i\u00e7in merkezi bir kontrol noktas\u0131 sa\u011flar. Diren\u00e7 testlerini \u00e7oklu hesap ortam\u0131na yayarken, Organizations, hangi hesaplarda hangi t\u00fcr deneylerin yap\u0131labilece\u011fini tan\u0131mlamak i\u00e7in \u00e7ok \u00f6nemlidir. AWS Control Tower ise, \u00e7oklu hesap ortamlar\u0131n\u0131 best practice'lere g\u00f6re h\u0131zl\u0131ca kurman\u0131z\u0131 ve y\u00f6netmenizi sa\u011flar; bu da diren\u00e7 testleri i\u00e7in iyi yap\u0131land\u0131r\u0131lm\u0131\u015f bir temel sunar.<\/p>\n<h3>AWS Step Functions ve AWS Lambda<\/h3>\n<p>Karma\u015f\u0131k diren\u00e7 testi i\u015f ak\u0131\u015flar\u0131n\u0131 orkestralamak i\u00e7in Step Functions ve Lambda ikilisi idealdir. Bir\u00e7ok FIS deneyini, farkl\u0131 hesaplarda e\u015f zamanl\u0131 olarak veya s\u0131ral\u0131 bir \u015fekilde ba\u015flatman\u0131z, ara sonu\u00e7lar\u0131 kontrol etmeniz ve ard\u0131ndan bir geri alma (rollback) i\u015flemi ba\u015flatman\u0131z gerekebilir. Step Functions, bu ad\u0131mlar\u0131 durum makineleri (state machines) olarak tan\u0131mlaman\u0131za olanak tan\u0131r. Lambda fonksiyonlar\u0131 ise, FIS deneylerini tetiklemek, sonu\u00e7lar\u0131 i\u015flemek, bildirim g\u00f6ndermek veya \u00f6zelle\u015ftirilmi\u015f test ad\u0131mlar\u0131 y\u00fcr\u00fctmek i\u00e7in kullan\u0131labilir.<\/p>\n<p>A\u015fa\u011f\u0131da, bir Step Functions durum makinesinin farkl\u0131 AWS hesaplar\u0131nda FIS deneylerini tetikleyebilecek basit bir tasla\u011f\u0131n\u0131 g\u00f6rebilirsiniz:<\/p>\n<pre><code><raw-code>\n{\n  \"Comment\": \"\u00c7oklu hesapta FIS deneyleri orkestrasyonu\",\n  \"StartAt\": \"StartFISTestInAccountA\",\n  \"States\": {\n    \"StartFISTestInAccountA\": {\n      \"Type\": \"Task\",\n      \"Resource\": \"arn:aws:states:::lambda:invoke\",\n      \"Parameters\": {\n        \"FunctionName\": \"arn:aws:lambda:REGION:ACCOUNT_A_ID:function:TriggerFISTestLambda\",\n        \"Payload\": {\n          \"experimentTemplateId\": \"fis-template-id-a\",\n          \"targetAccount\": \"ACCOUNT_A_ID\"\n        }\n      },\n      \"Next\": \"StartFISTestInAccountB\"\n    },\n    \"StartFISTestInAccountB\": {\n      \"Type\": \"Task\",\n      \"Resource\": \"arn:aws:states:::lambda:invoke\",\n      \"Parameters\": {\n        \"FunctionName\": \"arn:aws:lambda:REGION:ACCOUNT_B_ID:function:TriggerFISTestLambda\",\n        \"Payload\": {\n          \"experimentTemplateId\": \"fis-template-id-b\",\n          \"targetAccount\": \"ACCOUNT_B_ID\"\n        }\n      },\n      \"End\": true\n    }\n  }\n}\n<\/raw-code><\/pre>\n<p><\/code><\/p>\n<p>Bu \u00f6rnekte, <code>TriggerFISTestLambda<\/code> ad\u0131nda bir Lambda fonksiyonu, hedef hesaptaki bir FIS deneyini ba\u015flatmak i\u00e7in kullan\u0131l\u0131r. Step Functions, bu Lambda fonksiyonlar\u0131n\u0131 s\u0131rayla veya paralel olarak \u00e7a\u011f\u0131rarak \u00e7oklu hesapta senkronize testler yapman\u0131z\u0131 sa\u011flar. Bu kombinasyon, SaaS uygulaman\u0131z\u0131n diren\u00e7lili\u011fini otomatik ve programatik olarak test etmek i\u00e7in g\u00fc\u00e7l\u00fc bir \u00e7er\u00e7eve sunar.<\/p>\n<h2>Vaka Analizi: B\u00fcy\u00fck \u00d6l\u00e7ekli Bir SaaS Sa\u011flay\u0131c\u0131s\u0131nda Diren\u00e7 Testi Uygulamalar\u0131<\/h2>\n<p>\"AnalyticaCorp\", d\u00fcnya genelinde binlerce m\u00fc\u015fteriye analitik ve raporlama hizmetleri sunan, AWS \u00fczerinde \u00e7al\u0131\u015fan b\u00fcy\u00fck \u00f6l\u00e7ekli bir SaaS sa\u011flay\u0131c\u0131s\u0131d\u0131r. Uygulamalar\u0131, \u00e7oklu kirac\u0131l\u0131 ve mikroservis tabanl\u0131 bir mimariye sahiptir; her kirac\u0131 kendi izole edilmi\u015f AWS hesab\u0131nda \u00e7al\u0131\u015f\u0131r ve payla\u015f\u0131lan servisler merkezi bir y\u00f6netim hesab\u0131ndan sunulur. Birincil \u00fcretim b\u00f6lgesi Avrupa'da, felaket kurtarma (DR) b\u00f6lgesi ise Amerika'dad\u0131r.<\/p>\n<p><b>Problemi:<\/b> AnalyticaCorp, ge\u00e7mi\u015fte k\u00fc\u00e7\u00fck \u00f6l\u00e7ekli kesintiler ya\u015fam\u0131\u015ft\u0131. Tek bir mikroservisin beklenmedik bir ar\u0131zas\u0131 veya bir Availability Zone'un (AZ) ge\u00e7ici olarak kullan\u0131lamaz hale gelmesi, baz\u0131 kirac\u0131lar\u0131 etkileyerek SLA ihlallerine yol a\u00e7m\u0131\u015ft\u0131. Felaket kurtarma planlar\u0131 belgelenmi\u015f olsa da, ger\u00e7ek bir felaket an\u0131nda sistemin beklenen \u015fekilde davran\u0131p davranmayaca\u011f\u0131ndan tam emin de\u011fillerdi. Manuel testler zaman al\u0131c\u0131 ve hataya a\u00e7\u0131kt\u0131, ayr\u0131ca \u00e7oklu hesap ortam\u0131ndaki karma\u015f\u0131kl\u0131k nedeniyle kapsaml\u0131 de\u011fildi.<\/p>\n<p><b>\u00c7\u00f6z\u00fcm:<\/b> AnalyticaCorp, AWS re:Invent'teki \"Build resilient SaaS\" oturumlar\u0131ndan ilham alarak kapsaml\u0131 bir \u00e7oklu hesap diren\u00e7 testi stratejisi geli\u015ftirmeye karar verdi. Bu strateji birka\u00e7 a\u015famadan olu\u015ftu:<\/p>\n<p>1.  <b>Temel Diren\u00e7 De\u011ferlendirmesi ve FIS Entegrasyonu:<\/b> \u0130lk olarak, her bir mikroservis i\u00e7in AWS Resilience Hub kullan\u0131larak mevcut diren\u00e7 durumu de\u011ferlendirildi. Resilience Hub'\u0131n \u00f6nerileri do\u011frultusunda, her bir servisin en kritik ba\u011f\u0131ml\u0131l\u0131klar\u0131 (veritabanlar\u0131, API'ler, kuyruklar) belirlendi. Ard\u0131ndan, AWS FIS kullanarak temel senaryolar i\u00e7in (\u00f6rne\u011fin, bir EC2 \u00f6rne\u011finin durdurulmas\u0131, RDS ba\u011flant\u0131 kesintisi) deney \u015fablonlar\u0131 olu\u015fturuldu. Bu deneyler ba\u015flang\u0131\u00e7ta sadece geli\u015ftirme ve test hesaplar\u0131nda \"tek hesapta ba\u015flat\" modeliyle uyguland\u0131.<\/p>\n<p>2.  <b>Merkezi Orkestrasyon ile Yatay Geni\u015fleme:<\/b> Ba\u015far\u0131l\u0131 tek hesap testlerinin ard\u0131ndan, testler \u00fcretim benzeri ortamlara ve felaket kurtarma senaryolar\u0131na geni\u015fletildi. AWS Organizations, t\u00fcm kirac\u0131 hesaplar\u0131n\u0131n ve DR hesaplar\u0131n\u0131n merkezi olarak y\u00f6netilmesi i\u00e7in kullan\u0131ld\u0131. AWS Step Functions ile \u00f6zel bir durum makinesi olu\u015fturuldu. Bu durum makinesi, belirli bir kirac\u0131 grubunu veya t\u00fcm kirac\u0131lar\u0131 hedefleyen FIS deneylerini e\u015f zamanl\u0131 olarak ba\u015flatabiliyor, deneyin durumunu izleyebiliyor ve olumsuz bir etki tespit edildi\u011finde (CloudWatch alarmlar\u0131 arac\u0131l\u0131\u011f\u0131yla) otomatik olarak durdurabiliyordu. \u00d6zellikle, bir b\u00f6lgedeki bir AZ'nin tamamen kullan\u0131lamaz hale gelmesini sim\u00fcle eden karma\u015f\u0131k senaryolar test edildi. Bu senaryolarda, otomatik \u00f6l\u00e7eklendirme gruplar\u0131n\u0131n yeni AZ'lere ge\u00e7i\u015fi ve \u00e7ok b\u00f6lgeli veritabanlar\u0131n\u0131n (\u00f6rne\u011fin, Amazon Aurora Global Database) felaket kurtarma b\u00f6lgesine sorunsuz bir \u015fekilde ge\u00e7i\u015f yapmas\u0131 do\u011fruland\u0131.<\/p>\n<p>3.  <b>Kirac\u0131 Seviyesinde \u0130zole Testler:<\/b> Baz\u0131 \"kurumsal\" kirac\u0131lar i\u00e7in \u00f6zel SLA'lar bulundu\u011fundan, AnalyticaCorp, belirli kirac\u0131lar\u0131n kaynaklar\u0131n\u0131 etkileyen ancak di\u011ferlerini etkilemeyen testler geli\u015ftirdi. Bu, Lambda fonksiyonlar\u0131 arac\u0131l\u0131\u011f\u0131yla kirac\u0131 kimli\u011fine g\u00f6re hedeflenen kaynaklar\u0131 (\u00f6rne\u011fin, kirac\u0131ya \u00f6zel DynamoDB tablolar\u0131) se\u00e7en ve bunlara FIS deneyleri uygulayan \u00f6zel bir mant\u0131kla ger\u00e7ekle\u015ftirildi. Bu sayede, premium kirac\u0131lar\u0131n y\u00fcksek diren\u00e7 gereksinimlerinin kar\u015f\u0131land\u0131\u011f\u0131ndan emin olundu.<\/p>\n<p><b>Sonu\u00e7lar ve Kazan\u0131mlar:<\/b><br \/>\n*   <b>Geli\u015ftirilmi\u015f Uptime ve SLA Uyumu:<\/b> D\u00fczenli ve otomatik diren\u00e7 testleri sayesinde, AnalyticaCorp uygulamalar\u0131ndaki zay\u0131f noktalar\u0131 \u00fcretimde sorun ya\u015famadan \u00f6nce tespit etti ve giderdi. Bu, genel sistem uptime'\u0131n\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131rd\u0131 ve SLA ihlallerini azaltt\u0131.<br \/>\n*   <b>H\u0131zland\u0131r\u0131lm\u0131\u015f Kurtarma S\u00fcreleri:<\/b> Felaket kurtarma senaryolar\u0131n\u0131n ger\u00e7ek\u00e7i sim\u00fclasyonlar\u0131, ekibin DR planlar\u0131n\u0131n etkinli\u011fini do\u011frulamas\u0131n\u0131 ve RTO\/RPO hedeflerini kar\u015f\u0131lamas\u0131n\u0131 sa\u011flad\u0131. Kurtarma s\u00fcreleri daha \u00f6ng\u00f6r\u00fclebilir ve daha h\u0131zl\u0131 hale geldi.<br \/>\n*   <b>Artan M\u00fc\u015fteri G\u00fcveni:<\/b> M\u00fc\u015fterilere, sistemin diren\u00e7lili\u011finin s\u00fcrekli olarak test edildi\u011fi ve onayland\u0131\u011f\u0131 bilgisi verildi. Bu \u015feffafl\u0131k, m\u00fc\u015fteri g\u00fcvenini art\u0131rd\u0131.<br \/>\n*   <b>Operasyonel Verimlilik:<\/b> Otomatik testler, manuel \u00e7abay\u0131 ortadan kald\u0131rarak operasyonel ekiplerin daha stratejik g\u00f6revlere odaklanmas\u0131n\u0131 sa\u011flad\u0131.<br \/>\n*   <b>\"Diren\u00e7 K\u00fclt\u00fcr\u00fc\" Olu\u015fturma:<\/b> Geli\u015ftirme ekipleri, diren\u00e7lili\u011fi tasar\u0131m a\u015famas\u0131ndan itibaren d\u00fc\u015f\u00fcnmeye te\u015fvik edildi ve \"Shift-Left Resilience\" yakla\u015f\u0131m\u0131 benimsendi.<\/p>\n<p>AnalyticaCorp'un deneyimi, \u00e7oklu hesap SaaS mimarilerinde proaktif ve otomatik diren\u00e7 testlerinin sadece bir se\u00e7enek de\u011fil, ba\u015far\u0131l\u0131 operasyonlar i\u00e7in bir zorunluluk oldu\u011funu a\u00e7\u0131k\u00e7a g\u00f6stermektedir.<\/p>\n<h2>\u0130leri D\u00fczey \u0130pu\u00e7lar\u0131 ve En \u0130yi Uygulamalar<\/h2>\n<p>\u00c7oklu hesapta diren\u00e7 testi yolculu\u011funuzda ilerlerken, s\u00fcrecinizi daha da optimize etmek ve en \u00fcst d\u00fczeyde verimlilik sa\u011flamak i\u00e7in baz\u0131 ileri d\u00fczey ipu\u00e7lar\u0131 ve en iyi uygulamalar mevcuttur.<\/p>\n<h3>S\u00fcrekli Diren\u00e7 Do\u011frulamas\u0131 ve G\u00f6zetim<\/h3>\n<p>Diren\u00e7 testleri tek seferlik bir olay olmamal\u0131d\u0131r. Mimariler de\u011fi\u015fir, kod g\u00fcncellenir ve ba\u011f\u0131ml\u0131l\u0131klar geli\u015fir. Bu nedenle, diren\u00e7 testleri s\u00fcrekli entegrasyon\/s\u00fcrekli da\u011f\u0131t\u0131m (CI\/CD) hatt\u0131n\u0131za entegre edilmelidir. Her yeni s\u00fcr\u00fcmle birlikte, kritik diren\u00e7 senaryolar\u0131n\u0131n otomatik olarak \u00e7al\u0131\u015ft\u0131r\u0131lmas\u0131, regresyonlar\u0131 \u00f6nler ve sistemin diren\u00e7lili\u011finin zaman i\u00e7inde korunmas\u0131n\u0131 sa\u011flar. AWS Resilience Hub'\u0131 s\u00fcrekli olarak izleyerek ve FIS deneylerini d\u00fczenli aral\u0131klarla tekrarlayarak bu s\u00fcreklili\u011fi sa\u011flayabilirsiniz.<\/p>\n<h3>Detayl\u0131 G\u00f6zetlenebilirlik (Observability) ve Metrikler<\/h3>\n<p>Bir diren\u00e7 deneyi s\u0131ras\u0131nda ve sonras\u0131nda, sistemin nas\u0131l davrand\u0131\u011f\u0131n\u0131 anlamak i\u00e7in derinlemesine g\u00f6zlemlenebilirlik \u015fartt\u0131r. CloudWatch metrikleri, loglar\u0131 (CloudWatch Logs) ve da\u011f\u0131t\u0131lm\u0131\u015f izleme (AWS X-Ray) ara\u00e7lar\u0131n\u0131 kullanarak:<\/p>\n<ul>\n<li>Deney ba\u015flamadan \u00f6nceki sistem temel performans\u0131n\u0131 (baseline) kaydedin.<\/li>\n<li>Deney s\u0131ras\u0131nda CPU, bellek, a\u011f trafi\u011fi, hata oranlar\u0131, gecikme gibi kritik metriklerdeki de\u011fi\u015fimleri izleyin.<\/li>\n<li>Deneyin etkiledi\u011fi servislerdeki loglar\u0131 inceleyerek k\u00f6k neden analizi yap\u0131n.<\/li>\n<li>Deneyden sonra sistemin beklenen baseline seviyesine geri d\u00f6n\u00fcp d\u00f6nmedi\u011fini do\u011frulay\u0131n.<\/li>\n<\/ul>\n<p>Bu veriler, hipotezlerinizi do\u011frulamak, zay\u0131f noktalar\u0131 tespit etmek ve d\u00fczeltmelerin etkinli\u011fini \u00f6l\u00e7mek i\u00e7in temel olu\u015fturur.<\/p>\n<h3>Geri Alma Planlar\u0131 ve Etki Alan\u0131 S\u0131n\u0131rlamas\u0131<\/h3>\n<p>\u00dcretim ortam\u0131nda veya \u00fcretime yak\u0131n ortamlarda diren\u00e7 testleri yaparken, her zaman bir geri alma (rollback) plan\u0131n\u0131z olmal\u0131d\u0131r. Bir deneyin beklenenden daha k\u00f6t\u00fc sonu\u00e7lar do\u011furmas\u0131 durumunda, sistemi h\u0131zl\u0131ca g\u00fcvenli bir duruma d\u00f6nd\u00fcrmek i\u00e7in net bir prosed\u00fcr\u00fcn\u00fcz olmal\u0131d\u0131r. Ayr\u0131ca, \"blast radius\" kavram\u0131n\u0131 her zaman g\u00f6z \u00f6n\u00fcnde bulundurun. Testlerinizi k\u00fc\u00e7\u00fck, izole b\u00f6l\u00fcmlerde ba\u015flat\u0131n ve g\u00fcven kazand\u0131k\u00e7a etki alan\u0131n\u0131 geni\u015fletin. AWS FIS'in durdurma ko\u015fullar\u0131 bu konuda b\u00fcy\u00fck bir yard\u0131mc\u0131d\u0131r.<\/p>\n<h3>G\u00fcvenlik ve \u0130zin Y\u00f6netimi<\/h3>\n<p>\u00c7oklu hesap ortamlar\u0131nda diren\u00e7 testleri yaparken, g\u00fcvenlik izinleri b\u00fcy\u00fck \u00f6nem ta\u015f\u0131r. FIS deneylerini veya di\u011fer otomasyonlar\u0131 \u00e7al\u0131\u015ft\u0131ran IAM rolleri ve kullan\u0131c\u0131lar\u0131, yaln\u0131zca ihtiya\u00e7 duyduklar\u0131 kaynaklara eri\u015febilmeli ve \"en az ayr\u0131cal\u0131k\" (least privilege) ilkesi uygulanmal\u0131d\u0131r. AWS Organizations'daki Hizmet Kontrol Politikalar\u0131 (SCP'ler) arac\u0131l\u0131\u011f\u0131yla, belirli deney t\u00fcrlerinin belirli hesaplarda yasaklanmas\u0131n\u0131 veya s\u0131n\u0131rland\u0131r\u0131lmas\u0131n\u0131 sa\u011flayabilirsiniz.<\/p>\n<h3>Mobil Uyumlu Raporlama ve G\u00f6sterge Panelleri<\/h3>\n<p>Diren\u00e7 testlerinin sonu\u00e7lar\u0131n\u0131 ve sistemin genel diren\u00e7 durumunu y\u00f6neticilere veya di\u011fer ekiplere sunmak i\u00e7in etkili raporlama ve g\u00f6sterge panelleri olu\u015fturmak \u00f6nemlidir. Bu panellerin mobil cihazlardan da rahatl\u0131kla g\u00f6r\u00fcnt\u00fclenebilmesi, \u00f6zellikle hareket halindeki ekipler i\u00e7in kritik bilgilere h\u0131zl\u0131 eri\u015fim sa\u011flar. Basit bir HTML ve CSS ile bile temel mobil uyumluluk sa\u011flanabilir:<\/p>\n<pre><code class=\"language-html\"><style>\n  \/* Temel mobil uyumluluk i\u00e7in CSS *\/\n  .dashboard-container {\n    padding: 15px;\n  }\n  .metric-card {\n    border: 1px solid #ccc;\n    padding: 10px;\n    margin-bottom: 10px;\n    border-radius: 5px;\n  }\n  \/* K\u00fc\u00e7\u00fck ekranlar i\u00e7in media query *\/\n  @media (max-width: 600px) {\n    .dashboard-container {\n      padding: 10px;\n    }\n    .metric-card {\n      font-size: 0.9em;\n    }\n  }\n<\/style>\n<div class=\"dashboard-container\">\n  <h3>Diren\u00e7 Testi Sonu\u00e7lar\u0131<\/h3>\n  <div class=\"metric-card\">\n    <h4>Son Test Durumu: Ba\u015far\u0131l\u0131<\/h4>\n    <p>Son \u00c7al\u0131\u015fma Zaman\u0131: 2024-10-27 14:30 UTC<\/p>\n    <p>Etkilenen Kirac\u0131 Say\u0131s\u0131: 0<\/p>\n  <\/div>\n  <div class=\"metric-card\">\n    <h4>RTO Hedefi: 15 Dakika (Ger\u00e7ekle\u015fen: 12 Dakika)<\/h4>\n    <p>RPO Hedefi: 5 Dakika (Ger\u00e7ekle\u015fen: 4 Dakika)<\/p>\n  <\/div>\n<\/div><\/pre>\n<p><\/code><\/p>\n<p>Bu t\u00fcr bir yap\u0131, temel raporlama ara\u00e7lar\u0131n\u0131za mobil eri\u015fimi entegre etmenize olanak tan\u0131r.<br \/>\nBu ileri d\u00fczey ipu\u00e7lar\u0131n\u0131 uygulayarak, \u00e7oklu hesap SaaS ortam\u0131n\u0131z\u0131n sadece diren\u00e7li olmas\u0131n\u0131 sa\u011flamakla kalmayacak, ayn\u0131 zamanda bu direnci s\u00fcrd\u00fcr\u00fclebilir, g\u00fcvenli ve verimli bir \u015fekilde y\u00f6netebileceksiniz.<\/p>\n<h2>Sonu\u00e7<\/h2>\n<p>AWS re:Invent 2025'teki \"Build resilient SaaS: multi-account resilience testing patterns (ISV404)\" oturumunun da alt\u0131n\u0131 \u00e7izdi\u011fi gibi, modern SaaS uygulamalar\u0131n\u0131n ba\u015far\u0131s\u0131, sadece \u00f6zellik zenginli\u011fiyle de\u011fil, ayn\u0131 zamanda ar\u0131zalara kar\u015f\u0131 g\u00f6sterdi\u011fi diren\u00e7le de \u00f6l\u00e7\u00fcl\u00fcr. \u00c7oklu hesap mimarileri, g\u00fcvenlik ve operasyonel izolasyon sa\u011flaman\u0131n yan\u0131 s\u0131ra, diren\u00e7 stratejilerini katmanland\u0131rmak i\u00e7in g\u00fc\u00e7l\u00fc bir temel sunar. Bu makalede ele ald\u0131\u011f\u0131m\u0131z \u00e7oklu hesap diren\u00e7 testi modelleri \u2013 tek hesapta ba\u015flama, yatay da\u011f\u0131t\u0131lm\u0131\u015f testler ve kirac\u0131 seviyesinde izolasyon \u2013 SaaS uygulaman\u0131z\u0131n her katman\u0131n\u0131 proaktif olarak test etmenizi ve potansiyel zay\u0131f noktalar\u0131 \u00fcretim ortam\u0131na ula\u015fmadan \u00f6nce gidermenizi sa\u011flar. AWS Fault Injection Simulator, Resilience Hub, Step Functions ve Lambda gibi servislerin otomasyon g\u00fcc\u00fc, bu testleri \u00f6l\u00e7eklenebilir ve tutarl\u0131 bir \u015fekilde y\u00fcr\u00fctmeniz i\u00e7in vazge\u00e7ilmezdir. Unutmayal\u0131m ki, bir sistemin diren\u00e7lili\u011fi, ancak d\u00fczenli olarak test edildi\u011finde ve do\u011fruland\u0131\u011f\u0131nda garanti edilebilir. M\u00fc\u015fteri g\u00fcveni, marka itibar\u0131 ve i\u015f s\u00fcreklili\u011fi i\u00e7in bu yat\u0131r\u0131m, kesinlikle kar\u015f\u0131l\u0131\u011f\u0131n\u0131 fazlas\u0131yla verecektir. AWS'nin sundu\u011fu ara\u00e7larla diren\u00e7 testi yolculu\u011funuza bug\u00fcn ba\u015flay\u0131n ve SaaS uygulaman\u0131z\u0131n her t\u00fcrl\u00fc zorlu\u011fa g\u00f6\u011f\u00fcs gerebildi\u011finden emin olun.<\/p>\n<h2>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h2>\n<h3>1. \u00c7oklu hesapta diren\u00e7 testleri ne kadar karma\u015f\u0131kt\u0131r ve k\u00fc\u00e7\u00fck bir ISV bunu nas\u0131l yapabilir?<\/h3>\n<p>\u00c7oklu hesap testleri, tek hesap testlerine g\u00f6re daha karma\u015f\u0131kt\u0131r ancak AWS servisleri (Organizations, FIS, Step Functions) bu karma\u015f\u0131kl\u0131\u011f\u0131 y\u00f6netilebilir hale getirir. K\u00fc\u00e7\u00fck bir ISV, \"tek hesapta ba\u015flat, geni\u015flet\" modeliyle ba\u015flayabilir. \u0130lk olarak izole bir geli\u015ftirme veya test hesab\u0131nda kritik servislerin temel diren\u00e7 testlerini yaparak ba\u015flay\u0131n. Ba\u015far\u0131ya ula\u015ft\u0131k\u00e7a, testlerinizi kademeli olarak daha fazla hesaba ve daha karma\u015f\u0131k senaryolara geni\u015fletebilirsiniz. Otomasyon, bu s\u00fcrecin anahtar\u0131d\u0131r.<\/p>\n<h3>2. Diren\u00e7 testlerinin maliyet etkisi nedir?<\/h3>\n<p>Diren\u00e7 testlerinin maliyeti, kullan\u0131lan AWS servislerinin maliyetleri (FIS, Lambda, Step Functions vb.) ve testlerin s\u00fcresine g\u00f6re de\u011fi\u015fir. Ancak, bir kesintinin i\u015fletmeniz \u00fczerindeki potansiyel maliyeti (gelir kayb\u0131, itibar kayb\u0131, m\u00fc\u015fteri kayb\u0131) g\u00f6z \u00f6n\u00fcne al\u0131nd\u0131\u011f\u0131nda, diren\u00e7 testlerine yap\u0131lan yat\u0131r\u0131m genellikle \u00e7ok daha d\u00fc\u015f\u00fckt\u00fcr ve uzun vadede \u00f6nemli getiriler sa\u011flar. AWS Free Tier gibi avantajlardan faydalanarak ba\u015flang\u0131\u00e7 maliyetlerini d\u00fc\u015f\u00fcrebilirsiniz.<\/p>\n<h3>3. Hangi AWS servisleri \u00e7oklu hesap diren\u00e7 testleri i\u00e7in temeldir?<\/h3>\n<p>Temel servisler \u015funlard\u0131r:<\/p>\n<ul>\n<li><b>AWS Fault Injection Simulator (FIS):<\/b> Hata enjeksiyonu deneyleri i\u00e7in.<\/li>\n<li><b>AWS Resilience Hub:<\/b> Uygulama diren\u00e7lili\u011fini de\u011ferlendirmek ve do\u011frulamak i\u00e7in.<\/li>\n<li><b>AWS Organizations:<\/b> \u00c7oklu hesap y\u00f6netimi ve merkezi kontrol i\u00e7in.<\/li>\n<li><b>AWS Step Functions ve AWS Lambda:<\/b> Test i\u015f ak\u0131\u015flar\u0131n\u0131 otomatize etmek ve orkestralamak i\u00e7in.<\/li>\n<li><b>Amazon CloudWatch ve AWS X-Ray:<\/b> Test sonu\u00e7lar\u0131n\u0131 izlemek ve analiz etmek i\u00e7in.<\/li>\n<\/ul>\n<h3>4. Diren\u00e7 testi yaparken en b\u00fcy\u00fck risk nedir ve nas\u0131l y\u00f6netilir?<\/h3>\n<p>En b\u00fcy\u00fck risk, bir deneyin beklenenden daha b\u00fcy\u00fck veya kal\u0131c\u0131 bir olumsuz etki yaratmas\u0131d\u0131r. Bu risk, \"blast radius\" (patlama yar\u0131\u00e7ap\u0131) s\u0131n\u0131rlamas\u0131, \"durdurma ko\u015fullar\u0131\" (stop conditions) ve detayl\u0131 geri alma planlar\u0131 ile y\u00f6netilir. Her zaman en az ayr\u0131cal\u0131k (least privilege) ilkesiyle \u00e7al\u0131\u015f\u0131n, testleri k\u00fc\u00e7\u00fck bir kapsamda ba\u015flat\u0131n ve \u00fcretim ortam\u0131na ilerlemeden \u00f6nce t\u00fcm senaryolar\u0131 test ve haz\u0131rl\u0131k ortamlar\u0131nda do\u011frulay\u0131n. \u015eeffaf ileti\u015fim ve izleme de kritik \u00f6neme sahiptir.<\/p>\n","protected":false},"excerpt":{"rendered":"G\u00fcn\u00fcm\u00fcz\u00fcn rekabet\u00e7i dijital d\u00fcnyas\u0131nda, SaaS (Hizmet Olarak Yaz\u0131l\u0131m) uygulamalar\u0131n\u0131n kesintisiz \u00e7al\u0131\u015fmas\u0131, kullan\u0131c\u0131 deneyimi ve i\u015f s\u00fcreklili\u011fi i\u00e7in hayati&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-35948","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 re:Invent 2025: \u00c7oklu Hesapta SaaS Direnci Testi<\/title>\n<meta name=\"description\" content=\"Son \u00c7al\u0131\u015fma Zaman\u0131: 2024-10-27 14:30 UTC\" \/>\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\/aws-reinvent-2025-coklu-hesapta-saas-direnci-testi\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"AWS re:Invent 2025: \u00c7oklu Hesapta SaaS Direnci Testi\" \/>\n<meta property=\"og:description\" content=\"Son \u00c7al\u0131\u015fma Zaman\u0131: 2024-10-27 14:30 UTC\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/aws-reinvent-2025-coklu-hesapta-saas-direnci-testi\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-05T21:30:57+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=\"22 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/aws-reinvent-2025-coklu-hesapta-saas-direnci-testi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/aws-reinvent-2025-coklu-hesapta-saas-direnci-testi\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"AWS re:Invent 2025: \u00c7oklu Hesapta SaaS Direnci Testi\",\"datePublished\":\"2025-12-05T21:30:57+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/aws-reinvent-2025-coklu-hesapta-saas-direnci-testi\/\"},\"wordCount\":4120,\"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\/aws-reinvent-2025-coklu-hesapta-saas-direnci-testi\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/aws-reinvent-2025-coklu-hesapta-saas-direnci-testi\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/aws-reinvent-2025-coklu-hesapta-saas-direnci-testi\/\",\"name\":\"AWS re:Invent 2025: \u00c7oklu Hesapta SaaS Direnci Testi\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-12-05T21:30:57+00:00\",\"description\":\"Son \u00c7al\u0131\u015fma Zaman\u0131: 2024-10-27 14:30 UTC\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/aws-reinvent-2025-coklu-hesapta-saas-direnci-testi\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/aws-reinvent-2025-coklu-hesapta-saas-direnci-testi\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/aws-reinvent-2025-coklu-hesapta-saas-direnci-testi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AWS re:Invent 2025: \u00c7oklu Hesapta SaaS Direnci Testi\"}]},{\"@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 re:Invent 2025: \u00c7oklu Hesapta SaaS Direnci Testi","description":"Son \u00c7al\u0131\u015fma Zaman\u0131: 2024-10-27 14:30 UTC","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\/aws-reinvent-2025-coklu-hesapta-saas-direnci-testi\/","og_locale":"tr_TR","og_type":"article","og_title":"AWS re:Invent 2025: \u00c7oklu Hesapta SaaS Direnci Testi","og_description":"Son \u00c7al\u0131\u015fma Zaman\u0131: 2024-10-27 14:30 UTC","og_url":"https:\/\/fatihsoysal.com\/blog\/aws-reinvent-2025-coklu-hesapta-saas-direnci-testi\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-12-05T21:30:57+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"22 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/aws-reinvent-2025-coklu-hesapta-saas-direnci-testi\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/aws-reinvent-2025-coklu-hesapta-saas-direnci-testi\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"AWS re:Invent 2025: \u00c7oklu Hesapta SaaS Direnci Testi","datePublished":"2025-12-05T21:30:57+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/aws-reinvent-2025-coklu-hesapta-saas-direnci-testi\/"},"wordCount":4120,"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\/aws-reinvent-2025-coklu-hesapta-saas-direnci-testi\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/aws-reinvent-2025-coklu-hesapta-saas-direnci-testi\/","url":"https:\/\/fatihsoysal.com\/blog\/aws-reinvent-2025-coklu-hesapta-saas-direnci-testi\/","name":"AWS re:Invent 2025: \u00c7oklu Hesapta SaaS Direnci Testi","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-12-05T21:30:57+00:00","description":"Son \u00c7al\u0131\u015fma Zaman\u0131: 2024-10-27 14:30 UTC","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/aws-reinvent-2025-coklu-hesapta-saas-direnci-testi\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/aws-reinvent-2025-coklu-hesapta-saas-direnci-testi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/aws-reinvent-2025-coklu-hesapta-saas-direnci-testi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"AWS re:Invent 2025: \u00c7oklu Hesapta SaaS Direnci Testi"}]},{"@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\/35948","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=35948"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35948\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=35948"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=35948"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=35948"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}