DVA-C03: Yeni AWS Developer Associate Sınavı – Neler Değişti ve Nasıl Başarılı Olunur?
AWS Developer Associate (DVA) sertifikası, bulut tabanlı uygulamalar geliştiren geliştiriciler için önemli bir kilometre taşıdır. Peki, en son DVA-C03 sürümüyle birlikte sınavda ne gibi değişiklikler oldu? Bu yeni sınavda başarılı olmak için nelere odaklanmalıyız? Bu makalede, DVA-C03 sınavının getirdiği yenilikleri derinlemesine inceleyecek, temel kavramları gözden geçirecek ve başarılı bir hazırlık süreci için pratik ipuçları sunacağız.
Neden AWS Developer Associate Sertifikası Önemli?
Günümüz teknoloji dünyasında bulut bilişim, uygulamaların geliştirilmesinden dağıtımına ve yönetilmesine kadar her alanda merkezi bir rol oynamaktadır. Amazon Web Services (AWS), bu alanda lider bir platform olarak öne çıkıyor. AWS Developer Associate sertifikası, geliştiricilerin AWS platformunda güvenli, ölçeklenebilir ve maliyet etkin uygulamalar oluşturma becerilerini kanıtlamalarına olanak tanır. Bu sertifika, kariyerinizde yeni kapılar açabilir, mevcut rolünüzde daha fazla sorumluluk almanızı sağlayabilir ve işverenler nezdinde değerinizi artırabilir. Özellikle DVA-C03 sürümü, değişen teknoloji trendlerini ve AWS’nin sunduğu yeni hizmetleri daha iyi yansıtacak şekilde güncellenmiştir. Bu nedenle, sertifikayı yenilemek veya yeni almak isteyenler için bu değişiklikleri anlamak kritik öneme sahiptir. Bu makalede, bu yeniliklerin neler olduğunu ve sınavda nasıl başarılı olabileceğinizi adım adım açıklayacağız.
DVA-C03 Sınavındaki Temel Değişiklikler Nelerdir?
Her yeni sınav sürümü, teknoloji dünyasındaki hızlı gelişmeleri ve platform güncellemelerini yansıtmak üzere tasarlanır. DVA-C03 de bu kuralın bir istisnası değil. Bu sürümde, önceki sürümlere kıyasla bazı önemli odak alanları ve hizmetler ön plana çıkıyor. Öncelikle, sunucusuz (serverless) teknolojilere verilen önem daha da artmış durumda. AWS Lambda, API Gateway ve DynamoDB gibi hizmetlerin derinlemesine anlaşılması artık daha da kritik. Bu hizmetler, modern bulut uygulamalarının temelini oluşturuyor ve geliştiricilerin daha hızlı, daha verimli ve daha ölçeklenebilir çözümler üretmelerini sağlıyor. Özellikle Lambda fonksiyonlarının yönetimi, tetikleyicileri, katmanları (layers) ve hata ayıklama stratejileri gibi konulara daha fazla vurgu yapıldığını göreceksiniz. Ayrıca, konteynerizasyon teknolojileri de sınavda daha fazla yer buluyor. Amazon Elastic Container Service (ECS) ve Amazon Elastic Kubernetes Service (EKS) gibi hizmetler, uygulamaların paketlenmesi ve dağıtılması konusunda önemli araçlar haline geldi. Bu hizmetlerin temel mimarileri, iş yükü türleri ve servislerle entegrasyonları hakkında bilgi sahibi olmanız gerekecek. Güvenlik, her zaman olduğu gibi, yine sınavın temel taşlarından biri. AWS Identity and Access Management (IAM) politikalarının detaylı anlaşılması, erişim denetimi mekanizmaları ve veri şifreleme yöntemleri gibi konulara daha fazla odaklanılacak. Özellikle, en az ayrıcalık prensibini (principle of least privilege) uygulayarak güvenli çözümler tasarlama becerisi ön planda olacak. Son olarak, CI/CD (Continuous Integration/Continuous Deployment – Sürekli Entegrasyon/Sürekli Dağıtım) süreçleri ve AWS’nin bu konudaki hizmetleri de sınavın kapsamına dahil edilmiş durumda. AWS CodeCommit, CodeBuild, CodeDeploy ve CodePipeline gibi hizmetlerin bir arada nasıl kullanılarak otomatikleştirilmiş dağıtım pipeline’ları oluşturulabileceği önemli bir konu başlığı olarak karşımıza çıkıyor. Bu değişiklikler, geliştiricilerin sadece kod yazmakla kalmayıp, aynı zamanda uygulamalarının yaşam döngüsünü baştan sona yönetebilme yeteneklerini ölçmeyi hedefliyor.
Sunucusuz (Serverless) Teknolojiler: DVA-C03’ün Kalbi
Sunucusuz mimariler, bulut bilişimin en heyecan verici ve hızla büyüyen alanlarından biridir. Geliştiricilerin altyapı yönetimiyle uğraşmak yerine iş mantığına odaklanmalarını sağlayan bu yaklaşım, AWS Developer Associate sınavının DVA-C03 sürümünde daha da merkezi bir rol oynuyor. AWS Lambda, bu ekosistemin tartışmasız yıldızıdır. Lambda fonksiyonlarının nasıl tetikleneceği (örneğin, API Gateway’den gelen bir HTTP isteği, S3 bucket’ına yüklenen bir dosya, DynamoDB tablosundaki bir değişiklik veya bir SQS kuyruğuna eklenen mesaj), fonksiyonların çalışma zamanı ortamları, bellek ve işlemci gücü gibi kaynaklarının nasıl yapılandırılacağı, ve maliyet optimizasyonu için dikkat edilmesi gerekenler sınavda karşımıza çıkacaktır. Özellikle, Lambda katmanları (layers) ile kodunuzu ve bağımlılıklarınızı nasıl yönetebileceğiniz, farklı fonksiyonlar arasında kod tekrarını nasıl önleyebileceğiniz önemli bir konudur. API Gateway ise, Lambda fonksiyonlarınızı dış dünyaya açan bir kapı görevi görür. RESTful API’ler tasarlamak, yetkilendirme mekanizmalarını (örneğin, IAM, Cognito) uygulamak, istek ve yanıt dönüşümlerini (request/response transformations) yapılandırmak ve API’lerinizin performansını izlemek gibi konular sınavın bir parçasıdır. DynamoDB, sunucusuz uygulamalar için popüler bir NoSQL veritabanı seçeneğidir. Temel CRUD (Create, Read, Update, Delete) operasyonlarının yanı sıra, tabloların nasıl modelleneceği, indeksleme stratejileri (özellikle Global Secondary Indexes – GSI ve Local Secondary Indexes – LSI), kapasite yönetimi (provisioned vs. on-demand) ve tutarlılık modelleri (eventual vs. strong consistency) hakkında bilgi sahibi olmanız gerekecektir. AWS Step Functions, karmaşık iş akışlarını yönetmek için kullanılır. Birden fazla Lambda fonksiyonunu veya diğer AWS hizmetlerini bir araya getirerek uzun süren işlemleri veya durum makinelerini (state machines) oluşturmak için Step Functions’ın nasıl kullanılacağını bilmek, özellikle dağıtık sistemler tasarlarken büyük avantaj sağlar. Bu hizmetlerin birbiriyle nasıl entegre olduğunu anlamak, sunucusuz mimarilerin gücünü tam olarak kavramanıza yardımcı olacaktır. Örneğin, bir kullanıcı kaydı senaryosunda, API Gateway’den gelen bir istek Lambda fonksiyonunu tetikler. Bu fonksiyon, kullanıcı bilgilerini DynamoDB’ye kaydeder ve ardından bir Step Functions iş akışı başlatarak bir hoş geldin e-postası gönderilmesini veya bir veri doğrulama sürecinin başlatılmasını sağlayabilir.
Konteynerizasyon ve Orkestrasyon: Uygulamaları Paketlemek ve Yönetmek
Modern yazılım geliştirme süreçlerinde konteynerler, uygulamaları izole ortamlarda paketlemek, taşımak ve çalıştırmak için vazgeçilmez hale gelmiştir. AWS, bu alanda güçlü hizmetler sunarak geliştiricilerin işlerini kolaylaştırmaktadır. DVA-C03 sınavı, konteyner teknolojilerine olan ilgiyi yansıtarak bu alandaki bilgiyi de ölçmektedir. Amazon Elastic Container Service (ECS), AWS’nin kendi konteyner orkestrasyon hizmetidir. ECS’nin temel bileşenleri olan Task Definitions (Görev Tanımları), Services (Servisler) ve Clusters (Kümeler) hakkında derinlemesine bilgi sahibi olmanız gerekir. Task Definitions, konteynerlerinizin nasıl çalışacağını belirten bir şablondur; hangi Docker imajlarının kullanılacağı, port eşlemeleri, ortam değişkenleri, depolama birimleri ve CPU/bellek limitleri gibi ayarları içerir. Services ise, belirli bir Task Definition’dan kaç tane örneğin (instance) çalıştırılacağını ve bu örneklerin nasıl yönetileceğini tanımlar. ECS, EC2 (sanal sunucular) veya AWS Fargate (sunucusuz konteyner çalıştırma) ile kullanılabilir. Fargate, altyapı yönetimi yükünü ortadan kaldırarak geliştiricilerin sadece konteynerlerini düşünmelerini sağlar. Amazon Elastic Kubernetes Service (EKS), popüler açık kaynaklı konteyner orkestrasyon sistemi Kubernetes’i AWS üzerinde yönetilen bir hizmet olarak sunar. EKS, Kubernetes’in karmaşıklığını soyutlayarak küme yönetimi, ölçeklendirme ve güncellemeler gibi görevleri basitleştirir. EKS ile çalışırken, Kubernetes’in temel kavramları olan Pods, Deployments, Services, Namespaces ve Ingress gibi konulara hakim olmanız beklenir. ECS ve EKS arasındaki temel farkları, hangi senaryoda hangisinin daha uygun olacağını bilmek de önemlidir. Örneğin, mevcut Kubernetes bilginiz varsa veya açık kaynak ekosistemine daha fazla entegre olmak istiyorsanız EKS harika bir seçenektir. Ancak, AWS ekosistemine daha sıkı entegre olmak ve daha basit bir yönetim deneyimi arıyorsanız ECS (özellikle Fargate ile) daha cazip olabilir. Konteyner imajlarının nasıl oluşturulacağı ve Amazon Elastic Container Registry (ECR) gibi hizmetlerde nasıl saklanacağı da sınavın bir parçasıdır. Dockerfile yazma becerisi ve imajların optimize edilmesi, hem maliyet hem de performans açısından önemlidir. Bu hizmetler, mikroservis mimarileri oluşturmak ve uygulamaları daha modüler hale getirmek için güçlü bir temel sunar. Örneğin, bir e-ticaret uygulamasında ürün kataloğu, sipariş yönetimi ve kullanıcı profili gibi farklı servisleri ayrı ayrı konteynerlere paketleyip ECS veya EKS üzerinde dağıtabilirsiniz. Bu, her servisin bağımsız olarak geliştirilip ölçeklendirilmesine olanak tanır.
Güvenlik ve Kimlik Yönetimi: AWS’de Güvenli Uygulamalar Geliştirme
Bulut güvenliği, geliştiricilerin en çok dikkat etmesi gereken konulardan biridir. AWS, geniş bir güvenlik hizmetleri yelpazesi sunarken, bu hizmetlerin doğru şekilde kullanılması büyük önem taşır. DVA-C03 sınavı, AWS’de güvenli uygulamalar geliştirme konusuna özel bir vurgu yapmaktadır. AWS Identity and Access Management (IAM), buluttaki her şeyin temel güvenlik katmanıdır. IAM kullanıcıları, grupları, roller ve politikalar aracılığıyla kimlik ve erişim yönetimi yapılır. En az ayrıcalık prensibi (principle of least privilege), yani bir kullanıcının veya servisin sadece işini yapmak için ihtiyaç duyduğu minimum izinlere sahip olması gerektiği ilkesi, sınavda sıkça karşımıza çıkacak bir konudur. IAM politikalarının nasıl yazılacağı, kaynak bazlı politikalar (resource-based policies), izin sınırları (permission boundaries) ve koşullu erişim (conditional access) gibi detaylar, güvenli uygulamalar tasarlarken kritik öneme sahiptir. Örneğin, bir Lambda fonksiyonunun sadece belirli bir S3 bucket’ından dosya okuma iznine sahip olması, ancak başka bir bucket’a yazma izninin olmaması, en az ayrıcalık prensibinin bir uygulamasıdır. AWS Cognito, kullanıcıların mobil ve web uygulamalarına güvenli bir şekilde kaydolmalarını, giriş yapmalarını ve kimliklerini yönetmelerini sağlayan bir hizmettir. Kullanıcı havuzları (user pools) ve kimlik havuzları (identity pools) arasındaki farkları, sosyal kimlik sağlayıcılarla (Google, Facebook vb.) entegrasyonu ve JWT (JSON Web Token) tabanlı kimlik doğrulama mekanizmalarını anlamak önemlidir. Veri şifreleme, hem aktarım halindeki (in transit) hem de beklemedeki (at rest) verilerin korunması için hayati önem taşır. AWS Key Management Service (KMS), şifreleme anahtarlarını oluşturmak, yönetmek ve kullanmak için güvenli bir hizmettir. Hangi hizmetlerin (örneğin, S3, EBS, RDS) KMS ile entegre olabildiğini ve anahtar politikalarının nasıl yapılandırılacağını bilmek, veri güvenliği açısından önemlidir. AWS Secrets Manager ise, veritabanı kimlik bilgileri, API anahtarları ve diğer hassas sırları güvenli bir şekilde depolamak ve almak için kullanılır. Bu hizmetler, hassas bilgilerin kod içine gömülmesini önleyerek güvenlik açıklarını azaltmaya yardımcı olur. Güvenlik, sadece kod yazmakla bitmez; aynı zamanda altyapının güvenliğiyle de ilgilidir. AWS Web Application Firewall (WAF), web uygulamalarını yaygın web saldırılarına karşı korur. SQL injection, cross-site scripting (XSS) gibi yaygın saldırı vektörlerine karşı koruma kurallarının nasıl yapılandırılacağını bilmek, sınavda karşılaşabileceğiniz bir soru tipi olabilir. Bu güvenlik önlemleri, geliştiricilerin sadece işlevsel değil, aynı zamanda güvenli ve dayanıklı uygulamalar inşa etmelerini sağlar.
CI/CD ve Otomasyon: Uygulama Yaşam Döngüsünü Hızlandırma
Modern yazılım geliştirmenin vazgeçilmez bir parçası olan Sürekli Entegrasyon ve Sürekli Dağıtım (CI/CD), uygulamaların daha hızlı, daha güvenilir ve daha sık bir şekilde yayınlanmasını sağlar. AWS, bu süreci otomatikleştirmek için kapsamlı bir hizmet seti sunmaktadır. DVA-C03 sınavı, bu otomasyon araçlarının etkin kullanımını da değerlendirmektedir. AWS CodeCommit, Git tabanlı bir kaynak kontrol hizmetidir. Kodunuzu güvenli bir şekilde depolamak ve takımınızla işbirliği yapmak için kullanılır. Temel Git komutlarına hakim olmanın yanı sıra, CodeCommit’in AWS ekosistemiyle nasıl entegre olduğunu bilmek önemlidir. AWS CodeBuild, kaynak kodunuzu derlemek, testleri çalıştırmak ve dağıtıma hazır paketler (artifact) oluşturmak için tam olarak yönetilen bir sürekli entegrasyon hizmetidir. Buildspec.yml dosyası aracılığıyla derleme sürecini nasıl yapılandıracağınızı anlamanız gerekir. Bu dosya, hangi komutların çalıştırılacağını, hangi ortam değişkenlerinin kullanılacağını ve hangi çıktıların saklanacağını tanımlar. AWS CodeDeploy, Amazon EC2 örnekleri, AWS Lambda, Amazon ECS ve şirket içi sunucular dahil olmak üzere çeşitli bilgi işlem hizmetlerine kod dağıtımını otomatikleştirir. Dağıtım stratejileri (örneğin, blue/green deployment, canary deployment) ve rollback (geri alma) mekanizmaları hakkında bilgi sahibi olmak önemlidir. AWS CodePipeline, CI/CD sürecinin tamamını otomatikleştiren bir sürekli teslim hizmetidir. Kaynak kontrolünden (CodeCommit), derlemeden (CodeBuild), testlerden ve dağıtımdan (CodeDeploy) oluşan bir iş akışını (pipeline) görsel olarak tasarlamanıza ve yönetmenize olanak tanır. Kod değişiklikleri yapıldığında, CodePipeline otomatik olarak süreci tetikler ve uygulamanızın güncellenmiş sürümünü canlıya alır. Bu hizmetlerin bir arada nasıl kullanılacağına dair bir örnek senaryo düşünelim: Bir geliştirici, bir özelliği tamamlar ve kodunu CodeCommit’e gönderir. Bu olay, CodePipeline’ı tetikler. Pipeline, CodeBuild’i kullanarak kodu derler, birim testlerini çalıştırır ve bir Docker imajı oluşturur. Başarılı olursa, CodeDeploy bu imajı ECS’deki servise dağıtır. Eğer dağıtım sırasında bir sorun tespit edilirse, CodeDeploy otomatik olarak önceki stabil sürüme geri döner. Bu otomasyon, geliştirme ekiplerinin daha hızlı iterasyon yapmasına, hataları daha erken yakalamasına ve daha yüksek kaliteli yazılımlar sunmasına olanak tanır. Bu CI/CD araçlarının yanı sıra, altyapıyı kod olarak (Infrastructure as Code – IaC) yönetmek için AWS CloudFormation veya Terraform gibi araçları kullanma becerisi de genel olarak geliştirici yetkinliğinin bir parçasıdır ve sınavda dolaylı olarak karşımıza çıkabilir.
DVA-C03 Sınavına Hazırlık İçin Stratejiler
Yeni AWS Developer Associate (DVA-C03) sınavına hazırlanmak, kapsamlı bir yaklaşım gerektirir. Bu bölümde, başarılı bir hazırlık süreci için izleyebileceğiniz adımları ve dikkat etmeniz gereken noktaları ele alacağız. Öncelikle, AWS’nin resmi sınav rehberini (exam guide) dikkatlice incelemeniz şart. Bu rehber, sınavın kapsadığı konuları, öğrenme hedeflerini ve her bir konunun ağırlığını detaylı bir şekilde açıklar. Bu, hazırlık sürecinizi hangi alanlara odaklamanız gerektiği konusunda size net bir yol haritası sunacaktır. Ardından, AWS’nin kendi eğitim materyallerinden ve belgelerinden faydalanmak çok önemlidir. AWS Skill Builder platformu, ücretsiz kurslar ve laboratuvarlar sunar. Ayrıca, her bir AWS hizmetinin resmi dokümantasyonu, en güncel ve doğru bilgiyi içerir. Bu belgeleri okumak, hizmetlerin nasıl çalıştığını, hangi senaryolarda kullanıldığını ve en iyi uygulamaları anlamanıza yardımcı olacaktır. Pratik deneyim kazanmak, sınavda başarılı olmanın anahtarlarından biridir. AWS ücretsiz katmanını (AWS Free Tier) kullanarak farklı hizmetleri deneyin. Basit uygulamalar geliştirin, sunucusuz fonksiyonlar yazın, API’ler oluşturun, veritabanları kurun ve CI/CD pipeline’ları oluşturmaya çalışın. Gerçek dünya senaryolarını simüle eden projeler üzerinde çalışmak, teorik bilginizi pratiğe dökmenizi sağlar. Örneğin, bir blog uygulaması için API Gateway, Lambda ve DynamoDB kullanarak sunucusuz bir backend oluşturabilirsiniz. Ardından, bu uygulamayı CodePipeline ile otomatikleştirilmiş bir CI/CD süreciyle dağıtabilirsiniz. Sınav formatına aşina olmak için deneme sınavları (practice exams) çözmek büyük önem taşır. Bu deneme sınavları, hem bilgi düzeyinizi ölçmenize hem de sınavın soru tipleri ve zaman yönetimi konusunda pratik yapmanıza yardımcı olur. Güvenilir kaynaklardan alınan deneme sınavları, gerçek sınav deneyimine en yakın sonuçları verecektir. Sınavda karşılaşabileceğiniz zorlu konuları belirlemek ve bu alanlara daha fazla zaman ayırmak, hazırlık sürecinizi daha verimli hale getirecektir. Gruplar halinde çalışmak veya çalışma topluluklarına katılmak da faydalı olabilir. Diğer adaylarla bilgi ve deneyim paylaşımı, farklı bakış açıları kazanmanıza ve karmaşık konuları daha iyi anlamanıza yardımcı olabilir. Unutmayın, DVA-C03 sınavı sadece bilgi ezberlemekle ilgili değil, aynı zamanda AWS hizmetlerini kullanarak pratik problemler çözme yeteneğinizi ölçmeyi hedefler. Bu nedenle, teorik bilgiyi pratik uygulamalarla birleştiren bir hazırlık süreci izlemek, başarı şansınızı önemli ölçüde artıracaktır. Özellikle, sınavdaki “senaryo tabanlı” sorulara odaklanmak önemlidir. Bu tür sorularda, belirli bir problem durumu verilir ve bu durumu çözmek için en uygun AWS hizmetleri ve mimari kararlar sorulur. Bu nedenle, sadece hizmetleri bilmek değil, aynı zamanda onları hangi durumlarda, neden ve nasıl kullanacağınızı da anlamanız gerekir. Örneğin, “Bir uygulamanın performansını artırmak ve maliyetleri düşürmek için hangi sunucusuz hizmetleri kullanmalısınız?” gibi bir soru, sadece Lambda’yı bilmekle değil, aynı zamanda API Gateway ve DynamoDB ile nasıl entegre olacağını ve maliyet optimizasyonu için hangi stratejilerin izleneceğini de bilmeyi gerektirir.
Vaka Analizi: Gerçek Dünya Senaryoları ile DVA-C03 Bilgilerini Pekiştirme
Teorik bilgiyi pekiştirmenin en etkili yollarından biri, gerçek dünya senaryolarını incelemek ve bu senaryolarda hangi AWS hizmetlerinin ve mimari yaklaşımlarının kullanıldığını anlamaktır. DVA-C03 sınavı, bu tür uygulamalı bilgiyi ölçmeyi hedefler. İşte size iki farklı vaka analizi:
Vaka Analizi 1: Sunucusuz Bir Mobil Uygulama Backend’i Oluşturma
Senaryo: Bir yazılım şirketi, yeni bir mobil uygulama geliştirmektedir. Bu uygulamanın kullanıcıların profil bilgilerini saklaması, gönderilen içerikleri depolaması ve kullanıcılar arasında mesajlaşma özelliğini desteklemesi gerekmektedir. Uygulamanın dünya çapında milyonlarca kullanıcıya ulaşması beklendiğinden, yüksek ölçeklenebilirlik ve düşük gecikme süresi kritik öneme sahiptir. Ayrıca, geliştirme ekibinin altyapı yönetimiyle daha az uğraşarak uygulama geliştirmeye odaklanması istenmektedir.
Çözüm Yaklaşımı:
- API Gateway: Mobil uygulamadan gelen tüm HTTP isteklerini almak ve yönlendirmek için kullanılır. RESTful API endpoint’leri tanımlanır.
- AWS Lambda: Farklı görevler için sunucusuz fonksiyonlar oluşturulur. Örneğin:
- Kullanıcı profili oluşturma ve güncelleme
- Gönderilen içerikleri yükleme ve alma
- Mesaj gönderme ve alma
- Kullanıcı kimlik doğrulama ve yetkilendirme
- Amazon Cognito: Mobil uygulama kullanıcılarının kimliklerini yönetmek, kaydolmalarını ve giriş yapmalarını sağlamak için kullanılır. Sosyal giriş (Google, Facebook) desteği de sağlanabilir.
- Amazon DynamoDB: Kullanıcı profilleri, gönderilen içerik meta verileri ve mesajlaşma verileri gibi yapılandırılmamış veya yarı yapılandırılmış verileri depolamak için kullanılır. Yüksek ölçeklenebilirlik ve düşük gecikme süresi gerektiren bu tür veriler için idealdir.
- Amazon S3: Mobil uygulamanın yüklediği resimler, videolar ve diğer medya dosyaları gibi büyük ikili nesneleri (binary objects) depolamak için kullanılır.
- AWS IAM: Lambda fonksiyonlarının DynamoDB, S3 ve Cognito gibi diğer AWS hizmetlerine erişimini kontrol etmek için kullanılır. Her fonksiyona sadece gerekli olan minimum izinler verilir (en az ayrıcalık prensibi).
Bu Senaryoda Öne Çıkan DVA-C03 Konuları: Sunucusuz mimariler, API Gateway, Lambda fonksiyon yönetimi, Cognito ile kimlik yönetimi, DynamoDB veri modelleme ve kapasite yönetimi, S3 ile nesne depolama, IAM politikaları.
Vaka Analizi 2: Mikroservis Tabanlı Bir E-ticaret Uygulamasının Dağıtımı ve Yönetimi
Senaryo: Bir e-ticaret şirketi, mevcut monolitik uygulamasını daha modüler, ölçeklenebilir ve bakımı kolay bir mikroservis mimarisine dönüştürmek istemektedir. Uygulama, ürün kataloğu, sipariş yönetimi, kullanıcı sepeti ve ödeme işlemleri gibi farklı servislerden oluşacaktır. Her servisin bağımsız olarak geliştirilip dağıtılabilmesi ve yoğun trafik dönemlerinde belirli servislerin ölçeklendirilebilmesi hedeflenmektedir.
Çözüm Yaklaşımı:
- Amazon ECS veya EKS: Mikroservisleri konteynerler içinde çalıştırmak ve orkestre etmek için kullanılır.
- ECS: Eğer daha basit bir AWS entegrasyonu ve yönetim kolaylığı isteniyorsa Fargate ile birlikte kullanılabilir.
- EKS: Mevcut Kubernetes uzmanlığı varsa veya daha fazla esneklik ve açık kaynak ekosistemine entegrasyon isteniyorsa tercih edilebilir.
- Amazon ECR: Her mikroservisin Docker imajlarının depolandığı merkezi bir kayıt defteri olarak kullanılır.
- AWS CodePipeline, CodeBuild, CodeCommit: Her mikroservis için ayrı CI/CD pipeline’ları oluşturularak kod değişikliklerinin otomatik olarak derlenmesi, test edilmesi ve konteyner imajlarının ECR’ye gönderilmesi sağlanır.
- AWS CodeDeploy: Güncellenmiş mikroservis konteynerlerinin ECS veya EKS üzerinde güvenli bir şekilde dağıtılmasını sağlar. Blue/green veya canary dağıtım stratejileri kullanılabilir.
- Amazon RDS veya DynamoDB: Servislerin ihtiyaçlarına göre veritabanı çözümleri seçilir. Örneğin, ilişkisel veriler için RDS (PostgreSQL, MySQL) ve hızlı erişim gerektiren yarı yapılandırılmış veriler için DynamoDB kullanılabilir.
- AWS IAM: Her mikroservis konteynerinin diğer AWS hizmetlerine erişimini güvenli bir şekilde yönetmek için kullanılır.
- Amazon CloudWatch: Mikroservislerin performansını izlemek, logları toplamak ve hataları tespit etmek için kullanılır.
Bu Senaryoda Öne Çıkan DVA-C03 Konuları: Konteynerizasyon (Docker), ECS ve EKS orkestrasyonu, ECR ile imaj yönetimi, CI/CD otomasyonu (CodeCommit, CodeBuild, CodeDeploy, CodePipeline), dağıtım stratejileri, veritabanı seçimi (RDS, DynamoDB), izleme ve loglama (CloudWatch).
Sıkça Sorulan Sorular (SSS)
- S: DVA-C03 sınavı ne kadar süreyle geçerlidir?
C: AWS Developer Associate sertifikası, alındığı tarihten itibaren üç yıl süreyle geçerlidir. - S: Sınava hazırlanırken en çok hangi AWS hizmetlerine odaklanmalıyım?
C: Lambda, API Gateway, DynamoDB, S3, IAM, Cognito, ECS/EKS, CodeCommit, CodeBuild, CodeDeploy ve CodePipeline gibi hizmetler DVA-C03 sınavında öne çıkan konulardır. - S: Sınavda kod yazmam istenecek mi?
C: Sınavda doğrudan kod yazmanız istenmez. Ancak, belirli bir senaryo için hangi AWS hizmetlerinin kullanılacağını veya hangi mimari kararların alınacağını seçmeniz gerekecektir. Bu, kodun nasıl çalıştığına dair temel bir anlayış gerektirir. - S: Sınavı geçmek için kaç doğru cevap gerekir?
C: AWS sınavlarının belirli bir geçme puanı yoktur. Sınav, belirli bir yetkinlik seviyesini karşılayıp karşılamadığınızı ölçer. Geçme kriterleri AWS tarafından belirlenir ve zaman zaman güncellenebilir. - S: DVA-C03 sınavı için önerilen bir eğitim süresi var mı?
C: Bu, sizin mevcut bilginize ve öğrenme hızınıza bağlıdır. Ancak, genellikle kapsamlı bir hazırlık için birkaç hafta ile birkaç ay arasında bir çalışma süresi önerilir. Pratik deneyim kazanmak da bu sürenin bir parçası olmalıdır.
#AWS #CloudComputing #DeveloperAssociate #DVA-C03 #BulutGeliştirme
