Genel
S: AWS CDK nedir?
AWS Cloud Development Kit (AWS CDK), bulut altyapısını modern programlama dilleriyle kod olarak tanımlamaya ve AWS CloudFormation aracılığıyla dağıtmaya yönelik açık kaynak bir yazılım geliştirme çerçevesidir.
S: AWS CDK CLI ile neler yapabilirim?
AWS CDK CLI'yı kullanarak CDK uygulamalarınızla etkileşim kurabilirsiniz. CDK CLI; CDK uygulamanızda tanımlanmış yığınları listelemenize, yığınları CloudFormation şablonlarında sentezlemenize, çalışan yığın bulut sunucuları ile CDK kodunuzda tanımlanan yığınlar arasındaki farkları belirlemenize ve yığınları herhangi bir genel AWS Bölgesine dağıtmanızı sağlar.
S: AWS CDK nasıl çalışır?
AWS CDK çerçevesini, CloudFormation şablonları oluşturmak için yürütülen AWS CDK projelerini yazmak için kullanabilirsiniz. AWS CDK projeleri, AWS CDK komut satırı kullanılarak veya bir sürekli teslim sisteminde yürütülebilir.
S: AWS CDK'yi kullanmaya nasıl başlayabilirim?
AWS CDK'yi kullanmaya başlamanın en iyi yolu, AWS CDK Yazılım Geliştirme Kılavuzunun Kullanmaya Başlama bölümünü detaylı bir şekilde incelemektir. Birkaç dakika içinde ilk AWS CDK uygulamanızı tanımlayabilir ve dağıtabilirsiniz. Daha detaylı kılavuzlu bir öğretici için https://CDKworkshop.com adresine bakın.
S: Başlangıç noktası olarak kullanabileceğim örnek AWS CDK uygulamaları var mı?
Evet, birden fazla programlama dilinde bazı AWS CDK örneklerini https://github.com/aws-samples/aws-cdk-examples adresinde bulabilirsiniz. AWS Yazılım Geliştirme Kılavuzunda, https://docs.aws.amazon.com/cdk/latest/guide/examples.html adresinde de örnekler bulunur.
S: AWS CDK'yi kullanmak için neden JavaScript çalışma zamanına ihtiyacım var?
AWS, AWS Yapı Kitaplığı paketlerinin iş mantığını TypeScript'te oluşturur ve desteklenen programlama dillerinin her birine eşleme sağlar. Bu, AWS CDK yapıları davranışının diller arasında tutarlı olmasını sağlamamıza ve tüm dillerde kullanılabilen kapsamlı bir yapı paketi seti sunmamıza olanak tanır. AWS CDK projenizde yazdığınız kod tamamıyla tercih ettiğiniz programlama dilindedir ve JavaScript çalışma süresi, programlama deneyiminizdeki bir uygulama detayıdır. İsterseniz jsii projesine https://github.com/aws/jsii adresinden bakabilirsiniz.
S: AWS CDK kaynak kodunu nerede bulabilirim?
AWS CDK kodu, açık kaynaktır ve https://github.com/awslabs/aws-cdk adresindeki GitHub aracılığıyla sunulmaktadır.
S: Nasıl katkıda bulunabilirim?
AWS CDK'yi açık bir şekilde geliştiriyoruz ve kod tabanımıza katkıda bulunmak isteyen herkesi memnuniyetle karşılıyoruz. Daha fazla bilgi için https://github.com/awslabs/aws-cdk/blob/master/CONTRIBUTING.md adresini ziyaret edin.
S: AWS CDK hangi programlama dillerini destekliyor?
AWS CDK; JavaScript, TypeScript, Python, Java, C# ve Go (Geliştirici Önizlemesinde) ile kullanılabilir. Gelecekte diğer diller için AWS CDK bağlamaları sunmayı planlıyoruz, bu nedenle GitHub'da favorinize oy verin.
S: AWS CDK'yi hangi bölgelerde kullanabilirim?
AWS CDK, tüm genel bölgelerde AWS kaynaklarını tanımlamak ve dağıtmak için kullanılabilir. AWS CDK'nin, CloudFormation hizmetinden yararlanmasından dolayı, belirli kaynakların AWS bölgesine göre bulunabilirliği hakkında detaylı bilgi için Bölgesel Ürünler ve Hizmetler bölümüne bakın.
S: AWS CDK'ye uygulanan kaynak sınırları veya kısıtlamaları var mı?
AWS CDK'nin, CloudFormation'dan yararlanmasından dolayı, AWS CDK uygulamaları, CloudFormation hizmeti tarafından uygulanan sınırlara tabidir.
S: AWS CDK ile AWS Çözüm Yapıları arasındaki ilişki nedir?
AWS Çözüm Yapıları AWS CDK’nin bir açık kaynak kitaplık uzantısıdır. AWS Çözüm Yapıları, AWS Well-Architected Framework tarafından belirlenen en iyi uygulamaları kullanarak müşterilere dikkatle incelenmiş, çok hizmetli mimari modelleri sağlar. AWS Çözüm Yapıları için ön koşul olarak AWS CDK yüklemesi gerekir; AWS CDK ortamınıza AWS Çözüm Yapıları’nı ekleme yönergeleri için geliştirme kılavuzumuza bakın.
AWS Yapı Kitaplığı
S: AWS Yapı Kitaplığı nedir?
AWS CDK yapıları, AWS Yapı Kitaplığına gönderilir ve yeniden kullanım için paketlenmiş bulut altyapısı mantığının soyutlamalarını temsil ederken ayrıca zengin bir programlama arabirimi sunar. Yapılar yerel olarak tanımlanabilir veya kurumlar arasında paylaşmak için npm, Maven, NuGet ya da PyPI gibi paket yöneticilerinde yayımlanabilir.
S: AWS Yapı Kitaplığında hangi hizmetler sunulur?
Zengin, üst düzey yapılar ile çok sayıda yaygın AWS hizmetlerinin ve özelliklerinin yanı sıra alt düzey CloudFormation kaynaklarının tamamını sağlamaktayız. Ayrıca yeni kaynakları da sunulduktan kısa bir süre sonra sağlarız. CloudFormation belirtimi her değiştiğinde kaynak düzeyinde API'leri otomatik olarak oluşturarak AWS Yapı Kitaplığını güncel tutarız. Bu otomatik olarak oluşturulmuş API'erin yanı sıra, her hizmetle çalışmayı daha da kolay hale getiren elle yapılmış, yüksek düzeyli soyutlamalar da sağlarız. Henüz her AWS hizmeti için bu yüksek düzeyli, kullanışlı soyutlamaya sahip değiliz ancak modern bulut uygulamalarında en çok kullanılan hizmetlere odaklanarak her zaman yeni özellikler ekliyoruz. Daha fazla bilgi edinmek için AWS Yapı Kitaplığı API başvurusunu ziyaret edin.
S: AWS CDK'nin CloudFormation'a eklenen yeni özellikleri desteklemesi için ne kadar beklemem gerekecek?
Yeni CloudFormation özelliklerini yayımlanmalarından kısa bir süre sonra AWS CDK'ye ekleyerek AWS Yapı Kitaplığının CloudFormation kaynak belirtimiyle senkronize halde kalmasını sağlarız.
S: AWS CDK yapılarını nasıl yönetirim ve ekibimle paylaşırım?
AWS CDK yapı kitaplıkları tıpkı diğer kitaplıklar gibidir. Bu kitaplıklar, kullandığınız programlama dilinin paket yöneticisi aracılığıyla tüketilirler ve bunların güncel tutulması, günlük iş akışınızın bir parçasıdır. Tüm paketler semantik sürüm oluşturmayı destekler, böylece yeni altyapı modellerine ne zaman geçiş yapacağınız konusunda bilinçli bir şekilde seçim yaparsınız.
CloudFormation ve SAM
S: AWS CDK ile CloudFormation arasındaki ilişki nedir?
AWS CDK'yi, AWS altyapınızı kod olarak tanımlamak için modern programlama dillerinin tüm gücünden faydalanan, yazılım geliştirici odaklı araç seti olarak düşünebilirsiniz. AWS CDK uygulamaları çalıştırıldığında, nihai durumdaki CloudFormation JSON/YAML şablonlarına kadar derlenir ve daha sonra bunlar tedarik için CloudFormation hizmetine gönderilir. AWS CDK'nin CloudFormation'ı kullanmasından dolayı; CloudFormation'ın sunduğu güvenli dağıtım, otomatik geri alma ve kayma algılaması gibi tüm avantajlarından faydalanmaya devam edersiniz.
S: AWS CDK ile AWS SAM arasındaki ilişki nedir?
AWS Serverless Application Model ve AWS CDK, AWS altyapısını kod olarak soyutlaştırarak bulut altyapınızı tanımlamanızı daha kolay hale getirir. AWS SAM özellikle sunucusuz kullanım örneklerine ve altyapılara odaklanır ve altyapınızı kompakt, bildirim tabanlı JASON/YAML şablonlarında tanımlamanıza olanak tanır. AWS CDK, tüm AWS hizmetlerine yönelik geniş bir kapsam sunar ve bulut altyapısını TypeScript, Python, C# ve Java gibi modern programlama dillerinde tanımlamanıza olanak verir. Hem AWS SAM hem de AWS CDK, altyapı yığınlarınızın tedarik motoru olarak CloudFormation'dan yararlanır.
Sunucusuz altyapınızı sade, bildirim tabanlı şablonlarda tanımlamayı tercih ederseniz SAM daha uygun olacaktır. AWS altyapınızı bilinen bir programlama dilinde tanımlamak isterseniz AWS CDK'yi kullanmanızı öneririz. Her koşulda, CloudFormation aracılığıyla yinelenebilir ve güvenli bir altyapı dağıtımı sağlanacağından emin olabilirsiniz.
S: AWS SAM CLI'yı, AWS CDK ile tanımlanmış Lambda işlevlerini yerel olarak test etmek için kullanabilir miyim?
Evet, AWS CDK uygulamalarınızı bir CloudFormation şablonuna yerel olarak sentezleyebilir ve ardından, SAM CLI'da oluşturulan AWS Lambda işleyici kimliğine bakabilirsiniz. Daha ayrıntılı bilgi için CDK Yazılım Geliştirme Kılavuzundaki SAM CLI bölümüne bakın.
Maliyet
S: AWS CDK'nin maliyeti nedir?
AWS CDK için ek ücret uygulanmaz. AWS CDK kullanılarak oluşturulan AWS kaynakları (örneğin, Amazon EC2 bulut sunucuları, Elastic Load Balancing yük dengeleyicileri vb.) için, sanki manuel olarak siz oluşturmuşsunuz gibi ödeme yaparsınız. Yalnızca kullandığınız özellikler için, kullandıkça ödeme yaparsınız; minimum ücret ve peşin ödeme taahhüt gereksinimleri yoktur.