Task 1: Microservices: "3 Perusahaan Teknologi yang Menerapkan Mikroservice Pada System atau Aplikasi Mereka "
NAMA : HANIFAH
NIM : 2301092019
KELAS : B
PRODI : D3 MANAJEMEN INFORMATIKA
JURUSAN : TEKNOLOGI INFORMASI
3 Perusahaan Teknologi yang Menerapkan Mikroservice Pada System atau Aplikasi Mereka, diantaranya :
1. Spotify
a. Latar Belakang:
Spotify, layanan streaming musik terkemuka, perlu berinovasi dengan cepat dan menyesuaikan pengalaman untuk ratusan juta pengguna dengan selera musik yang beragam. Arsitektur monolitik tidak akan mampu mendukung kecepatan dan personalisasi yang mereka butuhkan.
b. Arsitektur Mikroservis yang Digunakan:
Spotify membagi aplikasinya menjadi puluhan bahkan ratusan layanan kecil yang berfokus pada fungsi bisnis yang spesifik.
Contoh Mikroservis:
- User Service: Mengelola profil dan preferensi pengguna.
- Playlist Service: Menangani pembuatan, pengeditan, dan pengelolaan playlist.
- Search Service: Memproses pencarian lagu, artis, album, dan podcast.
- Artist Service: Mengelola halaman dan data artis.
- Radio Service: Bertanggung jawab untuk membuat stasiun radio berdasarkan lagu atau artis.
- Payment Service: Menangani langganan Premium.
c. Ciri Khas Arsitektur Spotify:
Squad: Seperti tim "two-pizza" Amazon. Setiap squad adalah tim lintas fungsi (backend, frontend, QA, dll.) yang memiliki satu atau beberapa mikroservis dan bertanggung jawab penuh atasnya, dari konsep hingga produksi. Setiap squad bertindak seperti startup mini.
- Model "Squad", "Chapter", "Tribe", dan "Guild": Ini adalah struktur organisasi yang mendukung arsitektur teknis mereka.
Tribe: Kumpulan dari beberapa squad yang bekerja pada area fitur yang lebih besar.
Chapter: Grup horizontal yang terdiri dari orang-orang dengan keahlian serupa (misalnya, semua backend engineer di sebuah Tribe) untuk berbagi pengetahuan.
Guild: Komunitas yang lebih longgar untuk berbagi minat di seluruh perusahaan (misalnya, Guild Keamanan).
- Kombinasi Teknologi: Spotify dikenal menggunakan banyak bahasa dan teknologi. Mereka banyak menggunakan Python dan Java untuk backend, serta Apache Cassandra untuk database yang terdistribusi dan mudah diskalakan.
d. Keuntungan untuk Spotify:
- Kecepatan dan Inovasi: Squad dapat merilis fitur baru dan melakukan eksperimen (seperti Discover Weekly) secara independen dan sangat cepat tanpa menunggu release dari tim pusat.
- Scalability: Layanan seperti streaming audio itu sendiri dapat dioptimalkan dan diskalakan secara terpisah dari layanan seperti pencarian atau sosial.
- Ownership dan Motivasi: Setiap squad merasa memiliki produknya, yang meningkatkan tanggung jawab dan motivasi.
2. Airbnb
a. Latar Belakang:
Airbnb tumbuh dari platform sederhana untuk menyewa kasur menjadi pasar global untuk pengalaman dan akomodasi. Untuk mendukung pertumbuhan ini dan kompleksitas bisnisnya (pembayaran, pencarian, messaging, verifikasi identitas, dll.), mereka harus beralih dari monolit Rails ke arsitektur mikroservis.
b. Arsitektur Mikroservis yang Digunakan:
Mereka memecah monolit Rails raksasa mereka menjadi banyak layanan yang lebih khusus.
Contoh Mikroservis:
- Listing Service: Mengelola pembuatan dan pengelolaan daftar properti.
- Search & Discovery Service: Bertanggung jawab untuk algoritma pencarian dan rekomendasi properti.
- Booking Service: Menangani seluruh alur pemesanan, ketersediaan, dan reservasi.
- Payment Service (Internal disebut "Slingshot"): Layanan yang sangat kompleks yang menangani pembayaran, split charge, dan pencairan dana untuk host di seluruh dunia dengan berbagai regulasi.
- Messaging Service: Mengelola komunikasi antara tamu dan host.
- Review Service: Menangani sistem ulasan dan rating.
c. Ciri Khas Arsitektur Airbnb:
- Fokus pada Decomposisi: Proses migrasi mereka sangat terencana. Mereka tidak langsung memecah semuanya, tetapi memilih modul-modul yang paling mendapat tekanan dan memisahkannya satu per satu.
- Service Mesh: Airbnb mengadopsi Envoy sebagai sidecar proxy untuk mengelola semua lalu lintas antar layanan (service-to-service communication). Ini memberikan kemampuan observability, keamanan, dan kontrol yang konsisten di semua mikroservis.
- API Gateway: Mereka membangun API Gateway yang canggih yang menjadi satu-satunya titik masuk untuk semua klien (aplikasi web dan mobile). Gateway ini menangani routing, autentikasi, dan agregasi data dari berbagai layanan backend.
d. Keuntungan untuk Airbnb:
- Keandalan (Reliability): Dengan memisahkan layanan pembayaran yang sangat kritis, mereka dapat memastikan bahwa masalah di layanan lain (misalnya, ulasan) tidak akan pernah mengganggu proses pemesanan dan pembayaran.
- Kecepatan Pengembangan Global: Tim yang berbeda dapat fokus pada area tertentu (misalnya, tim pengalaman bisnis di China dapat mengoptimalkan layanan untuk pasar lokal) tanpa mengganggu tim lainnya.
- Observability: Service mesh seperti Envoy memberi mereka visibilitas yang sangat detail tentang bagaimana layanan mereka berkomunikasi dan performanya, memudahkan debugging masalah yang kompleks.
3. Zalando
a. Latar Belakang:
Zalando adalah retailer fashion online terkemuka di Eropa. Sebagai perusahaan yang sangat cepat berkembang, mereka perlu memastikan bahwa tim engineering mereka yang besar (ratusan engineer) dapat bekerja secara paralel tanpa menabrak konflik dan bottleneck yang biasa terjadi dalam pengembangan monolit.
b. Arsitektur Mikroservis yang Digunakan:
Zalando melakukan transformasi radikal menuju "You Build It, You Run It" dan mengadopsi mikroservis sepenuhnya.
Contoh Mikroservis:
- Product Catalog Service: Mengelola informasi dan gambar produk.
- Cart & Checkout Service: Menangani keranjang belanja dan alur pembayaran.
- Logistics Service: Berintegrasi dengan mitra logistik untuk pengiriman dan pelacakan.
- Recommendation Service: Menyarankan produk kepada pelanggan.
- Customer Service: Mengelola data dan histori pelanggan.
c. Ciri Khas Arsitektur Zalando:
- API-First dan Open Source: Zalando sangat terkenal karena pendekatan "API-First" mereka. Mereka mendesain API secara matang sebelum kode ditulis. Banyak tool internal mereka bahkan di-open source, seperti:
- STUPS: Seperangkat tool dan panduan untuk menjalankan mikroservis di AWS dengan cara yang aman dan terotomatisasi.
- Zalando's RESTful API Guidelines: Pedoman mendetail untuk mendesain API yang mereka terbitkan secara publik, yang menjadi rujukan banyak perusahaan di dunia.
- Otonomi Tim yang Ekstrem: Setiap tim memiliki kendali penuh atas seluruh siklus hidup layanannya, termasuk memilih teknologi stack yang paling sesuai untuk masalah mereka (Polyglot Programming). Hal ini mendorong inovasi dan kepemilikan.
- Pembelajaran yang Transparan: Dengan membagikan perjalanan, kesuksesan, dan kegagalan mereka melalui blog teknikal dan open source, Zalando menjadi studi kasus yang sangat berharga bagi perusahaan lain yang ingin melakukan transformasi serupa.
d. Keuntungan untuk Zalando:
- Scalability Organisasi: Arsitektur ini memungkinkan perusahaan untuk menskalakan tim engineering-nya secara masif tanpa kehilangan kecepatan atau kualitas.
- Fleksibilitas Teknologi: Tim dapat memilih alat terbaik untuk pekerjaan mereka, yang mengarah pada solusi yang lebih optimal dan inovatif.
- Peningkatan Kecepatan Time-to-Market: Ratusan tim dapat mengembangkan, menguji, dan meluncurkan fitur baru secara independen dan simultan.
Komentar
Posting Komentar