Radya Labs Technology Update 2020
Hai semuanya,
Seperti yang kita ketahui, perkembangan teknologi informasi semakin pesat dari waktu ke waktu, begitu pula dengan teknologi yang digunakan oleh Radya Labs. Sebagai perusahaan IT Solution, kami terus mengikuti dan mencoba menerapkan teknologi baru, mulai dari bahasa pemrograman, tools, hingga framework pengembangan. Kami berusaha menggunakan tren teknologi terbaru dengan tujuan menghasilkan produk yang maksimal, sehingga mampu bersaing dengan perusahaan pengembang perangkat lunak lainnya.
Lalu, teknologi baru apa saja yang diterapkan oleh Radya Labs? Berikut daftarnya:
Technology Stack
Saat ini, ada empat platform utama yang digunakan oleh Radya Labs dalam mengembangkan aplikasi, yaitu:
1. Mobile (Native)
- Java & Kotlin → Digunakan untuk pengembangan Android Apps
- Objective C & Swift → Digunakan untuk pengembangan iOS Apps
2. Web
- Web Development (MVC/WebAPI) menggunakan .NET Core Framework
- Microservices menggunakan .NET Core Framework dengan RabbitMQ sebagai message broker
- Angular, React, Vue → Digunakan sebagai framework untuk pengembangan Frontend Web
3. Chatbot
- .NET Core sebagai framework utama
- Blazor untuk pengembangan frontend
4. Cross-Platform
- Xamarin
- React Native
- Flutter
Development Tools
Kami juga mempertimbangkan penggunaan tools yang tepat untuk membantu proses pengembangan aplikasi. Saat ini, beberapa tools yang kami gunakan adalah:
- Bitbucket sebagai repository dengan implementasi Git Flow, untuk menghasilkan manajemen source code yang lebih baik dan meningkatkan kualitas kode.
- Visual Studio sebagai IDE utama untuk mengembangkan Backend (API atau Chatbot), dengan bahasa pemrograman ASP.NET dan .NET Core.
- Visual Studio Code digunakan untuk pengembangan Frontend, dengan bahasa pemrograman seperti Angular, React, Vue.js, React-Native, dan Flutter.
Server
Radya Labs menyediakan beberapa jenis server sesuai dengan kebutuhan dan arsitektur proyek klien:
- Internal Server (On-Premise) → Digunakan sebagai development server dengan sistem operasi Windows & Linux. Server ini digunakan untuk Database, App Server (IIS, Nginx), Active Directory, SSH, dan IIS Web Deployment.
- VPS (Virtual Private Server) → Digunakan sebagai staging server, yang dipakai saat proyek memasuki fase deliverable dan siap diuji oleh klien (weekly build).
- Azure Cloud Service → Digunakan jika klien ingin mempublikasikan aplikasi di Azure. Beberapa layanan Azure yang sering digunakan meliputi Web App, Azure SQL Database, MySQL, Storage Account, Application Insight, VM, dll. Kami juga menggunakan Azure sebagai backup server jika terjadi kendala seperti pemadaman listrik atau maintenance di internal server kami.
DevOps
Radya Labs telah menerapkan DevOps Technology sejak satu tahun yang lalu dengan menggunakan Azure DevOps. Tujuan penerapan DevOps di antaranya:
- Mengotomatisasi tugas rutin developer, seperti deploy release ke development, staging, dan production server, sehingga developer bisa lebih fokus pada tugas utama dan kualitas kode.
- Meningkatkan transparansi proyek, agar klien bisa melihat setiap task yang dikerjakan oleh tim development, mulai dari source code hingga aplikasi yang telah diunggah ke server.
- Mengurangi human error dalam proses build & deployment aplikasi.
- Menerapkan Unit Test & Regression Test untuk memastikan bahwa semua fungsi aplikasi berjalan dengan baik sebelum rilis ke produksi.
Code Analysis
Untuk memastikan kualitas kode yang maksimal, Radya Labs menggunakan SonarQube sebagai alat analisis kode.
DevOps x Regression Test
Di akhir 2019, kami juga melakukan riset tentang integrasi DevOps UI dengan Regression Test, menggunakan Katalon Studio & SmartBear sebagai Testing Tools.
Tujuan dari integrasi ini adalah untuk memastikan semua fungsi aplikasi berjalan dengan baik sebelum di-deploy ke Production Server.
Dengan penerapan teknologi ini, Radya Labs berusaha untuk selalu menghadirkan solusi IT terbaik dan inovatif bagi klien. 🚀