Skip to content

Latest commit

 

History

History
103 lines (73 loc) · 7.92 KB

README-id.md

File metadata and controls

103 lines (73 loc) · 7.92 KB

Terjemahan

English | Bahasa Indonesia

🚀 Selamat datang di workshop Event-Driven Microservices bersama AWS

Dalam workshop ini, Anda akan membangun dan menerapkan serangkaian microservices sederhana dengan pendekatan arsitektur event-driven.

Tujuan utama dari workshop ini adalah untuk membangun fondasi untuk memperluas dan menskalakan arsitektur microservices dengan memanfaatkan komunikasi sinkron dan asinkron (synchronous and asynchronous communication) - dengan pola koreografi (coreography pattern) dan pola orkestrasi (orchestration pattern).

Isi workshop ini akan diperbarui secara berkala, dan jika Anda memiliki pertanyaan atau menemukan masalah dalam workshop ini, harap ajukan pertanyaan/masalah tersebut sebagai Issue.

Struktur Workshop

Repositori ini terdiri dari 3 workshop:

Lab 1: Pengiriman dan Penerimaan Dasar (Basic Dispatch Consume)

Dalam workshop ini, Anda akan membangun 2 fungsi AWS Lambda. Satu fungsi AWS Lambda (sebagai Produsen) akan mengirimkan (dispatch) event, dan satu Fungsi AWS Lambda (sebagai Konsumen) akan menerima (consume) event. Selain menerima event, Konsumen juga akan menulis log ke AWS CloudWatch Logs untuk memastikan aliran prosesnya berjalan dengan baik.

💻 Mulai Workshop Ini

Lab 2: Membangun Microservices Terkoreografi (Building Choreographed Microservices)

Sebagai kelanjutan dari workshop sebelumnya, pada workshop kali ini Anda akan membangun sistem yang lebih kompleks yang melibatkan beberapa microservices. Anda akan mempelajari cara menggabungkan komunikasi sinkron dan asinkron karena ini adalah pola yang umum digunakan dalam membangun microservices.

Anda akan membangun HTTP API dengan Amazon API Gateway dan AWS Lambda. Di latar belakang, HTTP API akan mengirimkan events ke Amazon EventBridge untuk pemrosesan backend. Events ini akan diterima oleh 4 microservices yang diwakili oleh beberapa fungsi AWS Lambda. Komunikasi antar microservices di backend akan berjalan secara asinkron dengan menerapkan pendekatan koreografi menggunakan Amazon EventBridge.

💻 Mulai Workshop Ini

Lab 3: Mengorkestrasi Microservices (Orchestrating Microservices)

Selain koreografi, kita juga perlu memahami pendekatan lain yang disebut orkestrasi. Di lab ini, Anda akan membuat sebuah state machine untuk mengelola orkestrasi antar microservices.

Dalam workshop ini, Anda akan membangun sistem perbankan sederhana yang memiliki 4 domain. Sistem ini bertujuan untuk melakukan penilaian dan validasi sebelum pembukaan rekening di sebuah bank.

Anda akan mempelajari cara menggunakan AWS Step Functions untuk membangun state machine untuk orkestrasi. Selain itu, Anda juga dapat menggunakan beberapa tipe status yang disediakan oleh AWS Step Functions.

💻 Mulai Workshop Ini


Tingkat Workshop

Workshop ini menyambut pengembang (developer) dari semua tingkatan.

Workshop ini disusun sebagai permainan teka-teki di mana Anda perlu melengkapi satu set kode yang belum lengkap menjadi suatu kode yang lengkap. Ini adalah desain yang disengaja untuk membantu membangun pemahaman Anda tentang konsep tertentu dan membantu Anda memahami sumber daya yang diperlukan untuk mengembangkan dengan menggunakan layanan AWS.


🛑 Pertama-tama

Jika ini adalah kali pertama Anda menjalankan workshop ini, bagian ini adalah bagian penting yang perlu Anda baca sebelum melanjutkan.

⚠️

Harap pastikan bahwa lingkungan pengembangan Anda memenuhi persyaratan di bawah dan sudah dikonfigurasi dengan benar sebelum memulai workshop mana pun.

Persyaratan Workshop

Persyaratan Informasi Lanjutan Catatan
Akun AWS aktif Tautan Persyaratan wajib
AWS CDK Tautan Memerlukan Node JS
AWS CLI Tautan Membutuhkan akun AWS aktif. Harap konfigurasikan akun Anda seperti yang dijelaskan di halaman ini
Python 3.8 Tautan Sebagian besar workshop akan menggunakan Python 3.8
Boto3 Tautan Amazon Web Services (AWS) Software Development Kit (SDK) untuk Python
Node JS 10.30 atau versi lebih baru Tautan Node.js versi 13.0.0 hingga 13.6.0 are tidak kompatibel dengan AWS CDK

⚠️

Karena kita akan menggunakan AWS CDK secara ekstensif dalam workshop ini, harap konfigurasikan AWS CDK dengan benar untuk lingkungan pengembangan Anda.

Jika Anda belum melakukannya, silakan ikuti terlebih dahulu instruksi di sini.

Singkatnya, berikut ini adalah daftar prasyarat wajib yang harus Anda lakukan.

  • Install AWS CLI
  • Konfigurasikan AWS CLI dengan aws configure
  • Install Node JS
  • Install AWS CDK dengan npm install -g aws-cdk
  • Konfigurasikan AWS CDK dengan cdk bootstrap

Menjelajahi Workshop

Nama Lab Tingkat Durasi
Lab 0 - Pemeriksaan Persyaratan Semua tingkat 15 menit
Lab 1 - Pengiriman dan Penerimaan Dasar Pemula 15 menit
Lab 2 - Membangun Microservices Terkoreografi Menengah 30 menit
Lab 3 - Mengorkestrasi Microservices Menengah 15 menit

💡 PETUNJUK dan 😕 Anda kebingungan?

Untuk tugas yang lebih kompleks yang harus Anda selesaikan, akan ada 💡 PETUNJUK untuk memandu Anda menyelesaikannya. Seringkali, petunjuk tersebut juga akan menyertakan (beberapa) tautan untuk bacaan lebih lanjut.

Harap diingat bahwa jika Anda mengalami kebingungan dan tidak dapat melanjutkan ke langkah berikutnya, Anda selalu dapat melihat berkas referensi utama untuk melihat solusinya. Untuk akses yang mudah, 😕 Anda kebingungan? akan memandu Anda langsung ke solusinya.

Layanan AWS

Beberapa layanan AWS yang digunakan dalam workshop ini adalah sebagai berikut:

⚠️ Pembersihan

Workshop ini menggunakan layanan AWS yang sebagian besarnya tercakup dalam Tingkat Gratis (Free Tier) - HANYA jika akun Anda berusia kurang dari 12 bulan. Untuk akun yang sudah tidak memenuhi persyaratan kelayakan tingkat gratis, workshop ini mungkin akan menimbulkan beberapa biaya. Untuk meminimalkan biaya, pastikan Anda menghapus sumber daya yang digunakan dalam workshop ini setelah Anda selesai.

Semua lab di workshop ini menggunakan metode pembersihan standar dengan AWS CDK.

  1. Pergi ke masing-masing lab
  2. Ubah direktori menjadi cdk /
  3. Jalankan cdk destroy
  4. Jika dalam beberapa kasus Anda gagal membersihkan sumber daya, Anda harus membuka AWS CloudFormation dan menghapus stack CloudFormation secara manual.