Thursday, March 26, 2015

Jenis-Jenis Virtual Machine Migration di VMware vSphere

Halo gan kali ini saya mau sedikit sharing tentang jenis-jenis migrasi virtual machine di platform vmware vsphere, buat yang masih bingung saya coba kasih pengertian dulu yah apa sih yang dimaksud virtual machine migration.

Migrasi/Migration Virtual Machine adalah teknik yang memungkinkan sebuah virtual machine itu dipindahkan dari sebuah host/datastore ke host/datastore yang lain. Nah, saya kasih gambaran sederhana kira2 seperti dibawah ini loh proses migrasi virtual machine itu :


Penjelasan :
Dari gambar yang saya buat diatas kira ada dua host yang masing-masing memiliki 3 buat virtual machine, Host-1 memiliki VM-A, VM-B, VM-C dan Host-2 memiliki VM-D,VM-E, VM-F. Pada skenario diatas VM-A dipindahkan dari Host-1 ke Host-2. Seperti ini lah kira2 gambaran sederhana bagaimana proses migrasi virtual machine bekerja.

Nah kita bakal berkenalan nih dengan jenis-jenis virtual machine migration di vSphere, jenis yang paling umum digunakan di dunia persilatan untuk migrasi virtual machine dalam platform vSphere itu ada 5 jenis, yaitu :
  • Cold Migration
  • Suspended Migration
  • vSphere vMotion (Change Host)
  • Storage vMotion 
  • Enhanced vSphere vMotion

Dari kelima jenis diatas saya akan coba memberikan gambaran dan penjelasan sederhana dari masing-masing jenis migrasi tersebut.

Cold Migration
Apaan sih cold migration? Cold migration adalah aktifitas memindahkan virtual machine dari sebuah host/datastore ke host/datastore yang lain dalam kondisi virtual machine dalam keadaan 'power off'. Jadi intinya kalo mau melakukan cold migration, shutdown dulu virtual machine yang mau dipindahin lalu migrasikan setelah virtual machine tsb mati. Pertanyaan selanjutnya kapan kita harus menggunakan cold migration? Apa keuntungannya? Cold migration digunakan biasanya untuk memindahkan virtual machine yang masih terasosiasi dengan perangkat virtual seperti disk virtual, selain itu cold migration sangat berguna apabila agan mau memindahkan virtual machine dari sebuah 'Datacenter Virtual' ke 'Datacenter Virtual' lainnya.

Suspended Migration
Jenis migrasi ini adalah jenis migrasi yang sama dengan cold migration, hanya saja apabila state di cold migration adalah 'power off' namun kalo di suspended itu state virtual machinenya adalah 'suspend' bukan 'power off'. Kapan harus make suspend migration? Kondisi yang sama bisa diterapkan ketika menggunakan suspend atau cold migration. Namun, saya sendiri lebih seneng cold migration ketimbang suspended migration, sepertinya suspend migration hanya memfreeze state virtual machine saja, oleh sebab itu cold migration sepertinya jauh lebih aman karna saya takut ketika aktifitas migrasi malah membuat file di dalam virtual machine tsb menjadi corrupt. Hehe

VSphere vMotion (Change Host)
Kalo dari kedua jenis sebelumnya kita ngebahas jenis migrasi yang mengharuskan sebuah virtual machine dalam keadaan off/suspend, maka pada jenis yang kali kita berkenalan sama fitur yang memungkinkan sebuah virtual machine di pindahkan dari sebuah host satu ke host yang lainnya dalam keadaan ON, atau istilah kerennya itu live migration

Saya mau kasih gambaran dulu gimana sih vMotion bekerja, coba perhatikan gambaran dibawah.


Dari gambar diatas kita bisa liat virtual machine dipindahkan dengan fitur vMotion ini dalam keadaan ON dari satu host ke host lainnya, nah kekurangan vMotion ini adalah memang untuk berhasil melakukan fitur ini temen-temen harus menggunakan shared storage. Coba liat gambar dibawah ini :


Kebayang kan? Mungkin bakal ada hambatan teknis memang apabila menggunakan fitur vMotion yang ini, intinya kalo mau melakukan vMotion jenis yang ini storage yang digunakan oleh kedua host harus bertipe shared storage. Selain itu ada syarat lain yang harus diperhatikan apabila ingin berhasil melakukan vMotion dengan mulus dan semringwing :
  • Virtual Machine gak boleh terconnected ke virtual device seperti USB, Floopy Drive, CD-ROM, Raw Device Mapping.
  • Virtual Machine gak boleh di konfigurasi sebagai CPU affinity. CPU affinity membuat sebuah VM gak bisa berpindah tempat.
  • Fitur vSphere vMotion harus bisa ngebuat swap file dulu di host tujuan, oleh sebab itu perhatikan network yang established antara kedua host dengan baik.
  • Virtual Machine gak boleh terconnected ke internal standard switch (virtual switch dengan zero uplink adapter).
  • Interface network yang digunakan minimal adalah interface yang berukuran 1GB di kedua host, hal ini merupakan salah satu hardware requirement, kalo pake 1GB ethernet engga pasti fail.

Storage vMotion
Fitur vMotion yang saya jelasin sebelumnya itu memindahkan VM dari satu Host ke Host yang lainnya, kalo Storage vMotion adalah fitur yang digunakan untuk memindahkan posisi Virtual Machine dari sebuah datastore ke datastore lainnya. Coba perhatikan gambar dibawah ini :


Storage vMotion menggunakan I/O mirroring architecture untuk mencopy disk block antara sources dan destination. Proses Storage vMotion melakukan single pass dari sebuah disk lalu mencopy semua block device dimana vm itu berada dari source datastore ke destination datastore. Jika blok berubah setelah proses copy, maka block akan di sinkronisasi dari source ke destination melalui mirror driver. Proses ini sebenernya merupakan algoritma yang dikembangkan vmware yang membuat proses perpindahan menjadi lebih cepat dengan cara single pass.

Enhanced vSphere vMotion
Fitur ini adalah salah satu fitur kesukaan saya dan biasanya paling sering digunakan di dunia persilatan, apabila di fitur vMotion yang saya jelasin sebelumnya harus menggunakan shared storage, maka Enhanced vSphere vMotion memungkinkan kita untuk memindahkan sebuah virtual machine dari sebuah host ke host yang lain meskipun tanpa menggunakan shared storage. Fitur jenis ini merupakan enhancement dari fitur sebelumnya yang dilakukan oleh vmware dalam produk mereka. 

Coba perhatikan gambar dibawah ini deh :


Secara logical kita bisa liat dari gambar diatas bahwa VM-A di pindahkan dari Host-1 yang tersimpan di Storage Host-1 ke Host-2 dan disimpan di dalam Storage Host-2. Ada beberapa syarat agar agan berhasil dengan mulus semringwing melakukan Enhanced vSphere vMotion ini.
  • Kedua host diatas (Host-1 & Host-2) harus dimanage dengan vCenter Server yang sama.
  • Kedua host diatas harus merupakan bagian dari Data Center Virtual yang sama. 
  • Kedua host diatas harus dalam satu L2 network (Interface VM kernelnya) dan switch yang sama apabila menggunakan VDS.
Kalo mau cobain Enhanced vSphere vMotion silahkan liat tulisan yang saya pernah buat sebelumnya disini.

Abis baca jenis-jenis diatas kebayang yah perbedaannya? Sebagai perbandingan saya lampirin juga nih buat agan tabel perbandingan dari jenis-jenis yang udah saya jelasin diatas.


Nah semoga bermanfaat yah buat agan hehehe.

Monday, March 23, 2015

Implementasi Standard Security Hardening di Linux

Pada sistem yang udah besar dan lebih kompleks maka melakukan proteksi terhadap server menjadi sangat penting untuk melindungi data yang kita miliki terutama dari serangan hacker/cracker yang jahil. 

Dibawah ini saya coba share sedikit yah tips untuk implementasi standard hardening di OS linux.

  • Gunakan Fitur 'Komunikasi Data' yang Sudah Terenkripsi.
    Sering di antara kita melakukan aktifitas transfer data tanpa memperhatikan keamanan dari aktifitas itu sendiri, seperti contoh meremote router dari bandara dengan Telnet, dsb. Saran saya untuk alasan security untuk aktifitas remote gunakan 'SSH' karna SSH memiliki fitur enkripsi yang setidaknya mampu melindungi password agan dari serangan seperti Sniffing dan Man-In-The-Middle-Attack.

    Gunakan Fitur yang Sudah Support Enkripsi pada Aktifitas Transfer Data 
    Gak jauh beda sih sama yang sebelumnya cuma saran saya usahakan untuk mengunakan SCP, Rsync, atau SFTP untuk transfer file antar node. Hal ini disebabkan karna command2 tersebut lebih aman ketimbang FTP karna SCP dan SFTP melakukan SSH dulu baru mentransfer file agan ke node tujuan dan ini menjadikan aktifitas transfer data menjadi lebih aman

    Hindari Menggunakan FTP, TFTP, Telnet, RLogin/Rsh Services
    Agan boleh aja melakukan telnet, FTP, dsb kalo masih di internal network agan meskipun enggak recommended, namun alangkah lebih baiknya gak usah digunakan sama sekali. Gunakan SSH untuk menggantikan telnet, gunakan SFTP untuk menggantikan FTP. Itu lebih baik untuk melindungi credentials akun agan.
    Bahkan kalo bisa dalam kondisi tertentu apus aja gan dengan command dibawah ini :
    # yum erase tftp-server telnet-server rsh-serve


  • Jangan Install Sembarangan Software/Services
    Kalo bisa install services/aplikasi yang bener2 dibutuhkan oleh agan di server agan tsb untuk meminimalisasi vulnerability. Gak mau kan kena malware atau aplikasi jahat semacamnya gara2 install aplikasi yang enggak jelas? Kalo bisa malah install paket-paket beserta dependencies agan dari source repository yang terpercaya!


  • Gunakan Security Extensions 
    Pada kebanyakan OS Linux ada security extensions bawaan linux yaitu SELinux, implementasi SELinux biasanya berbasis file context. Meskipun rata-rata di dunia persilatan implementasi SELinux jarang digunakan karna ribet, tapi ini bisa menjadi salah satu solusi kalo agan memang paranoid.

    Standard Implementation Notes :

    Konfigurasi selinux bisa diliat dari /etc/selinux/config Gunakan getenforce utk mengetahui selinux dalam keadaan enforcing/permissive/disabled.
    Gunakan command setenforce 0 untuk set ke permissive.
    Gunakan command setenforce 1 untuk set ke enforcing.


  • Solid Password Policy & Password Aging
    Apabila agan membuat password yang secure untuk sebuah system maka buatlah password yang terdiri dari kombinasi huruf besar-kecil, karakter dan angka. Konon katanya SSH bekerja dengan cara One-Way sehingga mungkin the only way untuk membobol server agan yang dengan cara brute-force (kalo celah lain sudah ditutup yah). Selain itu gunakan password aging, apa itu password aging? Password aging memungkinkan password yang digunakan oleh user-user lain itu kadaluarsa. Hal ini sangat penting loh, kita mana tau kalo sewaktu-waktu ada engineer yang udah resign terus jail matiin services yang sedang production? Who knows?

    Standard Implementation Notes :

    Gunakan command chage -M 99999 'username' untuk disabled password aging.
    Contoh, command chage -m 0 -M 120 -W 10 -I 20 'username'. Parameter yang bisa agan gunakan antara lain :
    -m : Nunggu x hari baru agan bisa ganti password
    -M : Masa aktif password
    -I : Masa tenggang password
    -E : Akun expired
    -W : Warning sebelum M days
    -d : Merupakan parameter last day, agan bisa setting jadi 0 kalo mau force user utk ganti password ketika mereka login lagi.


  • Cegah User Untuk Menggunakan Password yang Sama 
    Nah biasanya implementasi ini digunakan kalo password user sudah expired dan harus di recurring. Biasanya sangat recommended bahwa user sebaiknya tidak menggunakan password yang sama dengan yang dia gunakan sebelumnya.

    Standard Implementation Notes :

    Pada OS CentOS agan bisa ikuti panduan dibawah ini :

    - Pertama buat backup
    # cp /etc/pam.d/system-auth /root/system-auth.bak
    - Edit file system-auth
    # vi /etc/pam.d/system-auth
    ###Tambahin parameter dibawah ini ####
    password sufficient pam_unix.so use_authtok md5 shadow remember=13

    Setelah selesai quit dan save. Nah, konfigurasi diatas membuat OS linux dapat mengingat 13 password terakhir yang digunakan oleh user.


  • Pastikan Hanya User 'ROOT' yang memiliki UID 0
    Ini penting banged gan. pastikan cuma user root saja yang berhak memiliki akses keseluruhan sistem. Gunakan command seperti di screenshot dibawah ini :


    # awk -F: '($3 == "0") (print)' /etc/passwd
    Gimana kalo ada user selain root? Hapus gan! Gak mau kan jadi korban backdoor? hehe


  • Pastikan Semua Akun Memiliki Password
    Gunakan command ini gan
    # awk -F: '($2 == "") {print}' /etc/shadow


    Apa yang harus dilakukan kalo ada akun yang gak punya password? Agan bisa lakukan lock thdp akun tsb.
    # passwd -l accountName

  • Disable Root Login dan Ganti Port Standard Listen SSH 
    Biasanya ada juga hacker yang melakukan brute force dengan username root, gamau juga kan jadi korban beginian? Maka dari itu lakukanlah disabled root login. Gunakan sudo untuk maintain privilege user terhadap command2 tertentu. Selain itu port standard yang digunakan untuk SSH adalah 22, kalo bisa ganti dengan yang lain. Caranya adalah :

    # vi /etc/ssh/sshd_config###Ganti 2 parameter dibawah ini ###
    PermitRootLogin no
    Port 2210  ##2210 bisa diganti dengan angka favorit agan##


  • Limit User SSH 'Access'
    Ini sih kayanya cara strict gan cuma patut dicoba, misal yang boleh ssh ke sistem agan cuma arif dan jono maka kita bisa menambahkan/mengedit parameter di /etc/ssh/sshd_config dengan cara seperti dibawah ini :

    # vi /etc/ssh/sshd_config
    ###tambahkan/edit parameter dibawah ini####
    AllowUsers root arif jono


  • Kalo Bisa Gunakan Centralized Authentication Services
    Kalo di environment mikocok ada Active Directory kan? Di linux agan bisa menggunakan Open-LDAP dan kerberos. Dengan adanya centralize autentikasi service setidaknya user2 di tiap node jadi lebih mudah dikontrol ya gak sih? hehe


  • Pisahkan File dan Disk Partisi
    Maksud saya kalo bisa pisahkan partisi2 penting untuk system dan kebutuhan user. Sangat recommended direktori /var/ dan /home dibuat dengan partisi yang terpisah. Kalo perlu dan mau lebih strict bisa gunakan LUKS yang merupakan fitur untuk mengenkripsi file system.
    Selain itu kalo bisa untuk services yang sifatnya digunakan oleh orang banyak seperti FTP pisahkan saja dengan membuat partisi baru. Misal /ftp lalu mounting ke partisi baru agan, jangan lupa dibuat persistent dengan mengedit /etc/fstab yah dan yang paling penting jangan permission filenya juga harus diperhatikan yah.


  • Disabled IPv6
    Kalo enggak dibutuhkan lebih baik dimatiin, kenapa saya recommended untuk matiin? Karna kebanyakan dari kita kan masih menggunakan IPv4, bukan hal yang mustahil kan hacker ato orang iseng ngirim bad-traffic yang isinya macem-macem ke server kita melalui network IPv6.

    Langkah untuk mematikan IPv6 di CentOS :
    # vi /etc/modprobe.conf

    ###tambahin line dibawah ini#####
    install ipv6 /bin/true

    Setelah itu edit /etc/sysconfig/network
    # vi /etc/sysconfig/network
    ###Update/add line dibawah ini : ####

    NETWORKING_IPV6=no
    IPV6INIT=no


    Lalu reboot.

    Setelah itu pastikan bahwa IPv6 telah disabled.

    # lsmod | grep ipv6
    # ifconfig


  • Install IDS (Instrusion Detections System)
    Ini tahap terakhir gan, agan bisa gunakan IDS untuk memproteksi sistem agan. Banyak IDS yang gratis seperti snort dsb. 

Semoga ada pencerahan yah gan hehe.

Saturday, March 21, 2015

Broadcast Domain Dalam Jaringan Komputer

Pada artikel sebelumnya saya membahas tentang segmentasi jaringan, kali ini mari kita lanjut membahas mengenai apa itu broadcast domain. Dalam real-world scenario, broadcast storm dalam sebuah jaringan adalah salah satu musuh terbesar engineer sebab hal ini dikarenakan broadcast yang tidak terkontrol dapat mempengaruhi performance jaringan menjadi lebih buruk.

Dalam jaringan komputer broadcast itu artinya adalah pengiriman data dari sebuah host/komputer ke seluruh komputer di dalam sebuah jaringan, dan ini sangat mungkin terjadi pada jaringan yang dibentuk dengan menggunakan teknologi ethernet. Broadcast yang berlebihan akan membuat jaringan anda tergradasi dan jatuh performancenya, pada dasarnya broadcast dalam sebuah jaringan tidak dapat dihindari, oleh karna itu segmentasi menjadi penting ketika mendesain sebuah jaringan. Untuk lebih memahami apa itu broadcast dalam sebuah jaringan perhatikan gambar dibawah ini :


Dari gambar diatas terlihat satu komputer melakukan broadcast kepada 3 komputer dalam sebuah jaringan.
Lalu bagaimana bentuk broadcast domain? Bagaimana broadcast terjadi dalam real-world scenario? Nah coba perhatikan topologi dalam jaringan yang jumlah host/komputernya lebih banyak dibawah ini.



Dari gambar diatas terlihat host/komputer A mengirim data dan semua komputer dalam satu jaringan tersebut menerima broadcast dari host/komputer A. Dalam kasus diatas jumlah broadcast domain dalam network tersebut adalah 1 (satu) broadcast domain. Bagaimana contoh sebuah jaringan yang memiliki lebih dari 1 (satu) broadcast domain? Coba perhatikan contoh topologi dibawah ini.


Dari topologi diatas temen-temen bisa lihat ketika komputer A dalam jaringan 1 mengirim data, yang terkena broadcast hanya komputer2 yang ada di jaringan 1 saja, komputer yang ada di jaringan 2 tidak akan terkena broadcast dari komputer A di jaringan 1. Pada kasus diatas, router berperan memecah broadcast domain menjadi 2 (dua)broadcast domain. Meskipun terpisah menjadi jaringan yang berbeda, komunikasi data antara semua komputer diatas masih tetap dapat dilakukan.
Gimana teman-teman? Semoga dapet pencerahan yah setelah membaca ini. 
Semoga berguna yah..

Friday, March 20, 2015

Manajemen Access Control/User Privilege dan Konsep Identity Sources di VMware vCenter Server

Sekedar sharing sebelumnya mungkin ada temen-temen yang belum tau bahwa ketika kita menginstall vcenter server di windows server, pada saat instalasi bagian SSO kamu akan diminta mengisi form username & password dan setelah selesai akan terbuat domain vsphere.local. Nah domain tersebut adalah domain yg digunakan untuk super admin yang memaintain infrastruktur vmware kita dan biasanya digunakan untuk menentukan user privilege tiap2 administrator yang mengakses vcenter.
Nah saya akan coba menjelaskan 2 hal yaitu konsep identity sources dan implementasi manajemen user privilege

Sekilas Tentang Identity Resources 

Sebelumnya saya mau share sedikit arsitektur sederhana yang paling umum digunakan di dunia real.


NOTES :
Meskipun kamu bisa mengakses vcenter dengan vsphere-client namun menggunakan web-browser dan agentnya google-chrome adalah yang paling recommended,  mengapa mengapa lebih baik mengakses vcenter menggunakan web browser? Karna tab fitur yang tampil akan lebih lengkap ketimbang vsphere-client.

Nah balik lagi ke gambar diatas kamu akan mengakses vcenter namun pada proses autentikasinya sebelum kamu berhasil login sebenernya vcenter akan bertanya kepada SSO apakah user yang kamu gunakan untuk login valid atau tidak valid.

Coba perhatikan gambar dibawah ini :


Penjelasan Singkat :
Gambar diatas adalah model paling umum pada infrastruktur yang menggunakan environment vmware, terlihat terdapat 3 buah identity sources yaitu Active Directory Domain, Local User, Vsphere.local.
Nah Local User dan Vpshere.local akan tercipta secara default apabila kamu sudah berhasil menginstall vcenter.

Ketika user mengakses vcenter server, request tsb akan diteruskan ke modul yang menghandel SSO (Single Sign On). Modul inilah yang mengecek ke tiap2 identity sources apakah username dan password yang kamu masukan valid atau enggak. Apabila valid maka user akan berhasil login dan di redirect kehalaman admin home vcenter dan apabila tidak valid maka user tidak bisa login. 

Manajemen User Privilege

Nah apa sih hubungan manajemen user privilege sama identity sources ini? Sebenernya sih cuma biar temen-temen paham aja bahwa user-user yang bisa dikenali oleh vcenter ini sources itu yang paling umum adalah dari 3 tempat tersebut sehingga kamu bisa lebih mempunyai gambaran untuk menentukan privilege dari masing-masing user tsb.

OBJECT ORIENTED ENTITY RESOURCES
Nah balik lagi ke gimana cara manajemen user privilege di vcenter, kelebihan fitur vcenter dalam memanage privilege user adalah kemampuan memanage tiap-tiap resources-nya secara object oriented. Dalam artian seperti ini, ketika kamu mengakses vcenter tentu akan banyak objek contoh seperti dibawah ini :


Penjelasan singkat dari gambar diatas kira-kira seperti ini, Arif sebagai administrator junior bisa saja mengakses semua turunan resources dari Data Center Latihan, namun kita sebagai 'super administrator' juga bisa membuat arif  tidak bisa mengakses VM Prod03-2 misalnya dikarenakan sifatnya yg critical, seperti itulah kira2 gambaran yang saya maksud object oriented.

CONTOH IMPLEMENTASI

Sekarang saya coba kasih contoh manajemen privilegenya yah.
  • Setelah berhasil instalasi Vcenter coba masuk ke vcenter kamu lalu login sebagai administrator@vsphere.local

  • Setelah itu ke tab Administration -> Configuration, di tahap ini kamu bisa liat jumlah identity sources yang environment kamu miliki.





    Keliatan kan kalo di tab environment saya ada 3 identity sources hehe...
  • Setelah tau identity sources nya coba buat group, misal saya buat group namanya Bermain. Sekarang ke tab 'Users and Groups' lalu ketik tombol hijau untuk tambah group dengan nama 'Bermain'



  • Masih di tab yang sama, add member untuk group bermain, di contoh ini saya masukan user dari Identity Source Active Directory.



  • Setelah selesai sekarang saatnya memberi tahu object mana saja yang bisa dimanage oleh group bermain. Sebagai contoh dibawah ini saya akan memberi grup bermain dengan privileges administrator.

    Dari home tekan tab vCenter -> Host and Clusters akan muncul tab seperti dibawah ini, klik kanan pada object tsb. Di contoh ini karna di environment saya belum saya konfig apa2 ya saya beri grup bermain privilege administrator ke object vcenter.arifzulfikar.local









Setelah selesai klik OK maka group bermain dengan anggota arif@arifzulfikar.local dan eci@arifzulfikar.local bisa mengakses semua object di vcenter.arifzulfikar.local dengan privilage Administrator.
Semoga bermanfaat. :)

Saturday, March 14, 2015

Perbedaan Private Cloud, Public Cloud, dan Hybrid Cloud

Pada artikel kali ini saya mau sharing sedikit pengetahuan mengenai perbedaan Private CloudPublic Cloud, dan Hybrid Cloud. Nah sebelum membedah perbedaan dari ketiga jenis cloud tsb, kita harus memahami dulu definisi cloud computing, cloud computing biasanya erat sekali dengan teknologi virtualisasi. Cloud computing adalah sebuah model network access yang fleksibel yang mampu mengakses resources ke dalam sebuah pool yang telah disediakan kapanpun, dimanapun dan yang paling penting servicesnya mempunyai nilai tambah. Resources tersebut bisa dalam bentuk network, services, aplikasi, ataupun sebuah storage.
Nah bedasarkan jenisnya itu cloud terbagi menjadi tiga, yaitu private cloud, public cloud, dan hybrid cloud.

Private Cloud



Private cloud adalah sebuah organisasi yang mengimplementasikan dan memanage IT Infrastruktur melalui virtual system yang dibutuhkan. Apa saja yang di provide oleh infrastruktur tsb? Yang paling umum dalam sebuah corporate biasanya menyediakan sebuah services yang mampu diakses dalam intranet mereka sendiri dan posisinya itu dibelakang firewall corporate tsb. Contohnya : mail server, web server, aplication server, dsb.
Lalu apa keuntungan dari menggunakan sebuah private cloud?
  • Lebih aman karna resource yang kamu miliki hanya dapat diakses oleh internal organisasi kamu saja.
  • Performance yang lebih tinggi ketimbang public/hybrid cloud.
  • Self-service provisioning, infrastruktur tersebut bebas mau kamu deploy apapun yg sesuai dengan kebutuhan organisasi kamu.
  • Lebih mudah dikontrol ketimbang public/hybrid cloud.

Public Cloud


Public cloud biasanya adalah service pool yang disediakan oleh IT provider yang secara umum biasanya dalam satu pool tersebut isinya terdiri dari berbagai macam bisnis. Nah Cloud provider ini biasanya menyiapkan service melalui internet dan mirip sekali dengan ISP, contoh paling umum implementasi sebuah public cloud itu adalah web hosting. Sebenernya apabila perusahaan menggunakan public cloud keuntungannya hampir percis sama dengan private cloud, sehingga hasilnya perusahaan tsb seolah-olah menggunakan outsource IT yang sebenernya rata-rata dimaintain oleh orang-orang di provider tsb. Terkadang memang Security, SLA (Services Level Agreement), sampai Value Added Service yang ditawarkan si provider cloud tsb sering banged menjadi concern kita terutama dalam memilih cloud provider yang tepat apabila memang bisnis kita critical sifatnya, namun public cloud merupakan solusi terbaik biasanya bagi perusahaan-perusahaan kecil yang memiliki kendala di cost/biaya.
Lalu lagi sih apa keuntungan menggunakan public cloud?
  • Lebih murah, coba bandingkan dengan pengunaan private cloud selain harus menyediakan infastruktur sendiri kamu harus memikirkan biaya operational seperti listrik, biaya engineer dsb apabila menggunakan private cloud. 
  • Gak perlu pusing mikirin resources, provider udah punya biasanya engineer yang siap membantu kamu.

Hybrid Cloud


Gambar diatas saya ambil dari konsep salah satu platform, apa sih hybrid cloud? Hybrid cloud itu contohnya adalah sebuah organisasi yang punya sebuah infrastruktur cloud yang bukan hanya bisa diakses oleh intranet mereka saja namun juga dapat diakses dari internet, tentu yang dapat mengakses harusnya hanya orang-orang yang punya kepentingan saja yah.
Contohnya nih, kalau pada private cloud kan biasanya organisasi itu mampu memindahkan dan memvirtualisasikan ke dalam platform private cloud mereka, lalu setelah aplikasi dibuat menjadi virtual perusahaan bisa mendapat tambahan biaya dengan memindahkan sebagian aplikasi ke cloud external/public cloud. Setelah aplikasi tersebut dipindahkan ke public cloud maka kamu bisa menentukan aplikasi tersebut mau dijadikan public cloud atau private cloud.
Tanpa bermaksud promosi ataupun membandingkan hanya sekedar sharing, pada platform tertentu seperti VMware mereka menawarkan VMware Vcloud Hybrid Service untuk memanage hybrid cloud. Saya masih kurang tau apakah ada fitur yang sama ada pada platform lain.
Lalu apa keuntungan dari menggunakan hybrid cloud?
  • Beberapa aset berbasis cloud mampu diakses dari intranet.
  • Beberapa ases berbasis cloud mampu diakses melalui internet.
  • Dengan model hybrid, perusahaan biasanya dapet 'saving cost' dengan memindahkan beberapa infrastruktur dan service ke external/public cloud.

Apakah pembaca sudah ada pencerahan perbedaan jenis ketiga cloud diatas? Semoga berguna yah....

Thursday, March 5, 2015

Memahami Konsep Bagaimana Virtualisasi Bekerja

Cuma mau sharing aja buat temen-temen yang mau belajar virtualisasi. Saya bahas bedasarkan konsep yang saya pelajari dari vmware, namun seharusnya konsep seperti ini adalah standard di semua platform sih mungkin istilahnya saja yang beda. #pleasecmiiw

Kunci utama dalam memahami teknologi virtualisasi adalah kamu benar-benar menyadari bahwa virtualisasi sebenernya menggunakan sumber daya infrastruktur physical yang resourcenya dibagi-bagi. Nah dengan adanya virtualisasi ini kita dapat menjalankan beberapa mesin secara virtual di dalam sebuah resource/mesin tunggal dalam waktu yang simultan dan bersamaan.

Gambar dibawah mungkin bisa ngebantu temen-temen memahami konsep awal virtualisasi.


Kalo diliat dari gambar diatas, virtual machine dapat berjalan dengan mengakses resource yang di share oleh induk/hostnya dimana virtual machine tersebut berjalan. Bagaimana vm-vm tersebut dapat berjalan? Nah disinilah fungsi penting dari hypervisor, hypervisor lah yang bertugas untuk melakukan scheduling resource.

Nah apa saja sih yang dapat di jadikan virtual? Saya coba jabarkan dibawah bedasarkan konsep dari yang saya pelajari di vmware yah.

CPU Physical VS CPU Virtual

Gambar diatas menunjukan perbedaan arsitektur fisik dan arsitektur virtual, virtualisasi CPU ini menekankan pada performance dan berjalan langsung benar-benar diatas CPU si induk/fisik. 
Nah yang harus diperhatikan disini adalah meskipun beberapa platform teknologi virtualisasi menjamin sebuah overcommitment (kemampuan platform tsb menjalankan resource secara bersamaan dalam satu waktu) ini bukan berarti tanpa batas. Dan yang harus diingat juga, CPU virtualization hampir di semua platform bukan lah sebuah emulator, dengan kata lain apabila banyak VM berjalan diatas sebuah hypervisor ini sangat memungkinkan terjadinya resource contention

Note :
Resource Contetion adalah kondisi dimana tiap-tiap mesin virtual berebut resource dari induk/hostnya. Hal ini memungkinkan terjadinya degradasi performance resource secara keseluruhan terutama vm-vm yang ada di dalam host tersebut.

Memory Physical VS Memory Virtual

Kalo sebelumnya kita membahas CPU kita beralih membahas Memory. Nah kalo dari gambar diatas pada environment non-virtual, Operating System benar-benar menguasai seluruh resource memory yang dimiliki oleh si Host/Induk. Singkatnya dalam environment non-virtual apabil host memiliki memory 4GB maka OS system yang di install di Host tsb pun menguasai 4GB resource memory.

Berbeda cerita apabila system yang kita miliki bekerja di virtual environment, resource memory yang dimiliki si Host 4 GB belum tentu vm-vm nya memiliki resource memory yang sama dengan si host, bisa jadi VM-A 1GB, VM-B 2GB, VM-C 1GB. Pertanyaannya itu, bagaimana mereka bekerja? Pada environment virtual, layer virtualisasi akan menciptakan space address memory yang berkedekatan ketika VM di create. Cara kerja seperti inilah yang memungkinkan hypervisor menjalankan dan melakukan schedulling virtual machine secara simultan sekaligus melindungi memory masing-masing VM agar tidak diakses oleh yang lainnya.

Yang harus dipahami disini ialah persamaan konsep bahwa hampir di semua platform teknologi sharing termasuk memory seperti ini bukanlah sebuah emulator, oleh karena itu pembagian resource memory ketika proses deployment harus diperhatikan dengan baik untuk mencegah resource contention.

Network Physical VS Network Virtual

Nah bagian ini agak seru dibahas sebab ini merupakan komponen kunci virtual environment berjalan dengan baik. Virtual Ethernet Adapters dan Virtual Switches adalah kunci bagaimana vm-vm di dalam sebuah host dapat berhubungan dengan internet ataupun public infrastruktur. 
Hal penting yang harus diinget ialah, VM di dalam host dapat dikonfigurasi agar mempunyai lebih dari satu virtual ethernet.
Hal lain yang harus diinget, Virtual Switches di dalam virtual-environment bertugas untuk membuat VM yang ada di dalam host tersebut saling berkomunikasi dengan protocol yang sama. Nah di dalam platform VMware bahkan Virtual Switches support standard VLAN protocol yang bisa di integrasikan dengan beberapa perangkat seperti Cisco, Juniper, dsb. Yang lebih canggihnya lagi Virtual Switches di platform vmware (yang saya pelajari) mampu melakukan segmentasi VLAN. Saya masih belum tau apakah di Platform Openstack atau Hyper-V mampu melakukan hal yang sama, seharusnya bisa sih.

Nah sekian dulu yah temen-temen semoga berguna. :)

Tuesday, March 3, 2015

Alasan Kenapa Menggunakan Teknologi Virtualisasi Sangat Menguntungkan

Saat ini hampir semua perusahaan terutama yang unit bisnisnya bergantung pada infrastruktur IT mulai berpikir untuk hijrah dari Model Infrastruktur Physical ke Model Infrastruktur Virtual. Bahkan di beberapa proyek yang saya handel yang mana sebelumnya menggunakan infrastruktur secara physical sudah mulai berpikir untuk hijrah ke model virtualisasi.

Kali ini saya akan menjelaskan sedikit perbedaan Model Infrastruktur Physical dan Model Infrastruktur Virtual beserta keuntungannya menggunakan virtualisasi.


Physical Infrastructure
Model seperti ini adalah model yang paling sering kita jumpai sehari-hari, model tradisional yang digunakan semua orang bahkan semua perusahaan-perusahaan besar sebelum munculnya teknologi virtualisasi. Mereka menginstall OS dan software yang kemudian berjalan benar-benar diatas mesin komputer secara fisik. 
Penjelasan visual model infrastruktur fisik mungkin bisa lebih jelas apabila anda melihat gambar dibawah ini.


Pendek kata pada model tradisional seperti ini apabila anda ingin memiliki 10 web server maka anda harus mempunyai 10 hardware pula yang mungkin harganya sangat mahal dan mungkin tidak sesuai dengan budget yang anda miliki. Selain itu bayangkan biaya operasional lainnya untuk membeli kabel, rack space, power supply, provisioning server, dan biaya maintenance yang pastinya akan lebih mahal ketimbang menggunakan teknologi virtualisasi. 

Virtual Infrastructure
Nah gimana kalo anda menggunakan infrastruktur IT secara virtual? saya coba berikan gambaran yah. 
Pada intinya virtualisasi itu merupakan teknologi yang memungkinkan sebuah infrastruktur fisik di transformasikan menjadi sebuah software/file, mungkin dari sinilah muncul istilah software defined data center. Nah pertanyaan selanjutnya itu apa saja sih yang mampu di transformasikan menjadi software/file? 
Beberapa platform seperti vmware, hyper-v, openstack biasanya mampu mentransformasikan device dibawah ini menjadi sebuah file/software :
  • CPU
  • Memory/RAM
  • NIC
  • Disk
  • Switch
Bahkan sekarang beberapa platform seperti vmware mampu mentransformasikan router menjadi file/software. Bayangkan potensi dari virtualisasi ini di kemudian hari apabila router dan seluruh fitur routingnya bisa dijadikan mesin virtual, mungkin demand terhadap router fisik di masa depan akan jauh menurun.
Gambar dibawah ini mungkin bisa membantu anda untuk lebih jauh memahami model infrastruktur secara virtual.



Dari gambar diatas keliatan jelas kan perbedaan antara model physical dan model virtual? Anda bisa menjalankan 10 OS secara simultan dalam satu waktu di dalam satu server. Pendek kata, anda dapat membuat 10 web server dengan hanya mempunyai sebuah server saja.
Nah apa keuntungan anda hijrah dari model physical ke virtual ini? 
  • Biaya yang jauh lebih murah.
  • Mudah apabila anda ingin membangun redundansi.
  • Manajemen yang lebih mudah, contohnya : karna VM berbentuk file jadi bisa lebih mudah di relokasi.
Selain itu dengan menggunakan virtualisasi artinya anda juga berkontribusi dalam penghematan energi loh, sebab konsumsi listrik jauh lebih sedikit ketimbang model physical. 

Semoga bermanfaat.