全部产品
Search
文档中心

Enterprise Distributed Application Service:Pilih lingkungan untuk menerapkan aplikasi

更新时间:Jul 02, 2025

Enterprise Distributed Application Service (EDAS) mendukung lingkungan Elastic Compute Service (ECS) dan Kubernetes. Kedua lingkungan tersebut memungkinkan Anda menampung aplikasi, tetapi ECS dan Kubernetes memiliki fitur yang berbeda. Saat membuat keputusan bisnis atau memilih lingkungan untuk migrasi beban kerja, pertimbangan tertentu mungkin diperlukan. Topik ini menjelaskan dan membandingkan lingkungan ECS dan Kubernetes sehingga Anda dapat memilih berdasarkan kebutuhan bisnis Anda.

Informasi latar belakang

EDAS mendukung lingkungan ECS dan Kubernetes, di mana Anda dapat menerapkan aplikasi dalam kluster ECS atau Kubernetes. Baik ECS maupun Kubernetes mendukung framework mikroservis seperti Spring Cloud, Apache Dubbo, dan High-Speed Service Framework (HSF). EDAS memungkinkan Anda menampung, mengatur, dan memantau aplikasi Java yang menggunakan framework-framework tersebut. Namun, ECS dan Kubernetes memiliki persyaratan teknologi yang berbeda serta menyediakan fitur manajemen aplikasi yang unik.

Cara memilih

Kubernetes cocok untuk sebagian besar skenario. EDAS terintegrasi dengan Container Service for Kubernetes (ACK), yang menyediakan berbagai fitur manajemen aplikasi untuk membantu meningkatkan pemanfaatan sumber daya.

Kami merekomendasikan agar Anda memilih lingkungan berdasarkan kebutuhan bisnis aktual Anda.

SkenarioLingkungan
  • Gambar kontainer atau aplikasi non-Java
  • Beberapa aplikasi diterapkan pada instance yang sama atau sejumlah besar aplikasi diterapkan di lingkungan yang sama
  • Fitur atau alat Kubernetes seperti kubectl diperlukan untuk mengelola aplikasi
Kubernetes
  • Sejumlah besar aplikasi non-kontainer yang diterapkan di lingkungan

    ECS adalah alternatif yang lebih baik untuk menampung aplikasi non-kontainer karena menyediakan cara yang lebih mudah untuk menggunakan kembali sistem O&M aplikasi yang ada.

  • Persyaratan tinggi untuk performa dan stabilitas aplikasi monolitik
ECS
Catatan Jika aplikasi Anda sudah diterapkan di kluster ECS dan Anda ingin menggunakan fitur canggih yang disediakan oleh Kubernetes, Anda dapat memigrasikan aplikasi ke kluster Kubernetes.

Fitur yang didukung oleh ECS atau Kubernetes

Tabel berikut menjelaskan fitur yang didukung oleh ECS atau Kubernetes. Y menunjukkan didukung, sedangkan N menunjukkan tidak didukung.
FiturECSKubernetesCatatan
Terapkan aplikasiYYKubernetes menyediakan lebih banyak jenis kebijakan penjadwalan untuk menerapkan instance dan memungkinkan Anda menerapkan beberapa aplikasi pada instance yang sama.
Mulai aplikasiYYTidak tersedia
Hentikan aplikasiYYTidak tersedia
Hapus aplikasiYYTidak tersedia
Skalakan aplikasiYYTidak tersedia
Reset aplikasiYNFitur ini tidak diperlukan di lingkungan Kubernetes. Untuk mereset aplikasi, Anda dapat menghapus pod Kubernetes tempat aplikasi diterapkan.
Tingkatkan atau turunkan versi kontainerYYTidak tersedia
Roll back aplikasiYYTidak tersedia
Penskalaan horizontalYYMetode dan aturan ECS dan Kubernetes berbeda.
Penskalaan terjadwalNYTidak tersedia
Penyebaran batchYYTidak tersedia
Grup aplikasiYNTidak tersedia
Konfigurasi grup aplikasiYNTidak tersedia
Pengiriman log waktu nyataYYTidak tersedia
Direktori logYYTidak tersedia
Layanan LogYYTidak tersedia
Load balancingYYTidak tersedia
Pemeriksaan kesehatanYYKubernetes menggunakan probe readiness dan liveness untuk melakukan pemeriksaan kesehatan. Mekanisme pemeriksaan kesehatan ini berbeda dari mekanisme yang digunakan oleh ECS.
Parameter Java virtual machine (JVM)YYTidak tersedia
Parameter TomcatYYTidak tersedia
Hook siklus hidupYYKubernetes mendukung hook PostStart dan PreStop, yang berbeda dari hook yang disediakan oleh ECS.
Variabel lingkunganYYTidak tersedia
Rilis CanaryYYTidak tersedia
Pemantauan trafikYYTidak tersedia
Pembatasan trafikYYKubernetes mengimplementasikan pembatasan trafik untuk aplikasi tanpa perlu memodifikasi kode aplikasi.
Daftar layananYYTidak tersedia
Push konfigurasiYYTidak tersedia
Pusat acaraYYTidak tersedia
PeringatanYYTidak tersedia
Diagnostik aplikasiYYKubernetes menyediakan fitur diagnostik aplikasi canggih yang terintegrasi dengan layanan pemantauan.
Pembelian sumber dayaYNTidak tersedia
Service meshNYTidak tersedia
Penyebaran dari gambarNYTidak tersedia
Aplikasi yang ditulis dalam bahasa pemrograman yang berbedaNYTidak tersedia
Penyimpanan terpasang jaringan (NAS)NYTidak tersedia

FAQ

Apakah lingkungan ECS memungkinkan saya menerapkan beberapa aplikasi pada instance yang sama?

Tidak. ECS tidak memungkinkan Anda menerapkan beberapa aplikasi pada instance yang sama. Jika Anda ingin menerapkan beberapa aplikasi pada instance yang sama, pilih lingkungan Kubernetes.

Apakah lingkungan ECS mendukung aplikasi yang ditulis dalam bahasa pemrograman yang berbeda?

Tidak. ECS tidak mendukung aplikasi yang ditulis dalam bahasa pemrograman yang berbeda. Jika Anda ingin menerapkan aplikasi yang ditulis dalam bahasa pemrograman lain, pilih lingkungan Kubernetes.

Apakah lingkungan ECS dan Kubernetes mendukung alat pengembang?

Ya. Baik lingkungan ECS maupun Kubernetes mendukung alat pengembang, namun dengan persyaratan konfigurasi yang berbeda.

Dalam lingkungan Kubernetes, bagaimana cara node diskalakan keluar?

Lingkungan Kubernetes secara otomatis menskalakan masuk dan keluar pod. Dalam sebagian besar kasus, kluster Kubernetes tidak membuat node baru (instance ECS) atau melepaskan node yang ada.

Anda dapat menggunakan fitur yang disediakan oleh ACK untuk secara otomatis menskalakan masuk dan keluar node.

Jika saya telah memasang skrip ke aplikasi yang diterapkan pada instance ECS, bagaimana cara memigrasikan aplikasi ini ke kluster Kubernetes?

Dalam lingkungan ECS, skrip yang dipasang ke aplikasi digunakan untuk menjalankan perintah tertentu saat change order memasuki tahap tertentu. ECS memungkinkan Anda memasang skrip ke tahap siklus hidup berikut dari aplikasi: buat instance, mulai aplikasi, hentikan aplikasi, dan lepaskan instance.

Kubernetes hanya menyediakan hook siklus hidup PostStart dan PreStop. Tahap siklus hidup aplikasi berbasis Kubernetes berbeda dari aplikasi berbasis ECS. Oleh karena itu, Anda harus memodifikasi skrip sebelum memigrasikan aplikasi dari ECS ke Kubernetes.
  • Jika Anda ingin memasang skrip saat membuat instance, Anda dapat mengompilasi skrip ke dalam Dockerfile dan membuat gambar dari Dockerfile.
  • Jika Anda ingin memasang skrip sebelum memulai aplikasi, Anda dapat mengompilasi skrip ke dalam Dockerfile dan membuat gambar dari Dockerfile.

    Dalam pod Kubernetes, membuat instance dan memulai aplikasi dianggap sebagai proses yang sama.

  • Untuk memasang skrip setelah aplikasi dimulai, pasang mereka sebagai hook PostStart.
  • Untuk memasang skrip sebelum instance dihentikan, pasang mereka sebagai hook PreStop.
  • Kami merekomendasikan agar Anda dengan anggun menutup aplikasi sehingga Anda dapat menghapus skrip yang dipasang setelah instance dihentikan. Misalnya, Anda dapat menambahkan hook Shutdown ke aplikasi Java atau mengirim sinyal SIGTERM ke skrip yang ingin Anda hapus. Atau, Anda dapat memindahkan skrip ke hook PreStop.
  • Kami merekomendasikan agar Anda dengan anggun menutup aplikasi sehingga Anda dapat menghapus skrip yang dipasang sebelum instance dilepaskan. Misalnya, Anda dapat menambahkan hook Shutdown ke aplikasi Java atau mengirim sinyal SIGTERM ke skrip yang ingin Anda hapus. Atau, Anda dapat memindahkan skrip ke hook PreStop.

    Dalam pod Kubernetes, menghentikan dan melepaskan instance dianggap sebagai proses yang sama.