Standar Acuan Enterprise Architecture ULBI
Direktorat Teknologi Informasi ULBI, dalam pengembangannya berpedoman pada Digital Campus Master Plan.
Dalam rangka efisiensi penerapan DCMP diterapkan menggunakan konsep Green Coding.
Green Coding : Low Level Carbon Footprint Code
Dimana setiap program yang dihasilkan mengurangi dampak emisi karbon pada lingkungan. Sehingga sasaran parameter pendukungnya antara lain :
GTMetrix
Website selalu di evaluasi dan memiliki nilai GTMetrix : A
Green Infrastructure
Data center eksisting berada di dalam lingkungan kampus. Untuk penggunaan Cloud sebagai backend dengan ketentuan penyelenggara cloud masuk kategori leaders pada gartner magic quadrant
Lokasi Server Cloud harus berada di Indonesia untuk mendapat latensi yang baik.
Object Storage Menggunakan Cloudflare R2
Green Coding Bahasa Pemrograman
Sebagai perbandingan konsumsi komputasi CPU dan Memori dari beberapa bahasa pemrograman yang berjalan di server on premise kami :
Rata-rata penggunaan Memori :
- PHP : 238 MiB
- Python : 62 MiB
- Golang : 28,6 MiB
Untuk perbandingan bahasa pemrograman frontend bisa dilihat disini.
Green Coding Pengembangan Aplikasi
Untuk mendukung low level carbong coding, pengembangan yang dilakukan pada DTI antara lain pengembangan Frontend, Backend dan Profile Web. Dengan kriteria sebagai berikut :
Frontend
Frontend dibangun menggunakan Arsitektur Serverless Micro Frontend,
beberapa kriteria dalam pengembangan :
- Dibangun menggunakan builder CSS (Contoh : shuffle.dev) atau framework berbasis CDN seperti tailwind, bulma dan vanillaframework.
- Interaksi dengan backend menggunakan Javascript ES6+ dengan pembagian file per fungsi-fungsi yang dapat dipakai berulang import dari CDN. Cheatsheet dan library bisa dilihat di VanillaJSkit.
- Login Otorisasi dan Authentikasi Pengguna atau disebut juga dengan Single Sign On(SSO) menggunakan WhatsAuth yang sudah menggunakan Paseto untuk Security Token ke Backend, disimpan dalam cookies pengguna.
- Dideploy diatas platform CDN, untuk JS minimal menggunakan jsdelivr. HTML dan CSS pada Github Pages untuk tracking pengembangan serta efisiensi dalam penggunaan server dan maintenance.
Backend
Pengambangan sisi Backend dengan kriteria :
- Dibangun dengan menggunakan bahasa pemrograman Go dengan framework Golang Fiber. Boiler Plate Kami ada di GoCroot.
- Fungsi-fungsi yang dipakai berulang kali maka wajib dibuatkan package (Reuse Code). Package kami ada di aiteung.
- Token Barier akses API yang digunakan adalah Paseto, tidak lagi menggunakan JWT karena lebih aman.
- Backend berada di Docker On-premises atau layanan Cloud yang memiliki nilai latensi paling kecil yang diakses dari Indonesia.
- Unit Testing menggunakan go test.
- Definition of Done(DOD) adakah swagger dengan deskripsi dan example lengkap dan try out sudah berjalan.
Standar Commit
Jika commit harian dibawah 10 maka bisa dipastikan terdapat kendala pada programmer, wajib diadakan wawancara dan tanya jawab kendalanya.
Link :
Commit Convesional
Message Standar, contoh :
- feature(getdosenbyid) : mengambil data dosen menggunakan nidn
- refactor(getdosenbyid) : mengambil data dosen menggunakan nidn
- fix(getdosenbyid) : mengambil data dosen menggunakan nidn
Landing page dan Web Profil
Web berita, profile, landing page dipilih provider Google. Blogger.com dengan custom css, js dan konten gambar didistribusikan dalam CDN Blogger.com dengan tetap menjaga nilai GTMetrix A.
Daily Scrum
Setiap hari wajib ada daily scrum dengan bahasan yang DETIL tentang :
- Melaporkan pekerjaan yang telah diselesaikan pada hari sebelumnya
- Membuat perencanaan untuk 24 jam ke depan
- Melaporkan hambatan yang dialami selama proses pengembangan produk
- Dibuka dengan mini scrum games untuk memilih scrum master hari selanjutnya