Intermediate
Technology Selection
Memilih teknologi data yang tepat untuk kebutuhan bisnis
β±οΈ 20 min read
π
Updated Jan 2025
π€ By DataLearn Team
Mode Baca Pemula
Tujuan bab ini bukan hafal semua tool, tapi belajar cara memilih tool yang tepat.
- Pahami faktor keputusan (tim, biaya, risiko)
- Latih berpikir trade-off, bukan βtool terbaik universalβ
- Lihat studi kasus keputusan nyata
Kamus istilah: DE-GLOSSARY.md
Prasyarat Ringan
- Sudah mengenal komponen utama stack data (storage, ingestion, transform)
- Paham konsep biaya cloud dasar
- Pernah melihat perbedaan kebutuhan tim kecil vs besar
Istilah Penting (3 Lapis)
Istilah: TCO (Total Cost of Ownership)
Definisi awam: Total biaya nyata dari memakai suatu teknologi.
Definisi teknis: Akumulasi biaya lisensi, infrastruktur, operasional, maintenance, dan opportunity cost.
Contoh praktis: Tool gratis bisa lebih mahal jika butuh tim ops besar 24/7.
Istilah: Vendor Lock-in
Definisi awam: Sulit pindah dari satu vendor ke vendor lain.
Definisi teknis: Ketergantungan pada API/format proprietary yang menaikkan switching cost.
Contoh praktis: Query/model sangat spesifik vendor, migrasi jadi mahal dan lama.
Mengapa Technology Selection Penting?
Memilih teknologi yang salah bisa berakibat fatal: cost overrun, vendor lock-in,
dan team frustration. Sebaliknya, keputusan yang tepat akan membuat team productive dan
architecture scalable.
π‘ Golden Rule
"Pilih teknologi berdasarkan apa yang team-mu bisa maintain, bukan yang paling hype di tech news."
Decision Framework
π― 7 Key Factors dalam Memilih Teknologi
1. Team Capability
Apa yang team-mu sudah kuasai? Learning curve untuk teknologi baru?
2. Total Cost of Ownership
Bukan hanya license cost, tapi juga operational dan maintenance cost.
3. Cloud vs On-Prem
Regulatory requirements, existing infrastructure, scaling needs.
4. Build vs Buy
Apakah worth it building sendiri atau pakai managed service?
5. Integration Complexity
Seberapa mudah diintegrasikan dengan existing systems?
6. Common vs Edge Cases
Optimize untuk use case yang sering terjadi, bukan yang anomali.
7. Reversibility
Bisa migrate keluar kalau tidak cocok?
Factor 1: Team Capability Assessment
Sebelum memilih teknologi fancy seperti Kubernetes atau Spark, evaluasi dulu capability team-mu.
Technology adalah tool; yang penting adalah orang yang menggunakannya.
Team Capability Matrix
| Capability Level |
Characteristics |
Recommended Stack |
| Beginner |
Baru belajar data, familiar dengan SQL dan basic Python |
dbt + BigQuery/Snowflake + Airflow (managed) |
| Intermediate |
Pernah bangun pipeline, mengerti distributed systems basics |
Spark + Kafka + Airflow + Cloud DW |
| Advanced |
Bisa optimize performance, handle scale, troubleshoot complex issues |
Custom solutions, Kubernetes, self-managed clusters |
β οΈ Anti-Pattern: Resume-Driven Development
Jangan pilih teknologi hanya karena ingin terlihat keren di resume.
Pilih yang bisa solve problem dan di-maintain oleh team.
Factor 2: Total Cost of Ownership (TCO)
Banyak engineer hanya melihat sticker price (harga di website) tanpa memperhitungkan
biaya tersembunyi. Berikut komponen TCO yang harus diperhitungkan:
π TCO Components
Licensing / Subscription Cost
$X/month
Infrastructure (Compute, Storage)
$Y/month
Personnel (Engineers untuk maintain)
$Z/month
Training & Onboarding
$A (one-time)
Integration Cost
$B (one-time)
Opportunity Cost (waktu tidak produktif)
$C
Total Cost of Ownership
Sum of all above
Contoh: Managed vs Self-Hosted
| Aspect |
Managed Service (e.g., Confluent Cloud) |
Self-Hosted (e.g.,θͺε»Ί Kafka) |
| Monthly Infrastructure |
$2,000 |
$800 |
| Engineering Time |
~5 hours/month |
~40 hours/month |
| Hidden Cost |
Minimal |
On-call, upgrades, debugging |
| True Monthly Cost* |
~$3,000 |
~$5,000+ |
*Assuming engineer cost $100/hour
Factor 3: Cloud vs On-Premises
βοΈ AWS
Market leader, most services, complex pricing
βοΈ Google Cloud
Best-in-class AI/ML, BigQuery, Kubernetes
βοΈ Azure
Enterprise integration, hybrid cloud
π’ On-Prem
Full control, regulatory compliance, higher upfront cost
When to Choose What?
| Pilih Cloud Jika... |
Pilih On-Prem Jika... |
| β’ Variable workload (butuh scale up/down) |
β’ Strict data sovereignty requirements |
| β’ Butuh quick time-to-market |
β’ Predictable, steady workload |
| β’ Limited ops team |
β’ Existing data center investment |
| β’ Want latest tech without maintenance |
β’ Ultra-low latency requirements |
Factor 4: Build vs Buy
π€ Build vs Buy Decision Tree
Buy (SaaS/Managed): Jika...
- Ada mature solution di market
- Bukan core competency perusahaan
- Butuh quick deployment
- Cost of build > 3x cost of buy
Build (Custom): Jika...
- Unik requirements yang tidak ada di market
- Core competitive advantage
- Existing expertise dan infrastructure
- Security/privacy requirements spesial
Factor 5: Integration Complexity
Teknologi baru harus bisa berintegrasi dengan existing stack. Evaluasi:
- API compatibility - REST, GraphQL, gRPC?
- Authentication - SSO, OAuth, LDAP integration?
- Data formats - JSON, Parquet, Avro, Protocol Buffers?
- Monitoring - Bisa integrate dengan existing monitoring stack?
Factor 6: Optimize for Common Cases
β
Best Practice
Design untuk 95% use case, handle 5% edge case dengan workaround.
Contoh: Jika 95% query-mu adalah aggregation sederhana pada time-series data,
jangan pilih database yang optimized untuk complex graph traversal hanya karena
ada 1 use case yang butuh itu.
Factor 7: The Reversibility Principle
Salah satu prinsip penting dari "Fundamentals of Data Engineering":
pilih teknologi yang bisa diubah di kemudian hari.
π Making Decisions Reversible
- Avoid proprietary formats - Gunakan open formats (Parquet, ORC, JSON)
- Abstract vendor-specific code - Wrap dalam internal libraries
- Keep data portable - Jangan trap data dalam proprietary systems
- Start small - Pilot dengan subset data sebelum full migration
Case Study: Tokopedia's Technology Evolution
π From Startup to Enterprise Scale
Phase 1 (Startup):
- Single PostgreSQL instance
- Simple cron jobs untuk ETL
- Reason: Team kecil, quick iteration
Phase 2 (Growth):
- Migration ke MySQL dengan sharding
- Introduce Airflow untuk orchestration
- Reason: Single DB tidak cukup, butuh scheduling yang reliable
Phase 3 (Scale):
- BigQuery untuk analytics
- Kafka untuk real-time streaming
- Spark untuk big data processing
- Reason: Data volume terlalu besar untuk traditional ETL
Decision Checklist
β
Before Making a Technology Decision
- β Sudah assess team capability objectively?
- β Sudah hitung TCO (bukan hanya license)?
- β Sudah evaluasi integration complexity?
- β Sudah pertimbangkan reversibility?
- β Sudah buat proof-of-concept?
- β Sudah consult dengan team yang akan maintain?
- β Sudah identifikasi exit strategy?
Decision Framework: Technology Selection
| Decision Point |
Pilih Opsi A Jika... |
Pilih Opsi B Jika... |
| Open source vs Managed SaaS |
Tim punya kapasitas operasi dan butuh kontrol tinggi |
Prioritas delivery cepat dan beban ops minimal |
| Best-of-breed vs Integrated suite |
Use case spesifik butuh capability mendalam |
Ingin integrasi cepat dan governance lebih sederhana |
| Short-term speed vs Long-term flexibility |
Target bisnis mendesak dengan horizon pendek |
Skalabilitas multi-tahun jadi pertimbangan utama |
Failure Modes & Anti-Patterns
Anti-Patterns Seleksi Teknologi
- Feature checklist only: mengabaikan operability dan team skill.
- No exit plan: lock-in tinggi tanpa strategi migrasi.
- Ignoring hidden cost: lisensi murah tapi biaya operasi mahal.
- Decision without pilots: memilih tanpa proof-of-concept realistis.
Production Readiness Checklist
Checklist Sebelum Finalisasi Tool
- Scoring matrix (capability, cost, risk, talent) terdokumentasi.
- Pilot/poc pada workload nyata sudah dijalankan.
- Security dan compliance fit tervalidasi.
- Runbook operasi dan support model jelas.
- Rencana migrasi/rollback sudah disiapkan.
- Ownership tool per tim/disiplin ditetapkan.
βοΈ Exercise: Technology Selection Scenario
Kamu adalah Data Engineering Lead di startup fintech dengan kondisi:
- Team: 3 data engineers (intermediate level)
- Data: 100GB/hari, expected 10x growth dalam 1 tahun
- Tech stack: Python, PostgreSQL, AWS
- Budget: Limited, but can justify untuk productivity tools
- Requirement: Real-time fraud detection + batch analytics
Tugas: Pilihkan technology stack yang tepat dan jelaskan alasannya!
π― Quick Quiz
1. Dalam menghitung TCO, komponen yang sering terlupakan adalah?
A. Licensing cost
B. Personnel cost untuk maintain
C. Compute cost
D. Storage cost
2. Reversibility principle berarti?
A. Menggunakan teknologi terbaru selalu
B. Memilih teknologi yang bisa diubah di masa depan
C. Tidak pernah mengubah keputusan teknologi
D. Menggunakan vendor lock-in untuk stabilitas
3. Kapan sebaiknya memilih Build daripada Buy?
A. Ada mature solution di market
B. Butuh quick deployment
C. Merupakan core competitive advantage
D. Tim tidak punya expertise
Kesimpulan
Technology selection adalah balance antara kebutuhan bisnis,
kemampuan team, dan constraint resources.
Tidak ada teknologi "terbaik" - yang ada adalah teknologi "terbaik untuk situasi ini".
Selalu ingat: Simple beats complex, working beats perfect, reversible beats permanent.
π References & Resources
Primary Sources
- Fundamentals of Data Engineering - Joe Reis & Matt Housley (O'Reilly, 2022)
Chapter 6: Selecting the Right Technology
Articles & Websites