AWS Cloud Development Kit Hakkında SSS

Genel

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.

AWS CDK Komut Satırı Arabirimi'ni (CLI) 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ıza olanak sağlar.

AWS CDK çerçevesini, CloudFormation şablonları oluşturmak için yürütülen AWS CDK projelerini yazmak için kullanın. AWS CDK projeleri, AWS CDK komut satırı kullanılarak veya bir sürekli teslim sisteminde yürütülebilir.

AWS CDK'yi kullanmaya başlamanın en iyi yolu, AWS CDK Geliştirici Kılavuzu'nun Kullanmaya Başlama bölümünü ayrıntılı bir şekilde incelemektir. Dakikalar içinde ilk AWS CDK uygulamanızı tanımlayabilir ve dağıtabilirsiniz. Daha ayrıntılı bir rehberli öğretici için https://CDKworkshop.com adresine bakın.

Evet, birden fazla programlama dilinde birkaç AWS CDK örneğini https://github.com/aws-samples/aws-cdk-examples adresinde bulabilirsiniz. AWS Geliştirici Kılavuzu ayrıca https://docs.thinkwithwp.com/cdk/latest/guide/examples.html adresindeki örnekleri içerir.

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ının davranışının dilden dile tutarlı olmasını sağlar ve tüm dillerde kullanılabilen kapsamlı bir yapı paketi seti sunulmasına olanak tanır. AWS CDK projenizde yazdığınız kod tamamıyla tercih ettiğiniz programlama dilindedir ve JavaScript çalışma zamanı, programlama deneyiminizdeki bir uygulama ayrıntısıdır. İsterseniz jsii projesine https://github.com/aws/jsii adresinden bakabilirsiniz.

AWS CDK kodu, açık kaynaktır ve https://github.com/awslabs/aws-cdk adresinden GitHub aracılığıyla sunulmaktadır.

Uygulamanızı AWS CDK v2'ye geçirmek için ilk olarak cdk.json'daki özellik bayraklarını güncelleyin. Ardından, uygulamanızın bağımlılıklarını güncelleyin ve programlama dili için gereken şekilde içeri aktarın. Şu adresten daha fazla bilgi edinebilirsiniz: https://docs.thinkwithwp.com/cdk/latest/guide/work-with-cdk-v2.html

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.

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.

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ölgesi'ne göre kullanılabilirliği hakkında ayrıntılı bilgi için Bölgesel Ürünler ve Hizmetler bölümüne bakın.

AWS CDK'nin, CloudFormation'dan yararlanmasından dolayı, AWS CDK uygulamaları, CloudFormation hizmeti tarafından uygulanan sınırlara tabidir.

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 tasarlanan, dikkatle incelenmiş, çok hizmetli mimari düzen koleksiyonu sağlar. AWS Çözüm Yapıları, ön koşul olarak AWS CDK'nin yüklenmesini gerektirir. AWS Çözüm Yapıları'nı AWS CDK ortamınıza ekleme talimatları için lütfen geliştirme kılavuzumuzu inceleyin.

AWS Yapı Kitaplığı

AWS CDK yapıları, AWS Yapı Kitaplığı aracılığıyla gönderilir ve yeniden kullanım için paketlenmiş bulut altyapısı mantığının soyutlamalarını temsil eder. Yapılar yerel olarak tanımlanabilir veya kuruluşlar arasında paylaşmak için npm, Maven, NuGet ya da PyPI gibi paket yöneticilerinde yayınlanabilir.

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.

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.

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

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üşünün. AWS CDK uygulamaları çalıştırıldığında, tamamen oluşturulmuş 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.

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ı JSON/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.

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 Geliştirici Kılavuzu'ndaki SAM CLI bölümüne bakın.

Maliyet

AWS CDK, Apache License, Sürüm 2.0 kapsamında dağıtılır. Daha fazla bilgi için LİSANS ve BİLDİRİM bölümüne bakın.

AWS CDK için ek ücret uygulanmaz. AWS CDK kullanılarak oluşturulan AWS kaynakları (örneğin, Amazon EC2 bulut sunucuları veya Elastic Load Balancing yük dengeleyiciler) için, sanki bunları 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 ön ödeme taahhüt gereksinimi yoktur.