## THE NEEDS OF VIRTUAL MACHINES IMPLEMENTATION IN PRIVATE CLOUD COMPUTING ENVIRONMENT

## Edy Kristianto
Jurusan Teknik Informatika, Fakultas Teknik dan Ilmu Komputer, Universitas Kristen Krida Wacana Jl. Tanjung Duren Raya no. 4, Jakarta Barat, 11470 edy.kristianto@ukrida.ac.id

## ABSTRACT
The Internet of Things (IOT) becomes the purpose of the development of information and communication technology. Cloud computing has a very important role in supporting the IOT, because cloud computing allows to provide services in the form of infrastructure (IaaS), platform (PaaS), and Software (SaaS) for its users. One of the fundamental services is infrastructure as a service (IaaS). This study analyzed the requirement that there must be based on a framework of NIST to realize infrastructure as a service in the form of a virtual machine to be built in a cloud computing environment.
Keywords: cloud computing, virtual machine, virtualisation, iaas

## ABSTRAK
The Internet of Things (IoT) menjadi tujuan perkembangan teknologi informasi dan komunikasi. Komputasi awan memiliki peranan yang sangat penting dalam mendukung terjadinya IoT, karena komputasi awan memungkinkan menyediakan layanan baik berupa infrastuktur (IaaS), platform (PaaS), dan perangkat lunak (SaaS) bagi para penggunanya. Salah satu layanan yang mendasar adalah infrastruktur sebagai layanan (IaaS). Penelitian ini menganalisa kebutuhan yang harus ada berdasarkan kerangka kerja dari NIST untuk mewujudkan infrastruktur sebagai layanan dalam bentuk mesin virtual yang akan dibangun dalam lingkungan komputasi awan.
Kata kunci: komputasi awan, mesin virtual, virtualisasi, iaas

## PENDAHULUAN
Perkembangan teknologi informasi mengarah pada The Internet of Things (IoT) dengan meningkatnya penggunaan smartphone dalam kehidupan manusia untuk berkomunikasi dan akses internet. IoT adalah kombinasi penggunaan perangkat (mobile), sensor, servis komputasi awan dan ketersediaan data dalam segala aspek kehidupan manusia (Mattern, Floerkemeier, 2010). Contoh nyata penerapannya adalah seperti pengembangan kendaraan tanpa awak ( drone ), aplikasi perkantoran dapat dijalankan melalui smartphone , penyimpanan data tidak perlu di hardisk dan sebagainya. IoT tidak dapat berjalan dengan baik tanpa teknologi internet, komputasi awan, big data , jejaring sosial dan teknologi komunikasi selular. Komputasi awan menyediakan layanan infrastruktur virtual dalam hal fasilitas komputasi, menyediakan integrasi antara pengawasan perangkat, media penyimpanan, perangkat analisa, visualisasi platform, dan akses dari klien.
Layanan komputasi awan mengunakan basis biaya, sehingga memungkinkan penyediaan on demand sumber daya bagi pengguna korporasi, organisasi atau perorangan. Gubbi, et. al (2013) menjelaskan bahwa IoT memiliki dua pandangan yaitu internet sebagai sentral dan 'Thing' sebagai sentral, maka layanan dari IoT akan dipengaruhi oleh kualitas layanan dari servis yang disediakan dalam internet. Jika 'Thing' sebagai sentral maka diperlukan juga suatu infrastruktur yang memungkinkan untuk mengolah data yang didapatkan dari sensor dan sebagainya untuk menjadi informasi yang dapat berguna bagi klien . Komputasi awan sangat memungkinkan untuk penyediaan segala jenis layanan yang dibutuhkan oleh IoT karena teknologi komputasi awan menjanjikan reliabilitas, skalabilitas dan otonomi untuk menyediakan akses di mana saja, penyediaan sumber daya komputasi secara dinamis dan mampu menangani aplikasi-aplikasi yang berhubungan dengan IoT (Gubbi, et. al , 2013).
Infrastruktur dapat berupa perangkat keras atau lunak yang berfungsi untuk menjalankan aplikasi-aplikasi untuk melayani pengguna akhir dalam mencapai tujuannya. Pusat data sekarang sudah mulai berubah dari infrastruktur, dedicated server , virtualisasi dan sekarang mulai bergerak menggunakan teknologi komputasi awan. Infrastructure as a Service (IaaS) merupakan inti dari penerapan komputasi awan, karena IaaS merupakan infrastruktur dasar dalam komputasi awan untuk mendukung layanan yang lebih tinggi tingkatannya. Penerapan IaaS dapat dilakukan secara internal oleh institusi yang berkepentingan, selain itu dapat dikombinasikan dengan layanan IaaS di luar institusi. IaaS dapat juga diterapkan sebagai infrastruktur pusat data, dengan menyediakan fasilitas yang hampir sama dengan teknologi virtualisasi tetapi lebih memberikan fleksibilitas pada penerapannya. Penelitian ini akan melakukan analisa kebutuhan untuk membuat mesin virtual dalam lingkungan komputasi awan, dari sisi teknologi pendukung yang harus dipenuhi agar implementasi IaaS dapat berjalan dengan baik.

## Virtualisasi
Konsep virtualisasi sejak dimulai tahun 1960an yang dibangun oleh IBM  untuk mendukung konkurensi interaktif akses pada komputer mainframe . Teknologi tersebut memiliki kemampuan untuk pembagian dan pemakaian bersama sumber daya pada spesifikasi komputer yang tinggi. Sekitar tahun 1970 hingga 1980, harga perangkat keras semakin murah dan kinerja prosesor dengan multiprosesor semakin cepat, virtualisasi hampir tidak digunakan lagi. Sekitar tahun 1990an hingga sekarang, semakin banyak jenis sistem oprerasi yang berbeda platform dan distribusi maka virtualisasi adalah salah satu solusi untuk pemakaian bersama satu perangkat keras bagi beberapa jenis sistem operasi.
Virtualisasi adalah teknologi yang memungkinkan pembagian sumber daya komputer untuk penggunaan satu atau lebih sistem operasi ( Guest-OS ) secara bersamaan, dengan menggunakan teknik partisi perangkat lunak, simulasi perangkat keras lengkap atau pemakaian bersama sumber daya
komputer (Nanda, 2005). Menurut Hirt (2010), teknik virtualisasi hanya berjalan pada prosesor dengan arsitektur x86-64, untuk lebih spesifik prosesor Intel VT dan AMD SVM. Berikut ini adalah beberapa jenis teknik virtualisasi.
Full Virtualization
Paravirtualization
Container-based Virtualization Gambar 1 Jenis-jenis Virtualisasi
Pada teknik full virtualiazation, tiap guest-os akan memiliki perangkat keras virtual masing- masing, yang benar-benar terpisah antara satu dengan yang lain. Teknik ini lebih menggambarkan virtualisasi perangkat keras seolah menjadi perangkat keras yang mandiri. Pada teknik Paravirtualization, setiap guest-os dimungkinkan untuk menjalankan sistem operasi secara lengkap, tetapi masing-masing guest-os terisolasi seperti berjalan pada sistem yang terpisah. Program pada driver perlu dimodifikasi agar dapat berjalan pada lingkungan paravirtual. Pada Container-based Virtualization, menggunakan pemakaian bersama pada tingkat sistem operasi, yang berbeda. Aplikasi- aplikasi yang seolah berdiri sendiri di atas sistem operasi yang dipakai bersama tersebut. Ini berbeda dengan dua jenis virtualisasi di atas karena teknik ini hanya dapat menerima guest-os dengan platform yang sama.
Teknik virtualisasi memiliki potensi dalam memaksimalkan pemanfaatan sumber daya perangkat keras, kemudahan dalam perawatan sistem, tidak bergantung pada vendor atau plaform tertentu, berikut ini beberapa keuntungan lain seperti (Uddin, 2011): (1) Server and Application Consolidation, m esin virtual dapat mengkonsilidasikan beberapa beban kerja perangkat keras fisik pada sebuah mesin atau beberapa mesin fisik, sehingga akan menghemat biaya untuk energi listrik, perawatan perangkat keras dan ruangan penyimpanan. Selain itu pada teknik virtualisasi sistem operasi dapat mengkonsolidasikan beberapa aplikasi yang seolah berdiri sendiri. (2) Multiple Execution Environments, m esin virtual menyediakan keamanan bagi pemakaian sumber daya pada masing-masing guest-os, seperti penjadwalan proses, manajemen pemakaian prosesor, memori dan media penyimpanan walau digunakan secara bersama. Mesin virtual juga dapat dijadikan model jaringan komputer lokal dengan perangkat keras dan sistem operasi yang berbagai macam. (3) Debugging and Performance, m esin virtual sangan ideal digunakan untuk penelitian, pengembangan dan riset, karena memiliki kemampuan untuk mengisolasi proses, aplikasi dan layanan pada masing- masing guest-os sehingga tidak akan saling mengganggu atau berebut sumber daya komputer. (4) Resource Sharing, m esin virtual memungkinkan sistem operasi berjalan pada multiprosesor dan memori secara bersamaan dengan struktur keamanan sumber daya sehingga tidak saling mengganggu.

## Komputasi Awan
Komputasi awan adalah suatu model yang memungkinkan kemudahan akses, kenyamanan, dan on demand pada ketersediaan sumber komputasi baik proses, memori dan media penyimpanan
Perangkat Keras Virtualisasi Perangkat keras virtual Perangkat keras virtual Sistem Operasi Sistem Operasi Aplikasi Aplikasi Perangkat Keras Virtualisasi Sistem Operasi Sistem Operasi Aplikasi Aplikasi Modifikasi Driver Container Container Perangkat Keras Sistem Operasi Virtualisasi Aplikasi Aplikasi Aplikasi
yang secara cepat dapat disediakan. Komputasi awan dilakukan dengan usaha seminimal mungkin, baik usaha manajemen maupun interaksi penyedia komputasi awan yang secara umum menggunakan akses internet untuk menggunakan komputas awan. (Mell, 2011).
Karakteristik dari komputasi awan adalah sebagai berikut: (1) On-demand sefl-service , pengaturan kapabilitas komputasi berada pada pengguna akhir, tanpa harus ada campur tangan dari pihak penyedia jasa komputasi. (2) Broad network access , kapabilitas ketersediaan akses dapat dilakukan pada berbagai platform yang digunakan pengguna akhir dan pada perangkat yang beragam. (3) Resource Pooling , sumber penyedia komputasi dikumpulkan untuk melayani beberapa konsumen menggunakan model multi-penyewa, dengan sumber daya fisik dan mesin virtual yang berbeda secara dinamis yang ditugaskan dan dipindahkan sesuai dengan permintaan pengguna. Pengguna tidak mengetahui secara pasti letak posisi sumber komputasi secara fisik. Tetapi pengguna dapat mengkontrol secara remote sumber komputasi tersebut. (4) Rapid Elasticity , kapabilitas dapat diterapkan secara fleksibel, beberapa kasus dapat dilakukan secara otomatis, untuk meningkatkan atau menurunkan kapabilitas sesuai dengan kebutuhan pada kondisi tertentu. (5) Measured Services , sumber daya komputasi dapat dipantau, dikontrol dan dilaporkan setiap waktu, penyediaan servis adalah transparan antara penyedia komputasi dan pengguna akhir.
Gambar 2 Definisi Komputasi Awan dari NIST ( National Institute of Standart and Technology)
Servis atau layanan yang disediakan oleh komputasi awan secara umum adalah sebagai berikut: (1) Software as a Service (SaaS) , adalah layanan komputasi awan tempat pengguna dapat menggunakan aplikasi yang telah disediakan. Penyedia layanan mengelola infrastruktur dan platform yang menjalankan aplikasi tersebut. Contoh layanan aplikasi e-mail yaitu gmail, yahoo dan outlook sedangkan contoh aplikasi media sosial adalah twitter, facebook dan google+. Keuntungan dari layanan ini adalah pengguna tidak perlu membeli lisensi untuk mengakses aplikasi tersebut. Pengguna hanya membutuhkan perangkat klien komputasi awan yang terhubung ke internet. Ada juga aplikasi yang mengharuskan pengguna untuk berlangganan agar bisa mengakses aplikasi yaitu Office 365 dan Adobe Creative Cloud. (2) Platform as a Service (PaaS), adalah layanan yang menyediakan komputasi platform . Penyediaan sistem operasi, database , web server dan framework aplikasi agar dapat menjalankan aplikasi yang telah dibuat. Perusahaan yang menyediakan layanan  bertanggung jawab dalam pemeliharaan komputasi platform ini. Keuntungan layanan PaaS ini bagi pengembang adalah fokus pada aplikasi dibuat tanpa pemeliharaan dari komputasi platform . Contoh penyedia layanan PaaS adalah Amazon Web Service dan Windows Azure. (3) Infrastructure as a Services
(IaaS) , layanan komputasi awan yang menyediakan infrastruktur komputer virtual berupa CPU, RAM, storage , bandwith dan konfigurasi lain. Komponen-komponen tersebut digunakan untuk membangun komputer virtual. Komputer virtual dapat diinstal sistem operasi dan aplikasi sesuai kebutuhan. Keuntungan layanan IaaS ini adalah tidak perlu membeli komputer fisik sehingga lebih menghemat biaya untuk perawatan perangkat keras. Konfigurasi komputer virtual juga berubah sesuai kebutuhan.
Model penerapan komputasi awan secara umum adalah sebagai berikut: (1) Private Cloud , infrastruktur dari sistem komputasi awan dimiliki, dikelola dan dipakai sendiri oleh suatu institusi, atau dapat menggunakan pihak ketiga sebagai pengelola. (2) Community Cloud , infrastruktur dari sistem komputasi awan dimiliki oleh beberapa organisasi yang memiliki kepentingan yang sama, sistem pengelolaan dapat dilakukan oleh salah satu organisasi atau gabungan beberapa ahli dari organisasi tersebut. (3) Public Cloud , infrastruktur dari komputasi awan dimiliki oleh penyedia jasa komputasi awan, dapat berupa organisasi, pemerintah atau swasta. (4) Hybrid Cloud , gabungan kombinasi dari beberapa model private cloud , community cloud dan public cloud .

## HASIL DAN PEMBAHASAN
Menurut Kavis (2014), layanan IaaS berupa perangkat keras secara virtual. Pengelolaan dan perawatan untuk pusat data dan infrastruktur perangkat keras ( server , media penyimpanan, jaringan komputer, sekuriti dan sebagainya) layanannya diabstraksikan dengan menggunakan berbasis web (situs). Infrastruktur virtual tersebut dikelola dengan menggunakan aplikasi antarmuka pemrograman (API) melalui manajemen konsol berbasis web. Sehingga pengguna layanan dapat fokus pada pembangunan dan pengaturan aplikasi daripada fokus pada permasalahan infrastruktur.
Penelitian yang dilakukan oleh Mell (2011) dan Rumale (2013) ada lima prinsip utama yang harus dipenuhi dalam komputasi awan, yaitu Pooled resurces, Virtualization, Elasticity, Automation dan Metered Billing/Measured services. Parmar et. al . (2014) membagi arsitektur dalam sistem komputasi awan kedalam enam bagian yaitu perangkat keras dan sistem operasi, teknologi jaringan komputer, teknologi hypervisor , teknologi penyimpanan data, front-end antarmuka pengguna, dan cloud management platform.
Analisis kebutuhan untuk implementasi IaaS akan digunakan dari NIST (Mell, 2011), karena merupakan standarisasi dari komputasi awan. On demand self-service, dalam penggunaan teknologi IaaS , campur tangan pihak penyedia layanan harus sekecil mungkin, disini pengguna akhir dapat mengatur sendiri konfigurasi dan memantau utilitas infrastruktur secara mandiri. Untuk ini diperlukan minimal antarmuka berbasis web atau remote access sebagai front-end untuk mengatur dan memantau infrastruktur baik bagi penyedia layanan atau pengguna layanan komputasi awan. Antarmuka web merupakan antarmuka yang paling fleksibel dan mudah untuk diakses, karena dapat terdiri dari gambar, teks atau video, sehingga dapat menyediakan visualisasi yang lebih user-friendly. Antarmuka ini sekarang banyak dipakai untuk konfigurasi perangkat keras jaringan komputer, termasuk server yang tidak ada antarmuka grafis, karena antarmuka web tidak memerlukan kartu grafis (VGA) dan memiliki tingkat konsumsi memori yang kecil. Aplikasi komputasi awan sebagian besar sudah memiliki fitur pengelolaaan berbasis web baik untuk pengguna akhir atau penyedia layanan komputasi awan.
Broad network access, karena semua infrastruktur ini terdiri dari banyak komputer maka diperlukan teknologi jaringan komputer untuk implementasinya, karena teknologi jaringan komputer ini lebih mudah, lebih cepat dan lebih murah dibandingan dengan rangkaian serial atau pararel. Teknologi jaringan diperlukan di semua sisi baik sisi pengguna atau penyedia layanan. Teknologi jaringan yang dapat dipakai seperti virtual LAN , teknologi switching , kluster komputer, teknologi
selular, dan sejenisnya. Secara umum switch yang digunakan dalam pusat data dapat berupa perangkat keras atau virtual.
Resource Pooling , sekumpulan sumber daya komputasi ini dapat berupa perangkat keras seperti server atau komputer personal, perangkat lunak, media penyimpanan, teknologi jaringan komputer atau sistem operasi dan disediakan oleh penyedia layanan komputasi awan. Setiap penyedia jasa layanan sebaiknya memiliki sekumpulan komputer server yang saling terhubung menggunakan teknologi jaringan beserta keamanannya dalam pusat data. Pusat data (Data Center/DC) merupakan ruangan khusus yang memiliki spesifikasi keamanan yang tinggi baik terhadap akses, tegangan listrik, lingkungan karena pusat data harus selalu tersedia, dan tidak boleh mati. Pusat data yang baik juga memiliki manajemen disaster recovery . Akses pengguna dan penyedia layanan sebaiknya menggunakan remote access atau akses web untuk mengakses komputer server yang ada di pusat data. Banyak teknologi yang dapat dipakai untuk membuat pusat data, salah satunya sistem berkas jaringan, sistem terdistribusi, manajemen backup grid dan cluster computing .
Rapid Elasticity, hal ini yang membedakan antara virtualisasi dengan komputasi awan, secara umum manajemen virtualisasi hanya akan dapat dilakukan untuk mengatur mesin virtual dengan hypervisor yang sejenis, bergantung pada vendor teknologi tertentu, baik opensource atau berlisensi. Komputasi awan memiliki aplikasi manajemen tersendiri yang dapat mengatur beberapa teknologi hypervisor sekaligus dengan menggunakan driver, baik dari vendor opensource (Xen, KVM, Docking), berlisensi (VMWare, Microsoft) dan milik Amazon (AWS). Perangkat lunak untuk manajemen komputasi awan sudah termasuk untuk antarmuka penyedia dan pengguna komputasi awan seperti OpenNebula, OpenStack, CloudStack, Eucalyptus, Nimbus, AppScale, CloudFoundry, OpenQRM, OpenShift, oVirt, Jelastic, dan sejenisnya.
Measured Services, besaran pemakaian sumber daya komputasi perangkat keras harus dapat dipantau, untuk aplikasi ini sudah termasuk dalam perangkat lunak manajemen komputasi awan dan merupakan fitur yang ada pada sisi antarmuka penyedia dan pengguna layanan komputasi awan. Sehingga para pengguna dan penyedia dapat memantau, mengelola dan memprediksi untuk utilisasi dari layanan yang dipakainya.

## SIMPULAN
Penerapan mesin virtual dalam lingkungan komputasi awan dapat terjadi jika dari pihak penyedia layanan memiliki sekumpulan perangkat keras yang terpusat yang saling terhubung dengan teknologi jaringan komputer, beserta perangkat lunak, sistem operasi dan menggunakan aplikasi manajemen komputasi awan bagi para penggunanya melalui akses jaringan broadband . Aplikasi manajemen komputasi awan mampu mengintegrasikan, menyediakan dan mengatur sekumpulan perangkat keras yang memiliki hypervisor yang berbeda untuk membuat sekelompok mesin virtual yang dapat digunakan secara terukur bagi para pengguna layanan komputasi awan.

## DAFTAR PUSTAKA
Hirt, T. (2015). KVM–The Kernel-Based virtual machine . Hochschule RheinMain University of Applied Sciences Wiesbaden Russelsheim. Diambil dari from http://www.cs.hs- rm.de/~linn/fachsem0910/hirt/KVM.pdf.
Jayavardhana, G., Buyya, R., Marusic, S., Palaniswami, M. (2013). Internet of Things (IoT): A Vision, Architectural Elements and Future Directions. Future Generation Computer Systems , 29 (7): 1645-1660.
Kavis, M. J. (2014). Architecting The Cloud, Design Decisions For Cloud Computing Service Models . New Jersey: John Wiley & Sons, Inc., Hoboken.
Mattern, F., Floerkemeier, C. (2010). From the Internet of Computers to the Internet of Things. In: Kai Sachs, Ilia Petrov, Pablo Guerrero (Eds.): From Active Data Management to Event-Based Systems and More . LNCS, 6462 : 242-259.
Mell, P., Grance, T. (2011). The NIST Definition of Cloud Computing, NIST U.S Departement of Commerce. NIST Special Publication : 800-145.
Nanda, S., Chiueh, T. (2005). A Survey on Virtualization Technologies . Department of Computer Science SUNY at Stony Brook.
Parmar, H., Champaneria, T. (2014). Comparative Study of Open Nebula, Eucalyptus, Open Stack and Cloud Stack. International Journal of Advanced Research in Computer Science and Software Engineering , 4 (2).
Rumale, A. S., Chaudhari, D. N. (2013). Cloud Computing: Infrastructure as a Service. International Journal of Inventive Engineering and Sciences , 1 (3).
Uddin, M., Rahman, A. A. (2011). Virtualization Implementation Model for Cost Effective & Efficient Data Centers. International Journal of Advanced Computer Science and Applications , 2 (1).