Serverless atau Kubernetes di AWS

Membantu Anda memilih

Amazon Web Services (AWS) memberi pelanggan fleksibilitas untuk memilih strategi guna membangun aplikasi modern yang dipetakan dengan kebutuhan bisnis mereka. Pelanggan yang mengembangkan strategi untuk membangun aplikasi modern di AWS sering kali menggunakan salah satu dari dua pendekatan tingkat tinggi: Serverless dengan model strategi AWS menggunakan AWS Lambda dan kontainer, atau Kubernetes di AWS.

AWS didesain untuk memberi Anda akses ke komputasi yang tepat dan layanan pendukung (seperti basis data, pesan, dan orkestrasi) untuk beban kerja Anda. AWS menyediakan kemampuan untuk membuat aplikasi nirserver menggunakan layanan komputasi yang didorong peristiwa, seperti AWS Lambda, dan opsi kontainer nirserver, seperti AWS Fargate dan AWS App Runner. AWS menawarkan cara membangun aplikasi kontainer menggunakan opsi Amazon Elastic Container Service (Amazon ECS) dan Kubernetes, seperti Amazon Elastic Kubernetes Service (Amazon EKS), Layanan Red Hat OpenShift di AWS (ROSA), dan Kubernetes yang dikelola mandiri di Amazon Elastic Compute Cloud (Amazon EC2).

Konten berikut akan membantu Anda memilih pendekatan yang paling sesuai untuk lingkungan Anda dan membantu Anda untuk mulai menerapkan pendekatan di AWS.

Manfaat aplikasi modern

Bangun dengan pola arsitektur modular dan manfaatkan model operasional layanan terkelola.

Bangun aplikasi yang lebih ramah lingkungan, dapat diskalakan, dan tangguh.

Mempercepat inovasi, mengurangi risiko, mempercepat waktu masuk pasar, dan mengurangi total biaya kepemilikan (TCO) Anda.

Bersiaplah untuk mulai melakukan deployment beban kerja produksi di cloud dengan langkah-langkah berikutnya yang sudah tetapkan dengan jelas.

Langkah 1: Tentukan kriteria Anda

Aplikasi modern dibangun dengan pola arsitektur modular serta dapat memanfaatkan model operasional nirserver untuk membangun aplikasi yang lebih berkelanjutan, terukur, dan tangguh. Aplikasi ini memungkinkan Anda berinovasi lebih cepat, mengurangi risiko, mempercepat waktu masuk pasar, dan mengurangi TCO. Saat membangun aplikasi modern baru atau memodernisasi aplikasi yang ada, arsitek dan developer memiliki sejumlah besar blok bangunan yang tersedia – dan salah satu yang paling penting adalah pilihan layanan komputasi. AWS didesain untuk memberi Anda akses ke layanan komputasi yang tepat bagi beban kerja mereka – sebuah pilihan yang mendukung strategi pengembangan aplikasi modern apa pun yang menurut Anda sesuai untuk memenuhi kebutuhan.

Sebelum menentukan strategi pengembangan aplikasi modern yang harus diterapkan, Anda harus menentukan kriteria berdasarkan ukuran beban kerja Anda.

  • 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 AWS Serverless menggunakan layanan dengan tingkat abstraksi yang lebih tinggi untuk mengalihkan overhead operasional pemeliharaan infrastruktur ke AWS.

    AWS juga menyediakan beberapa penawaran terkelola untuk Kubernetes. Perbedaan penawaran ada pada lapisan teknologi yang perlu dikelola oleh organisasi. AWS juga menyediakan akselerator, seperti add-on dan Cetak Biru EKS, untuk mempercepat konfigurasi.

  • Banyak pelanggan AWS melakukan standardisasi pada teknologi sumber terbuka yang didukung secara luas. Sumber terbuka memungkinkan organisasi untuk menemukan keterampilan yang tepat dan menghindari beberapa risiko seputar penguncian. Pilihan yang salah dalam ekosistem sumber terbuka dapat menyebabkan organisasi terkunci dalam penyederhanaan dan integrasi internal. Selain itu, tanggung jawab untuk membuat agar komponen sumber terbuka yang berbeda dapat bekerja sama sering berada di tangan organisasi yang membuat pilihan. Sudah menjadi hal yang umum bagi organisasi untuk menghabiskan terlalu banyak waktu dalam mempertahankan integrasi sumber terbuka.

    Catatan:

    • Pertimbangkan sumber komunitas dan dukungan dari korporasi atau yayasan saat melakukan investasi ini. Investasi dalam proyek ini bukan dalam hal finansial saja. Anda juga perlu berinvestasi dalam pelatihan dan melatih tim Anda terkait teknologi yang digunakan. 
    • Anda mungkin juga mengalami beberapa utang teknis (karena pekerjaan yang terlibat dalam memelihara integrasi tersebut) karena komponen ini dan integrasi terkait biasanya perlu diperbarui.
    • Kunjungi blog Sumber Terbuka AWS untuk mendapatkan ide tentang implementasi sumber terbuka.
  • Saat memilih strategi pengembangan aplikasi modern, strategi Anda harus mengakomodasi berbagai pola beban kerja. Anda dapat membuat pilihan arsitektur dengan lebih mudah dengan memahami pola beban kerja Anda. Misalnya, Aplikasi Web, layanan mikro berbasis API, Aplikasi yang Didorong Peristiwa, Streaming dan Perpesanan, Pipeline Data, Otomatisasi IT, dan lainnya. Beberapa beban kerja akan beperforma lebih baik atau lebih hemat biaya di dalam satu lingkungan komputasi dibandingkan lingkungan jenis lain.

    Saat membangun dengan AWS Serverless, layanan seperti App Runner dan AWS Batch didesain untuk mendukung tuntutan jenis beban kerja tertentu. Beban kerja yang menggunakan pendekatan ini akan lebih mudah untuk dibangun, beperforma lebih baik, atau lebih hemat biaya, meskipun akan mengorbankan fleksibilitas.

    Kubernetes memberikan konsistensi di seluruh cloud dan lingkungan on-premise jika diperlukan oleh organisasi Anda.

  • Beban kerja tidak berada di isolasi. Beban kerja didukung oleh teknologi, seperti basis data, perpesanan, streaming, orkestrasi, dan layanan lainnya. Strategi pengembangan aplikasi modern yang efektif memerlukan integrasi dengan layanan ini. Integrasi terkelola menyederhanakan overhead operasional sebanyak pengelolaan infrastruktur yang mendasarinya.

    Opsi AWS Serverless sangat terintegrasi di dalam ekosistem AWS. AWS Lambda dapat berlangganan ke acara dari lebih dari 200 layanan lainnya. Ekstensi AWS Lambda, misalnya, memungkinkan integrasi dengan alat pemantauan, observabilitas, keamanan, dan pengelolaan. Lambda menginvokasi fungsi tertentu di dalam lingkungan yang dijalankan, yang menyediakan runtime yang aman serta terisolasi tempat kode fungsi dijalankan. 

    Penawaran yang dikelola AWS untuk Kubernetes menyediakan integrasi dengan penawaran terkelola. Kubernetes sendiri memiliki ekosistem partner yang kaya, yang menawarkan integrasi dengan banyak teknologi lainnya.

  • Banyak pelanggan perlu membuat eksperimen untuk memvalidasi ide. Prototipe ini mungkin merupakan ide untuk aplikasi baru, dan/atau akan dibuang jika tidak berhasil. Kemampuan untuk menyediakan lingkungan tempat Anda dapat menulis, melakukan deployment, dan memvalidasi ide dengan cepat adalah hal yang sangat penting bagi lingkungan yang sehat. Lingkungan ini sering kali diabaikan ketika mengembangkan strategi pengembangan aplikasi modern, tetapi kemampuan untuk berinovasi dalam perusahaan mungkin akan bergantung pada lingkungan ini. Memungkinkan tim menggunakan layanan yang dapat digunakan untuk membangun, menguji, dan mengulangi dengan cepat adalah hal yang sangat berharga dalam menemukan peluang bisnis baru.

  • Banyak pelanggan ingin memastikan bahwa aplikasi mereka dapat berfungsi dan dimigrasikan atau dipindahkan ke lingkungan yang berbeda dengan mudah. Mereka ingin dapat mempertahankan pilihan untuk memindahkan penyedia cloud, atau menjalankan aplikasi baik di on-premise maupun di cloud. Hal ini biasanya mencakup kebutuhan untuk mendukung kerangka bahasa populer dan skenario pengembangan. Misalnya, developer Java mungkin ingin menggunakan Spring atau Python, sedangkan Rekayasawan Data mungkin ingin menggunakan PyTorch. Memilih pendekatan aplikasi pengembangan modern tidaklah cukup. Pemilihan pendekatan ini akan membutuhkan praktik terbaik dan arsitektur untuk mencapai portabilitas aplikasi. 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 berjalan lebih efektif pada beberapa layanan komputasi daripada yang lain. Layanan kontainer biasanya merupakan target migrasi yang lebih baik untuk aplikasi warisan daripada Lambda yang akan membutuhkan perubahan arsitektur.

  • Harus ada perbedaan yang jelas antara portabilitas aplikasi dan otomatisasi. Biasanya, pilihan antara AWS Serverless atau AWS Kubernetes sebenarnya tidak ada hubungannya dengan apakah aplikasi tersebut bersifat portabel atau tidak. Sebaliknya, ini adalah alat yang digunakan oleh tim Infrastruktur dan tim DevOps yang merupakan faktor utama. Pelanggan yang memilih pendekatan Kubernetes di AWS sering kali mencari portabilitas infrastruktur dan alat deployment.

  • Keterampilan organisasi Anda adalah faktor utama ketika memutuskan antara mengambil pendekatan nirserver atau berbasis kontainer untuk pengembangan aplikasi modern. Nirserver dan kontainer sama-sama akan membutuhkan investasi dalam tim DevOps dan Rekayasawan Reliabilitas Situs (SRE). Membangun pipeline otomatis untuk melakukan deployment aplikasi adalah hal yang biasa bagi sebagian besar 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.

  • Keputusan arsitektur hadir dengan tarik ulur, sering kali salah satunya adalah biaya. Sudah menjadi hal yang umum untuk berusaha dengan memperkirakan biaya aplikasi modern karena sifat dinamis dari komponen yang terlibat. Meskipun biaya sebuah set server yang tetap lebih mudah diperkirakan, Anda juga harus membayarnya meskipun server tersebut tidak menambah nilai bisnis.

    Kedua pendekatan menawarkan beberapa pendorong untuk memenuhi target biaya bagi beban kerja Anda. Pilihan tingkat tinggi antara pendekatan tersebut harus mempertimbangkan biaya, bukan hanya di seputar sumber daya, tetapi juga upaya dalam menciptakan dan mempertahankan strategi tersebut. Kalkulator Harga AWS dapat berguna dalam memahami biaya beban kerja tertentu.

  • Memenuhi persyaratan keamanan dan kepatuhan adalah aspek dasar setiap beban kerja. Layanan AWS di kedua strategi dapat memungkinkan Anda memenuhi persyaratan kepatuhan yang ketat.
     
    Membangun dengan AWS Serverless memungkinkan Anda memanfaatkan integrasi dengan AWS Identity and Access Management (IAM) untuk kontrol akses, konstruksi jaringan AWS native, dan dukungan dari alat tata kelola AWS.
     
    Kubernetes di AWS memerlukan pemahaman tentang model keamanan Kubernetes dan AWS serta mungkin memerlukan pemetaan di antara kebijakan keamanan. Penawaran AWS terkelola, seperti Amazon EKS, menyediakan akselerator untuk menjalankan aplikasi di EKS dengan aman.
  • Membangun dengan AWS Serverless dan Kubernetes di AWS memungkinkan Anda untuk membangun beban kerja dengan performa tinggi, dapat diskalakan, dan tangguh. Anda dapat memenuhi persyaratan teknis yang dibutuhkan. Layanan dengan tingkat abstraksi tertinggi mengelola penempatan di seluruh Zona Ketersediaan AWS dan penskalaan lingkungan, sehingga dapat meningkatkan performa dan ketahanan. Tingkat abstraksi yang lebih rendah memungkinkan Anda memiliki kontrol yang lebih besar terhadap penskalaan beban kerja. Tarik ulur utamanya adalah biaya dan kompleksitas manajemen.

Langkah 2: Tentukan berapa banyak yang ingin Anda kelola

Salah satu manfaat utama modernisasi adalah kemampuan untuk mengalihkan tanggung jawab operasional, yang memungkinkan Anda membebaskan sumber daya agar dapat melakukan lebih banyak kegiatan yang bernilai tambah dan berbasis inovasi. Ada spektrum opsi tanggung jawab bersama di berbagai tingkat modernisasi, mulai dari Amazon EC2, di mana Anda dapat membangun serta menjalankan kode sambil mengelola integrasi, penskalaan, konfigurasi keamanan, penyediaan, patching, dan banyak lagi, hingga fungsi nirserver seperti AWS Lambda, di mana Anda hanya perlu mengelola kode aplikasi.

Langkah 3: Tentukan kasus penggunaan Anda

Kami sarankan Anda untuk mengevaluasi opsi komputasi yang paling tepat atas dasar beban kerja dalam strategi default Anda: Nirserver dengan AWS atau Kubernetes di AWS.

Contoh kasus penggunaan untuk strategi Serverless di AWS mungkin termasuk membangun sistem pemrosesan dokumen atau menangani beban kerja situs web. Dalam strategi tersebut, Anda dapat memilih AWS Lambda untuk membangun beban kerja pemrosesan dokumen yang didorong peristiwa serta AWS AppRunner untuk latensi rendah dan skalabilitas situs web transaksional yang diperlukan.

Sementara itu, contoh kasus penggunaan untuk kontaine – dan Kubernetes di AWS mungkin sebagai bagian dari pendekatan progresif untuk memindahkan aplikasi yang ada ke layanan mikro. Banyak aplikasi perangkat lunak perantara (middleware) warisan dapat dimodifikasi dengan sedikit usaha pada kontainer.

Catatan: Beberapa organisasi akan mendukung banyak opsi atau pola beban kerja untuk memungkinkan pilihan beban kerja atau developer.

Dalam tabel berikut, ada sejumlah kasus penggunaan lain yang mungkin ingin Anda pertimbangkan saat memilih layanan komputasi.

Langkah 4: Bandingkan dan buat pilihan yang tepat untuk beban kerja Anda

AWS menawarkan berbagai opsi kontainer, seperti Amazon ECS, Kontainer Nirserver dengan AWS Fargate, dan AWS App Runner, serta opsi Kubernetes yang berbeda, seperti Amazon EKS, ROSA, dan Kubernetes yang dikelola mandiri di Amazon EC2.

Tabel perbandingan berikut dapat membantu Anda menentukan pendekatan berdasarkan persyaratan beban kerja Anda. Anda mungkin memilih elemen dari kedua pendekatan, atau berkompromi, dan memiliki tim berbeda yang menggunakan pendekatan yang berbeda juga. Korporasi yang sangat besar sudah biasa memiliki departemen dengan strategi yang berbeda.

 

  Nirserver dengan AWS Kubernetes di AWS
Beban Kerja Mendukung berbagai pola beban kerja dengan layanan khusus yang dioptimalkan untuk beban kerja tertentu. AWS Lambda dapat digunakan untuk beban kerja asinkron dengan AWS Fargate yang digunakan untuk beban kerja sinkron. Mendukung berbagai pola beban kerja tempat model deployment yang konsisten di cloud atau pusat data on-premise lebih disukai.
Karakteristik Arsitektur Mendukung sebagian besar arsitektur dan pola dengan layanan khusus yang memberikan pengoptimalan untuk performa, skalabilitas, keandalan, serta biaya. Mendukung sebagian besar arsitektur yang mengutamakan konsistensi di seluruh tumpukan teknologi. Beberapa tingkat pengoptimalan tersedia, tetapi akan membutuhkan lebih banyak upaya integrasi dan manajemen.
Integrasi AWS Serverless menawarkan integrasi dengan banyak layanan terkelola. Beberapa opsi, seperti AWS Lambda, dapat berlangganan ke lebih dari 200 layanan dan menerima peristiwa dengan cara yang terkelola.  Banyak partner menyediakan integrasi AWS. Penawaran terkelola AWS untuk Kubernetes menyediakan integrasi dengan Layanan AWS. Ekosistem partner untuk Kubernetes terbilang kaya dan menyediakan integrasi dengan teknologi sumber terbuka lainnya. Banyak partner teknologi menggunakan EKS sebagai pilihan pertama mereka untuk memvalidasi integrasi Kubernetes.
Pembuatan Prototipe AWS Serverless dioptimalkan untuk memungkinkan pelanggan menulis kode dengan cepat, melakukan deployment kode tersebut, dan mengubahnya, serta menjadikannya opsi yang berguna agar dapat melakukan pekerjaan pembuatan prototipe yang cepat tanpa perlu membuat banyak pilihan di awal. Pelanggan yang memiliki strategi Kubernetes harus selalu menyiapkan klaster khusus yang didedikasikan untuk pembuatan prototipe dan mempertahankannya seperti lingkungan lainnya.
Overhead AWS Serverless didesain untuk memanfaatkan sebagian besar layanan terkelola yang hanya sedikit membutuhkan upaya manajemen untuk server, jaringan, dan integrasi. AWS menyediakan beberapa pola untuk Kubernetes. Hal ini mungkin berarti pengelolaan banyak lapisan teknologi (seperti jaringan klaster dan cloud), atau peran keamanan Kubernetes dan AWS, meskipun AWS menyediakan akselerator seperti add-on dan Cetak Biru EKS.
Ekosistem AWS memiliki ekosistem partner yang besar, yang dibangun di atas Layanan AWS dan menyediakan solusi serta integrasi. AWS dibangun pada dan dengan banyak teknologi sumber terbuka di berbagai ruang. Kubernetes adalah ekosistem besar yang memiliki dukungan utama di setiap cloud, dan berbagai dukungan komunitas.  Lanskap CNCF adalah contoh dari ekosistem yang luas. AWS menyediakan add-on dan cetak biru untuk membantu pelanggan mengadopsi beberapa alat populer ini.
Portabilitas Aplikasi Arsitektur aplikasi (untuk aplikasi yang menggunakan layanan atau layanan terkelola) dapat didesain sedemikian rupa sehingga logika bisnis dapat dengan mudah di-porting dari Lambda, App Mesh, atau ECS ke lingkungan komputasi lainnya. Kubernetes tersedia di sebagian besar cloud dan on-premise, serta beban kerja sebagian besar bersifat portabel. Pola Kubernetes tertentu yang bergantung pada jala layanan dalam kode (seperti Istio, atau model pemrograman seperti KNative) berarti bahwa aplikasi Anda memerlukan Kubernetes, dan tidak dapat dipindahkan ke yang lain selain Kubernetes. Beberapa fitur dapat mengunci Anda ke versi tertentu. Anda mungkin perlu membangun kembali citra untuk mendukung berbagai build Linux atau perangkat keras tertentu (ARM atau AMD).
Otomatisasi Dukungan otomatisasi khusus AWS menggunakan banyak jenis berdasarkan teknologi terbuka. Contohnya, AWS CloudFormation, AWS Serverless Application Model (AWS SAM), dan beberapa pustaka AWS Cloud Development Kit (AWS CDK). Pelanggan dapat menggunakan opsi sumber terbuka seperti Terraform. Banyak pelanggan AWS menggunakan alat DevOps sumber terbuka seperti Jenkins. Pelanggan yang menyusun strategi di Kubernetes biasanya memilih untuk menggunakan alat yang mengotomatiskan Kubernetes. Otomatisasi untuk pembuatan Klaster adalah hal yang diperlukan. Untuk melakukannya, Anda dapat menggunakan API AWS, alat AWS seperti AWS CloudFormation, atau CDK. Banyak pelanggan menggunakan teknologi seperti Terraform. Cetak Biru AWS EKS adalah contoh akselerator untuk Terraform dan CDK, untuk pembuatan klaster dan add-on. Banyak pelanggan mulai mengadopsi alat GitOps, seperti Flux atau ArgoCD, untuk di-deploy dengan API Kubernetes dan menggunakan alat, seperti AWS Controllers atau Crossplane, untuk menyediakan sumber daya cloud native.
Ukuran dan Keterampilan Organisasi Beberapa korporasi melakukan standardisasi pada cloud utama serta memilih AWS Serverless terlebih dahulu karena meskipun mungkin memiliki uang/sumber daya untuk membuat tim SRE, mereka memilih mengoptimalkan ketangkasan dan mengurangi biaya operasi yang dilakukan menggunakan AWS. Korporasi menengah hingga besar (atau vendor perangkat lunak yang menjual produk yang dimaksudkan untuk beroperasi di cloud yang berbeda atau pusat data on-premise) sering menggunakan pendekatan yang mengutamakan Kubernetes. Pelanggan yang sukses biasanya berinvestasi lebih banyak pada tim infrastruktur dan SRE yang mengelola, menjalankan, serta memelihara banyak klaster.
Skalabilitas/Ketahanan Pelanggan AWS Lambda hanya membayar saat fungsi diinvokasi. Jika Lambda tidak cocok, Anda dapat menggunakan Fargate atau ECS. Menawarkan opsi lebuh lanjut dalam arsitektur perangkat keras, dan opsi harga komputasi (seperti Instans Spot AWS EC2). Pendekatan Kubernetes di AWS dapat berupa Well-Architected untuk mencapai kebutuhan performa, skalabilitas, dan ketahanan Anda. EKS juga menawarkan kemampuan untuk menggunakan opsi, seperti Spot AWS EC2 dan Graviton.
Keamanan Pendekatan AWS Serverless memanfaatkan keamanan, jaringan, dan praktik AWS. Pendekatan Kubernetes memerlukan pemahaman tentang Keamanan Kubernetes dan Keamanan AWS serta overhead operasional tambahan, seperti pemetaan Kebijakan Keamanan Kubernetes ke Kebijakan AWS, pengamanan citra kontainer dan runtime, serta validasi alat kontainer pihak ketiga.  

Saat membangun aplikasi modern baru atau memodernisasi aplikasi yang ada, arsitek dan developer memiliki blok bangunan dalam jumlah besar, dan salah satu yang paling penting adalah pilihan layanan komputasi.

Mengetahui jenis beban kerja serta aplikasi yang dibuat dan di-deploy organisasi Anda adalah faktor utama dalam pilihan strategi pengembangan aplikasi modern Anda. Setiap beban kerja memiliki karakteristik dan persyaratan yang berbeda. Misalnya, beban kerja pemrosesan dokumen memiliki persyaratan latensi dan waktu aktif yang sangat berbeda dari situs web transaksional.

Langkah 5: Hindari kesalahan umum

Memahami standardisasi di lingkungan Anda

Banyak organisasi yang menjalankan banyak pola beban kerja ingin melakukan standardisasi pada serangkaian pola yang dapat mereka dukung dan jalankan secara efektif. Beberapa organisasi besar mencoba untuk melakukan standardisasi opsi komputasi dan memilih platform default untuk menjalankan sebagian besar beban kerja, dengan memberikan pengecualian bila diperlukan.

Standardisasi dapat membantu memberikan konsistensi dan meminimalkan jumlah orang dengan keterampilan khusus yang perlu direkrut organisasi. Langkah ini bisa menjadi pilihan komputasi yang disukai, sementara opsi lain hanya dipertimbangkan jika pilihan yang disukai tidak berfungsi. Sering kali, pilihan standar dapat mendukung serangkaian beban kerja secara efektif, tetapi akan bermasalah dengan rangkaian lainnya. Oleh karena itu, beberapa organisasi akan mendukung banyak opsi atau pola beban kerja untuk memungkinkan pilihan beban kerja atau developer.

Memahami integrasi di lingkungan Anda

Beberapa organisasi umumnya menghabiskan lebih banyak waktu daripada yang diinginkan untuk mempertahankan integrasi sumber terbuka.

Kami menyarankan Anda untuk mempertimbangkan sumber komunitas, dan/atau dukungan dari perusahaan atau yayasan saat melakukan investasi ini. Investasi dalam proyek-proyek ini tidak hanya bersifat finansial, tetapi juga investasi dalam modal pengetahuan dan mungkin juga utang teknis, karena komponen-komponen ini dan integrasi yang terkait biasanya perlu diperbarui. Untuk informasi selengkapnya, lihat blog AWS Open Source.

Memahami karakteristik arsitektur Anda

Kemampuan untuk mendukung berbagai arsitektur itu penting. Kami sarankan Anda untuk memanfaatkan Kerangka Kerja AWS Well-Architected sebagai panduan untuk membantu memahami pro dan kontra keputusan yang dibuat saat membangun sistem di AWS. Selain itu, menggunakan Framework ini memungkinkan Anda mempelajari praktik terbaik arsitektur untuk mendesain serta mengoperasikan sistem yang andal, dapat diskalakan, aman, efisien, dan hemat biaya di Cloud.

Langkah 6: Tentukan pendekatan Anda

Berdasarkan ukuran organisasi dan beban kerja, pola, serta kebutuhan bisnis, Anda mungkin perlu memilih elemen tertentu dari kedua pendekatan, atau meminta tim yang berbeda menggunakan pendekatan yang berbeda juga. Sudah menjadi hal yang umum untuk memiliki tim yang menggunakan strategi yang berbeda.

AWS Serverless dengan AWS

  • Gunakan layanan dan alat terkelola AWS sebagai pilihan pertama Anda, seperti AWS Lambda,AWS App Runner, Amazon ECS, serta AWS Fargate
  • Berinvestasilah dalam mengembangkan disiplin seputar AWS, termasuk penyediaan, DevOps, otomatisasi infrastruktur, keamanan, jaringan, dan observabilitas/operasi.
  • Tingkatkan produktivitas dan minimalkan beban operasional.

Kubernetes di AWS

  • Gunakan Kubernetes sebagai antarmuka platform komputasi utama Anda.
  • Adopsi disiplin dalam menjalankan dan mengelola beberapa klaster Kubernetes serta beban kerja dan alatnya, pola canggih seperti GitOps.
  • Integrasikan dengan ekosistem yang berbeda dan alat partner.
  • Pelanggan Kubernetes dapat menggunakan layanan AWS terkelola dan opsi komputasi lainnya, seperti AWS Lambda, untuk kasus penggunaan tertentu.

Implementasikan pendekatan Anda

Sekarang, setelah menentukan pendekatan yang paling sesuai dengan beban kerja untuk lingkungan Anda, kami sarankan Anda untuk meninjau sumber daya berikut agar dapat membantu Anda memulai pengimplementasian pendekatan.

  • Gambaran Umum Serverless di AWS
    Gunakan strategi nirserver untuk membangun aplikasi modern dengan cara yang meningkatkan ketangkasan di seluruh tumpukan aplikasi Anda. Panduan ini menyoroti nirserver untuk ketiga lapisan tumpukan Anda: komputasi, integrasi, dan penyimpanan data.
    Bangun Aplikasi Web Serverless
    Dalam tutorial ini, Anda akan mempelajari cara membuat aplikasi web nirserver sederhana menggunakan AWS Lambda, Amazon API Gateway, AWS Amplify, Amazon DynamoDB, dan Amazon Cognito.
    Lokakarya Praktik Langsung untuk Komputasi Nirserver
    Lokakarya gratis yang dipandu ini memperkenalkan dasar-dasar pembuatan aplikasi nirserver dan layanan mikro menggunakan layanan seperti AWS Lambda, AWS Step Functions, Amazon API Gateway, Amazon DynamoDB, Amazon Kinesis, dan Amazon S3.
    AWS Fargate: Komputasi Serverless untuk kontainer
    AWS Fargate adalah sebuah mesin komputasi nirserver dengan harga bayar sesuai pemakaian yang memungkinkan Anda fokus dalam membangun aplikasi tanpa perlu mengelola server. AWS Fargate kompatibel dengan Amazon Elastic Container Service (Amazon ECS) dan Amazon Elastic Kubernetes Service (Amazon EKS).
    Gambaran Umum AWS App Runner
    Gunakan AWS App Runner untuk membangun, melakukan deployment, dan menjalankan aplikasi web dan layanan API yang terkontainer tanpa pengalaman infrastruktur atau kontainer sebelumnya.
  • Pilih pendekatan Kubernetes
    Tinjau opsi Anda untuk menggunakan layanan Kubernetes yang dikelola Amazon Elastic Kubernetes Service (EKS) guna menjalankan Kubernetes di AWS Cloud dan pusat data on-premise.
    Memulai Amazon EKS
    Menyediakan panduan langkah demi langkah untuk memulai Amazon EKS dengan tautan ke blog, video, dan tutorial detail yang bermanfaat.
    Lokakarya Amazon EKS
    Dapatkan praktik langsung dengan petunjuk langkah demi langkah untuk memanfaatkan Amazon EKS secara maksimal.
    Memperkenalkan AWS Controllers for Kubernetes (ACK)
    ACK adalah alat yang memungkinkan Anda mengelola layanan AWS secara langsung dari Kubernetes. ACK mempermudah pembangunan aplikasi Kubernetes yang dapat diskalakan dan dengan ketersediaan tinggi yang menggunakan layanan AWS.
    Apa itu Layanan Red Hat OpenShift di AWS?
    Jelajahi penggunaan ROSA untuk membuat klaster Kubernetes menggunakan API dan alat ROSA, serta dapatkan akses ke layanan AWS yang luas dan mendalam.

    Praktik Terbaik

    Keamanan

    Keamanan adalah komponen yang sangat penting untuk mengonfigurasi dan memelihara klaster serta aplikasi Kubernetes. Amazon EKS menyediakan klaster Kubernetes yang aman dan terkelola secara default, tetapi masih perlu dipastikan bahwa Anda mengonfigurasi simpul dan aplikasi yang dijalankan sebagai bagian dari klaster untuk memastikan implementasi yang aman. Untuk informasi selengkapnya, lihat Panduan Praktik Terbaik Amazon EKS untuk Keamanan.

    Keamanan Host

    Gunakan Amazon Inspector, layanan manajemen kerentanan otomatis yang terus memindai beban kerja AWS untuk mencari kerentanan perangkat lunak dan paparan jaringan yang tidak diinginkan.

Apakah halaman ini membantu?