Dalam membuat suatu sistem, apa pun itu, tentu ada panduan-panduan tentang prinsip-prinsip yang perlu diperhatikan. Secara umum tentu ada kesamaan, tapi tetap akan ada yang unik sesuai dengan karakter dari basis sistem yang sedang dikembangkan.
Misalnya mengembangkan aplikasi untuk perangkat mobile, tentu akan memiliki prinsip yang berbeda dengan mengembangkan aplikasi untuk perangkat desktop, meskipun di saat yang sama tentu juga ada prinsip-prinsip umum yang berlaku untuk keduanya.
Bagaimana dengan mengembangkan sistem berbasis Cloud Computing?
Berdasarkan laman dari AWS (Amazon Web Services), berikut ini adalah lima prinsip utama yang harus diingat ketika mengembangkan sistem berbasis cloud computing.
1. Operational Excellence, (pengoperasian yang sempurna).
2. Security, (keamanan).
3. Reliability, (bisa dipercaya/diandalkan)
4. Performance Efficiency, (efisiensi performa)
5. Cost Optimization, (penghematan secara optimal)
Gbr diambil dr AWS.Amazon.com
Operational Excellence
Operational Excellence di sini bicara tentang bagaimana kita sebagai pengembang, harus mampu untuk terus menerus memperbaiki/meningkatkan performa kerja sistem yang kita kembangkan.
Mampu menciptakan prosedur yang baik dan tepat, serta mampu mengobservasi dan menganalisa sistem yang ada (untuk menciptakan prosedur yang lebih baik, menutup kelemahan, dst).
Human Error, adalah salah satu penyebab utama gagalnya sebuah sistem, karena itu perlu dipikirkan bagaimana agar sebisa mungkin prosedur-prosedur untuk mengoperasikan sistem dibuat menjadi otomatis. Dengan harapan akan tercipta standart pengoperasian yang seragam (siapapun pengguna atau admin-nya) dan meminimalkan kejadian salah operasi, salah setting, dst.
Ada dua konsep yang digunakan untuk mencapai operational excellence ini :
- IaC, Infrastructure as Code, bagaimana agar setting infrastruktur dari sistem cloud computing, dibuat dalam bentuk kode pemrograman. Sehingga kalau dibayangkan, seorang system admin, cukup dengan meng-click satu tombol, maka secara otomatis apa yang perlu di-install akan di-install. Parameter apa harus diisi nilai berapa, secara otomatis dikerjakan oleh kode program tersebut. Dst.
- Observability, rancang sistem, gunakan tools yang tersedia, dst; sedemikian rupa sehingga parameter-parameter penting yang berkaitan dengan jalan dan performa sistem bisa diamati dan dianalisa.
Agar observasi bisa berjalan dengan baik dan hasil pengamatannya bisa digunakan untuk memperbaiki dan meningkatkan performa sistem, tentu pengembang harus paham benar :
Quote:
CARA MUDAH MENDAPATKAN PENGHASILAN ALTERNATIF KLIK DISINI
Security
Masalah keamanan menjadi isu yang penting saat sistem kita sudah berbasiskan cloud computing, karena dengan menaruh sistem anda di cloud, artinya siapa saja yang memiliki akses ke internet, "bisa" mengakses sistem anda.
Keamanan di sisi infrastruktur cloud-nya sendiri, tentu adalah tanggung jawab penyedia jasa.
Akan tetapi karena anda yang membangun sistem milik anda di dalam cloud, maka bagaimana supaya sistem anda itu aman, adalah tanggung jawab anda.
Dengan demikian adalah tugas anda untuk :
- Mengidentifikasi entitas (baik orang maupun aplikasi) yang berusaha mengakses sistem anda. Bagaimana memastikan bahwa yang sedang berusaha mengakses sistem anda sesuai dengan identitas yang dia pakai. Akses apa yang diijinkan untuk identitas tersebut? Dst.
- Pengamanan jaringan.
Bagaimana anda mengatur jaringan di dalam cloud yang sudah menjadi "milik" sistem anda. Pengaturan IP address, setting Firewall, pengaturan router, dst.
- Data Enkripsi.
Memastikan agar data-data anda yang ada di dalam cloud (baik data tersimpan, maupun data yang sedang digunakan/diolah) sudah anda enkripsi dengan baik. Sehingga siapapun yang berhasil mengakses data tersebut, tidak bisa memahami isi data jika tidak memiliki key/password yang benar.
Reliability
Bangun sistem yang tahan banting. Usahakan agar ketika terjadi gangguan pada komunikasi, layanan, dst; sistem anda masih bisa bekerja dengan baik dan benar.
Jika ada kesalahan atau gangguan di satu bagian, maka permasalahan itu harus bisa dicegah agar tidak meluas ke seluruh sistem.
Agar dapat merancang sistem yang tangguh, mau tidak mau, kita harus melengkapi diri dengan berbagai skenario yang sudah pernah terjadi dan tidak cukup berhenti di situ, kita juga harus secara aktif berusaha memikirkan resiko apa saja yang mungkin bisa terjadi.
Performance Eficiency
Ini merujuk pada tulisan bagian pertama [Seri Belajar AWS #1].
Salah satu kelebihan cloud computing adalah memudahkan pengguna jasa tersebut untuk menyesuaikan (downgrade/upgrade) "hardware" yang mereka butuhkan.
Jadi untuk memanfaatkan kelebihan ini sebaik-baiknya, maka pengguna harus benar-benar memikirkan spesifikasi "hardware" yang mereka butuhkan.
Jangan membuang-buang "uang" dengan membangun infrastruktur yang over spec.
Kalau perlu, setiap modul disetting juga pada kebutuhan-nya masing-masing.
Spesifikasi virtual machine untuk seorang operator, mungkin berbeda dengan virtual machine seorang manajer, dst.
Jadi desain harus benar-benar se-efisien mungkin.
Cost Optimization
Prinsip ke-5 ini bisa dikatakan erat kaitannya dengan prinsip ke-4. Jadi sekali lagi yang perlu diingat adalah karakter cloud computing yang memudahkan pengguna untuk meng-upgrade/downgrade infrastruktur sistem mereka sesuai kebutuhan.
Para penyedia jasa layanan cloud computing tentunya akan ada perbedaan, dari satu penyedia ke penyedia yang lain.
Pengguna harus benar-benar memahami, layanan apa saja yang disediakan oleh penyedia, setting apa saja yang bisa dilakukan pengguna. Mana yang diperlukan, mana yang tidak diperlukan. Siapa yang memerlukan layanan tertentu, siapa yang tidak memerlukan layanan tertentu.
Jika ada 100 pengguna dalam sistem kita, apakah semuanya memerlukan layanan lengkap? Tentu tidak.
Maka sebagai admin dari sistem, harus pandai-pandai memilah, siapa yang membutuhkan akses ke layanan apa, dst.
Kemudahan untuk setting spesifikasi dan layanan yang bisa digunakan pengguna, harus benar-benar dimanfaatkan. Jangan ada biaya yang tidak perlu. Misalnya jika seorang tidak memerlukan layanan aplikasi office, maka tidak perlu menyewa layanan aplikasi office untuk pengguna tersebut. Dst.
Prinsip ke-5 ini juga mashi berhubungan dengan salah satu aspek pada prinsip ke-1, observasi.
Lakukan observasi, jika misalnya satu layanan ternyata tidak pernah digunakan oleh seorang pengguna. Atau jika dari kapasitas yang sudah diset untuk seorang pengguna, ternyata tidak pernah terpakai lebih dari 50%, artinya ada sumber daya yang sia-sia dan bisa dihemat.
----------------------
Demikian lima prinsip dasar (berdasarkan referensi dari AWS) yang perlu diperhatikan dalam mengembangkan dan memelihara sebuah sistem yang berbasis Cloud Computing.
CARA MUDAH MENDAPATKAN PENGHASILAN ALTERNATIF KLIK DISINI
Sumber referensi
https://aws.amazon.com/getting-start...=gs2020&p=gsrc
Tidak ada komentar:
Posting Komentar