Seperti yang telah dibahas pada artikel sebelumnya bahwa teknik pengolahan Big Data adalah dengan komputasi terdistribusi
Apa itu komputasi terdistribusi atau akrab dikenal dengan istilah distributed computing?
Pada kesempatan ini kita akan belajar tentang hubungan komputasi terdistribusi sebagai arsitektur untuk mengolah Big Data dan manfaat virtualisasi dalam support arsitektur ini
Contents
Horizontal Scaling
Horizontal Scaling adalah salah satu arsitektur yang digunakan untuk scaling system dengan menambah jumlah mesin / komputer
Traffic tinggi dapat membuat server menjadi down sehingga dibutuhkan scaling sistem. Jumlah data besar juga akan lebih mudah diproses jika dapat dibagi ke beberapa mesin lainnya
Jika resource sistem kurang cukup ditambahkan mesih baru.. itulah konsep Horizontal Scalling
Dalam pemrosesan Big Data, Horizontal Scaling merupakan keharusan yang harus digunakan
Ada istilah lain yang berlawanan dengan Horizontal Scaling yaitu Vertical Scaling
Vertical Scaling adalah arsitektur sistem untuk mengupgrade kapabilitas satu server dengan menambah RAM, CPU atau disk
Salah satu kelebihan Horizontal Scaling untuk Big Data adalah kemampuan untuk melakukan scaling adalah tidak terbatas. Jadi kita bisa memasang jumlah mesin / komputer sebanyak apapun ke dalam sistem
Komputasi Terdistribusi
Sebelum berlanjut ke komputasi terdistribusi kita akan membahas tentang sistem terdistribusi
Sistem terdistribusi adalah penganut model arsitektur Horizontal Scaling
Sistem terdistribusi adalah sistem yang komponennya terdistribusi di beberapa mesin / tempat yang berbeda
Sistem terdistribusi memungkinkan untuk memproses data secara terdistribusi (distributed computing) sehinga task dapat dibagi ke beberapa mesin untuk diolah dengan cepat karena ada pembagian tugas
Komputasi terdistribusi adalah komputasi yang dilakukan secara terdistribusi yaitu yang melibatkan lebih dari satu komputer
Yang harus diperhatikan dalam komputasi terdistribusi antara lain seperti network, latency, banwidth, security, cost
Berikut contoh komputasi terdistribusi
Misalnya kita mempunyai data yang berupa teks yang pada gambar diatas diilustrasikan dengan stage input
Data ini ingin kita proses agar kita bisa mengetahui ada kata apa saja yang muncul dan berapa banyak jumlahnya
Task untuk agregasi jumlah kata ini dapat diproses dengan membagi datanya ke beberapa mesin yang dalam contoh kasus ini dibagi menjadi 3 line
Setiap mesin selanjutnya memproses masing-masing job dan mengembalikan kembali setelah selesai mengerjakan tugasnya dan digabungkan lagi untuk hasil semua mesin
Dengan teknik ini, ouput agregasi dapat dihasilkan dengan cepat dan efisien
Virtualisasi
Virtualisasi memungkinkan menjalankan beberapa sistem operasi pada satu server fisik. Virtualisasi membuat virtual perangkat sumber daya seperti server, disk, jaringan, memory dan OS
Virtualisasi dalam komputasi terdistribusi dapat memudahkan untuk fleksibilitas, skalabilitas, dan cost yang lebih rendah
Virtualisasi dibutuhkan dalam Big Data karena mempunyai manfaat yang besar. Ada 3 karakter virtulisasi yang dapat menyupport proses di lingkungan Big data yaitu Partition, Isolation dan Encapsulation
Partition | Banyak aplikasi dan sistem operasi berjalan dalam 1 server fisik |
Isolation | Setiap virtual machine terisolasi dengan server fisik dan virtual machine lainnya |
Encapsulation | Virtual machine dapat direprentasikan dalam 1 file berdasarkan layanannya |
Bentuk Virtualisasi
Virtulisasi saat ini tidak hanya berkutat di seputar virtualisasi server. Ada beberapa bentuk virtualisasi antara lain adalah virtualisasi server, virtualisasi storage, virtualisasi OS dan virtualisasi aplikasi
Virtualisasi Server
Jenis virtualisasi ini adalah yang paling umum kita tahu yaitu membuat Satu server fisik dibagi menjadi beberapa virtual server
Dengan virtualisasi server kita dapat membagi sumber daya hardware setiap virtual server
Contoh virtualisasi ini adalah saat kita menggunakan Virtual Box / VMware untuk membuat virtual machine di atas OS kita
Dalam manajemen virtualisasi server dibutuhkan Hypervisor. Hypervisor merupakan perangkat lunak / keras digunakan untuk membuat dan menjalankan virtual machine
Contoh Hypervisor yang cukup terkenal antara lain adalah VMware, Virtual Box, Linux KVM, Microsoft Hyper V
Virtualisasi Storage
Virtualisasi storage biasanya digunakan untuk membuat kumpulan physical storage dianggap yang dianggap satu storage
Jadi seakan-akan kita menggunakan 1 storage tetapi sebenarnya banyak physical storage yang berada dibelakagnnya
Virtualisasi OS
Virtualisasi OS adalah Paradigma di mana kernel memungkinkan membolehkan keberadaan beberapa ruang pengguna yang terisolasi
Contohnya yang cukup terkenal saat ini adalah teknologi kontainer yang menjalankan aplikasi terisolasi di atas 1 kernel yang sama
Beberapa teknologi kontainer yang terkenal antara lain Docker, AWS Fargate, Google Kubernetes, Amazon ECS
Virtualisasi Aplikasi
Virtualisasi aplikasi adalah konsep dimana aplikasi dapat berjalan di bukan environment aslinya
Misalnya saya ingin menjalanakan Microsoft Word, Excel di lingkungan Linux
Sebenarnya aplikasi Microsoft Office hanya dapat berjalan di OS Windows dan MacOS tetapi kita dapat membuat virtualisasi aplikasi sehingga dapat berjalan di Linux
Dan pastinya tidak terbatas hanya di aplikasi Microsoft Office
Misalnya kita gunakan Linux Playon atau wine di Linux untuk aplikasi Windows
Oke cukup sekian tentang konsep komputasi terdistribusi dan virtualisasi serta perannya dalam pemrosesan Big Data
Semoga bermanfaat 😀