Dasar Arsitektur Teknologi Informasi

Dahulu untuk seseorang bertemu dengan keluarganya di tempat yang jauh maka diperlukan perjalanan yang panjang, bahkan melewati lautan dan padang pasir. Selanjutnya ada kemudahan karena munculnya teknologi seperti kendaraan bermotor dan pesawat. Namun itu semua masih membutuhkan waktu yang seringkali menjadi penghambat. Dewasa ini dengan perkembangan teknologi informasi seseorang dapat langsung bertukar informasi secara real-time melalui video conference. Dengan adanya kemajuan tersebut membuat setiap perkumpulan berlomba-lomba membuat sistem teknologi informasi yang memanjakan pelanggannya. Sayangnya terkadang pembuatan sistem teknologi informasi tersebut mengabaikan arsitektur yang dipersyaratkan.

sumber: https://pixabay.com/illustrations/video-conference-webinar-5352757/

Untuk membuat sistem informasi yang baik diperlukan pemahaman setidaknya 2 hal yaitu software dan hardware. Keduanya tentu saja memiliki arsitektur tersendiri seperti object oriented programming, functional programming, sql, nosql, monolithict, microservices, dan serverless. Pemilihan teknologi akan mengikuti kebutuhan proyek, biasanya adalah berapa banyak user yang akan menggunakan. Sekarang akan dibahas menjadi 4 kelompok besar, yaitu front end, back end, database, dan enterprise resource planning.

  1. Front End
    • Pelanggan tidak perduli apa yang dilakukan oleh aplikasi di belakang, yang mereka inginkan adalah menggunakan aplikasi secara nyaman dan sesuai kebutuhan. Hal ini menjadikan front end merupakan ujung tombak dari aplikasi karena front end-lah yang dilihat pertama kali oleh pelanggan yang kebanyakan awam. Ada 2 arsitektur utama dalam membangun front end yaitu object oriented programming dan functional programming. Kadang kedua konsep tersebut di kombinasikan. Secara umum front end akan melakukan fetching data dari endpoint yang disediakan oleh back end. Saat membentuk front end yang kompleks maka arsitektur yang bersifat monolithict perlu dihindari. Sebagai alternatifnya digunakan arsitektur yang bersifat microservices. Ciri khas dari arsitektur microservices pada level perangkat lunak adalah adanya kontainerisasi. Hal demikian memungkinkan adanya perbedaan teknologi dan dependensi. Yang paling utama saat suatu layanan misalnya registrasi terjadi masalah maka tidak akan mempengaruhi layanan lain selama berada di kontainer yang berbeda.
  2. Back End
    • Cara kerja back end adalah menghubungkan antara front end dan basis data. Sebagai penghubung tentu saja, back end perlu ramah dan cepat. Mirip seperti di front end, di back end juga ada 2 arsitektur utama yaitu object oriented programming dan functional programming. Jika terjadi kompleksitas juga perlu dialihkan dari arsitektur monolithic ke microservices. Back end juga bisa menggunakan kontainerisasi sehingga memungkinkan berbagai teknologi digunakan.
  3. Database
    • Sebagai basis data yang akan menyimpan seluruh data user maka diperlukan performa yang baik. Secara kecepatan tentu saja database dengan arsitektur nosql lebih baik dibandingkan database sql. Namun, sql lebih unggul untuk menyimpan data dengan integritas yang kuat.
  4. Enterprise Resource Planning
    • Lebih dalam daripada front end, back end, dan database. Biasanya ERP digunakan untuk pihak internal dari suatu kelompok. Seperti namanya perencanaan sumber daya maka ERP akan menjadi alat utama untuk mengelola hubungan dengan pelanggan.
Penggunaan teknologi yang semakin kompleks tentu saja akan membutuhkan banyak sumber daya seperti CPU, Memory, dan Storage. Ada saatnya pemilihan sumber daya terlalu tinggi dari yang dibutuhkan, ada juga saat tertentu memilih sumber daya yang terlalu rendah dari yang dibutuhkan. Biasanya untuk menghindari risiko tidak berjalannya sistem akan dipilih sumber daya yang lebih tinggi dibandingkan yang dibutuhkan. Nah, penerapan arsitektur serverless memungkinkan penggunaan sumber daya hanya saat dibutuhkan saja. Serverless merupakan layanan paling modern di cloud computing.




ref:
reactjs
expressjs
aws
odoo

Komentar