Blog AWS Indonesia
Kapan Startup Harus Menggunakan Managed Service?
Kesalahan umum yang kami lihat dilakukan para founder saat memulai di AWS adalah mencoba menerapkan solusi mereka sendiri ketika managed service dapat digunakan sebagai gantinya. Dalam konteks AWS, managed service adalah layanan yang dibangun, di-maintain, dan dioperasikan oleh para ahli kami yang sangat terampil. Ini berbeda dengan solusi yang Anda deploy ke server Anda sendiri, di mana Anda bertanggung jawab atas manajemen dan operasi yang sedang berlangsung — situasi yang kadang-kadang disebut sebagai “rollong your own.”
Kita sering melihat developer menggunakan perangkat lunak dan open-source tools untuk membangun proof of concept mereka secara lokal. Namun, setelah tiba waktunya untuk hosting aplikasi mereka secara online, mereka perlu refactor bagian dari aplikasi untuk memanfaatkan layanan cloud atau membiarkan aplikasi apa adanya, yang seringkali menimbulkan lebih banyak pekerjaan operasional dan biaya yang lebih tinggi.
Sebelum memilih tech stack Anda, Anda harus mengevaluasi kemampuannya untuk menyesuaikan dengan bisnis Anda. Anda tidak ingin membangun minimum viable product (MVP), mendapatkan traksi, dan kemudian harus membangun ulang aplikasi Anda ketika memerlukan scaling. Jadi tanyakan pada diri Anda: Apakah arsitektur Anda masih berfungsi secara teknis dan finansial jika Anda berhasil?
Memilih pendekatan terbaik
Saat memilih arsitektur untuk aplikasi Anda, pertimbangkan pertanyaan-pertanyaan berikut. Menimbang faktor-faktor ini dapat membantu Anda memutuskan apakah lebih baik menggunakan managed service atau menerapkan solusi Anda sendiri.
- Pekerjaan operasional: Berapa banyak waktu dan pekerjaan yang diperlukan untuk maintain stack Anda? Pikirkan tentang tugas berulang seperti peningkatan versi, patch keamanan, update perangkat keras, dan deployment perangkat lunak. Apakah tugas-tugas ini akan memakan banyak waktu untuk Anda dan tim Anda? Ingat, waktu yang tidak dihabiskan untuk pekerjaan operasional dapat dihabiskan untuk membuat value bagi produk Anda.
- Biaya infrastruktur lebih awal dan dalam skala besar: Berapa biaya perusahaan Anda untuk menjalankan stacks pada berbagai tahap pertumbuhan? Ini sangat penting, karena sering kali menentukan berapa banyak modal yang perlu Anda kumpulkan dan seberapa menguntungkan bisnis Anda. Uang adalah raja, jadi semakin ramping perusahaan Anda semakin baik. Investor mencari perusahaan yang memanfaatkan layanan yang ada dan fokus pada pembuatan value.
- Kompleksitas: Jika Anda memilih stack tertentu, seberapa kompleks hal tersebut seiring berjalannya waktu? Anda ingin menjaga kompleksitas serendah mungkin, sehingga Anda dapat bergerak lebih cepat dan mengurangi risiko. Semakin banyak teknologi, produk vendor, dan perangkat lunak yang Anda gunakan dalam produk Anda, semakin besar dan memerlukan spesialisasi staf IT khusus, yang berpotensi meningkatkan biaya dan meningkatkan pekerjaan operasional secara keseluruhan.
- Membangun fitur dibandingkan dengan infrastruktur: Apakah menggunakan layanan tertentu membantu Anda membangun fitur lebih cepat untuk pelanggan Anda? Kecocokan produk di market sering kali berasal dari iterasi melalui fitur, bukan dari memiliki arsitektur yang sempurna. Tujuan kami di AWS adalah membantu Anda kembali menulis kode yang memberikan nilai bagi pengguna layanan Anda.
- Kelincahan: Seberapa cepat Anda dapat menerapkan fitur baru, dan seberapa cepat Anda dapat melakukan pivot jika perlu? Kelincahan adalah proposisi nilai utama dari cloud dan managed service. Anda dapat memindahkan pengaturan dengan cepat dan berinovasi lebih cepat menggunakan managed service.
- Keandalan: Anda tentu perlu memastikan bahwa Anda memiliki kesalahan sesedikit mungkin dalam aplikasi Anda, tetapi mempertahankan tingkat konsistensi dan keandalan itu bisa jadi sulit. Dengan managed service, pakar kami dengan skill yang tinggi fokus pada implementasi dan pengoperasian layanan, jadi Anda tidak perlu melakukannya.
- Ketersediaan: Apakah aplikasi Anda harus selalu aktif dan berjalan? Membuat aplikasi highly available tidaklah mudah. Jika data center Anda, availability zone, atau region down, apa yang terjadi pada aplikasi Anda? Managed service secara default memiliki fitur highly available dan dioperasikan oleh AWS sehingga Anda dapat merasa lebih tenang.
- Keamanan: Seberapa kuat postur keamanan Anda jika Anda menggunakan layanan Anda sendiri? Keamanan harus menjadi prioritas utama untuk bisnis Anda sejak hari pertama, tetapi ini adalah masalah yang sulit. Pekerjaan keamanan membuat banyak overhead dalam proses development dan dapat memperlambat inovasi. Di AWS, keamanan adalah prioritas nomor satu kami. Kami memiliki tim engineer keamanan khusus yang bekerja dengan tim produk untuk memastikan managed service kami seaman mungkin.
- Waktu ke market: Seberapa cepat Anda dapat merilis fitur baru? Menggunakan managed service berarti Anda tidak perlu membuat hal yang sudah ada dari awal, tetapi dapat lebih fokus pada penambahan value pada produk Anda.
- Portabilitas: Apakah Anda perlu memindahkan aplikasi Anda di on premise atau ke penyedia cloud lain? Dalam hal ini, Anda mungkin ingin mempertimbangkan untuk menggunakan cara rolling your own service. Namun, Anda masih dapat menggunakan managed service seperti Amazon Elastic Kubernetes Service (Amazon EKS), yang membantu Anda menjalankan container di AWS sehingga Anda tidak perlu mengelola cluster Kubernetes sendiri. Container kemudian dapat dengan mudah di-porting ke cluster Kubernetes lain di platform lain.
- Kustomisasi: Apakah Anda memerlukan kustomisasi tingkat tinggi untuk memenuhi kebutuhan bisnis Anda? Jika demikian, maka rolling your own service mungkin menguntungkan, karena Anda dapat menyesuaikannya dengan kebutuhan Anda. Namun, jika perubahan tersebut bukan kunci kesuksesan Anda, kami sarankan Anda mempertimbangkan untuk menggunakan managed service.
Keuntungan dari managed service
Sebelum Anda mulai menulis kode atau deploy perangkat lunak open-source ke server, Anda harus mengetahui opsi yang tersedia untuk Anda, sehingga Anda dapat mulai membangun dengan cara yang benar, bergerak cepat untuk mengalahkan market, dan membuat produk yang akan berkembang seiring dengan bisnis Anda. Ada baiknya untuk beralih dari mentalitas “bangun dulu” dan lakukan penelitian di awal untuk menentukan apa yang sedang berkembang sekarang, sebelum Anda berkomitmen untuk jalan ke depan.
AWS menyediakan managed service untuk sebagian besar use case umum, sehingga kemungkinan Anda dapat memanfaatkan solusi yang ada untuk aplikasi Anda. Sebagai aturan, kami sarankan Anda menggunakan managed service jika ada managed service yang memenuhi kebutuhan Anda.
AWS managed services juga memberikan tingkat keandalan dan ketersediaan yang tinggi, karena kami mengalokasikan banyak waktu, energi, dan resources ke dalam layanan yang kami tawarkan. Mengambil keuntungan dari layanan ini, daripada menerapkannya sendiri, dapat menghemat banyak pekerjaan berat, membuat Anda lebih tenang, dan memungkinkan Anda untuk fokus pada penciptaan value untuk bisnis Anda daripada berurusan dengan pekerjaan operasional. Model harga AWS juga dirancang agar Anda hanya membayar untuk apa yang Anda gunakan, menawarkan banyak kebebasan dan fleksibilitas. Ini memungkinkan Anda untuk menghindari biaya modal di awal yang besar, yang bisa berakibat fatal bagi startup Anda.
Keuntungan dari rolling your own
Seperti disebutkan sebelumnya, rolling your own solution memungkinkan tingkat penyesuaian dan kontrol yang lebih tinggi. Namun, kami sarankan Anda untuk mempertimbangkan pendekatan ini hanya jika hal ini memberikan keuntungan yang jelas untuk inti bisnis Anda. Akankah merancang dan menerapkan solusi Anda sendiri menghasilkan keunggulan kompetitif yang berkelanjutan?
Peraturan dan portabilitas juga merupakan faktor yang perlu dipertimbangkan, karena Anda mungkin memerlukan aplikasi Anda untuk menggunakan perangkat lunak tertentu atau di-hosting di on premise atau di region tertentu di dunia. Dalam kasus seperti itu, Anda mungkin ingin mengontrol dan mengoperasikan stack Anda, dan tidak terlalu bergantung pada penyedia eksternal.
Anda juga harus mempertimbangkan pengetahuan internal tim Anda, yang dapat mempercepat pengembangan awal. Jika tim Anda sangat berpengalaman dengan arsitektur tertentu, misalnya, mungkin lebih efisien untuk membangun aplikasi Anda dengan cara tersebut. Namun, Anda harus mempertimbangkan tidak hanya pembuatan awal, tetapi juga biaya jangka panjang dari pekerjaan operasional dan maintenance, karena ini akan menjadi sebagian besar dari total biaya Anda.
Kesimpulan
Untuk memulai agar menjadi sukses, pertimbangkan pendekatan cloud-native saat Anda memulai proyek. Meskipun anda tidak dapat menebak hal apa yang akan terjadi kedepan, pikirkan di mana aplikasi Anda akan di-hosting, managed service mana yang dapat Anda gunakan, dan bagaimana hal tersebut akan berjalan dalam skala besar. Kemudian pertimbangkan bahasa pemrograman, framework, perangkat lunak, dan tools yang Anda perlukan untuk membangunnya. Dengan pendekatan ini akan membantu Anda membuat keputusan terbaik untuk deployment awal Anda.
Artikel ini diterjemahkan dari artikel asli berjudul “When Should Startups Use a Managed Service?” yang ditulis oleh Nicolas Menciere.