Mengapa modernisasi aplikasi seharusnya tidak menghambat transformasi digital [Q&A]

Mengapa modernisasi aplikasi seharusnya tidak menghambat transformasi digital [Q&A]

Proyek transformasi digital sering mengandalkan pembaruan atau penggantian aplikasi, tetapi hal itu dapat menghambat kecepatan kemajuan.

Banyak aplikasi perusahaan mengandalkan sistem mapan seperti Java yang telah ada sejak lama tetapi tetap populer. Kami berbicara dengan Kim Weins, VP produk di platform pengembangan web sumber terbuka Vaadin, untuk mengetahui lebih lanjut tentang tantangan dalam memperbarui aplikasi perusahaan.

BN: Apa peran dan prevalensi Java dalam aplikasi perusahaan?

KW: Java terus mendominasi sebagai pekerja keras untuk aplikasi perusahaan karena mudah digunakan dan dapat menangani beban kinerja yang berat. Java memiliki ekosistem kerangka kerja, komponen, dan alat yang sangat besar. Selama 25 tahun terakhir, organisasi telah membangun aplikasi menggunakan Java, sehingga jumlah aplikasi Java perusahaan sangat besar. Bahkan hingga saat ini, Java masih menjadi salah satu bahasa pemrograman terpopuler (nomor tiga menurut RedMonk dan Developer Nation). Dengan ekosistem besar komponen dan alat yang tersedia, saya tidak melihat pengguna perusahaan menjadi kurang puas.

BN: Apa tantangan terbesar yang dihadapi developer saat membangun aplikasi perusahaan?

KW: Dua tantangan terbesar yang dihadapi developer adalah produktivitas developer dan pengalaman pengguna. Produktivitas pengembang berarti seberapa cepat dan mudah pengembang dapat membangun, menyempurnakan, dan memelihara aplikasi ini. Produktivitas developer yang lebih baik menghasilkan beberapa manfaat bisnis yang penting, termasuk biaya pengembangan yang lebih rendah dan waktu pemasaran yang lebih cepat.

Pengalaman pengguna adalah cara untuk menggambarkan seberapa cepat dan mudah pengguna aplikasi dapat menyelesaikan sesuatu dalam aplikasi. Pengalaman pengguna yang lebih baik meningkatkan ukuran bisnis penting, termasuk waktu dan upaya yang diperlukan untuk menyelesaikan tugas dan kepuasan pengguna, yang pada gilirannya dapat mendorong retensi karyawan atau pelanggan.

BN: Faktor apa yang harus dipertimbangkan saat merancang aplikasi perusahaan?

KW: Pengembang ingin membuat aplikasi yang disukai pengguna dan saat pengguna menyukai aplikasi, hal itu dapat memengaruhi keuntungan Anda. Sebuah studi oleh Forrester menemukan bahwa perusahaan yang dipimpin oleh desain memiliki keunggulan bisnis yang signifikan, dengan 70 persen perusahaan yang dipimpin oleh desain melaporkan memiliki pengalaman digital yang lebih kuat atau terbaik di kelasnya dibandingkan dengan pesaing.

Pengguna saat ini adalah penduduk asli digital yang terbiasa melakukan orientasi mandiri pada aplikasi yang dirancang secara intuitif dan mengharapkan UX yang luar biasa. Kesederhanaan mungkin menguasai pengembangan aplikasi konsumen, tetapi di perusahaan, ada proses bisnis yang rumit dan seringkali banyak data yang harus disajikan.

Merancang untuk aplikasi perusahaan memerlukan pemahaman yang kuat tentang alur kerja dan peran masing-masing pengguna tertentu. Untuk aplikasi perusahaan, Anda mungkin perlu membangun kemampuan untuk entri data yang efisien, dan dukungan untuk kolaborasi. Perubahan yang perlu terjadi adalah pergeseran untuk mendesain aplikasi yang berpusat pada pengguna atau alur kerja, bukan berpusat pada fitur. Inilah cara Anda membuat aplikasi yang disukai pengguna.

BN: Apa peran modernisasi aplikasi dalam transformasi digital dan migrasi cloud?

KW: Dekade pertama adopsi cloud sebagian besar difokuskan pada aplikasi greenfield. Ini dimulai dengan perusahaan sosial, game, dan teknologi yang hanya memiliki sedikit aplikasi warisan untuk bersaing. Mereka mampu membangun aplikasi dari awal menggunakan prinsip cloud-native. Perusahaan tradisional lintas industri mengikuti jejak mereka dengan membangun aplikasi cloud baru untuk memenuhi kebutuhan bisnis baru. Sekarang organisasi bergerak melampaui buah yang menggantung rendah dalam perjalanan cloud mereka. Mereka perlu menemukan cara untuk memodernisasi aplikasi yang ada untuk memenuhi harapan pengguna saat ini — dan itu berarti memigrasikan aplikasi ini ke web dan cloud.

BN: Mengapa modernisasi aplikasi lebih lambat daripada bidang transformasi digital lainnya?

KW: Modernisasi aplikasi itu sulit. Sangat banyak bagi pengembang untuk fokus pada pemeliharaan aplikasi dan saya pikir akan terasa luar biasa untuk mengalihkan fokus ke modernisasi. Seringkali pengembang mungkin lebih suka memulai dari awal dengan yang bersih.

Namun, setiap aplikasi bisnis dapat mewakili jutaan baris kode yang merangkum alur kerja dan logika bisnis penting. Memulai dari awal seringkali bukan pilihan. Akibatnya, banyak organisasi perlu mencari cara untuk memanfaatkan backend Java yang ada, sambil menyediakan antarmuka berbasis web modern dan kemampuan untuk menerapkan aplikasi mereka ke cloud.

Meskipun modernisasi tidak mudah, manfaat bisnisnya bisa signifikan. Memodernisasi aplikasi dapat mengurangi beban pemeliharaan, meningkatkan ketangkasan dengan mempermudah penyampaian fitur baru, dan menurunkan biaya.

Faktanya, survei baru-baru ini menemukan bahwa perusahaan menyadari pengurangan waktu henti sebesar 52 persen, pengurangan waktu pemasaran untuk fitur baru sebesar 45 persen, dan penghematan biaya pascamigrasi sebesar 12 persen setelah memigrasi tumpukan teknologi mereka ke cloud.

BN: Apa yang harus dipertimbangkan developer saat memilih antara membangun dari awal atau bermigrasi dari platform lawas?

KW: Migrasi yang dilakukan dengan baik membutuhkan persiapan. Mulailah dengan penilaian migrasi untuk menilai karakteristik aplikasi, temukan dependensi dalam kode aplikasi Anda, dan bantu tentukan apakah Anda memiliki sumber daya developer yang memadai untuk mendukung migrasi.

Anda mungkin memiliki arsitektur aplikasi yang kuat tetapi memiliki saling ketergantungan modul yang berat yang akan membuat lebih sulit untuk dimodernisasi. Saling ketergantungan bisa baik-baik saja secara operasional, tetapi itu bisa memaksa Anda untuk berkomitmen pada pendekatan big bang vs. pendekatan bertahap. Kedua pendekatan memiliki manfaat tergantung pada konteksnya. Salah satu pendekatan umum yang menyertakan kedua jenis metode migrasi adalah pertama-tama melakukan migrasi besar-besaran yang menargetkan paritas fitur dan memiliki dampak pengguna yang lebih rendah, kemudian menindaklanjutinya dengan modernisasi bertahap aplikasi dengan dampak pengguna yang tinggi yang berfokus pada tampilan kritis yang paling sering digunakan .

Dengan meningkatnya komputasi awan, aplikasi stateless menjadi lebih umum, terutama untuk aplikasi berskala konsumen. Pendekatan ini membuatnya lebih mudah untuk menaikkan dan menurunkan skala aplikasi ‘secara horizontal’ untuk memenuhi permintaan pengguna hanya dengan menambahkan dan menghapus mesin virtual di lingkungan cloud. Pikirkan tentang situs belanja online yang perlu melayani lebih banyak pengguna di malam hari atau di akhir pekan, atau tingkatkan untuk memenuhi permintaan besar selama lonjakan belanja liburan. Dengan arsitektur stateless, menurunkan skala infrastruktur saat beban pengguna turun tidak mengganggu sesi belanja pengguna saat ini. Sesi pengguna dapat dilanjutkan di salah satu VM yang tersisa.

Jika aplikasi lawas Anda menggunakan arsitektur stateful, Anda tetap dapat menerapkannya ke cloud. Namun, jika Anda ingin menaikkan dan menurunkan skala secara horizontal di cloud, Anda perlu melakukan beberapa pekerjaan pengembangan agar sesi pengguna dapat berpindah antar VM saat Anda menurunkan skala. Alternatifnya, Anda dapat membuat ulang aplikasi dengan arsitektur stateless.

Kredit Gambar: isak55 / Shutterstock

Author: Kenneth Henderson