Mengambil langkah pertama
Pengantar
Kontainer adalah komponen kunci pada pengembangan aplikasi modern. Kontainer telah menjadi cara standar untuk mengatur sumber daya komputasi dan mengelola konten deployment aplikasi Anda.
Kontainer menyediakan lingkungan komputasi diskret yang dapat direproduksi. Kontainer juga menyediakan cara untuk menyederhanakan pengemasan dan manajemen dependensi. Dari orkestrasi kawasan multiklaster yang sangat besar hingga aplikasi web, atau bahkan menguji pekerjaan Anda dan melakukan bukti konsep di laptop Anda, kontainer adalah cara yang bagus untuk memulai dan membangun perangkat lunak untuk di-deploy di cloud.
Panduan keputusan ini membantu Anda memulai dan memilih layanan kontainer AWS yang tepat untuk pengembangan aplikasi modern Anda.
Kutipan empat menit ini berasal dari rekaman presentasi berdurasi 57 menit oleh Vikram Venkataraman, principal technical account manager di AWS, yang diberikan di AWS Summit DC 2022. Kutipan ini memberikan gambaran umum tentang layanan kontainer AWS yang tersedia.
Waktu pembacaan
20 menit
Tujuan
Membantu menentukan layanan kontainer AWS mana yang paling cocok untuk organisasi Anda.
Tingkat
Pemula
Terakhir diperbarui
26 April 2023
Layanan yang dicakup
Panduan keputusan lainnya tentang
Pahami
Kontainer telah menjadi standar de facto untuk mengemas kode aplikasi, konfigurasi, dan dependensi ke dalam satu artefak, karena kontainer dapat di-deploy secara konsisten ke banyak lingkungan.
Kontainer adalah bagian penting pada setiap strategi pengembangan aplikasi modern. Untuk memberikan beberapa konteks untuk layanan AWS terkait kontainer, gambar di sebelah kanan menunjukkan opsi kontainer AWS yang tersedia berdasarkan lapisan (dijelaskan lebih lengkap dalam video ini).
Kapasitas
Kapasitas merujuk pada komputasi dasar tempat Anda akan men-deploy kontainer Anda, unit pemrosesan pusat (CPU) Anda, dan kebutuhan memori. Kapasitas adalah infrastruktur tempat kontainer akan dijalankan. Ada dua pilihan kapasitas untuk kontainer Anda di AWS:
- Amazon Elastic Compute Cloud (AmazonEC2) memungkinkan Anda menjalankan kontainer pada mesin virtual yang Anda kelola.
- AWS Fargate adalah mesin komputasi nirserver untuk kontainer yang memungkinkan Anda untuk menjalankan kontainer tanpa mengelola infrastruktur dasarnya. Dengan Fargate, Anda dapat meluncurkan dan menskalakan kontainer tanpa perlu khawatir dengan instans EC2 yang mendasarinya.
Orkestrasi
Organisasi yang menjalankan tidak hanya satu atau beberapa kontainer, tetapi ribuan kontainer, bukan hal yang aneh. Pengelolaan lingkungan yang begitu kompleks menjadi suatu tantangan. Layanan orkestrasi membantu memfasilitasi deployment dan pengelolaan aplikasi ini. AWS menawarkan tiga layanan orkestrasi:
- Amazon Elastic Container Service (Amazon ECS) adalah layanan orkestrasi kontainer terkelola penuh dan sangat cocok untuk organisasi yang menginginkan cara sederhana serta hemat biaya untuk men-deploy dan mengelola aplikasi dalam kontainer.
- Amazon Elastic Kubernetes Service (Amazon EKS) adalah layanan Kubernetes terkelola penuh yang memungkinkan Anda untuk menjalankan dan mengelola klaster Kubernetes di AWS.
- Layanan Red Hat OpenShift di AWS (ROSA) adalah layanan OpenShift terkelola penuh yang memungkinkan Anda menjalankan dan mengelola klaster OpenShift di AWS. Layanan ini adalah pilihan yang baik untuk pelanggan yang sudah menjalankan OpenShift secara on-premise.
Penyediaan
Penyediaan menyediakan antarmuka ke lapisan orkestrasi layanan. Setiap orkestrator hadir dengan kompleksitasnya masing-masing. Layanan penyediaan menyembunyikan kompleksitas ini dan membantu mempermudah Anda dalam menggunakan layanan. Dalam kategori ini, layanan AWS mencakup:
- AWS App Runner adalah layanan terkelola penuh yang secara otomatis membangun citra kontainer dari kode sumber Anda, men-deploy kontainer ke infrastruktur terkelola penuh, dan menskalakannya berdasarkan permintaan.
- AWS Elastic Beanstalk adalah layanan terkelola penuh yang memudahkan deployment, pengelolaan, dan penskalaan aplikasi web. Elastic Beanstalk juga mendukung kontainer dan menyediakan platform terkelola penuh untuk men-deploy dan menskalakan aplikasi dalam kontainer.
- Amazon Lightsail adalah cara sederhana dan hemat biaya untuk meluncurkan serta mengelola server pribadi virtual, tetapi juga menawarkan dukungan untuk kontainer, sehingga Anda dapat membuat dan men-deploy aplikasi kontainer menggunakan instans Lightsail.
Pertimbangkan
Anda perlu memilih layanan kontainer yang sesuai dengan kebutuhan aplikasi dan preferensi operasional Anda. Bagian berikut menguraikan beberapa kriteria utama yang perlu dipertimbangkan ketika memilih layanan kontainer, serta alat dan layanan pendukung.
-
Overhead layanan & operasi terkelola
-
Karakteristik Beban Kerja
-
Portabilitas aplikasi
-
Ukuran dan keterampilan organisasi
-
Kemudahan deployment
-
Organisasi dapat memilih cloud untuk mengurangi biaya operasional dengan melakukan standardisasi pada layanan terkelola yang mengalihkan beban operasional ke AWS. Tingkat abstraksi yang lebih tinggi memungkinkan developer dan operator untuk berfokus pada aktivitas nilai tambah mereka yang unik, alih-alih tugas yang tidak terdiferensiasi.
Membangun dengan kontainer di AWS menggunakan layanan dengan tingkat abstraksi yang lebih tinggi untuk mengalihkan overhead operasional pemeliharaan infrastruktur ke AWS.
-
Anda dapat membuat pilihan arsitektur dengan lebih mudah dengan memahami pola beban kerja Anda. Pilihan tersebut mungkin mencakup aplikasi web, layanan mikro berbasis API, aplikasi berbasis peristiwa, streaming dan perpesanan, pipeline data, otomatisasi IT, dan banyak lagi. Beberapa beban kerja akan mempunyai performa lebih baik atau lebih hemat biaya di dalam satu lingkungan komputasi dibandingkan di lingkungan lainnya.
-
Banyak pelanggan ingin memastikan bahwa aplikasi mereka dapat berfungsi dan dimigrasikan atau dipindahkan ke lingkungan yang berbeda dengan mudah. Mereka harus dapat mempertahankan pilihan atau menjalankan aplikasi baik secara on-premise maupun di cloud.
Sebaiknya Anda membangun kompetensi di dalam arsitektur perangkat lunak dan pengemasan build agar Anda lebih mudah mentransfer logika bisnis yang unik di antara layanan komputasi.
Aplikasi yang dibangun menggunakan beberapa teknologi mungkin akan berjalan lebih efektif di beberapa layanan komputasi dibandingkan di tempat lainnya.
-
Keterampilan organisasi Anda adalah faktor utama saat memutuskan layanan kontainer mana yang akan digunakan. Pendekatan yang Anda ambil akan membutuhkan investasi dalam tim DevOps dan Rekayasawan Reliabilitas Situs (SRE). Membangun pipeline otomatis untuk men-deploy aplikasi adalah hal yang biasa bagi sebagian besar pengembangan aplikasi modern.
Beberapa pilihan meningkatkan jumlah manajemen. Misalnya, beberapa organisasi memiliki keterampilan dan sumber daya untuk menjalankan serta mengelola implementasi Kubernetes, karena mereka berinvestasi dalam tim SRE yang kuat untuk mengelola klaster Kubernetes. Tim-tim ini menangani peningkatan klaster yang sering (misalnya, Kubernetes memiliki tiga perilisan utama dalam setahun, dan tidak lagi menggunakan versi lama).
Ukuran organisasi adalah faktor utama, karena perusahaan rintisan yang lebih kecil mungkin memiliki sedikit staf IT yang terdiri dari orang-orang yang menempati banyak peran, sementara perusahaan yang lebih besar dapat mendukung ratusan beban kerja dalam produksi secara bersamaan.
-
Layanan kontainer AWS yang berbeda dapat memenuhi kebutuhan yang unik dalam hal kompleksitas deployment. Berikut ini cara setiap layanan dioptimalkan sesuai perannya masing-masing:
- AWS AppRunner menawarkan jalur paling sederhana, yang memungkinkan Anda untuk men-deploy aplikasi di internet publik tanpa mengelola atau menyesuaikan infrastruktur dasar.
- Amazon ECS adalah pilihan yang baik jika Anda membutuhkan agak lebih banyak kontrol terhadap konfigurasi jaringan dan keamanan tanpa mengorbankan skala atau fitur.
- Amazon EKS memungkinkan Anda untuk menggunakan fleksibilitas dan kontrol atas deployment aplikasi dan orkestrasi yang disediakan oleh teknologi Kubernetes.
- AWS AppRunner menawarkan jalur paling sederhana, yang memungkinkan Anda untuk men-deploy aplikasi di internet publik tanpa mengelola atau menyesuaikan infrastruktur dasar.
Pilih
Setelah Anda mengetahui kriteria yang akan digunakan untuk mengevaluasi opsi kontainer, Anda siap memilih layanan kontainer AWS yang mungkin cocok dengan kebutuhan organisasi Anda.
Tabel berikut menyoroti layanan mana yang akan dioptimalkan untuk situasi yang mana. Gunakan tabel untuk membantu menentukan layanan kontainer yang paling cocok bagi organisasi dan kasus penggunaan Anda.
Opsi kapasitas
Kapasitas merujuk pada komputasi dasar tempat Anda akan men-deploy kontainer Anda, CPU Anda, dan kebutuhan memori. Kapasitas adalah infrastruktur tempat kontainer akan dijalankan.
Amazon EC2 adalah layanan web yang menyediakan kapasitas komputasi yang dapat diubah ukurannya, dengan menggunakan server di pusat data Amazon, yang Anda gunakan untuk membangun dan meng-hosting sistem perangkat lunak.
AWS Fargate adalah teknologi yang dapat Anda gunakan dengan Amazon ECS untuk menjalankan kontainer tanpa harus mengelola server atau klaster instans Amazon EC2. Dengan Fargate, Anda tidak perlu lagi menyediakan, mengonfigurasi, atau menskalakan klaster mesin virtual untuk menjalankan kontainer.
Orkestrasi kontainer
Layanan orkestrasi kontainer mengelola waktu dan tempat kontainer Anda berjalan.
Layanan Red Hat OpenShift di AWS (ROSA)
Layanan Red Hat OpenShift di AWS memudahkan pembuatan dan pengoperasian klaster Red Hat OpenShift di AWS. Untuk aplikasi yang sudah dalam kontainer secara on-premise di Platform Kontainer OpenShift, ROSA menyediakan permukaan API yang sudah dikenal dan menjaga kumpulan alat deployment tetap sama sehingga Anda dapat fokus pada pemfaktoran ulang model data, bukan pada seluruh tumpukan aplikasi.
Amazon Elastic Kubernetes Service
Amazon EKS membantu Anda memulai, menjalankan, dan menskalakan aplikasi Kubernetes di AWS Cloud atau on-premise.
Amazon ECS adalah layanan orkestrasi kontainer terkelola penuh yang membantu Anda melakukan deployment, mengelola, dan menskalakan aplikasi dalam kontainer.
Penyediaan
Kategori penyediaan layanan menyediakan antarmuka ke lapisan orkestrasi layanan. Setiap orkestrator hadir dengan kompleksitasnya masing-masing. Layanan penyediaan menyembunyikan kompleksitas ini dan memudahkan pelanggan untuk menggunakan layanan.
Dengan Elastic Beanstalk, Anda dapat dengan cepat men-deploy dan mengelola aplikasi di AWS Cloud tanpa harus mempelajari infrastruktur yang menjalankan aplikasi tersebut. Elastic Beanstalk mengurangi kompleksitas manajemen tanpa membatasi pilihan atau kontrol.
AWS App Runner memungkinkan Anda untuk membangun dan menjalankan aplikasi dalam kontainer pada layanan terkelola penuh dengan pengetahuan infrastruktur minimal.
Lightsail menawarkan instans server privat virtual (VPS), kontainer, penyimpanan, basis data , dan lainnya yang mudah digunakan dengan harga bulanan yang hemat.
Alat
Alat untuk menyediakan registri kontainer serta memasukkan dalam kontainer dan memigrasikan aplikasi yang ada.
Amazon Elastic Container Registry
Amazon ECR merupakan registri kontainer terkelola penuh yang menawarkan hosting dengan performa tinggi, sehingga Anda dapat men-deploy gambar dan artefak aplikasi dengan andal di mana saja.
On-premise
Memungkinkan Anda untuk menjalankan bidang kontrol yang sudah dikenal untuk memastikan pengalaman yang konsisten di mana pun aplikasi berbasis kontainer berjalan.
Amazon Elastic Container Service (ECS) Anywhere
Amazon ECS Anywhere adalah fitur Amazon ECS yang memungkinkan Anda untuk menjalankan dan mengelola beban kerja kontainer di infrastruktur Anda.
Amazon EKS Anywhere memungkinkan Anda membuat dan mengoperasikan klaster Kubernetes di infrastruktur Anda sendiri.
Amazon EKS menggunakan Amazon EKS Distro, sebuah distribusi Kubernetes yang dibangun dan dikelola oleh AWS. Amazon EKS Distro memudahkan pembuatan klaster yang andal dan aman.
Gunakan
Seharusnya Anda sekarang memiliki pemahaman yang jelas tentang setiap layanan kontainer AWS (dan alat serta layanan AWS yang mendukung) dan layanan mana yang mungkin paling cocok untuk organisasi serta kasus penggunaan Anda.
Untuk menjelajahi cara menggunakan dan mempelajari selengkapnya setiap layanan kontainer AWS yang tersedia, kami telah menyediakan jalur untuk menjelajahi cara kerja masing-masing layanan. Bagian berikut menyediakan tautan ke dokumentasi mendalam, tutorial praktik langsung, dan sumber daya untuk membantu Anda memulai.
-
Amazon EC2
-
Amazon ECR
-
Amazon ECS
-
Amazon EKS
-
Amazon Lightsail
-
AWS App Runner
-
AWS Elastic Beanstalk
-
AWS Fargate
-
ROSA
-
Amazon EC2
-
Memulai Amazon EC2
Akses set dokumentasi teknis Amazon EC2 yang lengkap, termasuk panduan untuk instans Linux dan Windows.
Panduan Pengguna VM Import/Export
Pelajari cara mengimpor gambar mesin virtual (VM) dari lingkungan virtualisasi yang ada ke Amazon EC2, lalu mengekspornya kembali.Amazon EC2 Auto Scaling dengan Instans Spot EC2
Pelajari cara membuat beban kerja stateless dan toleran terhadap kesalahan menggunakan Amazon EC2 Auto Scaling dengan templat peluncuran untuk meminta Instans Spot Amazon EC2.
Men-deploy Aplikasi Web di Amazon EC2
Kami memandu Anda membuat instans Amazon EC2 dengan menggunakan AWS CDK, dan men-deploy aplikasi web di sana.
-
Amazon ECR
-
Apa itu Amazon Elastic Container Registry (ECR)?
Panduan untuk memulai dan menggunakan ECR.Amazon ECR dalam Arsitektur Multiakun dan Multiwilayah
Jelajahi pertimbangan utama untuk arsitektur Amazon ECR yang mencakup seluruh akun AWS dan Wilayah AWS, serta arsitektur yang terkait dengan kasus penggunaan pelanggan hipotetis.
Buat pipeline dengan sumber Amazon ECR dan deployment ECS ke CodeDeploy
Konfigurasikan pipeline di AWS CodePipeline yang men-deploy aplikasi kontainer menggunakan deployment blue/green dan mendukung citra Docker.
-
Amazon ECS
-
Memulai Amazon ECS
Panduan ini memperkenalkan alat yang tersedia untuk mengakses Amazon ECS dan prosedur langkah demi langkah pengantar untuk menjalankan kontainer.
Yang baru dan yang akan datang di Amazon ECS
Pelajari hal baru sejak peluncuran Amazon ECS Anywhere, fitur baru AWS Fargate, dan lihat peningkatan yang menarik pada Amazon ECS.
Deployment Amazon Elastic Container Service (ECS)
Panduan ini menawarkan gambaran umum opsi deployment Amazon ECS di AWS dan menunjukkan bagaimana opsi tersebut digunakan untuk mengelola aplikasi kontainer yang sederhana.
Lokakarya Amazon ECS
Lokakarya ini dirancang untuk mengajarkan kepada mereka yang mungkin tidak terbiasa dengan AWS Fargate, Amazon ECS, dan mungkin bahkan alur kerja kontainer Docker.
Men-deploy Kontainer Docker di Amazon ECS
Pelajari cara menjalankan contoh aplikasi yang didukung Docker di klaster Amazon ECS di belakang penyeimbang beban, menguji aplikasi sampel, dan menghapus sumber daya Anda untuk menghindari biaya.
-
Amazon EKS
-
Memulai Amazon EKS
Pelajari Amazon Elastic Kubernetes Service (Amazon EKS) selengkapnya, yaitu layanan terkelola yang dapat Anda gunakan untuk menjalankan Kubernetes di AWS tanpa perlu menginstal, mengoperasikan, dan memelihara bidang kontrol atau simpul Kubernetes Anda sendiri.
Deployment Amazon Elastic Kubernetes Service (EKS)
Jelajahi opsi deployment Amazon EKS di AWS dan pelajari cara menggunakannya untuk mengelola aplikasi dalam kontainer yang umum.
Deployment Referensi Mulai Cepat Amazon EKS
Dengan menggunakan panduan deployment referensi Mulai Cepat, kami menyediakan petunjuk langkah demi langkah untuk men-deploy klaster Amazon Elastic Kubernetes Service (Amazon EKS).
Deploy Aplikasi Kubernetes
Tutorial ini menunjukkan cara men-deploy aplikasi dalam kontainer pada klaster Kubernetes yang dikelola oleh Amazon Elastic Container Service for Kubernetes (Amazon EKS).Lokakarya Amazon EKS
Latihan praktis untuk mempelajari Layanan Kubernetes Amazon Elastic.
Kunjungi lokakarya »
-
Amazon Lightsail
-
Membuat, mendorong, dan men-deploy citra kontainer
dengan Amazon Lightsail
Tutorial ini menunjukkan cara membuat citra kontainer di mesin lokal Anda menggunakan Dockerfile. Setelah citra Anda dibuat, Anda akan dapat mendorongnya ke layanan kontainer Lightsail untuk men-deploy citra tersebut.
Pusat sumber daya Amazon Lightsail
Jelajahi tutorial, video, dan tautan Lightsail ke dokumentasi konsep inti.
Meluncurkan Mesin Virtual Linux dengan Amazon Lightsail
Di dalam tutorial ini, Anda membuat instans Amazon Linux di Amazon Lightsail. Setelah instans berjalan, hubungkan melalui SSH dalam konsol Lightsail menggunakan terminal SSH berbasis peramban.
-
AWS App Runner
-
Memulai AWS App Runner
Tutorial ini memandu Anda mengonfigurasi kode sumber dan deployment, build layanan, dan runtime layanan untuk men-deploy aplikasi Anda ke layanan App Runner. Tutorial ini juga menunjukkan cara men-deploy versi kode, membuat perubahan konfigurasi, dan melihat log.
Gunakan tutorial »
AWS App Runner: Dari kode hingga aplikasi web yang aman dan dapat diskalakan dalam hitungan menit
Jelajahi bagaimana AWS App Runner dirancang untuk memudahkan Anda men-deploy aplikasi web dan API ke cloud, terlepas dari bahasa penulisannya, bahkan untuk tim yang tidak memiliki pengalaman sebelumnya dalam men-deploy dan mengelola kontainer atau infrastruktur.
Men-deploy Aplikasi Web dengan Menggunakan AWS App Runner
Ikuti petunjuk langkah demi langkah ini untuk men-deploy aplikasi web dalam kontainer menggunakan AWS App Runner. Mulai dengan kode sumber atau citra kontainer Anda. App Runner secara otomatis membangun dan men-deploy aplikasi web serta menyeimbangkan beban lalu lintas dengan enkripsi. -
AWS Elastic Beanstalk
-
Mulai menggunakan Elastic Beanstalk
Panduan ini memandu Anda dalam membuat, menjelajahi, memperbarui, dan menghapus aplikasi Elastic Beanstalk.Opsi deployment di AWS Elastic Beanstalk
Panduan ini menjelaskan bahwa Anda dapat menggunakan AWS Elastic Beanstalk untuk men-deploy, mengelola, dan menskalakan aplikasi tanpa beban operasional pengelolaan infrastruktur.
Tutorial dan sampel AWS Electric Beanstalk tingkat menengah
Tutorial ini ditargetkan untuk pengguna tingkat menengah dan mungkin tidak berisi instruksi langkah-langkah dasar seperti pendaftaran ke AWS.
-
AWS Fargate
-
Memulai AWS Fargate
Panduan ini menjelaskan dasar-dasar AWS Fargate, yaitu teknologi yang dapat Anda gunakan dengan Amazon ECS untuk menjalankan kontainer tanpa harus mengelola server atau klaster instans Amazon EC2.
Memulai konsol dengan menggunakan kontainer Linux di AWS Fargate
Mulai Amazon ECS di AWS Fargate dengan menggunakan jenis peluncuran Fargate untuk tugas Anda di Wilayah di mana Amazon ECS mendukung AWS Fargate.
Membuat klaster dengan tugas Fargate Linux menggunakan AWS CLI
Siapkan klaster, daftarkan definisi tugas, jalankan tugas Linux, dan lakukan skenario umum lainnya di Amazon ECS dengan AWS CLI. -
ROSA
-
Memulai Layanan Red Hat OpenShift di AWS
Panduan ini akan membantu Anda dalam memulai Layanan Red Hat OpenShift di AWS.
Mengapa Anda menggunakan ROSA?
Video ini membahas kapan Anda mungkin menggunakan Red Hat OpenShift melalui Kubernetes standar dan mengeksplorasi ROSA di AWS secara mendalam.
Jelajahi
Jelajahi diagram arsitektur referensi untuk kontainer di AWS.
Jelajahi laporan resmi untuk membantu Anda memulai dan mempelajari praktik terbaik.
Jelajahi solusi yang telah diperiksa dan panduan arsitektur untuk kasus penggunaan umum bagi kontainer.