BAB III DASAR TEORI. Arsitektur Microservice, atau hanya Microservice, adalah metode khas

dokumen-dokumen yang mirip
BAB II TINJAUAN PUSTAKA DAN DASAR TEORI. Banyak sistem yang telah dibuat untuk memanagemen. dokumen skripsi dan tugas akhir. Ada beberapa yang telah

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI. sebuah sistem pencarian lokasi kuliner berbasis mobile web untuk wilayah

BAB I PENDAHULUAN. Koleksi Skripsi Mahasiswa STMIK AKAKOM YOGYAKARTA sudah

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah. Perkembangan aplikasi teknologi informasi saat ini sudah berkembang begitu pesat

BAB I PENDAHULUAN 1.1. Latar Belakang Masalah

BAB II KAJIAN PUSTAKA. seluler (mobile) seperti telepon pintar (smartphone) dan komputer tablet. Android

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB 3 LANDASAN TEORI

BAB II TINJAUAN PUSTAKA

@UKDW BAB 1 PENDAHULUAN

BAB III LANDASAN TEORI

BAB III LANDASAN TEORI. Pada bab ini akan dijelaskan mengenai teori dasar yang digunakan oleh penulis sebagai acuan dalam membangun aplikasi.

BAB III LANDASAN TEORI

BAB 2 LANDASAN TEORI. bahasa pemrograman java dan bersifat open source. Yang mana artinya aplikasi

BAB 2 TINJAUAN PUSTAKA DAN DASAR TEORI

Basis Data 2. Database Client / Server. Arif Basofi, S.Kom. MT. Teknik Informatika, PENS

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI. tentang load balancing terus dilakukan dan metode load balancing terus

BAB I PENDAHULUAN 1.1 Latar Belakang dan Permasalahan

BAB 2 TINJAUAN PUSTAKA DAN DASAR TEORI. Adapun tinjauan pustaka pada pengembangan microblog ini diambil dari

Cloud Computing Windows Azure

BAB II. KAJIAN PUSTAKA. beberapa aktifitas yang dilakukan oleh manusia seperti system untuk software

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 3 LANDASAN TEORI

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI. Tabel 2.1. Tinjauan Pustaka. Tidak Apotek PHP

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI. mengangkat kasus dan penggunaan teknologi yang berbeda-beda, pada table 2.1

BAB I PENDAHULUAN 1.1. Latar Belakang

MAKALAH SISTEM KOMPUTASI GRID

PENGEMBANGAN SISTEM INFORMASI GEOGRAFIS BERBASIS NODE

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI

BAB 3 LANDASAN TEORI

BAB 1 PENDAHULUAN 1.1 Latar Belakang

Pengumpulan Data. Analisa Data. Pembuatan Use Case,Activity dan Sequence Diagram. Perancangan Database. Bisnis Proses.

BAB II KAJIAN PUSTAKA

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB II KAJIAN PUSTAKA. berbasis linux yang mencakup sistem operasi, middleware dan aplikasi.

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI. pernah dilakukan oleh beberapa penulis. tentang membangun aplikasi chat berbasis android.

BAB II KAJIAN PUSTAKA

BAB II KAJIAN PUSTAKA

Berikut langkah-langkah penelitian yang dilakukan: 1. Menentukan kebutuhan data yang akan digunakan.

BAB III LANDASAN TEORI

BAB II KAJIAN PUSTAKA. dibutuhkan suatu bahasa pemrograman, yaitu language software, yang

BAB III LANDASAN TEORI

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI

BAB 2 LANDASAN TEORI. disebut HTML (HyperText Markup Langauge). Pada perkembangan berikutnya,

BAB 3 LANDASAN TEORI

BAB II LANDASAN TEORI. Pada tahap ini berisi pengertian dan penjelasan teori-teori yang digunakan penulis untuk pembangunan sistem.

BAB 1 PENDAHULUAN. Sistem informasi merupakan fokus utama dari studi disiplin sistem informasi dan

BAB III LANDASAN TEORI

Deretan Framework Javascript yang sering Digunakan

BAB II LANDASAN TEORI. diperlukan dalam pembangunan website e-commerce Distro Baju MedanEtnic.

BAB II KAJIAN PUSTAKA. yang mencakup sistem operasi, middleware, dan aplikasi. Android menyediakan

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI. mendefenisikan penelitian yang sebelumnya hampir sama dilakukan

BAB 1 PENDAHULUAN. Bekasi merupakan badan usaha yang bergerak dalam bidang penjualan bed cover, sprei bantal, sprei guling dan sprei untuk kasur.

BAB IV PEMBAHASAN. menyebabkan kesalahan pada tahap selanjutnya. yaitu wappalayzer, tool tersebut membantu untuk mengetahui CMS (content

BAB I PENDAHULUAN I-1

SMS gateway telah banyak digunakan dalam berbagi aplikasi dan

Pengantar Cloud Computing Berbasis Linux & FOSS

MODUL PRAKTIKUM BASIS DATA TEKNIK INFORMATIKA UIN SUNAN KALIJAGA YOGYAKARTA 2011 PENGENALAN DATABASE MYSQL

No HP :

Website e-commerce PT. Jaya Komunika

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI. Codelgnite (CI) aplikasi sumber terbuka yang berupa framework PHP

Prodi Teknik Informatika, Fak. Teknologi Informasi Universitas Mercubuana Yogyakarta 2016

BAB 1 PENDAHULUAN. sering disebut dengan e-commerce (Electronic Commerce). E-Commerce

BAB I PENDAHULUAN. digunakan membuat dinamika perkembangan teknologi sangatlah pesat. Dengan

BAB II LANDASAN TEORI

BAB III LANDASAN TEORI

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI. Tinjauan pustaka yang dipergunakan dalam penelitian disajikan melalui

BAB III TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI. Adapun tinjauan pustaka yang digunakan sebagai berikut : Table 2.1 Tabel Tinjauan Pustaka

BAB III TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA. Bab ini membahas teori-teori yang dijadikan acuan tugas akhir ini.

BAB III LANDASAN TEORI

BAB II LANDASAN TEORI

BAB 1 PENDAHULUAN. menjual berbagai jenis pakaian. Seiring dengan perkembangan fashion pakaian ini

TOKO KUE ONLINE (STUDI KASUS PADA TOKO QANITA PASTRY)

BAB II LANDASAN TEORI. di jaman sekarang, namun apakah Anda mengetahui sejarah nya itu?. Mungkin,

BAB III LANDASAN TEORI

LANDASAN TEORI. Dunia informasi di Indonesia sedang dan harus. berubah. Saat ini, dunia pemasaran tidak dapat

Perancangan Website Ujian. Teknik Elektro UNDIP Berbasis HTML

BAB 2 TINJAUAN PUSTAKA

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah

BABI II DASAR TEORI DAN TINJAUAN PUSTAKA

Laporan. pencarian pensitasi dari satu paper ke paper yang lain

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI

SOFTWARE TERBAIK UNTUK DATABASE

Pokok Bahasan 2 Teknologi Dasar Internet dan Web. L. Erawan

BAB 3 LANDASAN TEORI

bahasa pemrograman, yaitu language software, yang dapat berbentuk assembler, compiler maupun interpreter. Jadi language software merupakan

Mengenal Pemrograman Web Dengan JSP

BAB III LANDASAN TEORI

Hal yang harus diperhatikan dalam penggunaan AJAX adalah: XHTML dan CSS digunakan untuk menandai dan mempercantik tampilan informasi.

TEKNOLOGI APLIKASI WEB BERBASIS SERVER

BAB IV IMPLEMENTASI DAN PENGUJIAN

1. Bab 2 Arsitektur Produk

IMPLEMENTASI WEB SERVICE DALAM PENCARIAN OBJEK WISATA BERBASIS ANDROID

BAB 1 PENDAHULUAN. Perkembangan teknologi pada masa sekarang ini begitu pesat sehingga

1.1 Latar Belakang Masalah

BAB III METODE PENELITIAN. Gambar 3.1 ini merupakan desain penelitian yang akan digunakan. Exponential Smoothing

Transkripsi:

BAB III DASAR TEORI 3.1 Dasar Teori 3.1.1 Arsitektur Microservice Arsitektur Microservice, atau hanya Microservice, adalah metode khas mengembangkan sistem perangkat lunak yang digunakan berkat skalabilitas, metode arsitektur ini dianggap sangat ideal ketika harus mengaktifkan dukungan untuk berbagai perangkat lunak dan perangkat-mencakup web, mobile, Internet Of things, cloud service. Karakteristik tertentu dari Arsitektur Microservice pada dasarnya adalah metode pengembangan aplikasi perangkat lunak sebagai suite independen deployable, small, layanan modular di mana setiap layanan menjalankan proses yang unik dan berkomunikasi melalui didefinisikan dengan baik, mekanisme ringan untuk melayani tujuan bisnis. Layanan berkomunikasi satu sama lain tergantung pada kebutuhan aplikasi yang digunakan, pengembang menggunakan HTTP/REST dengan JSON atau protubuf. Profesional DevOps, tentu saja pengembang bebas untuk memilih protokol komunikasi yang mereka anggap cocok, tetapi dalam banyak situasi, REST ( Representational State Transfer ) adalah metode integrasi yang berguna karena kompleksitasnya relatif lebih rendah lebih protokol lainnya. Martin Fowler menunjukkan contoh pengunaan Microservice ialah Netflix, ebay, Amazon, Layanan Digital Pemerintahan Inggris, realestate.com.au, 8

9 Forward, Twitter, PayPal, Gilt, Bluemix, SoundCloud, The Guardian, dan banyak situs skala besar lainnya dan aplikasi ini semua berevolusi dari arsitektur monolitik ke arsitektur microservice. ( Huston Tom, 2015 ) 3.1.2 Node.js Node.js merupakan salah satu peranti pengembang yang bisa digunakan untuk membuat aplikasi berbasis Cloud. Node.js dikembangkan dari engine JavaScript yang dibuat oleh Google untuk browser Chrome / Chromium (V8) ditambah dengan libuv serta beberapa pustaka internal lainnya. Dengan menggunakan Node.js, semua pengembangan akan dilakukan menggunakan JavaScript, baik pada sisi klien maupun server. ( Bambang Purnomosidi D.P, 2013 ) 3.1.3 Database NoSQL Database NoSQL adalah database yang tidak menggunakan relasi antar tabel dan tidak menyimpan data dalam format tabel kaku (kolom yang fix) seperti layaknya Relasional Database. ( Ferdhika Yudira, 2015 ) 3.1.4 MongoDB MongoDB adalah salah satu produk databases NoSQL OPEN SOURCE yang menggunakan struktur data JSON untuk menyimpan datanya. MongoDB adalah

10 salah satu database NoSQL yang paling populer di internet. MongoDB sering dipakai untuk aplikasi berbasis Cloud, Grid Computing, atau Big Data. ( Putra Adi Candra, 2015 ) 3.1.5 Senecajs Seneca adalah sebah toolkit microservices untuk Node.js yang bermotto Build it Now, Scale it Later! yang mana disini seneca sudah menyediakan plugin untuk fondasi pada aplikasi yang akan dibangun. Hal ini membuat programer berfokus pada pembuatan code atau bisa disebut coding. Setiap kali memanggil salah satu kode yang tidak diketahui atau yang mana perintah apa yang ingin dijalankan maka satu objek javascript akan menjalankanya dan yang lain akan berhenti. (Richard Rodger, 2015 ) 3.1.6 Skema Arsitektur Microservices Pada Aplikasi Web Skema Arsitektur Microservice menggambarkan hubungan antara satu layanan dengan layanan lain, yang digambarkan dalam implementasi suatu aplikasi web. Dapat digambarkan sebagai berikut.

11 Gambar 3.1 Skema Arsitektur Microservice (a) Diatas adalah skema Microservices dalam aplikasi web yang mencontohkan Aplikasi e-commerce yang melaksanakan layanan mulai dari mengambilkan pesanan pelangan, memverifikasi persedian, ketersediaan kredit dan pengiriman pesanan-pesanan. Dalam aplikasi ini terdiri dari beberapa komponen termasuk StoreFrontUI, yang mengimplementasikan antarmuka pengguna, bersama layanan backend untuk memeriksa kredit,menjaga persediaan dan pengiriman pesanan. Dalam aplikasi ini setiap layanan digunakan secara independent dari layananlayanan lain sehingga lebih mudah untuk membuat versi baru dari layanan. Aplikasi ini digunakan sebagai satu set layanan.

12 Gambar 3.2 Skema Arsitektur Microservice (b) Skema Arsitektur Microservice juga pernah dibuat oleh Ram Vennam dalam blognya yang menggambarkan penerapan Arsitektur Microservice dalam aplikasi e-commerce yang didefinisikan oleh tiga aplikasi terpisah. Salah satu kekuatan utama dari Arsitektur Microservice adalah kemampuan untuk memilih bahasa yang ingin digunakan untuk setiap aplikasi. Pada skema aplikasi diatas pada bagian backend aplikasi menggunakan Node.js untuk bagian layanan katalog karena kemampuan non-blocking untuk kemampuan melayani banyak permintaan, dan untuk penggunaan databases dengan menggunakan databases non-relasional [databases Cloudant] pada katalog item. Untuk pesanan menggunakan Java Jax-RS dikarenakan kemampuanya menangani dan memproses banyak pesanan ditoko dengan menggunakan databases SQL

13 Relasional. Sedangkan PHP dipilih untuk membuat UI dikarenakan untuk mempermudah dalam Membuat UI ( User Interface ). ( Richardson Chris, 2014 & Lohr Andrew, 2015 ) 3.1.7 Docker Docker adalah sebuah platform terbuka untuk developer, sysadmin atau siapapun yang bertujuan menggunakan sebuah platform untuk membangun, mendistribusikan dan menjalankan aplikasi dimanapun mulai dari laptop, data center, virtual mesin ataupun cloud. Docker membuat proses pemaketan aplikasi bersama komponennya (dependencies ) secara cepat dalam sebuah container yang terisolasi, sehingga dapat dijalankan dalam infrastruktur local (local data center) ataupun cloud tanpa melakukan perubahan/konfigurasi lagi pada container, selama host menjalankan Docker Engine. Docker merupakan software open source di bawah Lisensi Apache Versi 2.0 yang bisa dipergunakan secara gratis. Saat ini Docker hanya bisa berjalan pada Linux, namun kita bisa menggunakan mesin virtual pada mesin windows, atau menggunakan Boo2Docker. (Fahmi Persada, 2014) 3.1.8 Keungulan Arsitektur Microservice Microservices memliliki sejumlah keungulan dan untuk mengilustrasikan keungulan dari arsitektur microservice ini dengan membadingkanya dengan Arsitektur Monolitik. Digambarkan sebagai berikut.

14 Microservice Architecture Gambar 3.3 Perbandingan Arsitektur Monolitik dan Arsitektur Microservice Pada Pengilustrasian mencontohkan tetang pembagunan aplikasi baru yakni pemesanan taxi. Pada penggambaran Arsitektur Monolitik pengembang membuat satu layanan lalu hanya perlu menyalin satu aplikasi yang telah dibuat lalu dikemas/packets ke server. Dalam waktu-kewaktu aplikasi ini menjadi besar sehingga menjadi suatu aplikasi yang kompleks dan sangat kompleks untuk pengembang tunggal untuk memahami aplikasi tersebut. Akibatnya untuk memperbaiki bug dan menerapkan fitur baru menjadi benar-benar sulit dan memakan waktu jika baris kode sulit dipahami. Sehingga untuk menagulangi hal tersebut dibuatlah Arsitektu Microservice yang mana setiap area fungsional dijalankan oleh MICROSERVICE sendiri. Selain itu aplikasi web dibagi menjadi seperangkat aplikasi web sederhana (seperti satu untuk penumpang dan satu untuk driver contoh memanggil taxi). Hal ini membuat lebih mudah menerapkan layanan yang berbeda bagi pengguna tertentu, perangkat, atau penggunaan khusus.

15 Dari Penjabaran penggambaran Aplikasi Microservice diatas dapat diterjemahkan keungulan Microservice. 1. Menangani masalah kompleksitas. 2. Arsitektur ini memungkinkan setiap layanan untuk dikembangkan independent oleh tim yang difokuskan pada layanan tersebut. 3. Memungkinkan layanan untuk digunakan secara mandiri. 4. Baris kode ditulis lebih sedikit dan lebih banyak membuat flexibilitas untuk membuat perubahan pada aplikasi yang dikelola. 5. Setiap layanan dapat dipantau, diperbaruhi secara independent untuk mencocokan tautan. 6. Setiap layanan dapat dikembangkan dan diperbarui secara mandiri. 7. Menghilangkan komitmen jangka panjang untuk setumpuk teknologi. ( Richardson Chris, 2015 ).