Apllication Optimation

Optimasi server menjadi penting ketika applikasi yang dihasilkan menjadikan server bekerja pada tingkat kritis.  Beberapa hal yang perlu dipertimbangkan ketika kita menciptakan sebuah aplikasi, antara lain:
  • Bentuk dan sifat penggunaan.
  • Besar data
  • Infrastruktur.
  • Teknologi
Benyak yang melupakan empat faktor dasar tersebut, menitik-beratkan pada pengembangan applikasi saja.  Hingga pada akhirnya applikasi yang dibuat tidak dapat berjalan sebagaimana mestinya. 

Bentuk dan Sifat Pengguna

Bentuk dan sifat pengguna menuju pada apakah applikasinya membutuhkan authentikasi, berbagai proses yang dimiliki oleh sebuah applikasi.  Proses authentikasi meskipun kecil, ketika applikasi akan dipergunakan oleh sejumlah orang, harus dicarikan strategi yang tepat.

Besar Data

Semakin besar data yang dilibatkan atau diproses oleh sebuah applikasi, semakin berat sebuah applikasi yang akan tercipta.  Untuk itu perlu diteliti sifat data dan mengetahui bagamana cara mengelola data tersebut secara tepat.  Sehingga besaran data tidak akan menjadi sumber permasalahan bagi sistem.

Infrastruktur

Infrastruktur merupakan masalah utama dalam mempublikasikan sebuah applikasi.  Namun pokok permasalah dari infrastruktur adalah pada jumlah modal yang dimiliki dalam menyelenggarakan applikasi tersebut.  Untuk menciptakan sebuah applikasi yang baik, sangat membutuhkan infrastruktur yang besar.  Namun tidaklah mungkin kita menitikberatkan pada bagian ini, karena menitik-beratkan infrastruktur akan menciptakan biaya  yang tidak terhingga.

Teknologi

Bertebarnya berbagai teknologi baru sangatlah membantu kita dalam mencapai tujuan akhir kita.  Namun demikian setiap teknologi yang muncul pada dasarnya bersumber pada sebuah permasalahan.  Tidak dapat dipungkiri, sebuah teknologi hanya memecahkan  satu atau sejumlah permasalahan, akan tetapi umumnya mendatangkan permasalahan yang lain.  

Untuk mendapatkan hasil yang optimal, tidak jarang sebuah produk dihasilkan dengan menggabungkan beberapa aspek menjadi satu.  Namun proses ini dapat menjadi sumber peningkatan biaya akibat membutuhkan sumber daya yang baru.

Berikut ini proses optimasi yang harus dilakukan dalam membangun sebuah applikasi yang dapat dilakukan untuk:

  • Bentuk dan Sifat Applikasi.  
    • Aplikasi yang banyak membutuhkan material tambahan seperti: css, script dan multimedia (gambar, video, suara)  sedapat mungkin didesign dengan mendistribusikan materi tersebut pada berbagai sumber yang berbeda.  Sumber yang berbeda dapat berupa CDN atau pun alokasi server dan bandwidth yang berbeda untuk setiap material.  Ini untuk mencegah penggunaan bandwidth dan server yang berlebihan.
    • Apabila applikasi membutuhkan authentikasi, sedapat mungkin proses authentikasi tidak melibatkan proses yang panjang atau kompleks (tidak identik dengan tidak secure).  Karena authentikasi mejadi gerbang setiap proses yang datang, maka delay waktu yang sedikit ini, bila terjadi ribuan kali, akan menjadi faktor yang menghambat kerja server.  Gunakan algoritma yang paling ideal untuk proses authentikasi applikasi kita.
    • Minimalisasi transfer data pada setiap request.
  • Besar Data.  Bagian ini menjadi kritikal ketika sistem menjadi terhambat akibat perlunya memproses data secara berulang - ulang. Untuk itu terdapat beberapa metoda untuk menangani besarnya data tersebut:
    • Mengurangi akses ke database.  Database tercipta untuk mempermudah kita mengolah data. Namun sering kali applikasi tercipta tanpa melihat tujuan dari database itu sendiri.  Apa bila memungkinkan, data yang diletakkan dalam sebuah file akan jauh lebih cepat diakses dibandingkan bila data tersebut berada di dalam sebuah sistem database.  Contoh: meletakkan content berita dalam file akan lebih baik dibandingkan meletakkannya di dalam database. Efek ini dapat dirasakan ketika kita memiliki porta berita.  Dengan sumber daya yang sama, applikasi akan lebih kondusive dengan file.
    • Mengalokasi database ke beberapa server yang berbeda atau menciptakan database cluster.  Apabila tahap pertama sudah tidak memungkinkan, langkah berikutnya adalah dengan membangun beberapa server.
    • Menggunakan tehnik pemrosesan data awal atau pun data warehousing untuk menghasilkan data yang diperlukan.  Ini untuk mencegah applikasi untuk memproses data yang sama berulang - ulang dalam menjalankan fungsinya.
  • Infrastruktur.  Seperti telah dibahas di atas, apa bila memungkinkan dapat dibangun server cluster.  Tahap ini dilakukan apabila 2 tahap di atas telah optimal.  Membangun infrastruktur yang besar dengan sistem applikasi yang masih berat, tidak akan membantu banyak.  Sebaliknya Infrastruktur akan semakin berat.  Ini disebabkan Infrastruktur yang semakin besar akan membebankan sistem.  Apa bila sistemnya tidak optimal, kinerja yang diharapkan pun tidak akan meningkat secara linear.
  • Teknologi. Bagian merupakan bagian terpenting dalam membangun sebuah applikasi.  Tidak ada teknologi yang sempurna.  Untuk itu, kita perlu memanfaatkan sebuah teknologi secara tepat. Misalnya memilih web server Apache dan NginX.  Dua teknologi ini sama - sama memiliki kelebihan dan kekurangan.  Ada pertimbangan dimana Apache baik digunakan demikian pula ada kondisi dimana NginX menjadi favorit.  Dengan menggabungkan kelebihan dari 2 teknologi tersebut inilah kita dapat menciptakan kinerja applikasi yang optimal.

No comments:

Post a Comment