Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Infrastruktur sebagai Kode (IAc)
Dengan Infrastructure as Code (IAc), Anda dapat mengotomatiskan penyebaran dan pengelolaan AWS sumber daya Anda, termasuk aplikasi tanpa server. IAc memungkinkan Anda untuk menentukan infrastruktur Anda menggunakan kode, membuatnya lebih mudah untuk versi, berbagi, dan mereplikasi penerapan Anda. Pendekatan ini membantu Anda:
-
Mempercepat siklus pengembangan Anda
-
Sederhanakan manajemen konfigurasi
-
Meningkatkan keandalan dan konsistensi penerapan Anda
Alat IAC untuk aplikasi tanpa AWS server
AWS menawarkan beberapa alat IAC untuk membantu Anda membangun, menyebarkan, dan mengelola sumber daya cloud Anda. Bagian ini menjelaskan seberapa AWS SAM cocok dalam ekosistem ini dan bekerja dengan alat AWS IAc lainnya.
- AWS CloudFormation
-
Dengan menggunakan AWS CloudFormation
, Anda dapat memodelkan dan menyediakan seluruh AWS infrastruktur Anda dengan templat YAMAL atau JSON. AWS CloudFormation menangani pembuatan sumber daya, pembaruan, dan penghapusan secara otomatis. Saat Anda menerapkan AWS SAM aplikasi, AWS CloudFormation proses template yang diubah untuk membuat dan mengelola sumber daya Anda. - AWS Serverless Application Model (AWS SAM)
-
AWS SAM membantu Anda membangun aplikasi tanpa server dengan sintaks yang disederhanakan untuk mendefinisikan sumber daya tanpa server. Anda dapat menggunakan AWS SAM template untuk menyediakan fungsi Lambda, database APIs, dan sumber peristiwa menggunakan sintaks YAMAL ringkas. AWS SAM mengubah template ini menjadi AWS CloudFormation template selama penerapan.
catatan
Meskipun AWS SAM mengkhususkan diri dalam aplikasi tanpa server, Anda dapat menggunakan jenis AWS CloudFormation sumber daya apa pun di templat Anda. AWS SAM Ini memberi Anda fleksibilitas untuk memasukkan sumber daya non-server bila diperlukan.
- AWS Cloud Development Kit (AWS CDK)
-
Dengan AWS CDK
, Anda dapat menentukan infrastruktur tanpa server Anda menggunakan bahasa pemrograman yang sudah dikenal seperti, TypeScript Python, Java, C #/.Net, atau Go. Anda dapat menggunakan konstruksi pemrograman seperti loop dan kondisi untuk menentukan infrastruktur Anda, dan AWS CDK menghasilkan AWS CloudFormation template untuk penerapan. Anda dapat menggunakan aplikasi AWS SAMCLI untuk menguji dan men-debug secara lokal yang dibuat dengan. AWS CDK Untuk mempelajari lebih lanjut, lihat Menguji aplikasi CDK secara lokal.
Membandingkan alat IAC untuk Aplikasi Tanpa Server
Saat memilih alat IAC untuk aplikasi tanpa server Anda, pertimbangkan preferensi tim Anda, persyaratan proyek, dan alur kerja yang ada. Tabel berikut membandingkan karakteristik utama alat AWS IAc untuk pengembangan tanpa server:
Alat |
Penggunaan utama |
Terbaik untuk |
Bekerja dengan AWS SAM |
Kapan harus memilih |
---|---|---|---|---|
AWS CloudFormation |
Mengelola AWS infrastruktur yang kompleks |
Aplikasi yang membutuhkan kontrol AWS sumber daya secara terperinci |
AWS SAM template berubah menjadi AWS CloudFormation template selama penerapan |
Untuk kontrol halus atas sumber daya non-server |
AWS SAM |
Pengembangan aplikasi tanpa server |
Tim membangun aplikasi tanpa server menggunakan Lambda |
Fungsionalitas asli |
Saat berfokus terutama pada arsitektur tanpa server dengan fungsi Lambda, API Gateway, dan sumber daya tanpa server lainnya APIs |
AWS CDK |
Definisi infrastruktur menggunakan bahasa pemrograman |
Tim lebih memilih bahasa yang diketik dan pendekatan kode-pertama |
Hasilkan AWS SAM template dan gunakan AWS SAMCLI untuk pengujian |
Bila Anda membutuhkan definisi infrastruktur terprogram atau logika konfigurasi sumber daya yang kompleks |
catatan
Meskipun panduan ini berfokus pada alat IAc AWS-native, Terraform adalah solusi IAc populer lainnya yang dapat digunakan untuk mendefinisikan aplikasi tanpa server. AWS SAMCLIMendukung pengujian lokal fungsi Lambda yang didefinisikan dalam Terraform. Untuk informasi selengkapnya, lihat AWS SAMCLITerraformdukungan.
Pelajari selengkapnya
-
Untuk mempelajari lebih lanjut tentang DevOps praktik AWS, lihat Pengantar DevOps tentang AWS
-
Untuk informasi tentang penggunaan Lambda dengan berbagai alat IAc, lihat Menggunakan Lambda dengan infrastruktur sebagai kode (IAc)