mekanisme ringan untuk melayani tujuan bisnis.
Layanan berkomunikasi satu sama lain tergantung pada kebutuhan aplikasi yang digunakan,
pengembang menggunakan HTTP/RESTdengan JSONatau 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,9Forward, Twitter, PayPal,
Gilt, Bluemix, SoundCloud, The Guardian, dan banyak situs skala besar lainnya dan aplikasi ini semua berevolusi dari arsitektur monolitikkearsitektur microservice.
(Huston Tom, 2015).
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.

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

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. Salahsatu 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 kemampuannon-blocking untuk kemampuan
melayani banyak permintaan, dan untuk penggunaandatabases dengan menggunakandatabases non-relasional [databases Cloudant] pada katalog item. Untuk pesanan menggunakan
Java Jax-RS dikarenakan kemampuanya menangani dan memproses banyak pesanan ditoko dengan menggunakandatabases SQL Relasional. SedangkanPHP dipilih untuk membuat UI
dikarenakan untuk mempermudah dalam Membuat UI ( User Interface ).( Richardson Chris, 2014 & Lohr Andrew, 2015 )
Docker
Docker adalah sebuah platform terbuka untuk developer, sysadminatau 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 containeryang terisolasi, sehingga dapat dijalankan dalam infrastruktur
local (local data center) ataupun cloud tanpa melakukan perubahan/konfigurasi lagi pada container, selamahost 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)
Keungulan Arsitektur Microservice
Microservices memliliki sejumlah keungulan dan untuk mengilustrasikan keungulan dari arsitektur microservice ini dengan membadingkanya dengan Arsitektur Monolitik.
Digambarkan sebagai berikut.


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.
Dari Penjabaran penggambaran Aplikasi Microservice diatas dapat diterjemahkan keunggulan Microservice.
1. Menangani masalah kompleksitas.
2. Arsitektur ini memungkinkan setiap layanan untuk dikembangkan independentoleh 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 ).