Seri arsitektur evolusioner, bagian 1

Bagaimana konten ini?

“Saya punya ide yang hebat!”

Setiap startup dimulai dari sebuah ide. Sebelum Anda mulai khawatir tentang pendanaan atau staf atau distribusi atau berbagai hal lainnya, Anda memiliki ide baru yang segar dalam bentuk produk atau layanan yang menurut Anda berpotensi.

Jika ide Anda bergantung pada cloud, Anda memerlukan arsitektur cloud. Cetak biru ini akan membantu mengantarkan ide hebat Anda menjadi kenyataan dan, jika dibangun dengan baik, dapat berkembang bersama bisnis Anda seiring pertumbuhannya.

Untuk membantu membangun cetak biru yang kuat untuk ide Anda, seri empat bagian ini, Arsitektur Evolusioner, akan menunjukkan kepada Anda bagaimana sebuah perusahaan, yang diberi nama Example Startup, mempraktikkan ide mereka. Di bagian 1, kita akan melihat bagaimana mereka membangun sebuah produk layak minimum (MVP) untuk menguji minat pelanggan dan kecocokan pasar. Di bagian berikutnya, kita akan melihat bagaimana desain dan keputusan mereka berkembang seiring dengan perjalanan mereka dalam siklus hidup startup untuk memberikan solusi yang lengkap, dapat diskalakan, aman, sangat tersedia, dan berulang-ulang.

Mengirimkan MVP pertama Anda

Beberapa pengiriman produk pertama oleh startup biasanya mengikuti pendekatan bertahap. Pengiriman tersebut ditentukan oleh pendanaan, waktu, sumber daya, ukuran tim, serta pengetahuan dan pengalaman.

Pada tahap ini, Anda tidak boleh membiarkan kesempurnaan menghalangi hal yang baik dan memberikan solusi yang sederhana, tetapi fungsional. Untuk melakukan hal ini, Anda harus mengetahui cara mengidentifikasi keputusan pintu 1 arah dan pintu 2 arah, gagal cepat (fail fast) dan melakukan peralihan bila perlu, mengelola biaya, dan mempercepat waktu ke pasar.

Mari kita simak Example Startup dan lihat bagaimana mereka mendekati proses ini.

Ide
Ide Example Startup adalah membuat “pasar saham fantasi.” Mereka menggunakan liga olahraga fantasi sebagai dasar dan menerapkan gagasan investasi pasar saham. Mereka berencana mengadakan empat “turnamen” selama setahun.

Pada awal setiap kuartal, kohort investor baru memulai dengan jumlah dana yang sama. Pasar saham fantasi memungkinkan para investor ini untuk membuat pilihan investasi mereka (berdasarkan perusahaan dan simbol dari pasar saham riil) selama 3 bulan berikutnya. Pada akhir kuartal, para peserta diberi peringkat dan pemenang diumumkan.

Persiapan
Untuk mewujudkan ide mereka, kedua pendiri melakukan bootstrap startup mereka: mereka mengumpulkan tabungan mereka dan meminjam uang dari teman dan keluarga.

Satu pendiri, developer yang berpengalaman, mendapat cuti 3 bulan dari pekerjaannya. Cuti ini memungkinkannya untuk fokus pada solusi teknis yang sangat membantu. Namun, cuti ini juga ikut menentukan jadwal pengiriman pertama mereka.

Sekarang, hanya dalam waktu tiga bulan, ia dan rekan pendirinya, yang memiliki latar belakang di bidang keuangan, harus memutuskan fitur mana yang akan disertakan dalam MVP dan membangun produk mereka. Untuk memulai, mereka memutuskan 1) fitur apa saja yang mutlak diperlukan untuk produk yang dapat digunakan dan 2) fitur apa saja yang memungkinkan mereka mengukur kecocokan pasar dan minat pelanggan.

Mereka memutuskan hal-hal berikut:

  • Proses impor untuk simbol/perusahaan pasar saham dunia nyata yang dapat diperdagangkan oleh investor
  • Feed harga pasar harian
  • Mekanisme pendaftaran untuk pengguna
  • Antarmuka pengguna (UI) manajemen portofolio
  • Proses harian untuk perhitungan portofolio akhir hari
  • Proses harian yang menghitung peringkat

Pembangunan
Setelah menentukan ruang lingkup mereka, saatnya untuk membuat beberapa keputusan teknis tentang teknologi dan komponen yang dibutuhkan pasar saham fantasi. Kemudian, mereka akan membuat rencana implementasi dengan tonggak untuk peluncuran MVP.

Kerangka Kerja
Sebagai developer, salah satu pendiri Example Startup memiliki pengalaman dalam React, pustaka JavaScript untuk membangun antarmuka pengguna. Mengingat sebagian besar pengiriman MVP melibatkan pengembangan UI, menurutnya AWS Amplify terlihat sangat cocok. Dengan Amplify, tim mendapatkan dukungan bawaan untuk membangun dan melakukan hosting aplikasi React.js dengan banyak komponen yang dapat digunakan kembali. Amplify juga dapat membantu dengan backend dan dapat mengelola basis data yang berbeda, seperti Amazon DynamoDB, opsi fleksibel yang bagus untuk memulai, dan AWS AppSync untuk menghubungkan front-end dengan sumber data dan mengembangkan logika bisnis dengan mudah.

Domain
Dengan kerangka kerja yang sudah disiapkan, sekarang saatnya untuk mendapatkan nama domain. Amazon Route 53 membantu Example Startup untuk mengonfigurasi layanan DNS (Sistem Nama Domain) yang memiliki integrasi yang baik dengan layanan yang sudah mereka gunakan, serta dengan proses pendaftaran domain.

Eksperimen dan Manajemen Biaya
Tim dapat memenuhi sebagian besar kebutuhan awal mereka hanya dengan memilih layanan AWS yang sesuai dengan kasus penggunaannya. Luasnya layanan AWS memungkinkan Example Startup untuk bereksperimen dengan cepat dengan beberapa opsi dan membuat keputusan berdasarkan pengalaman.

Meski banyak layanan AWS memiliki tingkat gratis, tetapi beberapa eksperimen yang dilakukan Example Startup mungkin terlalu antusias. Ketika tagihan bulan pertama tiba, tim menyadari bahwa mereka perlu lebih memperhatikan biaya. Seperti dalam banyak kasus lain, solusi AWS tersedia untuk masalah ini: mereka mulai menggunakan layanan gratis AWS Budgets. Layanan membantu tim meningkatkan perencanaan dan manajemen biaya mereka dan menentukan peringatan yang secara mudah mengingatkan mereka tentang apa pun yang mungkin tidak sesuai dengan harapan mereka.

Data
Sebulan kemudian, Example Startup sudah memiliki banyak UI dan beberapa fitur terkait yang bekerja dengan data sampel. Selanjutnya, mereka akan membutuhkan proses batch yang akan melakukan pekerjaan berat dengan beberapa data nyata.

Setelah menemukan sumber data untuk memberikan informasi yang mereka butuhkan, tim ingin menyerap data secara otomatis. Melanjutkan dengan JavaScript sebagai bahasa pemrograman yang mereka pilih, mereka ingin menjalankannya dengan sesuatu yang membuat aspek operasionalnya sesederhana mungkin.

Hal ini membawa mereka ke AWS Lambda. Tim tidak ingin mengkhawatirkan server pengoperasian dan penskalaan sehingga mereka mengambil pendekatan nirserver dengan fungsi Jadwalkan AWS Lambda yang menggunakan tutorial EventBridge.

Dengan itu, seperti yang ditunjukkan pada diagram arsitektur awal, mereka memiliki desain untuk layanan terkait data yang perlu dijalankan.

Pengujian
Tim ini membuat kemajuan besar. Arsitektur mereka berkembang, dan mereka merasa tidak khawatir dengan tenggat waktu 3 bulan.

Namun, seiring bertambahnya jumlah orang yang menguji solusi, mereka melihat adanya masalah. Seseorang di tim bertanya: “Berapa jumlah pengguna aktif dan berapa jumlah rata-rata transaksi per pengguna?” Namun, mereka tidak bisa benar-benar menemukan jawaban yang masuk akal. Mereka sepakat untuk “mengakalinya” dengan menjalankan kueri secara sementara langsung di konsol DynamoDB dan memulai “daftar keinginan” untuk iterasi berikutnya.

Peluncuran
Example Startup berhasil memenuhi tenggat waktu mereka dan meluncurkan MVP. Tidak lama kemudian, tim melihat daftar registrasi yang sangat banyak. Mereka sadar bahwa mereka menemukan sesuatu yang dapat menuntun pada kesuksesan, tetapi mereka membutuhkan bantuan untuk meningkatkan produk dan skala bisnis mereka.

Seorang teman menyebutkan AWS Activate, sebuah program yang menawarkan sejumlah manfaat bagi startup, termasuk kredit AWS, kredit paket dukungan AWS, dan panduan arsitektur.

Mereka mendaftar ke AWS Activate untuk mendapatkan bantuan yang dibutuhkan untuk tahap selanjutnya dalam perjalanan mereka.

Penutup

Example Startup telah mengalami banyak hal hanya dalam beberapa bulan. Selama proses pengiriman MVP pertama, banyak startup menghadapi tantangan yang serupa dengan yang diatasi oleh Example Startup.

Kami akan melanjutkan perjalanan mereka di blog mendatang dalam seri Arsitektur Evolusi. Pelajari bagaimana kebutuhan, tantangan, dan tujuan mereka berubah saat perusahaan membangun dan menskalakan.

Zoran Nakev

Zoran Nakev

Zoran adalah Senior Solutions Architect di AWS, yang bekerja terutama dengan Startups FinTech dan membantu mereka membangun solusi di platform AWS. Dia menggunakan pengalaman dan minatnya terhadap teknologi untuk membantu Startups dalam mencapai tujuan mereka. Dia tinggal di New Jersey bersama keluarganya dan menghabiskan waktu luangnya menonton film, mendengarkan musik, dan berjalan-jalan dengan anjingnya.

Aayzed Tanweer

Aayzed Tanweer

Aayzed adalah Solutions Architect di AWS, yang bekerja bersama pelanggan Startups di ruang FinTech dengan fokus khusus pada layanan analitik. Berasal dari Toronto, dia baru-baru ini pindah ke New York City, tempat dia menikmati makan di kota ini dan menjelajahi berbagai sudut dan celah kota yang unik.

Justin Plock

Justin Plock

Justin adalah Principal Solutions Architect di AWS, yang berfokus pada Startups fintech. Dia secara teratur bertemu dengan pendiri fintech untuk membantu memastikan bisnis mereka aman dan sesuai dengan peraturan industri. Sebelum bergabung dengan AWS, dia adalah Principal Solutions Architect di perusahaan asuransi Fortune 200 dan Director of Engineering di sebuah perusahaan keamanan siber. Dia bersemangat membantu Startups berkembang dengan aman dan efisien di AWS. Dia tinggal di Connecticut bersama istri dan dua putrinya.

Bagaimana konten ini?