Menyederhanakan operasi - Menerapkan Layanan Mikro pada AWS

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menyederhanakan operasi

Untuk lebih menyederhanakan upaya operasional yang diperlukan untuk menjalankan, memelihara, dan memantau layanan mikro, kita dapat menggunakan arsitektur tanpa server sepenuhnya.

Menyebarkan aplikasi berbasis Lambda

Anda dapat menerapkan kode Lambda dengan mengunggah zip arsip file atau dengan membuat dan mengunggah gambar kontainer melalui UI konsol menggunakan URI gambar Amazon ECR yang valid. Namun, ketika fungsi Lambda menjadi kompleks, artinya memiliki lapisan, dependensi, dan izin, mengunggah melalui UI dapat menjadi berat untuk perubahan kode.

Menggunakan AWS CloudFormation dan AWS Serverless Application Model (AWS SAM), AWS Cloud Development Kit (AWS CDK), atau Terraform merampingkan proses mendefinisikan aplikasi tanpa server. AWS SAM, didukung secara native oleh CloudFormation, menawarkan sintaks yang disederhanakan untuk menentukan sumber daya tanpa server.AWS Lambda Lapisan membantu mengelola pustaka bersama di beberapa fungsi Lambda, meminimalkan jejak fungsi, memusatkan pustaka sadar penyewa, dan meningkatkan pengalaman pengembang. Lambda SnapStart untuk Java meningkatkan kinerja startup untuk aplikasi yang sensitif terhadap latensi.

Untuk menerapkan, tentukan kebijakan sumber daya dan izin dalam CloudFormation templat, artefak penerapan paket, dan terapkan templat. SAM Local, sebuah AWS CLI alat, memungkinkan pengembangan lokal, pengujian, dan analisis aplikasi tanpa server sebelum mengunggah ke Lambda.

Integrasi dengan alat seperti AWS Cloud9 IDE, AWS CodeBuild, AWS CodeDeploy, dan AWS CodePipeline merampingkan penulisan, pengujian, debugging, dan penerapan aplikasi berbasis SAM.

Diagram berikut menunjukkan penyebaran AWS Serverless Application Model sumber daya menggunakan CloudFormation dan alat AWS CI/CD.

Diagram menunjukkan AWS Serverless Application Model (AWS SAM)

Gambar 2: AWS Serverless Application Model (AWS SAM)

Mengabstraksi kompleksitas multi-tenancy

Dalam lingkungan multi-penyewa seperti platform SaaS, sangat penting untuk merampingkan seluk-beluk yang terkait dengan multi-tenancy, membebaskan pengembang untuk berkonsentrasi pada pengembangan fitur dan fungsionalitas. Ini dapat dicapai dengan menggunakan alat seperti AWS Lambda Layers, yang menawarkan pustaka bersama untuk mengatasi masalah lintas sektor. Alasan di balik pendekatan ini adalah bahwa perpustakaan dan alat bersama, bila digunakan dengan benar, mengelola konteks penyewa secara efisien. 

Namun, mereka tidak boleh meluas ke enkapsulasi logika bisnis karena kompleksitas dan risiko yang mungkin mereka perkenalkan. Masalah mendasar dengan pustaka bersama adalah meningkatnya kompleksitas seputar pembaruan, membuatnya lebih menantang untuk dikelola dibandingkan dengan duplikasi kode standar. Oleh karena itu, penting untuk mencapai keseimbangan antara penggunaan perpustakaan bersama dan duplikasi dalam pencarian abstraksi yang paling efektif.

Manajemen API

Mengelola APIs dapat memakan waktu, terutama ketika mempertimbangkan beberapa versi, tahapan siklus pengembangan, otorisasi, dan fitur lain seperti throttling dan caching. Selain API Gateway, beberapa pelanggan juga menggunakan ALB (Application Load Balancer) atau NLB (Network Load Balancer) untuk manajemen API. Amazon API Gateway membantu mengurangi kompleksitas operasional pembuatan dan pemeliharaan RESTful APIs. Ini memungkinkan Anda untuk membuat APIs secara terprogram, berfungsi sebagai “pintu depan” untuk mengakses data, logika bisnis, atau fungsionalitas dari layanan backend Anda, Otorisasi dan kontrol akses, pembatasan tarif, caching, pemantauan, dan manajemen lalu lintas dan berjalan tanpa mengelola server. APIs

Gambar 3 menggambarkan bagaimana API Gateway menangani panggilan API dan berinteraksi dengan komponen lain. Permintaan dari perangkat seluler, situs web, atau layanan backend lainnya dialihkan ke CloudFront Point of Presence (PoP) terdekat untuk mengurangi latensi dan memberikan pengalaman pengguna yang optimal.

Diagram yang menunjukkan alur panggilan API Gateway

Gambar 3: Alur panggilan API Gateway