BAB II LANDASAN TEORI
1.1. Mengenai arsitektur x86 Arsitektur x86 dimulai dari prosesor 8-bit yang dibuat oleh Intel di akhir tahun 1970. Sejalan dengan meningkatnya kapabilitas manufaktur dan permintaan perangkat lunak, Intel mengembangkan arsitektur 8-bit nya menjadi 16-bit dengan seri prosesor 8086. Kemudian dengan kedatangan prosesor 80386 di tahun 1985, Intel makin mengembangkan lagi arsitekturnya menjadi 32-bit. Intel menyebut arsitektur ini dengan istilah IA-32, tapi secara umum disebut dengan istilah x86. Selama sekitar 10 tahun, dasar arstitektur 32-bit tetap sama, walaupun generasi-generasi prosesor berikutnya mempunyai banyak fitur-fitur baru, termasuk on-chip FPU (Floating Point Unit), mampu menangani banyak jumlah memori fisik melalui PAE (Physical Address Extension) dan instruksi-instruksi vendor lainnya. Di tahun 2003, AMD memperkenalkan ekstensi 64-bit di arsitektur x86, seringkali disebut dengan istilah AMD64 dan mulai menjual CPU Opteron 64-bit di tahun 2004. Di akhir tahun 2004, Intel memperkenalkan ekstensi arsitektur 64-bit versi dari IA32, atau seringkali disebut IA-32e dan kemudian juga EM64T.
7
8
1.2. Mengenai Virtualisasi x86 Dalam dunia komputerisasi, yang dimaksud dengan virtualisasi adalah suatu cara yang memisahkan antara permintaan layanan dengan fisik perangkat keras yang melandasinya dengan tujuan untuk menggantikan platform perangkat keras, Operating System, perangkat storage, jaringan komputer dan atau aplikasi (VMware, 2010) namun tetap mempunyai fungsifungsi dan interface yang tidak berbeda dengan perangkat fisik-nya, tetapi berbeda dalam atribut-atributnya diantaranya penamaan, ukuran dan lain lain (IBM, 2009). Cara virtualisasi ini sudah ada sejak era Mainframe yang dikeluarkan oleh IBM untuk membagi sumber daya mesin Server dalam menangani beberapa aplikasi yang berbeda. Dalam dunia prosesor x86, Intel dan AMD memulainya di sekitar tahun 2005-2006 secara Hardware-Assisted virtualization (IBM, 2007). Vendor virtualisasi yang bermain di dunia prosesor x86 diantaranya adalah VMWare, Citrix dan Microsoft. Gabungan dari teknologi-teknologi virtualisasi atau disebut Infrastructure Virtualization membentuk suatu lapisan/ layer abstrak antara proses computing, storage dan jaringan komputer, dan aplikasi yang berjalan diatasnya.
9
Gambar 1.1. Konsep x86 Architecture, tanpa dan dengan virtualisasi (VMware, 2007)
Kapasitas komputer desktop dan Server sudah semakin meningkat tahun demi tahun, teknologi virtualisasi sudah membuktikan dapat membantu mensederhanakan proses software development dan testing, memungkinkan konsolidasi Server dan dapat meningkatkan kecekatan perubahan dalam data center dan kelangsungan bisnis. Untuk standard industri sistem x86, pendekatan virtualisasi menggunakan baik arsitektur hosted maupun hypervisor. Di arsitektur hosted, proses instalasi dan virtualisasi dijalankan sebagai aplikasi didalam suatu Operating System. Secara kontras, di arsitektur hypervisor (bare-metal), proses instalasi dan virtualisasi dijalankan sebelum layer Operating System. Dikarenakan mempunyai akses langsung kepada perangkat keras dibandingkan melalui suatu Operating System, maka arsitektur hypervisor lebih efisien daripada arsitektur hosted dan memberikan hasil lebih baik secara skalabilitas, tangguh dan kinerja. Contoh produkproduk VMware Player, ACE, Workstation dan Server menggunakan arsitektur hosted untuk fleksibilitas, sedangkan ESX Server menggunakan arsitektur hypervisor diatas perangkat-perangkat keras yang telah disertifikasi untuk kelas Data Center.
10
Tabel 1.1. Tabel Perbandingan konsep x86 Architecture (VMware, 2010) Tanpa Virtualisasi
Dengan Virtualisasi
1. Satu Operating System per mesin.
1
2. Software dan hardware sangat
mesin
saling ketergantungan. 3. Menjalankan dalam
beberapa
satu
mesin
kurang
(tergantung
kapabilitas
hardware machine) aplikasi
2
seringkali
menimbulkan masalah. 4. Mesin
Beberapa Operating System per
di mesin manapun. 3
optimal
dimanfaatkan.
Virtual Machine dapat dijalankan
Dapat
melakukan
pengaturan
Operating System dan aplikasi dalam satu interface.
5. Kurang fleksibel dan infrastruktur mahal.
VMM (Virtual Machine Monitors) berada didalam bagian dari hypervisor bertugas untuk menangani dan menjembatani masing-masing virtual machine dengan VMkernel. Masing-masing VMM yang berjalan didalam hypervisor tersebut melakukan abstraksi perangkat keras virtual machine dan bertugas menjalankan guest Operating System. Masing-masing VMM harus saling terpisahkan dan dapat membagi antara proses CPU, memory dan I/O devices.
11
Gambar 1.2. Hubungan hypervisor dengan VMM (VMware, 2010)
1.3. Virtualisasi CPU Arsitetur x86 menyediakan empat tingkat privileges yaitu Ring 0, Ring 1, Ring 2 dan Ring 3. Sistem operasi berjalan pada Ring 0 dikarenakan perlu mengakses sumber daya Server secara langsung seperti mengakses memori dan CPU sedangkan aplikasi yang berjalan akan ditempatkan pada Ring 3 (VMware, 2007). Ada beberapa masalah dalam pengaplikasian teknik virtualisasi yaitu teknik virtualisasi pada arsitektur x86 mengharuskan perangkat lunak virtualisasi berada pada layer sistem operasi yaitu Ring 0 untuk membuat dan melakukan menejemen komputer virtual. Namun dalam beberapa situasi teknis tertentu, suatu instruksi sensitif tidak dapat divirtualisasikan karena harus berada pada Ring 0. Hal ini membuat teknik virtualisasi pada arsitektur x86 dianggap tidak memungkinkan, namun pada tahun 1998 permasalahan ini dapat teratasi dengan mengembangkan teknik pengkodean binary sehingga membuat suatu Virtual Machine Monitors (VMMs) berjalan pada Ring 0.
12
Gambar 1.3. Level privilege arsitektur x86 tanpa virtualisasi (VMware, 2007)
Untuk menangani sensitif dan instruksi privilege di virtualisasi arsitektur x86, terdapat tiga pendekatan sebagai berikut.
1.3.1. Full Virtualization dengan binary translation Teknik ini dilakukan dengan kombinasi dari binary translation dan teknik eksekusi secara langsung yaitu dengan menterjemahkan kode kernel untuk menggantikan insturksi – instruksi yang tidak dapat divirtualisasikan dengan instruksi baru untuk perangkat keras virtual. Sementara itu, instruksi yang diberikan pada tingkat user akan langsung di eksekusi oleh processor agar didapat proses virtualisasi yang cepat. Setiap virtual machine diberikan seluruh fitur seperti yang ada pada komputer fisik seperti virtual BIOS, virtual devices dan virtual memori manajemen (VMware, 2007). Kombinasi dari binary translation ini dan teknik eksekusi langsung ini memberikan metode Full Virtualization ini diabstraksikan secara penuh atau perangkat keras diduplikasi secara lengkap. Sistem operasi yang dijalankan pada komputer virtual ini tidak akan menyadari bahwa sedang berjalan pada sistem virtualisasi karena tidak diperlukan modifikasi. Teknis
13
Full Virtualization ini adalah satu-satunya teknik virtualisasi yang tidak memerlukan perubahan pada sisi hardware ataupun sistem operasi dalam memvirtualisasikan privileged dan instruksi sensitif karena hypervisor yang akan menterjemahkan seluruh instruksi sistem operasi secara langsung (VMware, 2007).
Gambar 1.4. Full virtualization di arsitektur komputer x86 (VMware, 2007)
Teknik Full Virtualization yang memberikan isolasi terbaik dan keamanan bagi virtual machine, dan memudahkan migrasi dimana beberapa guest OS yang sama dapat saling dipindahkan dari Server satu ke Server yang lain. Contoh dari Full Virtualization adalah Microsoft Virtual Server, Adeos, Mac-on-Linux, Parallels Desktop for Mac, Parallels Workstation, VMware Workstation, VMware Server (formerly GSX Server), VirtualBox, Win4BSD, and Win4Lin Pro.
1.3.2. OS assisted virtualization or paravirtualization Teknik OS assisted virtualization/ paravirtualization berbeda dengan teknik Full Virtualization, dimana dalam paravirtualization ini diperlukan suatu Operating System diatas hypervisor, modifikasi kernel sistem operasi
14
terkait untuk menggantikan instruksi-instruksi non-virtualizable dengan hypercall yang berkomunikasi langsung dengan lapisan virtualisasi hypervisor. Hypervisor juga perlu dimodifikasi dengan menyiapkan interface hypercall untuk menangani operasi-operasi kernel yang kritikal diantaranya manajemen memori, interrupt handling dan pengaturan waktu/ jadwal.
Gambar 1.5. Paravirtualization di arsitektur komputer x86 (VMware, 2007)
Tujuan dari teknik paravirtualization adalah kepada lebih rendahnya overhead
dari
virtualisasi
(VMware,
2007),
tapi
kinerja
dari
paravirtualization dengan full virtualization dapat bervariasi tergantung dari beban kerja CPU. Dikarenakan paravirtualization tidak dapat mendukung sistem operasi yang tidak bisa dimodifikasi (contoh Windows 2000, XP), maka kompatibilitas dan portabilitasnya rendah. Dan karena memerlukan modifikasi yang mendalam di kernal sistem operasi untuk virtualisasinya, paravirtualization kurang mendapat dukungan untuk lingkungan produksi.
15
1.3.3. Hardware assisted virtualization (First Generation) Ide awal dari Hardware assisted virtualization ini adalah untuk memperbaiki permasalahan dimana arsitektur x86 tidak dapat divirtualisasikan. Artinya filosofi dari hardware assisted virtualization ini adalah dengan “menangkap” semua sensitive dan intruksi-instruksi privilege dengan membuat transisi dari guest OS ke dalam VMM, yang diistilahkan “VMexit”. Dengan teknik ini, guest OS dapat berjalan di Ring yang sebenarnya yaitu di Ring-0, dan VMM yang menanganinya berjalan di Ring baru yang lebih tinggi hak istimewa-nya, yaitu di Ring (-1) (atau “Root mode”).
Gambar 1.6. Hardware assisted virtualization (deGelas, 2008)
16
Permasalahannya adalah walaupun telah diimplementasikan secara hardware – masing-masing transisi dari VM ke VMM (VMexit) dan sebaliknya (VMentry) memerlukan sejumlah CPU cycle yang tetap dan besar (deGelas, 2008). Hal inilah yang menjadi kendala waktu respon lebih lambat di teknologi hardware assisted virtualization generasi pertama. Yang termasuk dalam prosesor generasi pertama hardware assited virtualization adalah Intel-VT dan AMD-V (Svm).
Gambar 1.7. Kinerja Hardware-Assisted Generasi pertama Intel-VT (deGelas, 2008)
1.3.4. Mengenai VMware ESX Di tahun 1998, VMware menemukan cara bagaimana untuk melakukan virtualisasi di platform x86, dimana sebelumnya dianggap tidak dapat diwujudkan, dan mulai merintis pasar untuk virtualisasi x86. Solusinya adalah dengan membuat kombinasi dari binary translation dan eksekusi langsung terhadap prosesor yang memungkinkan guest OSes berjalan dalam isolasi penuh (independen) di satu mesin komputer yang sama.
17
Gambar 1.8. Ringkasan timeline teknologi virtualisasi x86 (VMware, 2010)
Gambar
2.8
diatas
memperlihatkan
ringkasan
timeline
dari
perkembangan teknologi virtualisasi x86 sejak VMware binary translation sampai dengan penerapan kernel paravirtualization dan terakhir HardwareAssisted virtualization. Di tahun 1999, VMware mempublikasikan versi pertama dari VMware Workstation. Yang berjalan (dan melakukan teknik virtualisasi) di mesin CPUs x86 32-bit. Tidak lama sesudahnya, VMware mempublikasikan produk ESX Server. Berbeda dengan versi produk Workstation, yang mana tergantung pada Linux atau Windows host, ESX Server berdasar kepada kernel custom-build –nya. VMKernel ini didesain untuk mampu melakukan skalasi dan efisiensi terhadap beban kerja dari virtual machine sekaligus memberikan kinerja yang baik terhadap virtual machines (VMware, 2007).
Tabel 1.2. Kebutuhan Physical CPU dan pilihan Virtual CPU (VMware, 2010) ESX 1.0-2.5
ESX 3.0
ESX 3.5
ESX 4.0
VMkernel
32-bit
32-bit
32-bit
64-bit
Virtual CPU
32-bit
32-bit, 64-bit
32-bit, 64-bit
32-bit, 64-bit
18
Baris VMkernel di Table-4 diatas memperlihatkan perbedaan versi ESX dengan kebutuhan physical CPU. Semua versi ESX sebelum versi 4.0 dapat berjalan di arsitektur x86 32-bit. Mereka juga dapat berjalan di CPU x64 namun belum memanfaatkan kelebihan dari ekstensi arsitektur 64-bit. Mulai dari ESX versi 4.0, VMkernel membutuhkan CPU 64-bit untuk menjalankannya. Walaupun kebutuhan ini mengakibatkan cukup banyak ketidakcocokan perangkat keras, namun di tahun 2009 sudah mulai banyak mesin-mesin Server yang mengadopsi arsitektur x64, sehingga semakin dibutuhkan kapasitas 64-bit address space dan kelebihan-kelebihan dari fitur lainnya dalam meningkatkan kinerja dan skalabilitas. VMkernel tidak bisa menjalankan virtual machine secara langsung. Melainkan, ia menjalankan VMM yang bertugas untuk menjalankan virtual machine. Masing-masing VMM bertugas menangani masing-masing virtual machine. Untuk menjalankan beberapa virtual machine maka VMkernel menjalankan beberapa VMM instances. Karena VMM sebagai “perantara” antara virtual machine dengan VMkernel, maka dapat memungkinkan menjalankan 64-bit guest Operating System diatas 32-bit VMkernel (dan juga sebaliknya) selama physical CPU mempunyai beberapa fitur-fitur yang dibutuhkan. Logika untuk menangani 32 dan 64-bit guest Operating System disimpan di dalam VMM, dimana dapat menggunakan kelebihan-kelebihan physical CPU 64-bit untuk menjalankan 64-bit guest Operating System secara efisien. Baris virtual CPU di Table-4 diatas memperlihatkan versi ESX yang dapat menjalankan virtual machine 32-bit dan yang dapat menjalankan keduanya baik 32 maupun 64-bit virtual machine (VMware, 2007).
19
1.3.5. IT Value Chain dan IT Project Management
Gambar 1.9. IT Value Chain (Marchewka, 2006)
Mengacu kepada diagram IT Value Chain (Marchewka, 2006) diatas, maka perlu diketahui Tujuan & strategi dari Organisasi Bina Nusantara. “Binus 20/20” adalah tujuan visi dan misi Bina Nusantara. Visi dari Bina Nusantara adalah
A world-class knowledge institution …in continuous
pursuit of innovation and enterprise. Sedangkan misi dari Bina Nusantara adalah Bina Nusantara berkomitmen untuk memberikan yang terbaik di dalam dunia pendidikan dan penelitian bagi komunitas global dengan cara: -
Providing a learning experience that encourages and rewards innovation
-
Creating high impact applied knowledge
-
Pursuing a positive contribution to the quality of life
-
Contributing to outstanding leadership
-
Leading corporate entrepreneurship
Dari visi dan misi Bina Nusantara diturunkan kepada visi organisasi Divisi Finance yaitu As a world-class enabler and innovative strategic partner towards achievement of vision BINUS 20/20. Dan juga kepada
20
Finance Strategic Direction dengan komponen-komponennya adalah Excellent Services, World’s Best Practice Implementation, Business partner & Catalyst, International Language Proficiency, Conducive working ennvironment dan Role Model.
Gambar 1.10. IT Project Management Methodology (Marchewka, 2006)
Walaupun adanya kebutuhan waktu yang cepat dalam pengadaan Infrastruktur IT, kami tetap menerapkan metodologi IT Project Management (Marchewka, 2006) dengan beberapa kondisi yang diterima oleh Manajemen Bina Nusantara. Fase-1 adalah konsep dan inisialisasi proyek dimana ditentukan project goal dari pengadaan Infrastruktur IT ini dan alternatifalternatif solusi Infrastruktur IT, di fase ini pula mulai dibicarakan ruang lingkupnya, jadwal, budget dan target kualitas objektif yang perlu dicapai.
21
Gambar 1.11. The Triple Constraint (Marchewka, 2006)
Pada fase-2 adalah penyusunan project charter dan perencanaan proyek dimana pembicaraan ruang lingkup, jadwal, budget dan target kualitas objectif dirumuskan dan disepakati oleh project charter. Pada fase-3 adalah tahapan dimana teknikal proyek dilaksanakan dan dilakukan monitoring sepanjang pelaksanaan proyek tersebut, dengan memastikan lingkungan dan infrastruktur yang dapat mendukung kelangsungan proyek, diantaranya kepada skillset, metode/ tools, lingkungan kerja yang kondusif, ruang lingkup, jadwal, budget dan kualitas kontrol, penanganan resiko, pengadaan kelengkapan/ kebutuhan proyek, eskalasi dan penanganan
change
management, communication plan, migrasi data & test, persiapan implementasi ke lingkungan Production dan parameter-parameter evaluasi kesuksesan proyek. Fase-4 adalah tahapan penyelesaian proyek dimana dilakukan penyelesaian dan penerimaan proyek kepada customer, serta pertanggungjawaban kepada Project Sponsor. Untuk kemudian masuk ke fase-5 dimana dilakukan evaluasi kesuksesan proyek mengacu kepada project goal yang telah disepakati.
22
1.3.6. IT Service Management Organisasi IT harus dapat memberikan nilai (value) service yang baik kepada perusahaan. Service Management adalah kapabilitas organisasi dalam hal pengetahuan, pengalaman, dan kemampuan untuk dapat memberikan nilai (value) kepada pelanggan dalam bentuk pelayanan. Seberapapun bagusnya fungsi suatu IT Service dan seberapapun bagus desain-nya, itu semua tidak ada artinya jika service yang diperlukan tidak tersedia atau tidak stabil/ konsisten.
Dalam hubungannya dengan IT Infrastructure maka Service
Operation perlu memastikan supaya IT Infrastructure berada dalam kondisi stabil, dapat diandalkan dan selalu tersedia pada saat dibutuhkan (OGC, ITIL Service Operation, 2007).
Gambar 1.12. Model pengukuran Service
23
Bisnis sekarang semakin menyadari akan pentingnya nilai organisasi IT, bukan sekedar sebagai supporting function namun juga sebagai penggerak roda bisnis. Dengan demikian dituntut adanya fokus yang lebih kepada kualitas IT dalam hal tiga komponen utama model pengukuran service (OGC, ITIL Continual Service Improvement, 2007) yaitu ketersediaan service yang dibutuhkan, reliabilitas service-nya dan kinerja dari kemampuan service terkait (availability, reliability, performance of the service).
1.3.7. Fasilitas dan Manajemen Data Centre Manajemen Fasilitas mengacu kepada manajemen lingkungan physical dari suatu IT Operation, biasanya terletak di Data Centre atau ruang Server. Komponen utama dari manajemen fasilitas (OGC, ITIL Service Operation, 2007) adalah : 1. Manajemen Gedung, mengacu kepada perawatan gedung tempat lokasi karyawan IT dan Data Centre. Termasuk diantaranya adalah pembersihan, pembuangan sampah, manajemen parkir dan akses masuk. 2. Lokasi perangkat, yang mana memastikan kepada kebutuhan Bisnis dapat disiapkan oleh perangkat (Server, Network, Storage) dan team yang telah disiapkan. 3. Manajemen listrik, mengacu kepada sumber daya dan penggunaan listrik yang digunakan untuk menjaga berfungsinya fasilitas. 4. Pengawasan lingkungan dan alert systems, dimana termasuk spesifikasi, perawatan dan pengawasan diantaranya sensor deteksi
24
asap dan pemadam kebakaran, air, suhu dan kelembaban dan seterusnya. 5. Keselamatan, memperhatikan kepatuhan standard, prosedur dan kebijakan terkait dengan keselamatan karyawan. 6. Physical Access Control, memastikan bahwa fasilitas hanya dapat diakses oleh personel yang berhak dan setiap pelanggaran akses dapat dideteksi dan diatur. 7. Penerimaan barang, mengacu kepada pengaturan dari semua perangkat, furnitur, surat dan lain lain yang meninggalkan atau memasuki lokasi. Memastikan bahwa hanya barang-barang yang pantas dan sesuai yang dapat masuk maupun keluar lokasi dan diterima oleh orang yang tepat. 8. Manajemen Kontrak, kepada beragam vendor dan service providers terkait dengan fasilitas yang bersangkutan. 9. Maintenance rutin, sebagai periodic control dan menjaga kualitas yang diberikan.