Bridestory Menggunakan Kontainer di AWS untuk Meningkatkan Ketangkasan

Bridestory

Masalah Awal

Bridestory diluncurkan tahun 2014 sebagai tempat serbaada untuk mencari inspirasi tentang pernikahan dan terhubung dengan vendor potensial. Berkantor pusat di Indonesia, aplikasi Bridestory memiliki basis pengguna yang berkembang pesat dengan sekitar 700.000 pengunjung, termasuk pengguna di Filipina dan Singapura. Dua tahun pascapeluncuran, perusahaan rintisan ini mengalami masalah awal yang muncul dari arsitektur monolitiknya. Iterasi yang lambat dan kesulitan melakukan deployment dan penskalaan mengganggu waktu masuk pasar, yang menjadi prioritas utama. Bridestory telah membangun arsitektur aslinya di Amazon Web Services (AWS) Cloud dan mulai berkonsultasi dengan arsitek AWS Cloud tentang bermigrasi ke infrastruktur berbasis kontainer.

“Sejak akhir tahun 2018, kami telah mencapai metrik kami. Sebelumnya, kami membutuhkan rata-rata tiga pekan untuk meluncurkan satu fitur besar, tetapi kini developer kami diberdayakan untuk melakukan rilis kecil setiap hari, dengan tingkat kegagalan kurang dari 1 persen.”

Doni Hanafi, Direktur Teknologi (Chief Technology Officer), Bridestory

  • Tentang Bridestory
  • Bridestory adalah aplikasi web dan seluler yang dikembangkan untuk menginspirasi calon pengantin dan membantu mereka terhubung dengan vendor pernikahan. Situs ini memiliki hingga 700.000 pengunjung setiap bulan dan berkembang secara global, dengan pengguna di Indonesia, Singapura, dan Filipina. 

  • Keuntungan
    • Menjalankan deployment harian versus setiap 3 pekan
    • Mencapai tingkat kegagalan kurang dari 1%
    • Menskalakan secara otomatis untuk mengakomodasi basis pengguna yang berkembang secara global
    • Mempercepat waktu masuk pasar tiga kali lipat untuk merek baru
    • Meningkatkan produktivitas dan kepuasan pekerjaan karyawan, yang meningkatkan retensi
  • Layanan AWS yang Digunakan

Monolit ke Layanan Mikro

Doni Hanafi, Direktur Teknologi di Bridestory, bekerja dengan timnya untuk mulai membagi aplikasi menjadi layanan yang lebih kecil dan menyiapkan kontainer Docker dengan Amazon Elastic Container Service (Amazon ECS). Dengan waktu masuk pasar dan keandalan sebagai kriteria utamanya, Bridestory bertujuan melakukan deployment fitur yang lebih kecil setiap beberapa hari untuk menurunkan tingkat kegagalan.

Tiga hingga empat bulan pertama dihabiskan untuk menjelajahi tumpukan teknologi guna menemukan infrastruktur yang tepat untuk beban kerja yang ditargetkan, yang bertujuan untuk mendapatkan solusi yang akan meningkatkan ketangkasan dengan penskalaan otomatis. Perusahaan rintisan ini kemudian memulai pemisahan progresif, dimulai dengan membangun fitur baru di lingkungan layanan mikro. Bridestory menggunakan Amazon Relational Database Service (Amazon RDS) untuk menyimpan semua data transaksi, dan AWS Database Migration Service (AWS DMS) sangat membantu selama proses migrasi. Hanafi mengatakan, “Dengan menggunakan AWS DMS, kami dapat menyalin data secara waktu nyata, menyinkronkannya dari basis data Amazon RDS lama dalam monolit ke basis data layanan mikro baru. Selain itu, kami dapat membuat replikasi dengan mudah di Amazon RDS, di mana kami banyak menggunakannya untuk alat BI kami. Replikasi ini sangat andal, dan kami belum memiliki masalah data yang signifikan sejauh ini.”

Arsitektur Sama, Merek Berbeda

Arsitektur layanan mikro yang baru telah mentransformasikan operasi. Hanafi melaporkan, “Sejak akhir tahun 2018, kami telah mencapai metrik kami. Sebelumnya, kami membutuhkan rata-rata tiga pekan untuk meluncurkan satu fitur besar, tetapi kini developer kami diberdayakan untuk melakukan rilis kecil setiap hari, dengan tingkat kegagalan kurang dari 1 persen.” Perusahaan ini juga meluncurkan aplikasi baru bernama Parentstory menggunakan infrastruktur terkontainernya. “Isolasi adalah kunci untuk model layanan mikro multi-penghuni baru kami,” ungkapnya. “Kami secara konsisten bersama arsitek AWS mengeksplorasi cara kami dapat menggunakan arsitektur yang sama dengan kode sumber yang sama, tetapi dengan merek, pelanggan, dan basis data yang benar-benar berbeda.” Dengan pendekatan “yang didaur ulang” ini, tim dapat meluncurkan aplikasi Parentstory hampir tiga kali lebih cepat dibandingkan Bridestory.

Menggunakan AWS, tim Hanafi juga menjadi lebih efisien. Hanafi menyimpulkan, “Saat ini, kami beralih ke Amazon Elastic Container Service for Kubernetes (Amazon EKS), yang memberi kami lebih banyak fleksibilitas dalam mengisolasi sumber daya. Dengan AWS, kami menemukan cara baru untuk belajar dan bereksperimen, yang merupakan kunci bagi rekayasawan dan berdampak pada retensi karyawan yang tinggi.”

Diagram di bawah mengilustrasikan infrastruktur AWS di Bridestory dan Parentstory:

Infrastruktur AWS di Bridestory dan Parentstory

Pelajari Selengkapnya

Untuk mempelajari selengkapnya, kunjungi Kontainer.