Belajar Dunia Pemrograman di Afterhours DevTalk
Komunitas Agriweb dan Komunitas Mobile Apps Development Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam (FMIPA) IPB University menggelar Afterhours DevTalk di Creative Room, Gedung Pusat Komputer, di Kampus IPB Dramaga, Bogor (25/2). Afterhours terdiri dari kegiatan Afterhours DevTalk, Afterhours DevHackathon, Afterhours DevWorkshop dan Afterhours DevMeetUp.
Kegiatan ini bertujuan memberi wawasan mengenai dunia pemrograman kepada para peserta yang kebanyakan para mahasiswa. Dalam kegiatan ini hadir tiga pemateri. Yakni Dean Apriana Ramadhan, Kepala Sub Direktorat Sistem Informasi, M Abrar Istiadi, Kepala Seksi Pengembangan Sistem Informasi, dan Fakhri Izzudin, Engineering Manager di Bukalapak.
Menurut Dean, saat pertama kali membuat aplikasi kita tidak peduli tentang scalability. Microservice dapat dimanfaatkan untuk meningkatkan scalability. Microservice adalah services yang kecil dan fokus melakukan satu hal dengan baik. Microservice bersifat autonomous. “Ada enam prinsip dari microservice yaitu modularity, autonomous, hide implementation details, automation, stateless, dan highly observable,” ungkap Dean.
Sementara itu, Abrar Istiadi menjelaskan bahwa scalability adalah hak milik suatu sistem untuk menangani pekerjaan yang jumlahnya terus bertambah dengan menambahkan sumber daya ke sistem. “Perbedaan performance dengan scalability yaitu performance yang memperlihatkan seberapa cepat aplikasi web melayani request. Sedangkan scalability memperlihatkan seberapa tahan aplikasi diserbu banyak request,” ujar Abrar.
Scalability memiliki dua jenis. Yaitu vertical scaling (scale up) dan horizontal scaling (scale out). Vertical scaling memiliki ciri-ciri yaitu dapat menambah kekuatan server aplikasi web, aplikasi tidak perlu diapa-apakan, terbatas pada satu server, dan tidak ada backup kalau satu server ini down. Horizontal scaling memiliki ciri-ciri, yaitu dapat menambah jumlah server atau service aplikasi web, arsitektur aplikasi perlu dipikirkan kembali, aplikasi perlu disesuaikan supaya bisa jalan lebih dari satu, tidak terbatas (theoretically), dan ada fail over.
“Praktik terbaik dalam Engineering yaitu Clean Code, SOLID Principles, Pair Programming, Code Review, Version Control, Testing, CI/CD, Logging, Monitoring, Alerting dan Postmortem Culture,” ungkap Fakhri Izzudin.