Tag: Python

Python adalah sebuah bahasa pemograman dinamis dengan implementasi berupa CPython, IronPython, Jython dan sebagainya. Salah satu yang unik pada Python adalah perpecahan di dalam komunitasnya setelah Python 3 diluncurkan. Python 3 memiliki fasilitas yang tidak komptibel dengan Python 2 dan banyak programmer Python yang lebih suka dengan Python 2. Hal ini menyebabkan Python 2 yang tadinya akan berakhir pada tahun 2015, masih tetap didukung hingga 2020. Pengguna Python harus seksama memilih library yang akan dipakai karena library yang dibuat Python 3 tidak dapat dipakai di Python 2 (dan juga sebaliknya).

Memakai Persistent Volume Di Kubernetes

Saat sebuah pod di-restart, seluruh perubahan di dalam container-nya akan hilang. Ini tidak menjadi masalah untuk service yang stateless seperti stock-item-service yang hanya mengerjakan aksi seperti validasi dan membaca/menyimpan data di database MongoDB dan Elasticsearch. Setelah service tersebut di-restart, ia tetap akan bekerja dengan baik (dengan memory yang ‘segar’). Namun, bagaimana dengan service lain seperti database atau service yang menangani file yang di-upload oleh pengguna? File-file yang sudah ditulis tentu saja tidak boleh hilang saat pod di-restart.

Kategori: DevOps Tags: Kubernetes Python

Melakukan Load Testing Dengan Locust

Bila bicara soal load testing, yang terbayang dalam kepala saya adalah Apache JMeter. Namun kali ini saya akan mencoba sebuah tool baru yang disebut Locust. Salah satu perbedaan utamanya adalah definisi tugas pengujian JMeter dilakukan melalui UI sementara definisi pengujian Locust ditulis melalui kode program Python. Mana yang sebenarnya lebih mudah dan intuitif? Secara logika, seharusnya JMeter, bukan? Tapi entah mengapa saya merasa banyak yang butuh waktu untuk mempelajari UI JMeter sebelum bisa mulai bekerja dengannya. Sementara itu, karena skenario Locust adalah kode program Python, pembuat skenario bisa copy paste dan menerapkan teknik pemograman yang sudah biasa mereka pakai.

Kategori: DevOps Tags: Python

Memakai Python Dalam Docker Di PyCharm

Hari ini saya perlu bekerja kembali dengan tool CLI Python yang sudah lama tidak saya sentuh. Saya bahkan sudah tidak memiliki instalasi Python lagi di sistem operasi yang saya pakai. Apakah ada cara cepat untuk menjalankan script tersebut tanpa harus meng-install Python dan dependency-nya di sistem operasi saya? Walaupun Python memiliki Virtualenv untuk membatasi instalasi dependency ke proyek yang aktif, akan lebih menyenangkan bila saya menjalankannya di container. Tentu saja, saya membutuhkan IDE yang bisa memakai Python di dalam container Docker dan tetap bisa mendeteksi dependency yang ter-install di dalam container tersebut. Salah satu IDE dengan fasilitas tersebut adalah PyCharm.

Kategori: DevOps Tags: Python Docker PyCharm

Dari MySQL Ke Algolia Melalui Python

Hari ini saya harus melakukan operasi indexing di Algolia berdasarkan data dari database MySQL yang sudah ada. Saya hanya memiliki akses ke database tersebut tanpa kode program. Saya tidak menemukan tools otomatis untuk melakukan hal ini seperti layaknya Logstash di ELK (Elasticsearch, Logstash, Kibana). Beruntungnya, tidak sulit untuk menulis kode program yang membaca dari database MySQL dan mengirimkannya ke Algolia karena Algolia telah menyediakan libray pendukung di beberapa bahasa pemograman populer. Pertanyaannya adalah saya harus menulis dalam bahasa pemograman apa? Ini pastinya adalah sebuah script CLI dan bukannya aplikasi web; oleh sebab itu saya tidak akan menggunakan bahasa favorit saya: Java. Setelah berpikir sejenak, saya menyadari bahwa satu-satunya bahasa pemograman yang saya kuasai dan tepat untuk CLI adalah Python.