FAQ AWS Cloud Development Kit

Umum

AWS Cloud Development Kit (AWS CDK) adalah kerangka kerja pengembangan perangkat lunak sumber terbuka untuk menentukan infrastruktur cloud sebagai kode dengan bahasa pemrograman modern dan menerapkannya melalui AWS CloudFormation.

Anda dapat menggunakan Command Line Interface (CLI) AWS CDK untuk berinteraksi dengan aplikasi CDK Anda. CLI CDK mengizinkan Anda membuat daftar tumpukan yang ditentukan di dalam aplikasi CDK, menyintesis tumpukan ke dalam templat CloudFormation, menentukan perbedaan antara menjalankan instans tumpukan dan tumpukan yang ditentukan di dalam kode CDK Anda, serta men-deploy tumpukan ke setiap Wilayah AWS publik.

Gunakan kerangka kerja AWS CDK untuk menulis proyek AWS CDK yang dieksekusi untuk membuat templat CloudFormation. Proyek AWS CDK dapat dieksekusi menggunakan baris perintah AWS CDK atau dalam sistem pengiriman berkelanjutan.

Cara terbaik untuk memulai dengan AWS CDK adalah dengan bekerja melalui bagian Memulai pada Panduan Developer AWS CDK. Dalam hitungan menit, Anda dapat menentukan dan men-deploy aplikasi AWS CDK pertama Anda. Untuk tutorial dengan panduan yang lebih mendalam, lihat https://CDKworkshop.com.

Ya, Anda dapat menemukan banyak contoh AWS CDK, dalam beberapa bahasa pemrograman, di https://github.com/aws-samples/aws-cdk-examples. Panduan Developer AWS juga mencakup contoh di https://docs.aws.amazon.com/cdk/latest/guide/examples.html.

AWS membangun logika bisnis dari paket AWS Construct Library dalam TypeScript, dan menyediakan pemetaan dalam masing-masing bahasa pemrograman yang didukung. Ini memastikan bahwa perilaku construct AWS CDK konsisten dari bahasa ke bahasa, yang memungkinkan ketersediaan serangkaian paket construct yang komprehensif dalam semua bahasa. Kode yang Anda tulis di dalam semua proyek AWS CDK adalah native dalam bahasa pemrograman yang Anda inginkan, dan waktu aktif JavaScript adalah detail implementasi untuk pengalaman pemrograman Anda. Anda dapat merujuk proyek jsii di https://github.com/aws/jsii.

Kode AWS CDK adalah sumber terbuka dan tersedia melalui GitHub di https://github.com/awslabs/aws-cdk.

Untuk memigrasikan aplikasi Anda ke AWS CDK v2, perbarui bendera fitur di cdk.json terlebih dahulu. Kemudian, perbarui dependensi aplikasi dan impor seperlunya untuk bahasa pemrogramannya. Anda dapat mempelajari selengkapnya di: https://docs.aws.amazon.com/cdk/latest/guide/work-with-cdk-v2.html

Kami mengembangkan AWS CDK secara terbuka dan menyambut siapa pun yang ingin berkontribusi untuk basis kode kami. Anda dapat mempelajari selengkapnya di https://github.com/awslabs/aws-cdk/blob/master/CONTRIBUTING.md.

AWS CDK secara umum tersedia di JavaScript, TypeScript, Python, Java, C#, dan Go (di Pratinjau Developer). Kami berencana melakukan binding AWS CDK untuk bahasa lain di masa mendatang, jadi pilih favorit Anda di GitHub.

AWS CDK tersedia untuk menentukan dan menyebarkan sumber AWS di semua wilayah publik. Karena AWS CDK memanfaatkan layanan CloudFormation, lihat Produk dan Layanan Regional untuk mendapatkan detail tentang sumber daya spesifik yang tersedia per Wilayah AWS.

Karena AWS CDK memanfaatkan CloudFormation, aplikasi AWS CDK tunduk pada batasan yang sama yang ditetapkan oleh layanan CloudFormation.

AWS Solutions Constructs adalah ekstensi pustaka sumber terbuka dari AWS CDK. AWS Solutions Constructs menyediakan kumpulan pola arsitektur multilayanan yang telah diperiksa dan dibangun menggunakan praktik terbaik, yang disusun oleh AWS Well-Architected Framework. AWS Solutions Constructs membutuhkan instalasi AWS CDK sebagai prasyarat. Untuk instruksi tentang cara menambahkan AWS Solutions Constructs ke lingkungan AWS CDK Anda, silakan lihat panduan pengembangan kami.

AWS Construct Library

Construct AWS CDK dikirimkan melalui AWS Construct Library, dan menunjukkan abstraksi logika infrastruktur cloud yang dikemas untuk digunakan kembali. Construct dapat ditentukan secara lokal atau diterbitkan ke manajer paket seperti npm, Maven, NuGet, atau PyPI untuk berbagi dengan seluruh organisasi.

Kami memiliki cakupan untuk banyak layanan dan fitur AWS dengan konstruksi tingkat tinggi yang kaya, dan melengkapi jangkauan sumber daya CloudFormation tingkat yang lebih rendah termasuk sumber daya baru segera setelah tersedia. Kami selalu memperbarui AWS Construct Library dengan pembuatan otomatis API tingkat sumber daya setiap kali spesifikasi CloudFormation berubah. Selain API yang dibuat otomatis ini, kami menyediakan abstraksi buatan tangan tingkat tinggi yang lebih mudah digunakan untuk setiap layanan. Kami belum memiliki abstraksi tingkat tinggi yang nyaman ini untuk setiap layanan AWS, tetapi sedang menambahkan fitur baru setiap saat dengan fokus pada layanan yang paling banyak digunakan dalam aplikasi cloud modern. Kunjungi referensi API AWS Construct Library untuk mempelajari selengkapnya.

Kami selalu menjaga sinkronisasi AWS Construct Library dengan spesifikasi sumber daya CloudFormation dengan menambahkan fitur CloudFormation baru ke AWS CDK segera setelah diterbitkan.

Pustaka konstruksi AWS CDK sama seperti pustaka lainnya. Pustakan ini digunakan melalui manajer paket dari bahasa pemrograman yang Anda gunakan, selalu memperbarui pustaka tersebut adalah bagian dari alur kerja normal Anda. Semua paket mendukung versi semantik, memungkinkan Anda membuat pilihan sadar kapan harus bermigrasi ke model infrastruktur baru.

CloudFormation dan SAM

Pikirkan AWS CDK sebagai alat bantu yang berpusat pada developer, yang memanfaatkan kekuatan penuh bahasa pemrograman modern untuk menentukan infrastruktur AWS Anda sebagai kode. Saat aplikasi AWS CDK sedang berjalan, aplikasi tersebut berkompilasi menjadi templat JSON/YAML CloudFormation yang terbentuk sepenuhnya, yang kemudian dikirimkan ke layanan CloudFormation sebagai penyediaan. Karena AWS CDK memanfaatkan CloudFormation, Anda masih menikmati semua manfaat yang diberikan CloudFormation sebagai penerapan yang aman, pemulihan otomatis, dan deteksi penyimpangan.

Model Aplikasi Tanpa Server AWS dan AWS CDK mengabstraksi infrastruktur AWS sebagai kode mempermudah Anda untuk menentukan infrastruktur cloud Anda. AWS SAM secara khusus fokus pada kasus penggunaan tanpa server dan arsitektur dan memungkinkan Anda menentukan infrastruktur dalam templat JSON/YAML yang ringkas dan deklaratif. AWS CDK menawarkan jangkauan luas di seluruh layanan AWS dan memungkinkan Anda menetapkan infrastruktur cloud dalam bahasa pemrogaman modern seperti TypeScript, Python, C#, dan Java. Baik AWS SAM dan AWS CDK memanfaatkan CloudFormation sebagai mesin penyediaan untuk tumpukan infrastruktur Anda. Jika Anda lebih memilih untuk menetapkan infrastruktur tanpa server Anda dalam templat yang deklaratif dan ringkas, SAM akan lebih sesuai. Jika Anda ingin menetapkan infrastruktur AWS dalam bahasa pemrograman yang familier, kami sarankan Anda mencoba AWS CDK. Dalam kedua kasus tersebut, Anda dapat mengandalkan penerapan infrastruktur yang aman dan berulang melalui CloudFormation.

Ya, Anda dapat mensintesis secara lokal aplikasi AWS CDK Anda dalam templat CloudFormation dan mereferensikan ID handler AWS Lambda yang telah dibuat di CLI SAM. Lihat bagian CLI SAM di Panduan Developer CDK untuk detail selengkapnya.

Biaya

AWS CDK didistribusikan berdasarkan Lisensi Apache, Versi 2.0. Lihat LISENSI dan PEMBERITAHUAN untuk informasi selengkapnya.

Tidak ada biaya tambahan untuk AWS CDK. Anda membayar sumber daya AWS (misalnya instans Amazon EC2 atau penyeimbang beban Elastic Load Balancing) yang dibuat menggunakan AWS CDK dengan cara yang sama seperti jika Anda membuatnya secara manual. Anda hanya membayar sesuai dengan apa yang Anda gunakan, jika Anda menggunakannya; tanpa biaya minimal dan tidak perlu komitmen di muka.