Kubernetes merupakan platform yang tepat untuk mempermudah proses orkestrasi container pada arsitektur microservice mulai dari development, testing, staging hingga level production secara terintegrasi.
Salah satu kendala yang umumnya dihadapi oleh developer ketika mengembangkan sebuah aplikasi adalah aplikasi yang dikembangkan mungkin saja tidak ter-deploy secara sempurna. Untuk menyelesaikan permasalahan ini, teknologi virtualisasi seperti container dapat menjadi solusi yang tepat. Sederhananya, jika virtual machine dapat membagi resource menjadi beberapa sistem komputasi dan mengisolasi penuh pada level hardware, container memiliki prinsip yang sama. Hanya saja, container menggunakan virtual-memory dalam melakukan isolasi. Memanfaatkan teknologi container mampu meningkatkan efisiensi dalam mengelola berbagai aplikasi baik dari segi performa maupun penggunaan resource. Seiring dengan hal tersebut, penggunaan Kubernetes kian populer dan dimanfaatkan untuk mengelola banyaknya container dan juga meningkatkan produktivitas dari pipeline product development. Hal ini dikarenakan, kubernetes mampu menyediakan sistem yang lebih advance untuk mengelola berbagai resource serta container yang digunakan sekaligus mengintegrasikannya agar seluruh proses pengelolaan pipeline dapat berjalan dengan lancar.
Microservices merupakan arsitektur pemrograman yang membagi service ke bagian yang lebih kecil dimana service-service tersebut saling berhubungan satu sama lain dalam setiap container. Dalam arsitektur microserservices setiap service dapat dikelola, dibangun, dan dilakukan testing secara independen. Tidak hanya itu, setiap service juga dapat dikelompokkan baik berdasarkan kharakteristik maupun fungsi bisnis dan kelola oleh tim development yang berbeda-beda.
DevOps adalah kata yang menggabungkan istilah development (pengembangan) dan operations (operasi) dan mengacu pada pendekatan kolaboratif untuk pengembangan aplikasi dan tim operasi IT. DevOps adalah filosofi yang mendorong komunikasi dan kolaborasi tim yang lebih baik. DevOps mengacu pada penggunaan pengembangan aplikasi yang dapat diprogram, diotomatisasi, dan dilakukannya penyebaran infrastruktur dan administrasi dalam arti teknis. Kata ini juga mengacu pada budaya yang mendukung integrasi alat pengembangan baru dan praktik terbaik di seluruh pengembangan aplikasi dan delivery chain (rantai pengiriman).