Kami mengalami masalah yang menarik beberapa tahun lalu. Kami adalah perusahaan yang sepenuhnya jauh dengan semua perangkat lunak kami di cloud. Dan kami memiliki serangkaian aplikasi Spring Boot yang berjalan pada kontainer dengan Infrastructure as Code Namun, kita membutuhkan ketangkasan bisnis.

Pasar pekerjaan global bergerak cepat, dan selalu ada permintaan untuk produk baru. Kami harus menemukan cara untuk terus memimpin di seluruh industri.

Kami adalah perusahaan teknologi dengan strategi yang berani

Pada tahun 2022, kami membuat ADR (Architecture Decision Record atau Catatan Keputusan Arsip) yang mengatakan, "mengutamakan tanpa layanan dan wadah sesuai kebutuhan." Dan memicu perdebatan di hampir 40 tim teknik.

Mari kita jelaskan beberapa terminologi terlebih dahulu

Pertama tanpa server bukan hanya fungsi sebagai layanan. Ini juga merupakan grup layanan terkelola dari penyedia cloud yang: 

  • Menurunkan biaya operasional dengan tidak mengelola infrastruktur

  • Skala sesuai kebutuhan, termasuk skala hingga nol untuk membuatnya sepenuhnya elastis

  • Memiliki harga elastis (Anda hanya membayar apa yang Anda gunakan) 

Di G-P, nirserver pertama mengacu pada penggunaan AWS Lambda, EventBridge, Step Functions, Fargate, SQS, SNS, API Gateway, S3, DynamoDB, dan lainnya.

Pertama-tama tanpa server berarti ketika kami memilih solusi untuk Komputasi, Penyimpanan, Perpesanan, atau yang serupa, kami ingin tim memulai dengan opsi nirserver. Catatan penting: Jika layanan nirserver tidak memenuhi kebutuhan, tim harus kembali ke layanan yang lebih berat — yang memerlukan investasi operasional lebih besar.

“Container-as-needed” menjelaskan bahwa nirserver-pertama tidak berarti nirserver-saja. Ada kalanya kita membutuhkan kontainer (misalnya menginstal produk perangkat lunak COTS) — dan itu tidak masalah.

Strategi teknologi yang memprioritaskan pelanggan

Kami bergerak dengan kecepatan yang gesit untuk memenuhi kebutuhan pelanggan dan pengguna kami. Layanan seperti Lambda, S3, dan DynamoBD sangat tangguh dan cepat. Dengan memindahkan pengangkatan berat yang tidak terdiferensiasi, kita dapat menghabiskan lebih banyak waktu membangun fitur bagi pengguna, daripada bekerja pada konfigurasi infrastruktur generik.

Prinsip utama di G-P adalah: "Anda membangunnya, Anda menjalankannya." Tim kami memiliki perangkat lunak mereka. Jadi, kami tidak hanya membuang perangkat lunak ke tim DevOps 

Manfaat “mengutamakan tanpa layanan”

Nirserver secara inheren didorong oleh peristiwa.

Arsitektur kami sepenuhnya didorong oleh peristiwa. Dengan menggunakan EDA (Event-Driven Architecture), kita dapat meningkatkan skala organisasi dan perangkat lunak kita. Nirserver memaksa kami untuk mempertahankan radius ledakan kecil dan berkomunikasi dengan cara cloud-native sepenuhnya melalui peristiwa

Memungkinkan kendala

Sebagai global employment platform , kita menganggap serius kepatuhan . Infrastruktur cloud kami Terrancang dengan Baik, dan kami menggunakan strategi multi-akun yang memisahkan beban kerja dan mengotomatiskan kepatuhan cloud. Nirserver membantu kami menegakkan standar tinggi dengan mengontrol cara kami menyediakan sumber daya cloud

Pindahkan pekerjaan

Penyedia cloud kami mengelola layanan nirserver kami. Satu set blok bangunan — terintegrasi, aman, disetel, diaktifkan, dan dipelihara oleh AWS — membebaskan kita untuk fokus lebih tinggi pada rantai nilai bagi pelanggan

Beban kerja yang diarsitektur dengan baik

Setiap beban kerja yang kami buat ditinjau dengan AWS Well-Architected Framework. Kami berfokus pada skala, keamanan, keandalan, dan optimalisasi biaya untuk memastikan bahwa kami tidak hanya memenuhi tetapi juga melampaui SLA (Service Level Agreement atau Perjanjian Tingkat Layanan) kami. Ini memberdayakan tim rekayasa kami seiring kami terus berkembang dengan lingkungan cloud. 

Tentang tim kami

Strategi teknologi kami ambisius, dan itu membuatnya menantang. Banyak teknisi tidak bekerja dalam arsitektur nirserver (atau arsitektur terdistribusi). Transisi ke arsitektur nirserver tidak mudah, dan kami mencari insinyur yang nyaman dengan pembelajaran, berpikir besar, dan bergerak cepat.

Beberapa teknisi tidak yakin tentang istilah nirserver (ya, kami tahu ada server) karena pendekatannya lebih dari sekadar menulis kode dalam fungsi Strategi kami memerlukan pendekatan holistik terhadap prinsip-prinsip cloud-native klasik.

Hasilnya

Kami telah membuat kemajuan luar biasa dalam dua tahun. Ada banyak manfaat untuk modernisasi (lihat artikel kami tentang AWS / nilai bisnis yang diketahui dari modernisasi cloud). Secara khusus, kami mengamati hal berikut:

1. Kecepatan: Cara kita memecahkan sistem memungkinkan tim dan produk berinovasi dan berkembang secara independen. Hal ini berdampak besar terhadap ketangkasan bisnis.

2. Kepatuhan: Kami menggunakan AWS Well-Architected Framework untuk meninjau semua beban kerja Karena kami menggunakan banyak Layanan Terkelola AWS, kami dapat mengandalkan keunggulan operasionalnya dan mulai dari tempat berkualitas tinggi

3. Pemikiran sistem: Kita harus menstandarkan banyak proses kita sehingga kita dapat beralasan tentang sistem, keandalan, dan nilai bisnis. Kita tidak menghabiskan waktu untuk mengerjakan komponen bernilai rendah.

4. Inovasi: Nirserver berarti semuanya adalah API. Batasan paksa ini memerlukan pendekatan yang mengutamakan API. Ketika kita menganggap diri kita sebagai platform, kita dapat mencapai tingkat inovasi baru dengan menghubungkan sistem dengan mudah melalui API, seperti mencolokkan G-P Gia™ ke basis pengetahuan baru.

5. Kepemilikan: AWS memiliki infrastruktur kami, tetapi kami memiliki domain bisnis kami Pertama tanpa server dengan desain berbasis domain telah memaksa kita untuk fokus pada masalah bisnis. Ini menjaga kepemilikan kapabilitas tetap jelas.

Pertama tanpa server tidak selalu lebih cepat, tetapi lebih bermanfaat. Kami lebih suka mengoptimalkan untuk kecepatan sistem daripada kecepatan pengembang individu Pertama-nirserver adalah kurang tentang menggunakan fungsi dan lebih tentang berpikir, “Kode adalah kewajiban. Sistem adalah asetnya.” Semakin sedikit kode yang harus kita tulis, semakin banyak kita dapat mempertimbangkan dan membentuk sistem bisnis yang kita bangun.

Saat kita berbagi cerita, kecepatan kerja kita akan terlihat jelas, yang merupakan hasil langsung dari pertama nirserver. Tetap ikuti.