Layanan mikro - Menerapkan Layanan Mikro di AWS

Layanan mikro

API adalah pintu depan layanan mikro, yang berarti bahwa API berfungsi sebagai titik masuk untuk logika aplikasi di balik satu set antarmuka program, biasanya API layanan web RESTful. API ini menerima dan memproses panggilan dari klien, dan mungkin menerapkan fungsionalitas, seperti manajemen lalu lintas, pemfilteran permintaan, perutean, caching, autentikasi, dan otorisasi.

Penerapan layanan mikro

AWS memiliki komponen terintegrasi yang mendukung pengembangan layanan mikro. Dua pendekatan yang populer diterapkan menggunakan kontainer AWS Lambda dan Docker dengan AWS Fargate.

Dengan AWS Lambda, Anda mengunggah kode dan membiarkan Lambda mengurus semua yang diperlukan untuk menjalankan serta menskalakan penerapan guna memenuhi kurva permintaan Anda yang sebenarnya dengan ketersediaan tinggi. Administrasi infrastruktur tidak diperlukan. Lambda mendukung beberapa bahasa pemrograman dan dapat dipanggil dari layanan AWS lain atau dipanggil langsung dari web atau aplikasi seluler apa pun. Salah satu keuntungan terbesar AWS Lambda adalah Anda dapat bergerak cepat: Anda dapat berfokus pada logika bisnis karena keamanan dan penskalaan dikelola oleh AWS. Pendekatan dogmatis Lambda akan mendorong platform yang dapat diskalakan.

Salah satu pendekatan yang umum untuk mengurangi upaya operasional untuk deployment adalah deployment berbasis kontainer. Teknologi kontainer, seperti Docker telah meningkat popularitasnya dalam beberapa tahun terakhir karena manfaat, seperti portabilitas, produktivitas, dan efisiensi. Kontainer dapat cukup sulit untuk dipelajari dan Anda harus memikirkan perbaikan keamanan untuk image dan pemantauan Docker Anda. Amazon Elastic Container Service (Amazon ECS) dan Amazon Elastic Kubernetes Service (Amazon EKS) menghilangkan kebutuhan untuk menginstal, mengoperasikan, dan menskalakan infrastruktur manajemen klaster Anda sendiri. Dengan panggilan API, Anda dapat meluncurkan dan menghentikan aplikasi yang didukung Docker, mengkueri status lengkap klaster Anda, serta mengakses banyak fitur yang sudah dikenal, seperti grup keamanan, Penyeimbangan Beban, volume Amazon Elastic Block Store (Amazon EBS), dan peran AWS Identity and Access Management (IAM).

AWS Fargate adalah mesin komputasi nirserver untuk kontainer yang beroperasi dengan Amazon ECS dan Amazon EKS. Dengan Fargate, Anda tidak perlu lagi memikirkan penyediaan sumber daya komputasi yang cukup untuk aplikasi kontainer Anda. Fargate dapat meluncurkan puluhan ribu kontainer dan diskalakan dengan mudah untuk menjalankan aplikasi Anda yang sangat penting.

Amazon ECS mendukung strategi dan batas penempatan kontainer untuk menyesuaikan cara Amazon ECS menempatkan dan mengakhiri tugas. Batas penempatan tugas adalah aturan yang dipertimbangkan selama penempatan tugas. Anda dapat mengaitkan atribut, yang pada dasarnya adalah pasangan kunci-nilai, ke instans kontainer Anda lalu menggunakan batas untuk menempatkan tugas berdasarkan atribut ini. Misalnya, Anda dapat menggunakan batas untuk menempatkan layanan mikro tertentu berdasarkan tipe instans atau kemampuan instans, seperti instans yang didukung GPU.

Amazon EKS menjalankan perangkat lunak Kubernetes sumber terbuka versi terbaru, sehingga Anda dapat menggunakan semua plugin dan alat yang ada dari komunitas Kubernetes. Aplikasi yang berjalan di Amazon EKS sepenuhnya kompatibel dengan aplikasi yang berjalan di lingkungan Kubernetes standar apa pun, baik yang berjalan di pusat data on-premise maupun cloud publik. Amazon EKS mengintegrasikan IAM dengan Kubernetes, sehingga memungkinkan Anda mendaftarkan entitas IAM dengan sistem autentikasi native di Kubernetes. Tidak perlu menyiapkan kredensial secara manual untuk melakukan autentikasi dengan bidang kendali Kubernetes. Integrasi IAM memungkinkan Anda menggunakan IAM untuk langsung melakukan autentikasi dengan bidang kendali itu sendiri serta memberikan akses yang sangat terperinci ke titik akhir publik pada bidang kendali Kubernetes Anda.

Image Docker yang digunakan di Amazon ECS dan Amazon EKS dapat disimpan di (Amazon Elastic Container Registry (Amazon ECR). Amazon ECR membuat Anda tidak perlu lagi mengoperasikan dan menskalakan infrastruktur yang diperlukan untuk mendukung registri kontainer Anda.

Integrasi berkelanjutan dan pengiriman berkelanjutan (CI/CD) adalah praktik terbaik dan bagian penting dari inisiatif DevOps yang memungkinkan perubahan perangkat lunak yang cepat sambil mempertahankan stabilitas dan keamanan sistem. Namun, hal ini di luar lingkup untuk laporan resmi ini. Untuk informasi selengkapnya, lihat laporan resmi Praktik Integrasi Berkelanjutan dan Pengiriman Berkelanjutan di AWS.

AWS PrivateLink adalah teknologi yang berketersediaan tinggi dan dapat diskalakan yang memungkinkan Anda menghubungkan Virtual Private Cloud (VPC) secara privat ke layanan AWS yang didukung, layanan yang di-host oleh akun AWS lainnya (layanan titik akhir VPC), serta layanan partner AWS Marketplace yang didukung. Anda tidak memerlukan gateway internet, perangkat terjemahan alamat jaringan, alamat IP publik, koneksi AWS Direct Connect, atau koneksi VPN untuk berkomunikasi dengan layanan ini. Lalu lintas antara VPC Anda dan layanan tersebut tidak meninggalkan jaringan Amazon.

Tautan privat adalah cara yang bagus untuk meningkatkan isolasi dan keamanan arsitektur layanan mikro. Layanan mikro, misalnya, dapat digunakan dalam VPC yang sepenuhnya terpisah, berada di balik penyeimbang beban, dan diekspos ke layanan mikro lainnya melalui titik akhir AWS PrivateLink. Dengan penyiapan ini, menggunakan AWS PrivateLink, lalu lintas jaringan ke dan dari layanan mikro tidak pernah melintasi internet publik. Satu kasus penggunaan untuk isolasi tersebut mencakup kepatuhan terhadap peraturan untuk layanan yang menangani data sensitif, seperti PCI, HIPPA, dan Privacy Shield Uni Eropa/AS. Selain itu, AWS PrivateLink memungkinkan layanan mikro terhubung dari berbagai akun dan Amazon VPC, tanpa memerlukan aturan firewall, definisi jalur, atau tabel rute, sehingga menyederhanakan manajemen jaringan. Dengan memanfaatkan PrivateLink, penyedia Perangkat Lunak sebagai Layanan (SaaS) dan ISV juga dapat menawarkan solusi berbasis layanan mikro mereka dengan isolasi operasional yang menyeluruh dan akses aman.